diff --git a/build/debian/changelog b/build/debian/changelog index af2141bf6db56fdfa352a50ac38dc0a352517625..b53a9bb741fa00bf7d133eb175b557b6f8fda21d 100644 --- a/build/debian/changelog +++ b/build/debian/changelog @@ -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 \ No newline at end of file diff --git a/build/debian/control b/build/debian/control index ac65f0b9070633826833eed3f6798c848ac483ad..a293319d4538a4ad3ee40cf2dbc621e2047aa76d 100755 --- a/build/debian/control +++ b/build/debian/control @@ -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, diff --git a/build/debian/dolibarr.install b/build/debian/dolibarr.install index 106a3b7dcf8229bfc9f2b046651d6f1bc772e20b..72dff46ed158fdd7496c091b8f5757b405eb9cde 100755 --- a/build/debian/dolibarr.install +++ b/build/debian/dolibarr.install @@ -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/ diff --git a/build/debian/dolibarr.postinst b/build/debian/dolibarr.postinst index 40fb4142c4077d4dcabe4fcaadc1ccb82b4bc221..f45ab7680c452aab42c07e07b2ff6aa59ae6d391 100644 --- a/build/debian/dolibarr.postinst +++ b/build/debian/dolibarr.postinst @@ -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 diff --git a/build/debian/dolibarr.postrm b/build/debian/dolibarr.postrm index 38ebf8399c29ad94d0a6bd7289d2aca25e106c11..fa16ed582f0caba863f38d7cb65e9171095f6609 100644 --- a/build/debian/dolibarr.postrm +++ b/build/debian/dolibarr.postrm @@ -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 diff --git a/build/debian/install.forced.php.install b/build/debian/install.forced.php.install index f5b663b3f4c1dbaec1a93831c7a69b09dbd7cfa3..370cb5353de678eade67916e08c1f30ebf30b4e6 100755 --- a/build/debian/install.forced.php.install +++ b/build/debian/install.forced.php.install @@ -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'; ?> \ No newline at end of file diff --git a/build/debian/rules b/build/debian/rules index 2ab8af290c1ff8929cf24057dca864eb4009dc04..b1b7ca09aff0acbe1d837d6c3a8a7cf1aaf735b9 100755 --- a/build/debian/rules +++ b/build/debian/rules @@ -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 $@ diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 4751b9a43c90bc2280f9b685160cf750b6fecd83..964b5b58d984c2766d0b794c20388ee88780965d 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -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/"`; diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php index e577f90b6251d190f85957edc4d3b20d9190d40f..47a05684223573e31136fb4616db50b2452aa9db 100644 --- a/htdocs/admin/index.php +++ b/htdocs/admin/index.php @@ -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 diff --git a/htdocs/cashdesk/validation_verif.php b/htdocs/cashdesk/validation_verif.php index d2b55deccde7bb8afabf4ef581800caf3614ebba..ffaa01b7a94ba790b6a06c9c2d0c9045d41875e8 100644 --- a/htdocs/cashdesk/validation_verif.php +++ b/htdocs/cashdesk/validation_verif.php @@ -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; diff --git a/htdocs/compta/sociales/index.php b/htdocs/compta/sociales/index.php index e96c53895299bab92161e33e840173a1c1ff0082..a8432c38d5213abd96ce22bb2b73841f3524e5fd 100644 --- a/htdocs/compta/sociales/index.php +++ b/htdocs/compta/sociales/index.php @@ -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'); diff --git a/htdocs/core/ajax/ziptown.php b/htdocs/core/ajax/ziptown.php index 294458d2352735a4f96786ac850bf4df92c093a4..47cb887c0cce6532ed40b509681d13a5982c7475 100644 --- a/htdocs/core/ajax/ziptown.php +++ b/htdocs/core/ajax/ziptown.php @@ -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)?' (':''; diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 521dd33f0e2d2c3b38f793923b671ff3ff7990c4..725ef300125af30189f7a7e346722cbda35c4ff3 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -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 diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 8b572bc5635c0f1b32d1c3bfccd468fb5249952f..7aa09f556b9be9cc055cfbbbb1b86ec8b8f2a89a 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -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); //} } diff --git a/htdocs/core/tpl/contacts.tpl.php b/htdocs/core/tpl/contacts.tpl.php index c2c2ef9a452ee24dea709c0aff978fe82e376540..875b81cd05ee5d89937679bc2eda6abd4319a08e 100644 --- a/htdocs/core/tpl/contacts.tpl.php +++ b/htdocs/core/tpl/contacts.tpl.php @@ -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); diff --git a/htdocs/fourn/facture/contact.php b/htdocs/fourn/facture/contact.php index c5205c47815bb80e442b0bd285ebfdcb3543f81a..9010abbb50fb892eb738fc45172d889370ed6b46 100644 --- a/htdocs/fourn/facture/contact.php +++ b/htdocs/fourn/facture/contact.php @@ -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>'; diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index 1cd4d9824660885338e2814a5d0a73df6e42e5ab..6c47f66ec7d5fd958d3b36e260bc9c364f221230 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -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">'; diff --git a/htdocs/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php index 06c8d9d590d8918baee74c7042428576b91d5c0c..cf47afcf10c7686f3d9cfe27f4f38fa4334b6ac0 100644 --- a/htdocs/fourn/facture/fiche.php +++ b/htdocs/fourn/facture/fiche.php @@ -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 ' (<a href="'.DOL_URL_ROOT.'/fourn/facture/list.php?socid='.$object->socid.'">'.$langs->trans('OtherBills').'</a>)</td>'; print '</tr>'; diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index b4bb99dcefc64886a523bd76ab6dcea0bad690ce..7947b9be020e575764515fc88fcd92bf38fc645b 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -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">'; diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index 8f3f29098326ad42867be35dd2b78956633943f7..352c3150c5247e27e0a0f0118cc98b09978f1db5 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -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 { diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php index 80ddc0cd1783720cf87e74ffd6d37f2feae20d76..27559938626605cc9b125536662fac3e43c3e86b 100644 --- a/htdocs/projet/tasks/contact.php +++ b/htdocs/projet/tasks/contact.php @@ -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].">"; diff --git a/htdocs/webservices/server_user.php b/htdocs/webservices/server_user.php index 3a7d0a8928361117fb0654fe8daa8258fe8224aa..c33bfaf07eab84d00860547df162e344e69759f7 100644 --- a/htdocs/webservices/server_user.php +++ b/htdocs/webservices/server_user.php @@ -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'])); - } - else - { - $error++; - $errorcode='NOT_CREATE'; $errorlabel='Object not create : no contact found or create'; - } + $edituser->setPassword($fuser,trim($thirdpartywithuser['password'])); - - if (! $error && $id > 0) - { - $db->commit(); + if($thirdpartywithuser['group_id'] > 0 ) + $edituser->SetInGroup($thirdpartywithuser['group_id'],$conf->entity); } 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) );