This commit is contained in:
Laurent Destailleur 2014-02-06 16:58:53 +01:00
commit c9b1c562cc
22 changed files with 174 additions and 113 deletions

View File

@ -3,7 +3,7 @@ dolibarr (3.5.0-3) unstable; urgency=low
[ Laurent Destailleur (eldy) ]
* New upstream release.
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 30 Dec 2013 12:00:00 +0100
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 31 Jan 2014 12:00:00 +0100
dolibarr (3.4.2-3) unstable; urgency=low
@ -17,11 +17,11 @@ dolibarr (3.4.1-3) unstable; urgency=low
[ Laurent Destailleur (eldy) ]
* Maintenance release.
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 27 Apr 2013 12:00:00 +0100
dolibarr (3.4.0-3) unstable; urgency=low
[ Laurent Destailleur (eldy) ]
* Maintenance release.
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100

View File

@ -1,40 +1,47 @@
Source: dolibarr
Maintainer: Laurent Destailleur (eldy) <eldy@users.sourceforge.net>
Uploaders: Laurent Destailleur (eldy) <eldy@users.sourceforge.net>
Standards-Version: 3.9.2
Section: web
Priority: optional
Maintainer: Laurent Destailleur (eldy) <eldy@users.sourceforge.net>
Uploaders: Laurent Destailleur (eldy) <eldy@users.sourceforge.net>
Standards-Version: 3.9.4
Homepage: http://www.dolibarr.org
Build-Depends: debhelper (>= 7), po-debconf, dpatch
Build-Depends: debhelper (>= 9), po-debconf, dpatch
Comments: This package need at least debian 7 or ubuntu 13.04 or any distribution based on this version
Package: dolibarr
Architecture: all
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
php5-mysql | php5-mysqli,
php5-cli, php5-curl, php5-gd, php5-ldap, php-pear, php-mail-mime, php5-geoip,
libphp-adodb,
libnusoap-php,
libphp-pclzip,
libfpdi-php, libfpdf-tpl-php, php-fpdf,
libjs-jquery, libjs-jquery-ui, libjs-flot, ckeditor,
ttf-dejavu-core,
php5-cli,
# Required PHP extensions
php5-mysql | php5-mysqli, php5-curl, php5-gd, php5-ldap, php5-geoip,
# Required PHP libraries
php-pear, php-mail-mime,
# libfpdi-php, libfpdf-tpl-php, php-fpdf,
# libphp-adodb,
# libnusoap-php,
# libphp-pclzip,
# Required javascript libraries
# libjs-jquery, libjs-jquery-ui, libjs-flot, ckeditor,
# Misc dependencies
# fonts-dejavu-core | ttf-dejavu-core,
xdg-utils,
mysql-server,
${misc:Depends},
${perl:Depends}
Recommends: apache2 | lighttpd | httpd, mysql-client
Recommends: mysql-client, apache2 | lighttpd | httpd
Suggests: www-browser
Architecture: all
Description: Web based software to manage a small company or foundation
Dolibarr ERP & CRM is an easy to use open source/free software for small
and medium companies, foundations or freelances. It includes different
features for Enterprise Resource Planning (ERP) and Customer Relationship
Management (CRM) but also for different other activities.
.
It's a web software you can install as a standalone program or on any web
hosting provider to use it from anywhere with any web browser.
.
Dolibarr was designed to be easy to use. Only features you need are
visible, depending on which module were activated.
Dolibarr was designed to be easy to use. Only the features that you need are
visible, depending on which modules were activated.
.
Most common used modules are:
.
Customers, Suppliers or Prospects directory,

View File

@ -6,7 +6,7 @@ debian/lighttpd/50-dolibarr.conf etc/lighttpd/conf-available/
debian/install.forced.php.install etc/dolibarr/
htdocs usr/share/dolibarr/
scripts usr/share/dolibarr/
ChangeLog usr/share/doc/dolibarr/
changelog usr/share/doc/dolibarr/
README usr/share/doc/dolibarr/
doc/install usr/share/doc/dolibarr/
doc/user usr/share/doc/dolibarr/

View File

@ -13,6 +13,11 @@ set -e
# <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
# Needs to be run outside of functions to have access to parameters
. /usr/share/apache2/apache2-maintscript-helper
fi
setup_empty_conf() {
echo Create empty file $config
mkdir -p /etc/dolibarr
@ -37,20 +42,23 @@ enable_install_upgrade_wizard() {
apache_install() {
webserver=$1
if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/dolibarr.conf ]; then
echo "Add link for Apache config file"
ln -s /etc/$webserver/conf-available/dolibarr.conf /etc/$webserver/conf.d/dolibarr.conf
if which a2enconf >/dev/null 2>&1 ;then
# a2enconf exists for ubuntu only
a2enconf dolibarr
else
if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/dolibarr.conf ]; then
echo "Add link for Apache config file"
ln -s /etc/$webserver/conf-available/dolibarr.conf /etc/$webserver/conf.d/dolibarr.conf
fi
fi
}
lighttpd_install() {
if [ ! -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then
if which lighty-enable-mod >/dev/null 2>&1 ; then
echo "Enable lighttpd link for dolibarr config file"
lighty-enable-mod dolibarr fastcgi-php
else
echo "Lighttpd not installed, skipping"
fi
if which lighty-enable-mod >/dev/null 2>&1 ; then
echo "Enable lighttpd link for dolibarr config file"
lighty-enable-mod dolibarr fastcgi-php
else
echo "Lighttpd not installed, skipping"
fi
}
@ -79,6 +87,12 @@ case "$1" in
else
echo This is not a first install
fi
# Apache 2 setup
if which a2enmod >/dev/null 2>&1 ;then
a2enmod alias
fi
apache_install
lighttpd_install

View File

@ -177,18 +177,19 @@ case "$1" in
passopt="--password='"`echo "$dbadmpass" | sed -e "s/'/'"'"'"'"'"'"'/g"`"'"
fi
mysqlcmd="mysql $hostopt $passopt -u $dbadmin"
mysqlcmdnopass="mysql $hostopt -u $dbadmin"
# Now run the drop user
if eval $mysqlcmd -f -e "\"DROP USER '$dbuser'@'localhost';\"" ; then
echo postrm Database login $dbuser@localhost removed
else
error="Unable to run $mysqlcmd -f -e \"DROP USER '$dbuser'@'localhost';\""
error="Unable to run $mysqlcmdnopass -f -e \"DROP USER '$dbuser'@'localhost';\""
echo postrm $error
fi
if eval $mysqlcmd -f -e "\"DROP USER '$dbuser'@'%';\"" ; then
echo postrm Database login $dbuser@% removed
else
error="Unable to run $mysqlcmd -f -e \"DROP USER '$dbuser'@'%';\""
error="Unable to run $mysqlcmdnopass -f -e \"DROP USER '$dbuser'@'%';\""
echo postrm $error
fi

View File

@ -27,20 +27,20 @@ $force_install_lockinstall='444';
// Value to overwrite path to use shared libraries/fonts instead of embedded one.
// If we enable/disable libraries declaration during install, we must also check they are
// not removed from package (see in rules file),
// declared into dependencies (see in control file)
$force_dolibarr_lib_TCPDF_PATH='';
$force_dolibarr_lib_FPDF_PATH='/usr/share/php/fpdf';
$force_dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';
$force_dolibarr_lib_GEOIP_PATH='';
$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip';
$force_dolibarr_lib_PHPEXCEL_PATH='';
$force_dolibarr_js_CKEDITOR='/javascript/ckeditor';
$force_dolibarr_js_JQUERY='/javascript/jquery';
$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf';
// - not removed from package (see rm in rules file),
// - declared into dependencies (see Depends in control file)
//$force_dolibarr_lib_TCPDF_PATH='';
//$force_dolibarr_lib_FPDF_PATH='/usr/share/php/fpdf';
//$force_dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
//$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';
//$force_dolibarr_lib_GEOIP_PATH='';
//$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
//$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip';
//$force_dolibarr_lib_PHPEXCEL_PATH='';
//$force_dolibarr_js_CKEDITOR='/javascript/ckeditor';
//$force_dolibarr_js_JQUERY='/javascript/jquery';
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
//$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf';
?>

View File

@ -90,32 +90,33 @@ clean:
rm -fr build/rpm
rm -fr build/zip
# clean from all embedded libraries (we use package dependencies instead)
rm -fr htdocs/includes/adodbtime
rm -fr htdocs/includes/ckeditor
# clean from all PHP embedded libraries (we use package dependencies instead)
# rm -fr htdocs/includes/adodbtime
# rm -fr htdocs/includes/fpdfi
rm -fr htdocs/includes/fonts
rm -fr htdocs/includes/geoip
rm -fr htdocs/includes/nusoap
rm -fr htdocs/includes/odtphp/zip/pclzip
rm -fr htdocs/includes/phpmailer
rm -fr htdocs/includes/jquery/css
rm -fr htdocs/includes/jquery/js
rm -fr htdocs/includes/jquery/plugins/flot
rm -fr htdocs/includes/jquery/plugins/jstree
rm -fr htdocs/includes/jquery/plugins/lightbox
# rm -fr htdocs/includes/geoip
# rm -fr htdocs/includes/nusoap
# rm -fr htdocs/includes/odtphp/zip/pclzip
# clean from all JS-CSS embedded libraries (we use package dependencies instead)
# rm -fr htdocs/includes/ckeditor
# rm -fr htdocs/includes/jquery/js
# rm -fr htdocs/includes/jquery/css
# rm -fr htdocs/includes/jquery/plugins/flot
# clean from all embedded fonts (we use package dependencies instead)
# rm -fr htdocs/includes/fonts
# clean from useless files
rm -fr htdocs/includes/jquery/plugins/multiselect
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PDF
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip
rm -fr htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.33
rm -fr htdocs/includes/tcpdf/fonts/freefont-20100919
rm -fr htdocs/includes/tcpdf/fonts/utils
# clean from files to avoid warning of missing dependencies
rm -fr htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py
# Licence files are included into copyright file.
rm -fr htdocs/includes/phpexcel/license.txt
# Licence files are already included into copyright file.
rm -f htdocs/includes/jquery/plugins/flot/LICENSE.txt
rm -f htdocs/includes/phpexcel/license.txt
rm -f htdocs/includes/tcpdf/LICENSE.TXT
dh $@

View File

@ -46,7 +46,7 @@ $FILENAMETGZ="$PROJECT-$MAJOR.$MINOR.$BUILD";
$FILENAMEZIP="$PROJECT-$MAJOR.$MINOR.$BUILD";
$FILENAMEXZ="$PROJECT-$MAJOR.$MINOR.$BUILD";
$FILENAMERPM="$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION";
$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${BUILD}";
$FILENAMEDEB="see later";
$FILENAMEAPS="$PROJECT-$MAJOR.$MINOR.$BUILD.app";
$FILENAMEEXEDOLIWAMP="DoliWamp-$MAJOR.$MINOR.$BUILD";
if (-d "/usr/src/redhat") { $RPMDIR="/usr/src/redhat"; } # redhat
@ -365,6 +365,8 @@ if ($nboftargetok) {
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl`; # Avoid errors into rpmlint
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/template`; # Package not valid for most linux distributions (errors reported into compile.js). Package should be embed by modules to avoid problems.
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpmailer`; # Package not valid for most linux distributions (errors reported into file LICENSE). Package should be embed by modules to avoid problems.
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # Keep this removal in case we embed libraries
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/adapters`; # Keep this removal in case we embed libraries
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`;
@ -613,15 +615,17 @@ if ($nboftargetok) {
$newbuild =~ s/(dev|alpha)/1/gi; # dev
$newbuild =~ s/beta/2/gi; # beta
$newbuild =~ s/rc./3/gi; # rc
if ($newbuild !~ /-/) { $newbuild.='-4'; } # finale
# now newbuild is 0-1 or 0-4 for example
if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale is same than rc
# now newbuild is 0-1 or 0-3 for example
print "Version is $MAJOR.$MINOR.$newbuild\n";
$build = $newbuild;
$build =~ s/-.*$//g;
# now build is 0 for example
# $build .= '+nmu1';
# now build is 0+nmu1 for example
$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${newbuild}";
print "Remove target ${FILENAMEDEB}_all.deb...\n";
unlink("$NEWDESTI/${FILENAMEDEB}_all.deb");
print "Remove target ${FILENAMEDEB}.dsc...\n";
@ -676,12 +680,14 @@ if ($nboftargetok) {
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/rpm`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/zip`;
# We remove embedded libraries or fonts (this is also inside rules file, target clean)
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/fonts`,
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/geoip`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/nusoap`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/odtphp/zip/pclzip`;
#$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor`;
#$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/fonts`,
#$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/geoip`;
#$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/nusoap`;
#$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/odtphp/zip/pclzip`;
# Rename upstream changelog to match debian rules
$ret=`mv $BUILDROOT/$PROJECT.tmp/ChangeLog $BUILDROOT/$PROJECT.tmp/changelog`;
# Prepare source package (init debian dir)
print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n";
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`;
@ -753,6 +759,8 @@ if ($nboftargetok) {
chdir("$olddir");
print "You can check package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}_all.deb\"\n";
# Move to final dir
print "Move *_all.deb to $NEWDESTI\n";
$ret=`mv $BUILDROOT/*_all.deb "$NEWDESTI/"`;

View File

@ -88,7 +88,7 @@ print '<br>';
// Show info setup module
print img_picto('','puce').' '.$langs->trans("SetupDescription4",DOL_URL_ROOT.'/admin/modules.php?mainmenu=home');
if (count($conf->modules) <= (empty($conf->global->MAIN_MINNB_MODULE)?1:$conf->global->MAIN_MINNB_MODULE)) // If only user module enabled
if (count($conf->modules) <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)?1:$conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) // If only user module enabled
{
$langs->load("errors");
$warnpicto=img_warning($langs->trans("WarningMandatorySetupNotComplete"));
@ -97,6 +97,7 @@ if (count($conf->modules) <= (empty($conf->global->MAIN_MINNB_MODULE)?1:$conf->g
print '<br>';
print '<br>';
print '<br>';
print '<br>';
// Add hook to add information
$reshook=$hookmanager->executeHooks('addHomeSetup',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks

View File

@ -207,7 +207,7 @@ switch ($action)
$invoice->total_ht=$obj_facturation->prixTotalHt();
$invoice->total_tva=$obj_facturation->montantTva();
$invoice->total_ttc=$obj_facturation->prixTotalTtc();
$invoice->note=$note;
$invoice->note_private=$note;
$invoice->cond_reglement_id=$cond_reglement_id;
$invoice->mode_reglement_id=$mode_reglement_id;
//print "c=".$invoice->cond_reglement_id." m=".$invoice->mode_reglement_id; exit;

View File

@ -27,12 +27,13 @@ require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formsocialcontrib.class.php';
$langs->load("compta");
// Security check
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'tax', '', '', 'charges');
$sortfield = GETPOST("sortfield",'alpha');
$sortorder = GETPOST("sortorder",'alpha');
$page = GETPOST("page",'int');

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2010 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2010 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011-204 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -73,7 +73,7 @@ if (! empty($_GET['zipcode']) || ! empty($_GET['town']))
if ($zipcode) $sql.=" AND z.zip LIKE '" . $db->escape($zipcode) . "%'";
if ($town) $sql.=" AND z.town LIKE '%" . $db->escape($town) . "%'";
$sql.= " ORDER BY z.zip, z.town";
$sql.= $db->plimit(50); // Avoid pb with bad criteria
$sql.= $db->plimit(100); // Avoid pb with bad criteria
}
else // Use table of third parties
{
@ -87,7 +87,7 @@ if (! empty($_GET['zipcode']) || ! empty($_GET['town']))
if ($zipcode) $sql.= " s.zip LIKE '".$db->escape($zipcode)."%'";
if ($town) $sql.= " s.town LIKE '%" . $db->escape($town) . "%'";
$sql.= " ORDER BY s.fk_pays, s.zip, s.town";
$sql.= $db->plimit(50); // Avoid pb with bad criteria
$sql.= $db->plimit(100); // Avoid pb with bad criteria
}
//print $sql;
@ -97,8 +97,8 @@ if (! empty($_GET['zipcode']) || ! empty($_GET['town']))
{
while ($row = $db->fetch_array($resql))
{
$country = $row['fk_country']?($langs->trans('Country'.$row['country_code'])!='Country'.$row['country_code']?$langs->trans('Country'.$row['country_code']):$row['country']):'';
$county = $row['fk_county']?($langs->trans($row['county_code'])!=$row['county_code']?$langs->trans($row['county_code']):($row['county']!='-'?$row['county']:'')):'';
$country = $row['fk_country']?($langs->transnoentitiesnoconv('Country'.$row['country_code'])!='Country'.$row['country_code']?$langs->transnoentitiesnoconv('Country'.$row['country_code']):$row['country']):'';
$county = $row['fk_county']?($langs->transnoentitiesnoconv($row['county_code'])!=$row['county_code']?$langs->transnoentitiesnoconv($row['county_code']):($row['county']!='-'?$row['county']:'')):'';
$row_array['label'] = $row['zip'].' '.$row['town'];
$row_array['label'] .= ($county || $country)?' (':'';

View File

@ -115,9 +115,9 @@ class box_graph_product_distribution extends ModeleBoxes
if ($showpropalnb) $nbofgraph++;
if ($showordernb) $nbofgraph++;
$paramtitle=$langs->trans("Products").'/'.$langs->trans("Services");
if (empty($conf->produit->enabled)) $paramtitle=$langs->trans("Services");
if (empty($conf->service->enabled)) $paramtitle=$langs->trans("Products");
$paramtitle=$langs->transnoentitiesnoconv("Products").'/'.$langs->transnoentitiesnoconv("Services");
if (empty($conf->produit->enabled)) $paramtitle=$langs->transnoentitiesnoconv("Services");
if (empty($conf->service->enabled)) $paramtitle=$langs->transnoentitiesnoconv("Products");
$socid=empty($user->societe_id)?0:$user->societe_id;
$userid=0; // No filter on user creation

View File

@ -705,7 +705,7 @@ class Form
}
else
{*/
print $this->select_thirdparty_list($selected,$htmlname,$filter,1,0,$forcecombo,array(),'',0,$limit);
return $this->select_thirdparty_list($selected,$htmlname,$filter,1,0,$forcecombo,array(),'',0,$limit);
//}
}

View File

@ -34,6 +34,9 @@ elseif ($module == 'fichinter') { $permission=$user->rights->ficheinter->creer
elseif ($module == 'invoice_supplier') { $permission=$user->rights->fournisseur->facture->creer; }
elseif ($module == 'order_supplier') { $permission=$user->rights->fournisseur->commande->creer; }
elseif ($module == 'project') { $permission=$user->rights->projet->creer; }
elseif ($module == 'action') { $permission=$user->rights->agenda->myactions->create; }
elseif ($module == 'shipping') { $permission=$user->rights->expedition->creer; }
elseif ($module == 'project_task') { $permission=$user->rights->projet->creer; }
elseif (! isset($permission)) { $permission=$user->rights->$module->creer; } // If already defined by caller page
$formcompany= new FormCompany($db);

View File

@ -155,7 +155,7 @@ if ($id > 0 || ! empty($ref))
// Third party
print "<tr><td>".$langs->trans("Supplier")."</td>";
print '<td colspan="3">'.$object->client->getNomUrl(1,'compta').'</td></tr>';
print '<td colspan="3">'.$object->thirdparty->getNomUrl(1,'supplier').'</td></tr>';
print "</table>";
print '</div>';

View File

@ -120,7 +120,7 @@ if ($object->id > 0)
print "</tr>\n";
// Thirdparty
print '<tr><td>'.$langs->trans('Supplier').'</td><td colspan="3">'.$object->thirdparty->getNomUrl(1).'</td></tr>';
print '<tr><td>'.$langs->trans('Supplier').'</td><td colspan="3">'.$object->thirdparty->getNomUrl(1,'supplier').'</td></tr>';
// Type
print '<tr><td>'.$langs->trans('Type').'</td><td colspan="4">';

View File

@ -1520,7 +1520,7 @@ else
print '</td></tr>';
// Third party
print '<tr><td>'.$langs->trans('Supplier').'</td><td colspan="4">'.$societe->getNomUrl(1);
print '<tr><td>'.$langs->trans('Supplier').'</td><td colspan="4">'.$societe->getNomUrl(1,'supplier');
print ' &nbsp; (<a href="'.DOL_URL_ROOT.'/fourn/facture/list.php?socid='.$object->socid.'">'.$langs->trans('OtherBills').'</a>)</td>';
print '</tr>';

View File

@ -101,7 +101,7 @@ if ($object->id > 0)
print "</tr>\n";
// Company
print '<tr><td>'.$langs->trans('Supplier').'</td><td colspan="3">'.$object->thirdparty->getNomUrl(1).'</td></tr>';
print '<tr><td>'.$langs->trans('Supplier').'</td><td colspan="3">'.$object->thirdparty->getNomUrl(1,'supplier').'</td></tr>';
// Type
print '<tr><td>'.$langs->trans('Type').'</td><td colspan="4">';

View File

@ -96,7 +96,7 @@ if ($action == 'add_paiement')
{
// Si module bank actif, un compte est obligatoire lors de la saisie
// d'un paiement
if (! $_POST['accountid'])
if ($_POST['accountid'] <= 0)
{
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('AccountToCredit')), 'errors');
$error++;
@ -298,13 +298,16 @@ if ($action == 'create' || $action == 'add_paiement')
$objp = $db->fetch_object($resql);
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td><a href="fiche.php?facid='.$objp->facid.'">'.img_object($langs->trans('ShowBill'),'bill').' '.$objp->ref;
print '</a></td>';
print '<td>';
$invoicesupplierstatic->ref=$objp->ref;
$invoicesupplierstatic->id=$objp->facid;
print $invoicesupplierstatic->getNomUrl(1);
print '</td>';
print '<td>'.$objp->ref_supplier.'</td>';
if ($objp->df > 0 )
{
print '<td align="center">';
print dol_print_date($db->jdate($objp->df)).'</td>';
print dol_print_date($db->jdate($objp->df), 'day').'</td>';
}
else
{

View File

@ -283,7 +283,7 @@ if ($id > 0 || ! empty($ref))
print '<input type="hidden" name="action" value="addcontact">';
print '<input type="hidden" name="source" value="internal">';
print '<input type="hidden" name="id" value="'.$id.'">';
print '<input type="hidden" name="withproject" value="'.$withproject.'">';
if ($withproject) print '<input type="hidden" name="withproject" value="'.$withproject.'">';
// Ligne ajout pour contact interne
print "<tr ".$bc[$var].">";
@ -299,7 +299,7 @@ if ($id > 0 || ! empty($ref))
print '<td colspan="1">';
// On recupere les id des users deja selectionnes
$contactsofproject=$projectstatic->getListContactId('internal');
$form->select_users($user->id,'contactid',0,'',0,'',$contactsofproject);
$form->select_users($user->id,'userid',0,'',0,'',$contactsofproject);
print '</td>';
print '<td>';
$formcompany->selectTypeContact($object, '', 'type','internal','rowid');
@ -317,6 +317,7 @@ if ($id > 0 || ! empty($ref))
print '<input type="hidden" name="action" value="addcontact">';
print '<input type="hidden" name="source" value="external">';
print '<input type="hidden" name="id" value="'.$object->id.'">';
if ($withproject) print '<input type="hidden" name="withproject" value="'.$withproject.'">';
$var=!$var;
print "<tr ".$bc[$var].">";

View File

@ -181,7 +181,8 @@ $thirdpartywithuser_fields = array(
'tva_intra' => array('name'=>'tva_intra','type'=>'xsd:string'),
// For user
'login' => array('name'=>'login','type'=>'xsd:string'),
'password' => array('name'=>'password','type'=>'xsd:string')
'password' => array('name'=>'password','type'=>'xsd:string'),
'group_id' => array('name'=>'group_id','type'=>'xsd:string')
);
//Retreive all extrafield for contact
@ -523,6 +524,7 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
}
else
{
$db->begin();
/*
* Company creation
*/
@ -533,6 +535,25 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
$thirdparty->town=$thirdpartywithuser['town'];
$thirdparty->country_id=$thirdpartywithuser['country_id'];
$thirdparty->country_code=$thirdpartywithuser['country_code'];
// find the country id by code
$langs->load("dict");
$sql = "SELECT rowid";
$sql.= " FROM ".MAIN_DB_PREFIX."c_pays";
$sql.= " WHERE active = 1";
$sql.= " AND code='".$thirdparty->country_code."'";
$resql=$db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
if ($num)
{
$obj = $db->fetch_object($resql);
$thirdparty->country_id = $obj->rowid;
}
}
$thirdparty->phone=$thirdpartywithuser['phone'];
$thirdparty->fax=$thirdpartywithuser['fax'];
$thirdparty->email=$thirdpartywithuser['email'];
@ -570,6 +591,9 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
$contact->phone_pro = $thirdparty->phone;
$contact->phone_mobile = $thirdpartywithuser['phone_mobile'];
$contact->fax = $thirdparty->fax;
$contact->statut = 1;
$contact->country_id = $thirdparty->country_id;
$contact->country_code = $thirdparty->country_code;
//Retreive all extrafield for thirdsparty
// fetch optionals attributes and labels
@ -591,33 +615,29 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
*
*/
$edituser = new User($db);
$db->begin();
$id = $edituser->create_from_contact($contact,$thirdpartywithuser["login"]);
if ($id > 0)
{
$edituser->setPassword($user,trim($thirdpartywithuser['password']));
$edituser->setPassword($fuser,trim($thirdpartywithuser['password']));
if($thirdpartywithuser['group_id'] > 0 )
$edituser->SetInGroup($thirdpartywithuser['group_id'],$conf->entity);
}
else
{
$error++;
$errorcode='NOT_CREATE'; $errorlabel='Object not create : no contact found or create';
}
if (! $error && $id > 0)
{
$db->commit();
}
else
{
$db->rollback();
$error++;
$errorcode='NOT_CREATE'; $errorlabel='Contact not create';
$errorcode='NOT_CREATE'; $errorlabel='Object not create : '.$edituser->error;
}
}
else
{
$error++;
$errorcode='NOT_CREATE'; $errorlabel='Object not create : '.$contact->error;
}
if(!$error) {
$db->commit();
$objectresp=array('result'=>array('result_code'=>'OK', 'result_label'=>'SUCCESS'),'id'=>$socid_return);
$error=0;
}
@ -645,6 +665,7 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
if ($error)
{
$db->rollback();
$objectresp = array(
'result'=>array('result_code' => $errorcode, 'result_label' => $errorlabel)
);