diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000000000..e8821f0f8ebb5 --- /dev/null +++ b/.mailmap @@ -0,0 +1,91 @@ +# This is mapping list between real user name/email and entry into sources files +# If you don't want to have your real email appears here, just send a Pull Request to +# replace the second field between <> with +Laurent Destailleur Laurent Destailleur +Laurent Destailleur eldy +Laurent Destailleur Laurent Destailleur +Laurent Destailleur eldy10 +Laurent Destailleur Laurent Destailleur +Regis Houssin Regis Houssin +Regis Houssin Régis Houssin +Juanjo Menent simnandez +Juanjo Menent Juanjo Menent +Juanjo Menent Simnandez +Juanjo Menent juanjo +Juanjo Menent juanjo +Marcos García de La Fuente Marcos García +Marcos García de La Fuente Marcos García +Florian Henry fhenry +Florian Henry Florian HENRY +Florian Henry FHenry +Florian Henry Florian HENRY +Florian Henry FHenry +Florian Henry HENRY Florian +Alexandre Spangaro aspangaro +Alexandre Spangaro Spangaro Alexandre +Alexandre Spangaro Alexandre SPANGARO +Raphaël Doursenaud Raphaël Doursenaud +Philippe Grand Grand Philippe +Philippe Grand Philippe GRAND +Philippe Grand philippe grand +Philippe Grand philippe +Philippe Grand unknown +Philippe Grand philippe +Philippe Grand Philippe Grand +Jean-François Ferry jfefe +Jean-François Ferry jfefe +Jean-François Ferry JF FERRY +Jean-François Ferry JF FERRY +Charles Benke BENKE Charles +Charles Benke BENKE Charlie +Charles Benke defrance69 +Maxime Kohlhaas MAxime Kohlhaas +Frédéric France Frédéric FRANCE +Frédéric France frederic34 +Frédéric France FRANCE Frédéric +Frédéric France frederic34 +Cyrille de Lambert cdelambert +Cédric Gross KreizIT +Cédric Gross Cedric +Cédric Gross Cedric GROSS +Jean Heimburger jean +Jean Heimburger tiaris +Benoit Mortier opensides +Eric Seigne erics +Jean-Louis Bergamo jlb +Remco Gerbrands r2gnl +Phf phf +Yannick Warnier ywarnier +Jerome Warnier jwarnier +Franky Van Liedekerke liedekef +Lalaina Rasamoelina lalaina rasamoelina +Marc Ocebo marc_ocebo +Unknown box7890 +Unknown beedauchon +Loic loic +Christophe Combelle +Unknown activdev +Unknown bouba +Unknown bcroq +Unknown dutoit +Unknown bureau2crea +Unknown unknown +Simon Tosser simontosser +Unknown tipaul +Raphaël Bertrand raphael_bertrand +Claudio Aschieri cla +Tommaso Basilici kaos +Tommaso Basilici Tommaso Basilici +Faust faust +Ferran Marcet fmarcet +Geoffrey Girard geoffrey.girard +Bernard Paquier BadPixxel +Patrick Delcroix delcroix Patrick +Damien Clochard damien clochard +Damien Clochard damien clochard +Grégory David Grégory DAVID +Grégory David Gregory DAVID +Baffir Abbes bafbes +Kevin Guerrier GUERRIER Kevin +Remy Younes remy +Estephe Loridan Estephe L. diff --git a/.travis.yml b/.travis.yml index b5d73fc763f27..ca2574bc846a6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -66,7 +66,24 @@ before_script: - sh -c "if [ '$PHPV' = '5.4' ]; then echo 'zend_extension_ts = xdebug.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi" - cat ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - echo Mysql version + # INSTALL MYSQL 5.6 + # (https://github.com/piwik/piwik/commit/20bd2e1c24e5d673dce3feb256204ad48c29f160) + # TODO: Remove when mysql 5.6 is provided by travis. + # Otherwise, our migrations will raise a syntax error. + - "sudo apt-get remove mysql-common mysql-server-5.5 mysql-server-core-5.5 mysql-client-5.5 mysql-client-core-5.5" + - "sudo apt-get autoremove" + - "sudo apt-get install libaio1" + - "wget -O mysql-5.6.14.deb http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-debian6.0-x86_64.deb/from/http://cdn.mysql.com/" + - "sudo dpkg -i mysql-5.6.14.deb" + - "sudo cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql.server" + - "sudo ln -s /opt/mysql/server-5.6/bin/* /usr/bin/" + - "sudo sed -i'' 's/table_cache/table_open_cache/' /etc/mysql/my.cnf" + - "sudo sed -i'' 's/log_slow_queries/slow_query_log/' /etc/mysql/my.cnf" + - "sudo sed -i'' 's/basedir[^=]\\+=.*$/basedir = \\/opt\\/mysql\\/server-5.6/' /etc/mysql/my.cnf" + - "sudo /etc/init.d/mysql.server start" - mysql --version + - mysql -e "SELECT VERSION();" + # /END MYSQL 5.6- mysql --version - echo Init database - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS myapp_test;' -U postgres; fi" - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE myapp_test;' -U postgres; fi" @@ -90,7 +107,6 @@ before_script: - echo Install apache server - sudo apt-get update - sudo apt-get install -y --force-yes apache2 libapache2-mod-php5 php5-curl php5-mysql php5-pgsql php5-intl - - sudo apt-get install mysql-server-5.6 mysql-client-5.6 - sudo sed -i -e "s,/var/www,$(pwd)/htdocs,g" /etc/apache2/sites-available/default - echo Show default virtual host - sudo cat /etc/apache2/sites-available/default @@ -114,7 +130,7 @@ script: - php upgrade.php 3.7.0 3.8.0 ignoredbversion > upgrade370380.log - cat upgrade370380.log - php upgrade2.php 3.7.0 3.8.0 ignoredbversion > upgrade370380-2.log - - cat upgrade370380-2.log +# - cat upgrade370380-2.log - cd ../.. - date - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php diff --git a/COPYRIGHT b/COPYRIGHT index 3c7cb5bf1cf8a..73d5a03572ee6 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -17,6 +17,7 @@ ChromePHP 4.3.3 Apache Software License 2.0 Yes CKEditor 4.3.3 LGPL-2.1+ Yes Editor WYSIWYG FPDI 1.5.2 Apache Software License 2.0 Yes PDF templates management GeoIP 1.4 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package) +Mobiledetect 2.8.3 MIT License Yes Detect mobile devices browsers NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package) PEAR Mail_MIME 1.8.9 BSD Yes NuSoap dependency odtPHP 1.0.1 GPL-2+ b Yes Library to build/edit ODT files diff --git a/ChangeLog b/ChangeLog index 618231d8937d4..bbbd2a97e8970 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,8 +5,8 @@ English Dolibarr ChangeLog WARNING: Do not try to make any Dolibarr upgrade if you are running Mysql version 5.5.40. Mysql version 5.5.40 has a very critical bug making your data beeing definitely lost. You may also experience troubles with Mysql 5.5.41 with error "Lost connection" during migration. -Upgrading to any other version or database system is abolutely required BEFORE trying to -make a migration. +Upgrading to any other version or any other database system is abolutely required BEFORE trying +to make a migration. ***** ChangeLog for 3.8 compared to 3.7.* ***** @@ -40,7 +40,13 @@ Dolibarr better: trigger ORDER_SUPPLIER_CREATE instead. - Hooks 'printLeftBlock' and 'formConfirm' are now compliant with hook development rules. They are "addreplace" hooks, so you must return content with "->resprints='mycontent'" and not with "return 'mycontent'" +- All fields "fk_societe" were renamed into "fk_soc". +***** ChangeLog for 3.7.1 compared to 3.7.* ***** +- Fix: Bug in the new photo system +- Fix: Error management +- Fix: [ Bug #2714 ] Members -> Memberxy-> Agenda -> technical Error +- Fix: [ Bug #2713 ] 3.7.0 mailing-unsubscribe.php not unsubscribe ***** ChangeLog for 3.7 compared to 3.6.* ***** For users: @@ -212,6 +218,7 @@ Dolibarr better: - A lot of pages called liste.php were renamed into list.php - If you used warehouse/stock module, recheck setup of stock increase/decrease rules of the warehouse module and your Point Of Sale module if you use one. +- Replaced USER_UPDATE_SESSION trigger with an updateSession hook ***** ChangeLog for 3.6.3 compared to 3.6.2 ***** - Fix: ref_ext was not saved when recording a customer order from web service @@ -416,6 +423,12 @@ Fix: [ bug #1757 ] Sorting breaks product/service statistics Fix: [ bug #1797 ] Tulip supplier invoice module takes creation date instead of invoice date Fix: [ bug #1792 ] Users are not allowed to see margins module index page when no product view permission is enabled Fix: [ bug #1846 ] Browser IE11 not detected +Fix: [ bug #1906 ] Deplacement does not allow translated decimal format +Fix: [ bug #1905 ] Custom deplacement types do not get translated in deplacement card +Fix: [ bug #2583 ] Unable to create a bank transfer with localized numbers +Fix: [ bug #2577 ] Incorrect invoice status in "Linked objects" page of a project +Fix: [ bug #2576 ] Unable to edit a dictionary entry that has # in its ref +Fix: [ bug #2758 ] Product::update sets product note to "null" when $prod->note is null ***** ChangeLog for 3.5.6 compared to 3.5.5 ***** Fix: Avoid missing class error for fetch_thirdparty method #1973 diff --git a/README.md b/README.md index cf1e99bef37fd..8359b66cbd99c 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,6 @@ Follow Dolibarr project on: - [Facebook](https://www.facebook.com/dolibarr) - [Google+](https://plus.google.com/+DolibarrOrg) - [Twitter](http://www.twitter.com/dolibarr) -- [LinkedIn](http://https//www.linkedin.com/groups/Dolibarr-ERP-CRM-2743052?gid=2743052) +- [LinkedIn](https://www.linkedin.com/company/association-dolibarr) - [YouTube](https://www.youtube.com/user/DolibarrERPCRM) - [GitHub](https://github.com/Dolibarr/dolibarr) diff --git a/build/debian/README.howto b/build/debian/README.howto index aa104332584a3..da7077f1f2600 100644 --- a/build/debian/README.howto +++ b/build/debian/README.howto @@ -226,7 +226,7 @@ http://packages.qa.debian.org/t/tcpdf.html ##### Create/Maintain dolibarr package -To update dolibarr debian package +To update dolibarr debian package when upstream version has changed * You can git clone debian git repo > git clone git.debian.org:/git/collab-maint/dolibarr.git [dolibarr-debian] @@ -261,7 +261,8 @@ x.y.z+dfsgw Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit -* Add an entry into debian/changelog +* Fix debian/* files used to build package. +Add an entry into debian/changelog > dch -v x.y.z+dfsgw-v "My comment" will add entry. For example: dch -v x.y.z+dfsgw-1 "New upstream release." for a new version (x.y.z = version, w start from 1 and increaed for each new import) Then modify changelog to replace "version" or "unstable" with "UNRELEASED". @@ -269,7 +270,16 @@ Then check/modify also the user/date signature: - Date must have format reported by "date -R" - Name and email must match value into debian/control file (Entry added here is used by next step). -* We try to build package + +To update dolibarr debian package when only files into debian has changed + +* Change files and commit. +* Add a tag debian/x.y.z+dfsgw-2 (increase the last 1 into 2) + + +Once files has been prepared, it's time to test: + +* Try to build package > rm -fr ../build-area; git-buildpackage -us -uc Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file @@ -287,6 +297,7 @@ Note: If there was errors managed manually, you may need to make a git commit bu > git-buildpackage --git-tag-only --git-retag > git push --tags + * Compilation is then done by a debian developer and sent > sbuild ... > dput ... diff --git a/build/debian/control b/build/debian/control index 164b919e06614..d25c752c14c58 100755 --- a/build/debian/control +++ b/build/debian/control @@ -22,7 +22,7 @@ Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | # libnusoap-php, # libphp-pclzip, # Required javascript libraries -# libjs-jquery, libjs-jquery-ui, libjs-flot, ckeditor, +# javascript-common, libjs-jquery, libjs-jquery-ui, libjs-jquery-flot, ckeditor, # Misc dependencies # fonts-dejavu-core | ttf-dejavu-core, xdg-utils, diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 80f3283114c1d..2a2903e813fb3 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -450,47 +450,52 @@ $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot11.png`; $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot12.png`; + # Security to avoid to package data files $ret=`rm -fr $BUILDROOT/$PROJECT/document`; $ret=`rm -fr $BUILDROOT/$PROJECT/documents`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`; # Removed known external modules to avoir any error when packaging on test env $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/calling*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/factory*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/management*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/oscim*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/timesheet*`; + # Removed other test files $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/oblyon*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/eldy/*.new`; - $ret=`rm -fr $BUILDROOT/$PROJECT/test`; - $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`; - $ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`; - $ret=`rm -f $BUILDROOT/$PROJECT/.gitignore $BUILDROOT/$PROJECT/*/.gitignore $BUILDROOT/$PROJECT/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.gitignore`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/geoip/sample*.*`; - $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/adapters`; # Keep this removal in case we embed libraries - #$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # _source must be kept into tarball due to debian policies - - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf`; # Source of this flash is not available - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`; + $ret=`rm -fr $BUILDROOT/$PROJECT/test`; + $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`; + $ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`; + $ret=`rm -f $BUILDROOT/$PROJECT/.gitignore $BUILDROOT/$PROJECT/*/.gitignore $BUILDROOT/$PROJECT/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.gitignore`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/geoip/sample*.*`; + $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/adapters`; # Keep this removal in case we embed libraries + #$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # _source must be kept into tarball + + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf`; # Source of this flash is not available + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`; } # Build package for each target diff --git a/build/makepack-howto.txt b/build/makepack-howto.txt index 4e52c6a50eb88..8c9e3e5b4b761 100644 --- a/build/makepack-howto.txt +++ b/build/makepack-howto.txt @@ -8,7 +8,7 @@ This files describe steps made by Dolibarr packaging team to make a beta version of Dolibarr, step by step. - Check all files are commited. -- Update version/info in ChangeLog. To generate a changelog, you can do "git log x.y.z..HEAD --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIXED\|NEW'" +- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base x.y origin/develop`..x.y --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -i -e '^FIX\|NEW'" - Update version number with x.y.z-w in htdocs/filefunc.inc.php - Update version number with x.y.z-w in build/debian/changelog - Update version number with x.y.z-w in build/rpm/*.spec @@ -30,7 +30,7 @@ This files describe steps made by Dolibarr packaging team to make a complete release of Dolibarr, step by step. - Check all files are commited. -- Update version/info in ChangeLog. To generate a changelog, you can do "git log x.y.z..HEAD --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^Fix\|New\|Sec'" +- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base x.y origin/develop`..x.y --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -i -e '^FIX\|NEW'" - Update version number with x.y.z in htdocs/filefunc.inc.php - Update version number with x.y.z in build/debian/changelog - Update version number with x.y.z in build/rpm/*.spec diff --git a/composer.json b/composer.json index f0de86ce7eaaf..ed75d3ca61dcf 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,8 @@ "require": { "php": ">=5.3.0", "ext-gd": "*", - "ext-curl": "*" + "ext-curl": "*", + "restler/framework": "3.0.*" }, "suggest": { "ext-mysqli": "*", diff --git a/dev/ansible/README.md b/dev/ansible/README.md new file mode 100644 index 0000000000000..aeed9fc69833f --- /dev/null +++ b/dev/ansible/README.md @@ -0,0 +1,14 @@ +# This directory contains script example to use ansible to deploy or maitains dolibarr instances + +This is a quick tutorial: + +* Install ansible: +> apt-get install + +* Add ip of server to manage into +/etc/ansible/hosts + +* Deploy public key to managed servers +- authorized_key: user=charlie key="{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}" + + diff --git a/dev/examples/create_product.php b/dev/examples/create_product.php index cdb6cdae9e259..6ecce081d4548 100755 --- a/dev/examples/create_product.php +++ b/dev/examples/create_product.php @@ -66,7 +66,7 @@ // Definition of product instance properties $myproduct->ref = '1234'; -$myproduct->libelle = 'libelle'; +$myproduct->label = 'label'; $myproduct->price = '10'; $myproduct->price_base_type = 'HT'; $myproduct->tva_tx = '19.6'; diff --git a/dev/fixdosfiles.sh b/dev/fixdosfiles.sh index bab5c37b68d82..75dde68dcaea3 100755 --- a/dev/fixdosfiles.sh +++ b/dev/fixdosfiles.sh @@ -17,14 +17,14 @@ fi # To detec if [ "x$1" = "xlist" ] then - find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.txt" \) -exec file "{}" + | grep CRLF -# find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.txt" \) -exec file "{}" + | grep -v 'htdocs\/includes' | grep CRLF + find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep CRLF +# find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep -v 'htdocs\/includes' | grep CRLF fi # To convert if [ "x$1" = "xfix" ] then - for fic in `find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.txt" \) -exec file "{}" + | grep CRLF | awk -F':' '{ print $1 }' ` + for fic in `find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.txt" -o -iname "*.xml"\) -exec file "{}" + | grep CRLF | awk -F':' '{ print $1 }' ` do echo "Fix file $fic" dos2unix $fic diff --git a/dev/initdata/generate-produit.php b/dev/initdata/generate-produit.php index 38ea93f131beb..6e7ea6dd05f0f 100755 --- a/dev/initdata/generate-produit.php +++ b/dev/initdata/generate-produit.php @@ -88,7 +88,7 @@ $produit->type = rand(0,1); $produit->status = 1; $produit->ref = ($produit->type?'S':'P').time().$s; - $produit->libelle = 'Label '.time().$s; + $produit->label = 'Label '.time().$s; $produit->description = 'Description '.time().$s; $produit->price = rand(1,1000); $produit->tva_tx = "19.6"; diff --git a/dev/initdata/mysqldump_dolibarr_3.5.0.sql b/dev/initdata/mysqldump_dolibarr_3.5.0.sql index 43a0479a67887..48d82c71998ff 100644 --- a/dev/initdata/mysqldump_dolibarr_3.5.0.sql +++ b/dev/initdata/mysqldump_dolibarr_3.5.0.sql @@ -1617,7 +1617,7 @@ CREATE TABLE `llx_c_tva` ( LOCK TABLES `llx_c_tva` WRITE; /*!40000 ALTER TABLE `llx_c_tva` DISABLE KEYS */; -INSERT INTO `llx_c_tva` VALUES (11,1,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(21,2,21,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(22,2,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(23,2,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(31,3,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(32,3,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(33,3,4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(41,4,21,5.2,'3',-21,'1',0,'VAT standard rate',1,NULL,NULL),(42,4,10,1.4,'3',-21,'1',0,'VAT reduced rate',1,NULL,NULL),(43,4,4,0.5,'3',-21,'1',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,0,0,'3',-21,'1',0,'VAT Rate 0',1,NULL,NULL),(51,5,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(52,5,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(53,5,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(61,6,7.6,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(62,6,3.6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(63,6,2.4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(71,7,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(72,7,17.5,0,'0',0,'0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(74,7,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(91,9,17,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(92,9,13,0,'0',0,'0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,3,0,'0',0,'0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(101,10,6,0,'0',0,'0',0,'VAT 6%',1,NULL,NULL),(102,10,12,1,'4',0,'0',0,'VAT 12%',1,NULL,NULL),(103,10,18,0,'0',0,'0',0,'VAT 18%',1,NULL,NULL),(104,10,7.5,1,'4',0,'0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,15,1,'4',0,'0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,22.5,1,'4',0,'0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(111,11,0,0,'0',0,'0',0,'No Sales Tax',1,NULL,NULL),(112,11,4,0,'0',0,'0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,6,0,'0',0,'0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(122,12,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(123,12,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(124,12,7,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(141,14,7,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(142,14,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(143,14,5,9.975,'1',0,'0',0,'TPS and TVQ rate',1,NULL,NULL),(171,17,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(172,17,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(173,17,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(201,20,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(202,20,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(203,20,6,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(231,23,21,0,'0',0,'0',0,'IVA standard rate',1,NULL,NULL),(232,23,10.5,0,'0',0,'0',0,'IVA reduced rate',1,NULL,NULL),(233,23,0,0,'0',0,'0',0,'IVA Rate 0',1,NULL,NULL),(251,25,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(252,25,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(253,25,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(254,25,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(271,27,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(281,28,10,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(282,28,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(411,41,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(412,41,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(413,41,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(461,46,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(462,46,15,0,'0',0,'0',0,'VAT 15%',1,NULL,NULL),(463,46,7.5,0,'0',0,'0',0,'VAT 7.5%',1,NULL,NULL),(591,59,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(592,59,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(593,59,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(671,67,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(672,67,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(801,80,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(802,80,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(861,86,13,0,'0',0,'0',0,'IVA 13',1,NULL,NULL),(862,86,0,0,'0',0,'0',0,'SIN IVA',1,NULL,NULL),(1141,114,0,0,'0',0,'0',0,'No ISV',1,NULL,NULL),(1142,114,12,0,'0',0,'0',0,'ISV 12%',1,NULL,NULL),(1161,116,25.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1162,116,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,0,0,'0',0,'0',0,'VAT rate 0',1,NULL,NULL),(1171,117,12.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1172,117,4,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,5,0,'0',0,'0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1402,140,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,3,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1521,152,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,15,0,'0',0,'0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(1542,154,16,0,'0',0,'0',0,'VAT 16%',1,NULL,NULL),(1543,154,10,0,'0',0,'0',0,'VAT Frontero',1,NULL,NULL),(1662,166,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1663,166,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1732,173,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,8,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1842,184,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,3,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,24,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1882,188,9,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,0,0,'0',0,'0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2012,201,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2022,202,8.5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(2322,232,12,0,'0',0,'0',0,'VAT 12%',1,NULL,NULL),(2323,232,8,0,'0',0,'0',0,'VAT 8%',1,NULL,NULL),(2461,246,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2462,4,15,0,'0',0,'0',0,'aaaa',1,NULL,NULL); +INSERT INTO `llx_c_tva` VALUES (11,1,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(21,2,21,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(22,2,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(23,2,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(31,3,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(32,3,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(33,3,4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(41,4,21,5.2,'3',-19,'5',0,'VAT standard rate',1,NULL,NULL),(42,4,10,1.4,'3',-19,'5',0,'VAT reduced rate',1,NULL,NULL),(43,4,4,0.5,'3',-19,'5',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,0,0,'3',-19,'5',0,'VAT Rate 0',1,NULL,NULL),(51,5,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(52,5,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(53,5,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(61,6,7.6,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(62,6,3.6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(63,6,2.4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(71,7,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(72,7,17.5,0,'0',0,'0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(74,7,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(91,9,17,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(92,9,13,0,'0',0,'0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,3,0,'0',0,'0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(101,10,6,0,'0',0,'0',0,'VAT 6%',1,NULL,NULL),(102,10,12,1,'4',0,'0',0,'VAT 12%',1,NULL,NULL),(103,10,18,0,'0',0,'0',0,'VAT 18%',1,NULL,NULL),(104,10,7.5,1,'4',0,'0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,15,1,'4',0,'0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,22.5,1,'4',0,'0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(111,11,0,0,'0',0,'0',0,'No Sales Tax',1,NULL,NULL),(112,11,4,0,'0',0,'0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,6,0,'0',0,'0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(122,12,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(123,12,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(124,12,7,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(141,14,7,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(142,14,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(143,14,5,9.975,'1',0,'0',0,'TPS and TVQ rate',1,NULL,NULL),(171,17,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(172,17,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(173,17,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(201,20,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(202,20,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(203,20,6,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(231,23,21,0,'0',0,'0',0,'IVA standard rate',1,NULL,NULL),(232,23,10.5,0,'0',0,'0',0,'IVA reduced rate',1,NULL,NULL),(233,23,0,0,'0',0,'0',0,'IVA Rate 0',1,NULL,NULL),(251,25,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(252,25,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(253,25,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(254,25,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(271,27,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(281,28,10,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(282,28,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(411,41,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(412,41,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(413,41,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(461,46,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(462,46,15,0,'0',0,'0',0,'VAT 15%',1,NULL,NULL),(463,46,7.5,0,'0',0,'0',0,'VAT 7.5%',1,NULL,NULL),(591,59,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(592,59,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(593,59,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(671,67,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(672,67,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(801,80,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(802,80,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(861,86,13,0,'0',0,'0',0,'IVA 13',1,NULL,NULL),(862,86,0,0,'0',0,'0',0,'SIN IVA',1,NULL,NULL),(1141,114,0,0,'0',0,'0',0,'No ISV',1,NULL,NULL),(1142,114,12,0,'0',0,'0',0,'ISV 12%',1,NULL,NULL),(1161,116,25.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1162,116,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,0,0,'0',0,'0',0,'VAT rate 0',1,NULL,NULL),(1171,117,12.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1172,117,4,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,5,0,'0',0,'0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1402,140,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,3,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1521,152,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,15,0,'0',0,'0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(1542,154,16,0,'0',0,'0',0,'VAT 16%',1,NULL,NULL),(1543,154,10,0,'0',0,'0',0,'VAT Frontero',1,NULL,NULL),(1662,166,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1663,166,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1732,173,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,8,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1842,184,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,3,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,24,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1882,188,9,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,0,0,'0',0,'0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2012,201,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2022,202,8.5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(2322,232,12,0,'0',0,'0',0,'VAT 12%',1,NULL,NULL),(2323,232,8,0,'0',0,'0',0,'VAT 8%',1,NULL,NULL),(2461,246,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2462,4,15,0,'0',0,'0',0,'aaaa',1,NULL,NULL); /*!40000 ALTER TABLE `llx_c_tva` ENABLE KEYS */; UNLOCK TABLES; diff --git a/dev/initdata/mysqldump_dolibarr_3.6.0.sql b/dev/initdata/mysqldump_dolibarr_3.6.0.sql index b1b8d77aa3c31..e0a55acc8e2c6 100644 --- a/dev/initdata/mysqldump_dolibarr_3.6.0.sql +++ b/dev/initdata/mysqldump_dolibarr_3.6.0.sql @@ -1652,7 +1652,7 @@ CREATE TABLE `llx_c_tva` ( LOCK TABLES `llx_c_tva` WRITE; /*!40000 ALTER TABLE `llx_c_tva` DISABLE KEYS */; -INSERT INTO `llx_c_tva` VALUES (11,1,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(21,2,21,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(22,2,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(23,2,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(31,3,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(32,3,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(33,3,4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(41,4,21,5.2,'3',-21,'1',0,'VAT standard rate',1,NULL,NULL),(42,4,10,1.4,'3',-21,'1',0,'VAT reduced rate',1,NULL,NULL),(43,4,4,0.5,'3',-21,'1',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,0,0,'3',-21,'1',0,'VAT Rate 0',1,NULL,NULL),(51,5,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(52,5,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(53,5,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(61,6,7.6,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(62,6,3.6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(63,6,2.4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(71,7,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(72,7,17.5,0,'0',0,'0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(74,7,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(91,9,17,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(92,9,13,0,'0',0,'0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,3,0,'0',0,'0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(101,10,6,0,'0',0,'0',0,'VAT 6%',1,NULL,NULL),(102,10,12,1,'4',0,'0',0,'VAT 12%',1,NULL,NULL),(103,10,18,0,'0',0,'0',0,'VAT 18%',1,NULL,NULL),(104,10,7.5,1,'4',0,'0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,15,1,'4',0,'0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,22.5,1,'4',0,'0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(111,11,0,0,'0',0,'0',0,'No Sales Tax',1,NULL,NULL),(112,11,4,0,'0',0,'0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,6,0,'0',0,'0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(122,12,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(123,12,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(124,12,7,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(141,14,7,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(142,14,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(143,14,5,9.975,'1',0,'0',0,'TPS and TVQ rate',1,NULL,NULL),(171,17,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(172,17,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(173,17,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(201,20,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(202,20,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(203,20,6,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(231,23,21,0,'0',0,'0',0,'IVA standard rate',1,NULL,NULL),(232,23,10.5,0,'0',0,'0',0,'IVA reduced rate',1,NULL,NULL),(233,23,0,0,'0',0,'0',0,'IVA Rate 0',1,NULL,NULL),(251,25,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(252,25,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(253,25,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(254,25,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(271,27,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(281,28,10,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(282,28,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(411,41,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(412,41,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(413,41,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(461,46,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(462,46,15,0,'0',0,'0',0,'VAT 15%',1,NULL,NULL),(463,46,7.5,0,'0',0,'0',0,'VAT 7.5%',1,NULL,NULL),(591,59,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(592,59,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(593,59,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(671,67,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(672,67,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(801,80,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(802,80,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(861,86,13,0,'0',0,'0',0,'IVA 13',1,NULL,NULL),(862,86,0,0,'0',0,'0',0,'SIN IVA',1,NULL,NULL),(1141,114,0,0,'0',0,'0',0,'No ISV',1,NULL,NULL),(1142,114,12,0,'0',0,'0',0,'ISV 12%',1,NULL,NULL),(1161,116,25.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1162,116,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,0,0,'0',0,'0',0,'VAT rate 0',1,NULL,NULL),(1171,117,12.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1172,117,4,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,5,0,'0',0,'0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1402,140,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,3,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1521,152,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,15,0,'0',0,'0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(1542,154,16,0,'0',0,'0',0,'VAT 16%',1,NULL,NULL),(1543,154,10,0,'0',0,'0',0,'VAT Frontero',1,NULL,NULL),(1662,166,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1663,166,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1732,173,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,8,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1842,184,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,3,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,24,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1882,188,9,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,0,0,'0',0,'0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2012,201,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2022,202,8.5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(2322,232,12,0,'0',0,'0',0,'VAT 12%',1,NULL,NULL),(2323,232,8,0,'0',0,'0',0,'VAT 8%',1,NULL,NULL),(2461,246,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2462,4,15,0,'0',0,'0',0,'aaaa',1,NULL,NULL); +INSERT INTO `llx_c_tva` VALUES (11,1,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(21,2,21,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(22,2,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(23,2,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(31,3,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(32,3,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(33,3,4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(41,4,21,5.2,'3',-19,'5',0,'VAT standard rate',1,NULL,NULL),(42,4,10,1.4,'3',-19,'5',0,'VAT reduced rate',1,NULL,NULL),(43,4,4,0.5,'3',-19,'5',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,0,0,'3',-19,'5',0,'VAT Rate 0',1,NULL,NULL),(51,5,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(52,5,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(53,5,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(61,6,7.6,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(62,6,3.6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(63,6,2.4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(71,7,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(72,7,17.5,0,'0',0,'0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(74,7,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(91,9,17,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(92,9,13,0,'0',0,'0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,3,0,'0',0,'0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(101,10,6,0,'0',0,'0',0,'VAT 6%',1,NULL,NULL),(102,10,12,1,'4',0,'0',0,'VAT 12%',1,NULL,NULL),(103,10,18,0,'0',0,'0',0,'VAT 18%',1,NULL,NULL),(104,10,7.5,1,'4',0,'0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,15,1,'4',0,'0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,22.5,1,'4',0,'0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(111,11,0,0,'0',0,'0',0,'No Sales Tax',1,NULL,NULL),(112,11,4,0,'0',0,'0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,6,0,'0',0,'0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(122,12,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(123,12,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(124,12,7,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(141,14,7,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(142,14,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(143,14,5,9.975,'1',0,'0',0,'TPS and TVQ rate',1,NULL,NULL),(171,17,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(172,17,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(173,17,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(201,20,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(202,20,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(203,20,6,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(231,23,21,0,'0',0,'0',0,'IVA standard rate',1,NULL,NULL),(232,23,10.5,0,'0',0,'0',0,'IVA reduced rate',1,NULL,NULL),(233,23,0,0,'0',0,'0',0,'IVA Rate 0',1,NULL,NULL),(251,25,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(252,25,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(253,25,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(254,25,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(271,27,20,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(281,28,10,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(282,28,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(411,41,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(412,41,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(413,41,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(461,46,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(462,46,15,0,'0',0,'0',0,'VAT 15%',1,NULL,NULL),(463,46,7.5,0,'0',0,'0',0,'VAT 7.5%',1,NULL,NULL),(591,59,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(592,59,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(593,59,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(671,67,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(672,67,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(801,80,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(802,80,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(861,86,13,0,'0',0,'0',0,'IVA 13',1,NULL,NULL),(862,86,0,0,'0',0,'0',0,'SIN IVA',1,NULL,NULL),(1141,114,0,0,'0',0,'0',0,'No ISV',1,NULL,NULL),(1142,114,12,0,'0',0,'0',0,'ISV 12%',1,NULL,NULL),(1161,116,25.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1162,116,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,0,0,'0',0,'0',0,'VAT rate 0',1,NULL,NULL),(1171,117,12.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1172,117,4,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,5,0,'0',0,'0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1402,140,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,3,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1521,152,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,15,0,'0',0,'0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(1542,154,16,0,'0',0,'0',0,'VAT 16%',1,NULL,NULL),(1543,154,10,0,'0',0,'0',0,'VAT Frontero',1,NULL,NULL),(1662,166,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1663,166,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1732,173,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,8,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1842,184,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,3,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,24,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1882,188,9,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,0,0,'0',0,'0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2012,201,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2022,202,8.5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(2322,232,12,0,'0',0,'0',0,'VAT 12%',1,NULL,NULL),(2323,232,8,0,'0',0,'0',0,'VAT 8%',1,NULL,NULL),(2461,246,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2462,4,15,0,'0',0,'0',0,'aaaa',1,NULL,NULL); /*!40000 ALTER TABLE `llx_c_tva` ENABLE KEYS */; UNLOCK TABLES; diff --git a/dev/initdata/mysqldump_dolibarr_3.7.0.sql b/dev/initdata/mysqldump_dolibarr_3.7.0.sql index 3dda50178284a..d560b93510e93 100644 --- a/dev/initdata/mysqldump_dolibarr_3.7.0.sql +++ b/dev/initdata/mysqldump_dolibarr_3.7.0.sql @@ -1796,7 +1796,7 @@ CREATE TABLE `llx_c_tva` ( LOCK TABLES `llx_c_tva` WRITE; /*!40000 ALTER TABLE `llx_c_tva` DISABLE KEYS */; -INSERT INTO `llx_c_tva` VALUES (11,1,20,'0','0','0','0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,8.5,'0','0','0','0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,8.5,'0','0','0','0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,5.5,'0','0','0','0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,0,'0','0','0','0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,2.1,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(21,2,21,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(22,2,6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(23,2,0,'0','0','0','0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(31,3,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(32,3,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(33,3,4,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(41,4,21,'5.2','3','-21','1',0,'VAT standard rate',1,NULL,NULL),(42,4,10,'1.4','3','-21','1',0,'VAT reduced rate',1,NULL,NULL),(43,4,4,'0.5','3','-21','1',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,0,'0','3','-21','1',0,'VAT Rate 0',1,NULL,NULL),(51,5,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(52,5,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(53,5,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(61,6,7.6,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(62,6,3.6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(63,6,2.4,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(71,7,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(72,7,17.5,'0','0','0','0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(74,7,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(91,9,17,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(92,9,13,'0','0','0','0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,3,'0','0','0','0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(101,10,6,'0','0','0','0',0,'VAT 6%',1,NULL,NULL),(102,10,12,'1','4','0','0',0,'VAT 12%',1,NULL,NULL),(103,10,18,'0','0','0','0',0,'VAT 18%',1,NULL,NULL),(104,10,7.5,'1','4','0','0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,15,'1','4','0','0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,22.5,'1','4','0','0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(111,11,0,'0','0','0','0',0,'No Sales Tax',1,NULL,NULL),(112,11,4,'0','0','0','0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,6,'0','0','0','0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(122,12,14,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(123,12,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(124,12,7,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(141,14,7,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(142,14,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(143,14,5,'9.975','1','0','0',0,'TPS and TVQ rate',1,NULL,NULL),(171,17,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(172,17,6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(173,17,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(201,20,25,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(202,20,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(203,20,6,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(231,23,21,'0','0','0','0',0,'IVA standard rate',1,NULL,NULL),(232,23,10.5,'0','0','0','0',0,'IVA reduced rate',1,NULL,NULL),(233,23,0,'0','0','0','0',0,'IVA Rate 0',1,NULL,NULL),(251,25,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(252,25,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(253,25,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(254,25,5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(271,27,20,'0','0','0','0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,8.5,'0','0','0','0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,8.5,'0','0','0','0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,5.5,'0','0','0','0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,0,'0','0','0','0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,2.1,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(281,28,10,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(282,28,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(411,41,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(412,41,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(413,41,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(461,46,0,'0','0','0','0',0,'No VAT',1,NULL,NULL),(462,46,15,'0','0','0','0',0,'VAT 15%',1,NULL,NULL),(463,46,7.5,'0','0','0','0',0,'VAT 7.5%',1,NULL,NULL),(591,59,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(592,59,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(593,59,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(671,67,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(672,67,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(801,80,25,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(802,80,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(861,86,13,'0','0','0','0',0,'IVA 13',1,NULL,NULL),(862,86,0,'0','0','0','0',0,'SIN IVA',1,NULL,NULL),(1141,114,0,'0','0','0','0',0,'No ISV',1,NULL,NULL),(1142,114,12,'0','0','0','0',0,'ISV 12%',1,NULL,NULL),(1161,116,25.5,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1162,116,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,0,'0','0','0','0',0,'VAT rate 0',1,NULL,NULL),(1171,117,12.5,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1172,117,4,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,1,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,5,'0','0','0','0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,15,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1402,140,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,3,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1521,152,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,15,'0','0','0','0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,0,'0','0','0','0',0,'No VAT',1,NULL,NULL),(1542,154,16,'0','0','0','0',0,'VAT 16%',1,NULL,NULL),(1543,154,10,'0','0','0','0',0,'VAT Frontero',1,NULL,NULL),(1662,166,15,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1663,166,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,25,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1732,173,14,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,8,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1842,184,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,3,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,24,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1882,188,9,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,0,'0','0','0','0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(2012,201,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(2022,202,8.5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,0,'0','0','0','0',0,'No VAT',1,NULL,NULL),(2322,232,12,'0','0','0','0',0,'VAT 12%',1,NULL,NULL),(2323,232,8,'0','0','0','0',0,'VAT 8%',1,NULL,NULL),(2461,246,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(2462,4,15,'0','0','0','0',0,'aaaa',1,NULL,NULL); +INSERT INTO `llx_c_tva` VALUES (11,1,20,'0','0','0','0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,8.5,'0','0','0','0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,8.5,'0','0','0','0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,5.5,'0','0','0','0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,0,'0','0','0','0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,2.1,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(21,2,21,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(22,2,6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(23,2,0,'0','0','0','0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(31,3,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(32,3,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(33,3,4,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(41,4,21,'5.2','3','-19','5',0,'VAT standard rate',1,NULL,NULL),(42,4,10,'1.4','3','-19','5',0,'VAT reduced rate',1,NULL,NULL),(43,4,4,'0.5','3','-19','5',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,0,'0','3','-19','5',0,'VAT Rate 0',1,NULL,NULL),(51,5,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(52,5,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(53,5,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(61,6,7.6,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(62,6,3.6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(63,6,2.4,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(71,7,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(72,7,17.5,'0','0','0','0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(74,7,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(91,9,17,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(92,9,13,'0','0','0','0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,3,'0','0','0','0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(101,10,6,'0','0','0','0',0,'VAT 6%',1,NULL,NULL),(102,10,12,'1','4','0','0',0,'VAT 12%',1,NULL,NULL),(103,10,18,'0','0','0','0',0,'VAT 18%',1,NULL,NULL),(104,10,7.5,'1','4','0','0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,15,'1','4','0','0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,22.5,'1','4','0','0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(111,11,0,'0','0','0','0',0,'No Sales Tax',1,NULL,NULL),(112,11,4,'0','0','0','0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,6,'0','0','0','0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(122,12,14,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(123,12,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(124,12,7,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(141,14,7,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(142,14,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(143,14,5,'9.975','1','0','0',0,'TPS and TVQ rate',1,NULL,NULL),(171,17,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(172,17,6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(173,17,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(201,20,25,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(202,20,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(203,20,6,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(231,23,21,'0','0','0','0',0,'IVA standard rate',1,NULL,NULL),(232,23,10.5,'0','0','0','0',0,'IVA reduced rate',1,NULL,NULL),(233,23,0,'0','0','0','0',0,'IVA Rate 0',1,NULL,NULL),(251,25,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(252,25,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(253,25,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(254,25,5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(271,27,20,'0','0','0','0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,8.5,'0','0','0','0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,8.5,'0','0','0','0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,5.5,'0','0','0','0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,0,'0','0','0','0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,2.1,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(281,28,10,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(282,28,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(411,41,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(412,41,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(413,41,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(461,46,0,'0','0','0','0',0,'No VAT',1,NULL,NULL),(462,46,15,'0','0','0','0',0,'VAT 15%',1,NULL,NULL),(463,46,7.5,'0','0','0','0',0,'VAT 7.5%',1,NULL,NULL),(591,59,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(592,59,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(593,59,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(671,67,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(672,67,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(801,80,25,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(802,80,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(861,86,13,'0','0','0','0',0,'IVA 13',1,NULL,NULL),(862,86,0,'0','0','0','0',0,'SIN IVA',1,NULL,NULL),(1141,114,0,'0','0','0','0',0,'No ISV',1,NULL,NULL),(1142,114,12,'0','0','0','0',0,'ISV 12%',1,NULL,NULL),(1161,116,25.5,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1162,116,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,0,'0','0','0','0',0,'VAT rate 0',1,NULL,NULL),(1171,117,12.5,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1172,117,4,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,1,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,5,'0','0','0','0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,15,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1402,140,12,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,6,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,3,'0','0','0','0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1521,152,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,15,'0','0','0','0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,0,'0','0','0','0',0,'No VAT',1,NULL,NULL),(1542,154,16,'0','0','0','0',0,'VAT 16%',1,NULL,NULL),(1543,154,10,'0','0','0','0',0,'VAT Frontero',1,NULL,NULL),(1662,166,15,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1663,166,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,25,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1732,173,14,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,8,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1842,184,7,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,3,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,24,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(1882,188,9,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,0,'0','0','0','0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,19,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(2012,201,10,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,20,'0','0','0','0',0,'VAT standard rate',1,NULL,NULL),(2022,202,8.5,'0','0','0','0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,0,'0','0','0','0',0,'No VAT',1,NULL,NULL),(2322,232,12,'0','0','0','0',0,'VAT 12%',1,NULL,NULL),(2323,232,8,'0','0','0','0',0,'VAT 8%',1,NULL,NULL),(2461,246,0,'0','0','0','0',0,'VAT Rate 0',1,NULL,NULL),(2462,4,15,'0','0','0','0',0,'aaaa',1,NULL,NULL); /*!40000 ALTER TABLE `llx_c_tva` ENABLE KEYS */; UNLOCK TABLES; diff --git a/dev/skeletons/build_api_class.php b/dev/skeletons/build_api_class.php new file mode 100755 index 0000000000000..4ed122c95d84b --- /dev/null +++ b/dev/skeletons/build_api_class.php @@ -0,0 +1,123 @@ +#!/usr/bin/php + + * + * 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 + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file dev/skeletons/build_api_class.php + * \ingroup core + * \brief Create a complete API class file from existant class file + */ + +$sapi_type = php_sapi_name(); +$script_file = basename(__FILE__); +$path=dirname(__FILE__).'/'; + +// Test if batch mode +if (substr($sapi_type, 0, 3) == 'cgi') { + echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; + exit; +} + +// Include Dolibarr environment +require_once($path."../../htdocs/master.inc.php"); +// After this $db is a defined handler to database. + +// Main +$version='1'; +@set_time_limit(0); +$error=0; + +$langs->load("main"); + + +print "***** $script_file ($version) *****\n"; + + +// -------------------- START OF BUILD_API_FROM_CLASS -------------------- + +// Check parameters +if (! isset($argv[1]) && ! isset($argv[2])) +{ + print "Usage: $script_file phpClassFile phpClassName\n"; + exit; +} +// Show parameters +print 'Classfile='.$argv[1]."\n"; +print 'Classname='.$argv[2]."\n"; + +$classfile=$argv[1]; +$classname=$argv[2]; +$classmin=strtolower($classname); +$classnameApi = $classname.'Api'; +$property=array(); +$targetcontent=''; + +// Load the class and read properties +require_once($classfile); + +$property=array(); +$class = new $classname($db); +$values=get_class_vars($classname); + +unset($values['db']); +unset($values['error']); +unset($values['errors']); +unset($values['element']); +unset($values['table_element']); +unset($values['table_element_line']); +unset($values['fk_element']); +unset($values['ismultientitymanaged']); + +// Read skeleton_api_class.class.php file +$skeletonfile=$path.'skeleton_api_class.class.php'; +$sourcecontent=file_get_contents($skeletonfile); +if (! $sourcecontent) +{ + print "\n"; + print "Error: Failed to read skeleton sample '".$skeletonfile."'\n"; + print "Try to run script from skeletons directory.\n"; + exit; +} + +// Define output variables +$outfile='out.api_'.$classmin.'.class.php'; +$targetcontent=$sourcecontent; + +// Substitute class name +$targetcontent=preg_replace('/skeleton_api_class\.class\.php/', 'api_'.$classmin.'.class.php', $targetcontent); +$targetcontent=preg_replace('/skeleton/', $classmin, $targetcontent); +//$targetcontent=preg_replace('/\$table_element=\'skeleton\'/', '\$table_element=\''.$tablenoprefix.'\'', $targetcontent); +$targetcontent=preg_replace('/SkeletonApi/', $classnameApi, $targetcontent); +$targetcontent=preg_replace('/Skeleton/', $classname, $targetcontent); + +// Build file +$fp=fopen($outfile,"w"); +if ($fp) +{ + fputs($fp, $targetcontent); + fclose($fp); + print "\n"; + print "File '".$outfile."' has been built in current directory.\n"; +} +else $error++; + + + +// -------------------- END OF BUILD_CLASS_FROM_TABLE SCRIPT -------------------- + +print "You can now rename generated files by removing the 'out.' prefix in their name and store them into directory /module/class.\n"; +return $error; diff --git a/dev/skeletons/skeleton_api_class.class.php b/dev/skeletons/skeleton_api_class.class.php new file mode 100644 index 0000000000000..9cc8de2bc5e96 --- /dev/null +++ b/dev/skeletons/skeleton_api_class.class.php @@ -0,0 +1,288 @@ + + * + * 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 + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + use Luracast\Restler\RestException; + + +/** + * API class for skeleton object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * + * + */ +class SkeletonApi extends DolibarrApi +{ + /** + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'name' + ); + + /** + * @var Skeleton $skeleton {@type Skeleton} + */ + public $skeleton; + + /** + * Constructor + * + * @url GET skeleton/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->skeleton = new Skeleton($this->db); + } + + /** + * Get properties of a skeleton object + * + * Return an array with skeleton informations + * + * @param int $id ID of skeleton + * @return array|mixed data without useless information + * + * @url GET skeleton/{id} + * @throws RestException + */ + function get($id) + { + if(! DolibarrApiAccess::$user->rights->skeleton->read) { + throw new RestException(401); + } + + $result = $this->skeleton->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Skeleton not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('skeleton',$this->skeleton->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->skeleton); + } + + /** + * List skeletons + * + * Get a list of skeletons + * + * @param int $mode Use this param to filter list + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return array Array of skeleton objects + * + * @url GET /skeletons/ + */ + function getList($mode, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + // If the internal user must only see his customers, force searching by him + if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; + + $sql = "SELECT s.rowid"; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) + $sql.= " FROM ".MAIN_DB_PREFIX."skeleton as s"; + + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale + $sql.= ", ".MAIN_DB_PREFIX."c_stcomm as st"; + $sql.= " WHERE s.fk_stcomm = st.id"; + + // Example of use $mode + //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; + //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; + + $sql.= ' AND s.entity IN ('.getEntity('skeleton', 1).')'; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.fk_soc = sc.fk_soc"; + if ($socid) $sql.= " AND s.fk_soc = ".$socid; + if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + + // Insert sale filter + if ($search_sale > 0) + { + $sql .= " AND sc.fk_user = ".$search_sale; + } + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $skeleton_static = new Skeleton($db); + if($skeleton_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($skeleton_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve skeleton list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No skeleton found'); + } + return $obj_ret; + } + + /** + * Create skeleton object + * + * @param array $request_data Request datas + * @return int ID of skeleton + * + * @url POST skeleton/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->skeleton->create) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->skeleton->$field = $value; + } + if( ! $this->skeleton->create(DolibarrApiAccess::$user)) { + throw new RestException(500); + } + return $this->skeleton->id; + } + + /** + * Update skeleton + * + * @param int $id Id of skeleton to update + * @param array $request_data Datas + * @return int + * + * @url PUT skeleton/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->skeleton->create) { + throw new RestException(401); + } + + $result = $this->skeleton->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Skeleton not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('skeleton',$this->skeleton->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->skeleton->$field = $value; + } + + if($this->skeleton->update($id, DolibarrApiAccess::$user)) + return $this->get ($id); + + return false; + } + + /** + * Delete skeleton + * + * @param int $id Skeleton ID + * @return array + * + * @url DELETE skeleton/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->skeleton->supprimer) { + throw new RestException(401); + } + $result = $this->skeleton->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Skeleton not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('skeleton',$this->skeleton->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if( !$this->skeleton->delete($id)) + { + throw new RestException(500); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Skeleton deleted' + ) + ); + + } + + /** + * Validate fields before create or update object + * + * @param array $data Data to validate + * @return array + * + * @throws RestException + */ + function _validate($data) + { + $skeleton = array(); + foreach (SkeletonApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $skeleton[$field] = $data[$field]; + } + return $skeleton; + } +} diff --git a/htdocs/accountancy/admin/importaccounts.php b/htdocs/accountancy/admin/importaccounts.php index 6358bf353f37a..14e1eb90636fa 100644 --- a/htdocs/accountancy/admin/importaccounts.php +++ b/htdocs/accountancy/admin/importaccounts.php @@ -164,7 +164,7 @@ // Colonne choix ligne a ventiler - $checked = ('label' == 'O') ? ' checked=checked' : ''; + $checked = ('label' == 'O') ? ' checked' : ''; print ''; print ''; @@ -183,4 +183,4 @@ } llxFooter(); -$db->close(); \ No newline at end of file +$db->close(); diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 0a005862054cd..c1ad179342a3a 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -221,7 +221,7 @@ $row = $db->fetch_row($resql); print ''; $i ++; @@ -291,4 +291,4 @@ print '

'; print ''; llxFooter(); -$db->close(); \ No newline at end of file +$db->close(); diff --git a/htdocs/accountancy/admin/journaux.php b/htdocs/accountancy/admin/journaux.php index 03fd8684f5037..5a305d87f2c94 100644 --- a/htdocs/accountancy/admin/journaux.php +++ b/htdocs/accountancy/admin/journaux.php @@ -1,10 +1,10 @@ - * Copyright (C) 2013-2014 Alexandre Spangaro + * Copyright (C) 2013-2015 Alexandre Spangaro * Copyright (C) 2014 Florian Henry * Copyright (C) 2014 Marcos García * Copyright (C) 2014 Juanjo Menent - * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 Jean-François Ferry * * 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 @@ -48,8 +48,8 @@ 'ACCOUNTING_SELL_JOURNAL', 'ACCOUNTING_PURCHASE_JOURNAL', 'ACCOUNTING_SOCIAL_JOURNAL', - 'ACCOUNTING_CASH_JOURNAL', - 'ACCOUNTING_MISCELLANEOUS_JOURNAL' + 'ACCOUNTING_MISCELLANEOUS_JOURNAL', + 'ACCOUNTING_EXPENSEREPORT_JOURNAL' ); /* diff --git a/htdocs/accountancy/class/html.formventilation.class.php b/htdocs/accountancy/class/html.formventilation.class.php index f2b6ba6346cda..abd66a7885dc2 100644 --- a/htdocs/accountancy/class/html.formventilation.class.php +++ b/htdocs/accountancy/class/html.formventilation.class.php @@ -66,7 +66,7 @@ function select_bookkeeping_importkey($htmlname = 'importkey', $selectedkey='') $selected = ''; if ($selectedkey == $obj->import_key) { - $selected = ' selected="selected" '; + $selected = ' selected '; } $out .= ''; @@ -126,8 +126,8 @@ function select_account($selectid, $htmlname = 'account', $showempty = 0, $event // Remember guy's we store in database llx_facturedet the rowid of accountingaccount and not the account_number // Because same account_number can be share between different accounting_system and do have the same meaning if (($selectid != '') && $selectid == $obj->rowid) { - // $out .= ''; - $out .= ''; + // $out .= ''; + $out .= ''; } else { // $out .= ''; $out .= ''; @@ -184,7 +184,7 @@ function select_pcgtype($selectid, $htmlname = 'pcg_type', $showempty = 0, $even $label = $obj->pcg_type; if (($selectid != '') && $selectid == $obj->pcg_type) { - $out .= ''; + $out .= ''; } else { $out .= ''; } @@ -240,7 +240,7 @@ function select_pcgsubtype($selectid, $htmlname = 'pcg_subtype', $showempty = 0, $label = $obj->pcg_subtype; if (($selectid != '') && $selectid == $obj->pcg_subtype) { - $out .= ''; + $out .= ''; } else { $out .= ''; } diff --git a/htdocs/accountancy/customer/card.php b/htdocs/accountancy/customer/card.php index 71afe4ca218d5..487f4dc27190e 100644 --- a/htdocs/accountancy/customer/card.php +++ b/htdocs/accountancy/customer/card.php @@ -87,7 +87,7 @@ $sql .= " WHERE f.fk_statut > 0 AND l.rowid = " . $id; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } dol_syslog("/accounting/customer/card.php sql=" . $sql, LOG_DEBUG); diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index 39c9d05c83343..df6351554164c 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -159,7 +159,7 @@ $sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'"; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } $sql .= " GROUP BY fd.fk_code_ventilation"; @@ -234,7 +234,7 @@ $sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'"; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } dol_syslog('htdocs/accountancy/customer/index.php:: $sql=' . $sql); @@ -307,7 +307,7 @@ $sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'"; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } dol_syslog('htdocs/accountancy/customer/index.php:: $sql=' . $sql); diff --git a/htdocs/accountancy/customer/lines.php b/htdocs/accountancy/customer/lines.php index 01806db83320e..3a368f8d3ad9e 100644 --- a/htdocs/accountancy/customer/lines.php +++ b/htdocs/accountancy/customer/lines.php @@ -1,6 +1,6 @@ - * Copyright (C) 2013-2014 Alexandre Spangaro + * Copyright (C) 2013-2015 Alexandre Spangaro * Copyright (C) 2014 Ari Elbaz (elarifr) * Copyright (C) 2014 Florian Henry * Copyright (C) 2014 Juanjo Menent @@ -27,19 +27,23 @@ */ require '../../main.inc.php'; - -// Class require_once DOL_DOCUMENT_ROOT.'/accountancy/class/html.formventilation.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; -// langs $langs->load("bills"); $langs->load("compta"); $langs->load("main"); $langs->load("accountancy"); $account_parent = GETPOST('account_parent'); +$changeaccount = GETPOST('changeaccount'); +$search_ref = GETPOST('search_ref','alpha'); +$search_facture = GETPOST('search_facture','alpha'); +$search_label = GETPOST('search_label','alpha'); +$search_desc = GETPOST('search_desc','alpha'); +$search_amount = GETPOST('search_amount','alpha'); +$search_acount = GETPOST('search_account','alpha'); // Security check if ($user->societe_id > 0) @@ -49,13 +53,18 @@ $formventilation = new FormVentilation($db); -// change account - -$changeaccount = GETPOST('changeaccount'); - -$is_search = GETPOST('button_search_x'); +// Purge search criteria +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +{ + $search_ref=''; + $search_facture=''; + $search_label=''; + $search_desc=''; + $search_amount=''; + $search_account=''; +} -if (is_array($changeaccount) && count($changeaccount) > 0 && empty($is_search)) { +if (is_array($changeaccount) && count($changeaccount) > 0) { $error = 0; $db->begin(); @@ -110,21 +119,24 @@ if (strlen(trim(GETPOST("search_facture")))) { $sql .= " AND f.facnumber like '%" . GETPOST("search_facture") . "%'"; } -if (strlen(trim(GETPOST("search_ref")))) { - $sql .= " AND p.ref like '%" . GETPOST("search_ref") . "%'"; +if (strlen(trim($search_ref))) { + $sql .= " AND p.ref like '%" . $search_ref . "%'"; +} +if (strlen(trim($search_label))) { + $sql .= " AND p.label like '%" . $search_label . "%'"; } -if (strlen(trim(GETPOST("search_label")))) { - $sql .= " AND p.label like '%" . GETPOST("search_label") . "%'"; +if (strlen(trim($search_desc))) { + $sql .= " AND l.description like '%" . $search_desc . "%'"; } -if (strlen(trim(GETPOST("search_desc")))) { - $sql .= " AND l.description like '%" . GETPOST("search_desc") . "%'"; +if (strlen(trim($search_amount))) { + $sql .= " AND l.total_ht like '%" . $search_amount . "%'"; } -if (strlen(trim(GETPOST("search_account")))) { - $sql .= " AND aa.account_number like '%" . GETPOST("search_account") . "%'"; +if (strlen(trim($search_account))) { + $sql .= " AND aa.account_number like '%" . $search_account . "%'"; } if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } $sql .= " ORDER BY l.rowid"; @@ -161,18 +173,17 @@ print ' '; print "\n"; - print ''; - print ''; - print ''; - print ''; - print ' '; - print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print ' '; - print ''; - print ''; - print ''; print ' '; - print "\n"; + print ''; + print ''; + print "\n"; $facture_static = new Facture($db); $product_static = new Product($db); @@ -180,7 +191,7 @@ $var = True; while ( $objp = $db->fetch_object($result) ) { $var = ! $var; - $codeCompta = $objp->account_number . ' ' . $objp->label; + $codecompta = $objp->account_number . ' ' . $objp->label; print ""; @@ -202,8 +213,8 @@ print '' . dol_trunc($objp->product_label, 24) . ''; print '' . nl2br(dol_trunc($objp->description, 32)) . ''; - print '' . price($objp->total_ht) . ''; - print '' . $codeCompta . ''; + print '' . price($objp->total_ht) . ''; + print '' . $codecompta . ''; print '' . $objp->rowid . ''; print ''; print img_edit(); diff --git a/htdocs/accountancy/customer/list.php b/htdocs/accountancy/customer/list.php index 3d4987bd94add..ac1c342965832 100644 --- a/htdocs/accountancy/customer/list.php +++ b/htdocs/accountancy/customer/list.php @@ -132,7 +132,7 @@ $sql .= " WHERE f.fk_statut > 0 AND fk_code_ventilation <= 0"; $sql .= " AND (accsys.rowid='" . $conf->global->CHARTOFACCOUNTS . "' OR p.accountancy_code_sell IS NULL OR p.accountancy_code_sell ='')"; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } $sql .= " ORDER BY l.rowid"; diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php index 6d89e8f17a2cf..0a000e0183342 100644 --- a/htdocs/accountancy/journal/purchasesjournal.php +++ b/htdocs/accountancy/journal/purchasesjournal.php @@ -96,7 +96,7 @@ $sql .= " JOIN " . MAIN_DB_PREFIX . "societe as s ON s.rowid = f.fk_soc"; $sql .= " WHERE f.fk_statut > 0 "; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = " . $conf->entity; + $sql .= " AND f.entity IN (" . getEntity("facture_fourn", 1) . ")"; } if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql .= " AND f.type IN (0,1,2)"; diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index c2c51bacd4225..24ed25f56ed24 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -99,7 +99,7 @@ $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "c_tva as ct ON fd.tva_tx = ct.taux AND ct.fk_pays = '" . $idpays . "'"; $sql .= " WHERE fd.fk_code_ventilation > 0 "; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = " . $conf->entity; + $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } $sql .= " AND f.fk_statut > 0"; if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) diff --git a/htdocs/accountancy/supplier/card.php b/htdocs/accountancy/supplier/card.php index 70d97b376c542..51d09428c25a5 100644 --- a/htdocs/accountancy/supplier/card.php +++ b/htdocs/accountancy/supplier/card.php @@ -88,7 +88,7 @@ $sql .= " INNER JOIN " . MAIN_DB_PREFIX . "facture_fourn as f ON f.rowid = l.fk_facture_fourn "; $sql .= " WHERE f.fk_statut > 0 AND l.rowid = " . $id; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture_fourn", 1) . ")"; } $result = $db->query($sql); diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index 85d1c04cf53fa..3bdf2f45a7c11 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -144,7 +144,7 @@ $sql .= " AND ff.fk_statut > 0 "; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND ff.entity = '" . $conf->entity . "'"; + $sql .= " AND ff.entity IN (" . getEntity("facture_fourn", 1) . ")"; } $sql .= " GROUP BY ffd.fk_code_ventilation"; @@ -221,7 +221,7 @@ $sql .= " AND ff.fk_statut > 0 "; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND ff.entity = '" . $conf->entity . "'"; + $sql .= " AND ff.entity IN (" . getEntity("facture_fourn", 1) . ")"; } dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql); diff --git a/htdocs/accountancy/supplier/lines.php b/htdocs/accountancy/supplier/lines.php index 5df5ee0c06f52..9cf77779bf4e1 100644 --- a/htdocs/accountancy/supplier/lines.php +++ b/htdocs/accountancy/supplier/lines.php @@ -1,6 +1,6 @@ - * Copyright (C) 2013-2014 Alexandre Spangaro + * Copyright (C) 2013-2015 Alexandre Spangaro * Copyright (C) 2014 Ari Elbaz (elarifr) * Copyright (C) 2013-2014 Florian Henry * Copyright (C) 2014 Juanjo Menent @@ -26,34 +26,46 @@ */ require '../../main.inc.php'; - -// Class require_once DOL_DOCUMENT_ROOT.'/accountancy/class/html.formventilation.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; -// Langs $langs->load("compta"); $langs->load("bills"); $langs->load("other"); $langs->load("main"); $langs->load("accountancy"); +$account_parent = GETPOST('account_parent'); +$changeaccount = GETPOST('changeaccount'); +$search_ref = GETPOST('search_ref','alpha'); +$search_facture = GETPOST('search_facture','alpha'); +$search_label = GETPOST('search_label','alpha'); +$search_desc = GETPOST('search_desc','alpha'); +$search_amount = GETPOST('search_amount','alpha'); +$search_acount = GETPOST('search_account','alpha'); + // Security check if ($user->societe_id > 0) accessforbidden(); if (! $user->rights->accounting->ventilation->dispatch) accessforbidden(); - $formventilation = new FormVentilation($db); -$changeaccount = GETPOST('changeaccount'); - -$is_search = GETPOST('button_search_x'); +// Purge search criteria +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +{ + $search_ref=''; + $search_facture=''; + $search_label=''; + $search_desc=''; + $search_amount=''; + $search_account=''; +} -if (is_array($changeaccount) && count($changeaccount) > 0 && empty($is_search)) { +if (is_array($changeaccount) && count($changeaccount) > 0) { $error = 0; $db->begin(); @@ -83,7 +95,7 @@ llxHeader('', $langs->trans("SuppliersVentilation") . ' - ' . $langs->trans("Dispatched")); -$page = $_GET["page"]; +$page = GETPOST("page"); if ($page < 0) $page = 0; @@ -105,23 +117,26 @@ $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = l.fk_product"; $sql .= " WHERE f.rowid = l.fk_facture_fourn and f.fk_statut >= 1 AND l.fk_code_ventilation <> 0 "; $sql .= " AND aa.rowid = l.fk_code_ventilation"; -if (strlen(trim($_GET["search_facture"]))) { - $sql .= " AND f.ref like '%" . $_GET["search_facture"] . "%'"; +if (strlen(trim($search_facture))) { + $sql .= " AND f.ref like '%" . $search_facture . "%'"; +} +if (strlen(trim($search_ref))) { + $sql .= " AND p.ref like '%" . $search_ref . "%'"; } -if (strlen(trim($_GET["search_ref"]))) { - $sql .= " AND p.ref like '%" . $_GET["search_ref"] . "%'"; +if (strlen(trim($search_label))) { + $sql .= " AND p.label like '%" . $search_label . "%'"; } -if (strlen(trim($_GET["search_label"]))) { - $sql .= " AND p.label like '%" . $_GET["search_label"] . "%'"; +if (strlen(trim($search_desc))) { + $sql .= " AND l.description like '%" . $search_desc . "%'"; } -if (strlen(trim($_GET["search_desc"]))) { - $sql .= " AND l.description like '%" . $_GET["search_desc"] . "%'"; +if (strlen(trim($search_amount))) { + $sql .= " AND l.total_ht like '%" . $search_amount . "%'"; } -if (strlen(trim($_GET["search_account"]))) { - $sql .= " AND aa.account_number like '%" . $_GET["search_account"] . "%'"; +if (strlen(trim($search_account))) { + $sql .= " AND aa.account_number like '%" . $search_account . "%'"; } if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture_fourn", 1) . ")"; } $sql .= " ORDER BY l.rowid"; @@ -159,18 +174,17 @@ print ' '; print "\n"; - print ''; - print ''; - print ''; - print ''; - print ' '; - print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print ' '; - print ''; - print ''; - print ''; print ' '; - print "\n"; + print ''; + print ''; + print "\n"; $facturefournisseur_static = new FactureFournisseur($db); $product_static = new Product($db); diff --git a/htdocs/accountancy/supplier/list.php b/htdocs/accountancy/supplier/list.php index 656afbd32cc6a..bf14ebc185e6a 100644 --- a/htdocs/accountancy/supplier/list.php +++ b/htdocs/accountancy/supplier/list.php @@ -135,7 +135,7 @@ $sql .= " AND (accsys.rowid='".$conf->global->CHARTOFACCOUNTS."' OR p.accountancy_code_sell IS NULL OR p.accountancy_code_buy ='')"; if (! empty($conf->multicompany->enabled)) { - $sql .= " AND f.entity = '" . $conf->entity . "'"; + $sql .= " AND f.entity IN (" . getEntity("facture_fourn", 1) . ")"; } $sql .= " ORDER BY l.rowid"; diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index 7f9925d58962e..369027b1e140c 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -53,6 +53,7 @@ $extrafields = new ExtraFields($db); $adht = new AdherentType($db); $errmsg=''; +$errmsgs=array(); $defaultdelay=1; $defaultdelayunit='y'; @@ -282,7 +283,7 @@ { $error++; $errmsg=$object->error; - setEventMessage($object->errors, 'errors'); + setEventMessages($object->error,$object->errors, 'errors'); } if (! $error) @@ -319,12 +320,14 @@ { $error++; $errmsg=$acct->error; + $errmsgs=$acct->errors; } } else { $error++; $errmsg=$acct->error; + $errmsgs=$acct->errors; } } @@ -352,6 +355,7 @@ if ($result <= 0) { $errmsg=$customer->error; + $errmsgs=$acct->errors; $error++; } } @@ -378,6 +382,7 @@ if ($result <= 0) { $errmsg=$invoice->error; + $errmsgs=$invoice->errors; $error++; } } @@ -409,6 +414,7 @@ if ($result <= 0) { $errmsg=$invoice->error; + $errmsgs=$invoice->errors; $error++; } } @@ -435,6 +441,7 @@ if (! $paiement_id > 0) { $errmsg=$paiement->error; + $errmsgs=$paiement->errors; $error++; } } @@ -446,7 +453,8 @@ if (! ($bank_line_id > 0)) { $errmsg=$paiement->error; - setEventMessage($paiement->errors, 'errors'); + $errmsgs=$paiement->errors; + setEventMessages($paiement->error, $paiement->errors, 'errors'); $error++; } } @@ -487,8 +495,6 @@ //if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) $invoice->generateDocument($invoice->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - - } } } @@ -514,7 +520,10 @@ $texttosend=$object->makeSubstitution($adht->getMailOnSubscription()); $result=$object->send_an_email($texttosend,$subjecttosend,array(),array(),array(),"","",0,-1); - if ($result < 0) $errmsg=$object->error; + if ($result < 0) + { + $errmsg=$object->error; + } } $_POST["cotisation"]=''; @@ -692,7 +701,7 @@ dol_fiche_end(); - dol_htmloutput_errors($errmsg); + dol_htmloutput_errors($errmsg,$errmsgs); /* @@ -971,18 +980,18 @@ print ''.$langs->trans('MoreActions'); print ''; print ''; - print ' '.$langs->trans("None").'
'; + print ' '.$langs->trans("None").'
'; // Add entry into bank accoun if (! empty($conf->banque->enabled)) { - print ' '.$langs->trans("MoreActionBankDirect").'
'; } // Add invoice with no payments if (! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) { - print 'fk_soc)) print ' disabled="disabled"'; + print 'fk_soc)) print ' disabled'; print '> '.$langs->trans("MoreActionInvoiceOnly"); if ($object->fk_soc) print ' ('.$langs->trans("ThirdParty").': '.$company->getNomUrl(1).')'; else @@ -1006,8 +1015,8 @@ // Add invoice with payments if (! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) { - print 'fk_soc)) print ' disabled="disabled"'; + print 'fk_soc)) print ' disabled'; print '> '.$langs->trans("MoreActionBankViaInvoice"); if ($object->fk_soc) print ' ('.$langs->trans("ThirdParty").': '.$company->getNomUrl(1).')'; else @@ -1078,7 +1087,7 @@ $subjecttosend=$object->makeSubstitution($conf->global->ADHERENT_MAIL_COTIS_SUBJECT); $texttosend=$object->makeSubstitution($adht->getMailOnSubscription()); - $tmp='global->ADHERENT_DEFAULT_SENDINFOBYMAIL)?' checked="checked"':'')).'>'; + $tmp='global->ADHERENT_DEFAULT_SENDINFOBYMAIL)?' checked':'')).'>'; $helpcontent=''; $helpcontent.=''.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.'
'."\n"; $helpcontent.=''.$langs->trans("MailRecipient").': '.$object->email.'
'."\n"; diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 941f7b300fd73..f3c391b5ecde1 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1703,7 +1703,7 @@ function load_state_board() $sql = "SELECT count(a.rowid) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as a"; $sql.= " WHERE a.statut > 0"; - $sql.= " AND a.entity = ".$conf->entity; + $sql.= " AND a.entity IN (".getEntity('adherent', 1).")"; $resql=$this->db->query($sql); if ($resql) @@ -1741,7 +1741,7 @@ function load_board($user) $sql = "SELECT a.rowid, a.datefin"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as a"; $sql.= " WHERE a.statut = 1"; - $sql.= " AND a.entity = ".$conf->entity; + $sql.= " AND a.entity IN (".getEntity('adherent', 1).")"; $sql.= " AND (a.datefin IS NULL or a.datefin < '".$this->db->idate($now)."')"; $resql=$this->db->query($sql); diff --git a/htdocs/adherents/class/adherentstats.class.php b/htdocs/adherents/class/adherentstats.class.php index e64a67d445d47..d3f72d2ea5dc7 100644 --- a/htdocs/adherents/class/adherentstats.class.php +++ b/htdocs/adherents/class/adherentstats.class.php @@ -65,7 +65,7 @@ function __construct($db, $socid=0, $userid=0) $this->field='cotisation'; $this->where.= " m.statut != 0"; - $this->where.= " AND p.fk_adherent = m.rowid AND m.entity = ".$conf->entity; + $this->where.= " AND p.fk_adherent = m.rowid AND m.entity IN (".getEntity('adherent', 1).")"; //if (!$user->rights->societe->client->voir && !$user->societe_id) $this->where .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if($this->memberid) { diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index a94f6750f5549..38ffeae299322 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -99,7 +99,7 @@ if ($catid == -2) $sql.= " AND cm.fk_categorie IS NULL"; if ($search_categ > 0) $sql.= " AND cm.fk_categorie = ".$db->escape($search_categ); if ($search_categ == -2) $sql.= " AND cm.fk_categorie IS NULL"; -$sql.= " AND d.entity = ".$conf->entity; +$sql.= " AND d.entity IN (".getEntity('adherent', 1).")"; if ($sall) { // For natural search diff --git a/htdocs/admin/agenda.php b/htdocs/admin/agenda.php index 3f952bae5119e..5da5fa621c6a1 100644 --- a/htdocs/admin/agenda.php +++ b/htdocs/admin/agenda.php @@ -178,7 +178,7 @@ print ''; $key='MAIN_AGENDA_ACTIONAUTO_'.$trigger['code']; $value=$conf->global->$key; - print ''; + print ''; print ''."\n"; } } diff --git a/htdocs/admin/agenda_extsites.php b/htdocs/admin/agenda_extsites.php index f0187da688178..c1a9ec3afd2d4 100644 --- a/htdocs/admin/agenda_extsites.php +++ b/htdocs/admin/agenda_extsites.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011-2014 Juanjo Menent +/* Copyright (C) 2008-2011 Laurent Destailleur + * Copyright (C) 2011-2015 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify @@ -158,7 +158,7 @@ } else { - if($conf->global->AGENDA_DISABLE_EXT == 0) + if (empty($conf->global->AGENDA_DISABLE_EXT)) { print '
'.img_picto($langs->trans("Enabled"),'on').''; } diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index 6ec43d4b7b4de..18c63a4879891 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -375,7 +375,7 @@ print ''."\n"; print '
'; -print ''; +print ''; print '
'."\n"; print ''; print "\n".''."\n"; diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index 364b87a2d35b2..a569632cc0230 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -264,7 +264,6 @@ $linkback=''.$langs->trans("BackToModuleList").''; print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); -print '
'; $head = order_admin_prepare_head(); diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index f9e5cd99e5df7..d5c78761989dc 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -371,7 +371,7 @@ print ''; print ''; + print $formother->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',0,1) . ''; print "
'; print ''; - print ''; + print ''; if (! empty($mysoc->logo_mini)) { print ''.img_delete($langs->trans("Delete")).''; @@ -543,7 +543,7 @@ $var=!$var; print '
'; - print $formother->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',1) . '
"; @@ -756,7 +756,7 @@ print ''; print ''; print ''; + print getTitleFieldOfList(''); + print getTitleFieldOfList(''); print ''; // Lines with values @@ -1159,7 +1184,14 @@ else if ($fieldlist[$field]=='unicode') { $valuetoshow = $langs->getCurrencySymbol($obj->code,1); } - + else if ($fieldlist[$field]=='label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { + $langs->load("products"); + $valuetoshow=$langs->trans($obj->$fieldlist[$field]); + } + else if ($fieldlist[$field]=='short_label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { + $langs->load("products"); + $valuetoshow = $langs->trans($obj->$fieldlist[$field]); + } else if (($fieldlist[$field] == 'unit') && ($tabname[$id] == MAIN_DB_PREFIX.'c_paper_format')) { $key = $langs->trans('SizeUnit'.strtolower($obj->unit)); @@ -1217,7 +1249,7 @@ if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto'))) { $iserasable=0; } if (in_array($obj->code, array('AC_OTH','AC_OTH_AUTO')) || in_array($obj->type, array('systemauto'))) { $isdisable=0; $isdisable = 0; } - $url = $_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'&code='.(! empty($obj->code)?$obj->code:'').'&id='.$id.'&'; + $url = $_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'&code='.(! empty($obj->code)?urlencode($obj->code):'').'&id='.$id.'&'; // Favorite // Only activated on country dictionary diff --git a/htdocs/admin/ecm.php b/htdocs/admin/ecm.php index 2f107a558b5d7..ed75fd141f959 100644 --- a/htdocs/admin/ecm.php +++ b/htdocs/admin/ecm.php @@ -1,5 +1,6 @@ + * Copyright (C) 2015 Juanjo Menent * * 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 @@ -95,11 +96,11 @@ } else { - if($conf->global->ECM_AUTO_TREE_ENABLED == 0) + if (empty($conf->global->ECM_AUTO_TREE_ENABLED)) { print ''.img_picto($langs->trans("Disabled"),'off').''; } - else if($conf->global->USER_MAIL_REQUIRED == 1) + else if(! empty($conf->global->USER_MAIL_REQUIRED)) { print ''.img_picto($langs->trans("Enabled"),'on').''; } diff --git a/htdocs/admin/events.php b/htdocs/admin/events.php index fe109e81bbe65..ed2a70f1b58ed 100644 --- a/htdocs/admin/events.php +++ b/htdocs/admin/events.php @@ -104,7 +104,7 @@ print ''."\n"; } } diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index 10f6cffc18aa7..e993d2c276ccc 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -294,7 +294,6 @@ $linkback=''.$langs->trans("BackToModuleList").''; print_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); -print '
'; $head = invoice_admin_prepare_head(); dol_fiche_head($head, 'general', $langs->trans("Invoices"), 0, 'invoice'); @@ -671,7 +670,7 @@ $row = $db->fetch_row($resql); print ''; $i++; @@ -695,7 +694,7 @@ print "'; print ''; -print '"; +print '"; print ''; // Name @@ -164,7 +164,7 @@ print ''; -print '"; +print '"; print ''; // Firstname @@ -172,7 +172,7 @@ print ''; -print '"; +print '"; print ''; // Company @@ -180,7 +180,7 @@ print ''; -print '"; +print '"; print ''; // Mail @@ -188,7 +188,7 @@ print ''; -print '"; +print '"; print ''; // Phone pro @@ -196,7 +196,7 @@ print ''; -print '"; +print '"; print ''; // Phone home @@ -204,7 +204,7 @@ print ''; -print '"; +print '"; print ''; // Mobile @@ -212,7 +212,7 @@ print ''; -print '"; +print '"; print ''; // Skype @@ -220,7 +220,7 @@ print ''; -print '"; +print '"; print ''; // Fax @@ -228,7 +228,7 @@ print ''; -print '"; +print '"; print ''; // Address @@ -236,7 +236,7 @@ print ''; -print '"; +print '"; print ''; // ZIP @@ -244,7 +244,7 @@ print ''; -print '"; +print '"; print ''; // TOWN @@ -252,7 +252,7 @@ print ''; -print '"; +print '"; print ''; // COUNTRY @@ -260,7 +260,7 @@ print ''; -print '"; +print '"; print ''; diff --git a/htdocs/admin/ldap_groups.php b/htdocs/admin/ldap_groups.php index 54e8f477b838f..f9ced81adba76 100644 --- a/htdocs/admin/ldap_groups.php +++ b/htdocs/admin/ldap_groups.php @@ -149,7 +149,7 @@ print ''; -print '"; +print '"; print ''; // Name @@ -157,7 +157,7 @@ print ''; -print '"; +print '"; print ''; */ @@ -166,7 +166,7 @@ print ''; -print '"; +print '"; print ''; // User group @@ -174,7 +174,7 @@ print ''; -print '"; +print '"; print ''; diff --git a/htdocs/admin/ldap_members.php b/htdocs/admin/ldap_members.php index 6dd2f3d22c91d..37b0250d04a30 100644 --- a/htdocs/admin/ldap_members.php +++ b/htdocs/admin/ldap_members.php @@ -174,7 +174,7 @@ print ''; -print '"; +print '"; print ''; // Name @@ -182,7 +182,7 @@ print ''; -print '"; +print '"; print ''; // Firstname @@ -198,7 +198,7 @@ print ''; -print '"; +print '"; print ''; // Login samba @@ -206,7 +206,7 @@ print ''; -print '"; +print '"; print ''; // Password not crypted @@ -230,7 +230,7 @@ print ''; -print '"; +print '"; print ''; // Phone pro diff --git a/htdocs/admin/ldap_users.php b/htdocs/admin/ldap_users.php index 8a97a27d34233..0a29302258164 100644 --- a/htdocs/admin/ldap_users.php +++ b/htdocs/admin/ldap_users.php @@ -166,7 +166,7 @@ print ''; -print '"; +print '"; print ''; // Name @@ -174,7 +174,7 @@ print ''; -print '"; +print '"; print ''; // Firstname @@ -182,7 +182,7 @@ print ''; -print '"; +print '"; print ''; // Login unix @@ -190,7 +190,7 @@ print ''; -print '"; +print '"; print ''; // Login samba @@ -198,7 +198,7 @@ print ''; -print '"; +print '"; print ''; // Password not crypted @@ -206,7 +206,7 @@ print ''; -print '"; +print '"; print ''; // Password crypted @@ -214,7 +214,7 @@ print ''; -print '"; +print '"; print ''; // Mail @@ -222,7 +222,7 @@ print ''; -print '"; +print '"; print ''; // Phone @@ -230,7 +230,7 @@ print ''; -print '"; +print '"; print ''; // Mobile @@ -238,7 +238,7 @@ print ''; -print '"; +print '"; print ''; // Skype @@ -246,7 +246,7 @@ print ''; -print '"; +print '"; print ''; // Fax @@ -254,7 +254,7 @@ print ''; -print '"; +print '"; print ''; // Title @@ -262,7 +262,7 @@ print ''; -print '"; +print '"; print ''; // Note @@ -270,7 +270,7 @@ print ''; -print '"; +print '"; print ''; // Sid @@ -278,7 +278,7 @@ print ''; -print '"; +print '"; print ''; $var=!$var; diff --git a/htdocs/admin/menus.php b/htdocs/admin/menus.php index 3bceffeacfcfc..ad83def9ce8c0 100644 --- a/htdocs/admin/menus.php +++ b/htdocs/admin/menus.php @@ -183,10 +183,10 @@ $var=!$var; print ''; print ''; print ''; print ''; @@ -194,10 +194,10 @@ $var=!$var; print ''; print ''; print ''; print ''; diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index e69719603c34d..9ded9ae1f34a1 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -323,8 +323,8 @@ function init_topleft() { print ''; } // print ''; @@ -356,8 +356,8 @@ function init_topleft() // Target print ''; // Enabled @@ -406,9 +406,9 @@ function init_topleft() // User print ''; // Type @@ -438,8 +438,8 @@ function init_topleft() // Target print ''; // Enabled diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index d635b64803ad7..9f12c98e1d8f6 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin - * Copyright (C) 2012-2103 Juanjo Menent + * Copyright (C) 2012-2105 Juanjo Menent * * 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 @@ -408,11 +408,11 @@ } print ''; print '"; print ''; print ''; -if ($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK == 0) +if (empty($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK)) { print '"; } -if($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK == 1) +if (!empty($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK)) { print '
'; print $mysoc->logo; - print ''; + print ''; // On propose la generation de la vignette si elle n'existe pas if (!is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini) && preg_match('/(\.jpg|\.jpeg|\.png)$/i',$mysoc->logo)) diff --git a/htdocs/admin/confexped.php b/htdocs/admin/confexped.php index 273f4405f9a3d..a6ed0acae30cb 100644 --- a/htdocs/admin/confexped.php +++ b/htdocs/admin/confexped.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2011-2015 Juanjo Menent * * 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 @@ -121,11 +121,11 @@ print ''; -if($conf->global->MAIN_SUBMODULE_EXPEDITION == 0) +if (empty($conf->global->MAIN_SUBMODULE_EXPEDITION)) { print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } -else if($conf->global->MAIN_SUBMODULE_EXPEDITION == 1) +else { print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } @@ -141,11 +141,11 @@ print ''; -if($conf->global->MAIN_SUBMODULE_LIVRAISON == 0) +if (empty($conf->global->MAIN_SUBMODULE_LIVRAISON)) { print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } -else if($conf->global->MAIN_SUBMODULE_LIVRAISON == 1) +else { print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 0480d7a7ab97d..2c37bcd9e427d 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -1,12 +1,12 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2011 Philippe Grand * Copyright (C) 2011 Remy Younes - * Copyright (C) 2012-2013 Marcos García + * Copyright (C) 2012-2015 Marcos García * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2011-2015 Alexandre Spangaro * @@ -70,7 +70,7 @@ // Put here declaration of dictionaries properties // Sort order to show dictionary (0 is space). All other dictionaries (added by modules) will be at end of this. -$taborder=array(9,0,4,3,2,0,1,8,19,16,0,5,11,0,6,0,10,23,12,13,0,14,0,7,17,0,22,20,18,21,0,15,0,24,0,25); +$taborder=array(9,0,4,3,2,0,1,8,19,16,27,0,5,11,0,6,0,10,23,12,13,0,14,0,7,17,0,22,20,18,21,0,15,0,24,0,25,0,26); // Name of SQL tables of dictionaries $tabname=array(); @@ -99,6 +99,8 @@ $tabname[23]= MAIN_DB_PREFIX."c_revenuestamp"; $tabname[24]= MAIN_DB_PREFIX."c_type_resource"; $tabname[25]= MAIN_DB_PREFIX."c_email_templates"; +$tabname[26]= MAIN_DB_PREFIX."c_units"; +$tabname[27]= MAIN_DB_PREFIX."c_stcomm"; // Dictionary labels $tablib=array(); @@ -127,6 +129,8 @@ $tablib[23]= "DictionaryRevenueStamp"; $tablib[24]= "DictionaryResourceType"; $tablib[25]= "DictionaryEMailTemplates"; +$tablib[26]= "DictionaryUnits"; +$tablib[27]= "DictionaryProspectStatus"; // Requests to extract data $tabsql=array(); @@ -152,9 +156,11 @@ $tabsql[20]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_input_method"; $tabsql[21]= "SELECT c.rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_availability AS c"; $tabsql[22]= "SELECT rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_input_reason"; -$tabsql[23]= "SELECT t.rowid, t.taux, c.label as country, c.code as country_code, t.fk_pays as country_id, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_revenuestamp as t, ".MAIN_DB_PREFIX."c_country as c WHERE t.fk_pays=c.rowid"; +$tabsql[23]= "SELECT t.rowid as rowid, t.taux, c.label as country, c.code as country_code, t.fk_pays as country_id, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_revenuestamp as t, ".MAIN_DB_PREFIX."c_country as c WHERE t.fk_pays=c.rowid"; $tabsql[24]= "SELECT rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_type_resource"; $tabsql[25]= "SELECT rowid as rowid, label, type_template, private, position, topic, content, active FROM ".MAIN_DB_PREFIX."c_email_templates"; +$tabsql[26]= "SELECT rowid as rowid, code, label, short_label, active FROM ".MAIN_DB_PREFIX."c_units"; +$tabsql[27]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_stcomm"; // Criteria to sort dictionaries $tabsqlsort=array(); @@ -183,6 +189,8 @@ $tabsqlsort[23]="country ASC, taux ASC"; $tabsqlsort[24]="code ASC,label ASC"; $tabsqlsort[25]="label ASC"; +$tabsqlsort[26]="code ASC"; +$tabsqlsort[27]="code ASC"; // Nom des champs en resultat de select pour affichage du dictionnaire $tabfield=array(); @@ -211,6 +219,8 @@ $tabfield[23]= "country_id,country,taux,accountancy_code_sell,accountancy_code_buy,note"; $tabfield[24]= "code,label"; $tabfield[25]= "label,type_template,private,position,topic,content"; +$tabfield[26]= "code,label,short_label"; +$tabfield[27]= "code,libelle"; // Nom des champs d'edition pour modification d'un enregistrement $tabfieldvalue=array(); @@ -239,6 +249,8 @@ $tabfieldvalue[23]= "country,taux,accountancy_code_sell,accountancy_code_buy,note"; $tabfieldvalue[24]= "code,label"; $tabfieldvalue[25]= "label,type_template,private,position,topic,content"; +$tabfieldvalue[26]= "code,label,short_label"; +$tabfieldvalue[27]= "code,libelle"; // Nom des champs dans la table pour insertion d'un enregistrement $tabfieldinsert=array(); @@ -267,6 +279,8 @@ $tabfieldinsert[23]= "fk_pays,taux,accountancy_code_sell,accountancy_code_buy,note"; $tabfieldinsert[24]= "code,label"; $tabfieldinsert[25]= "label,type_template,private,position,topic,content"; +$tabfieldinsert[26]= "code,label,short_label"; +$tabfieldinsert[27]= "code,libelle"; // Nom du rowid si le champ n'est pas de type autoincrement // Example: "" if id field is "rowid" and has autoincrement on @@ -297,6 +311,8 @@ $tabrowid[23]= ""; $tabrowid[24]= ""; $tabrowid[25]= ""; +$tabrowid[26]= ""; +$tabrowid[27]= "id"; // Condition to show dictionary in setup page $tabcond=array(); @@ -325,6 +341,8 @@ $tabcond[23]= true; $tabcond[24]= ! empty($conf->resource->enabled); $tabcond[25]= true; // && ! empty($conf->global->MAIN_EMAIL_EDIT_TEMPLATE_FROM_DIC); +$tabcond[26]= ! empty($conf->product->enabled); +$tabcond[27]= ! empty($conf->societe->enabled); // List of help for fields $tabhelp=array(); @@ -353,6 +371,8 @@ $tabhelp[23] = array(); $tabhelp[24] = array(); $tabhelp[25] = array(); +$tabhelp[26] = array(); +$tabhelp[27] = array(); // List of check for fields (NOT USED YET) $tabfieldcheck=array(); @@ -381,6 +401,8 @@ $tabfieldcheck[23] = array(); $tabfieldcheck[24] = array(); $tabfieldcheck[25] = array(); +$tabfieldcheck[26] = array(); +$tabfieldcheck[27] = array(); // Complete all arrays with entries found into modules complete_dictionary_with_modules($taborder,$tabname,$tablib,$tabsql,$tabsqlsort,$tabfield,$tabfieldvalue,$tabfieldinsert,$tabrowid,$tabcond,$tabhelp,$tabfieldcheck); @@ -858,6 +880,7 @@ if ($fieldlist[$field]=='pcg_type') { $valuetoshow=$langs->trans("Pcg_type"); } if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); } if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); } + if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); } if ($id == 2) // Special cas for state page { @@ -995,6 +1018,7 @@ if ($fieldlist[$field]=='pcg_type') { $valuetoshow=$langs->trans("Pcg_type"); } if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); } if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); } + if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); } // Affiche nom du champ if ($showfield) @@ -1006,7 +1030,8 @@ if ($id == 4) print getTitleFieldOfList($langs->trans("Favorite"),0,$_SERVER["PHP_SELF"],"favorite",($page?'page='.$page.'&':'').'&id='.$id,"",'align="center"',$sortfield,$sortorder); print getTitleFieldOfList($langs->trans("Status"),0,$_SERVER["PHP_SELF"],"active",($page?'page='.$page.'&':'').'&id='.$id,"",'align="center"',$sortfield,$sortorder); - print ' 
'; $key='MAIN_LOGEVENTS_'.$arr['id']; $value=$conf->global->$key; - print ''; + print ''; print '
"; print 'global->FICHINTER_PRINT_PRODUCTS) - print 'checked="checked" '; + print 'checked '; print '/>'; print ''; print ''; diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php index 0c6b1a59e5feb..a92943b63ba33 100644 --- a/htdocs/admin/ldap_contacts.php +++ b/htdocs/admin/ldap_contacts.php @@ -156,7 +156,7 @@ print '
'.$langs->trans("LDAPFieldFullname").''; print ''; print ''.$langs->trans("LDAPFieldFullnameExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FULLNAME?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FULLNAME?' checked':'').">
'.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_NAME?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_NAME?' checked':'').">
'.$langs->trans("LDAPFieldFirstName").''; print ''; print ''.$langs->trans("LDAPFieldFirstNameExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FIRSTNAME?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FIRSTNAME?' checked':'').">
'.$langs->trans("LDAPFieldCompany").''; print ''; print ''.$langs->trans("LDAPFieldCompanyExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COMPANY?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COMPANY?' checked':'').">
'.$langs->trans("LDAPFieldMail").''; print ''; print ''.$langs->trans("LDAPFieldMailExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MAIL?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MAIL?' checked':'').">
'.$langs->trans("LDAPFieldPhone").''; print ''; print ''.$langs->trans("LDAPFieldPhoneExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_PHONE?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_PHONE?' checked':'').">
'.$langs->trans("LDAPFieldHomePhone").''; print ''; print ''.$langs->trans("LDAPFieldHomePhoneExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_HOMEPHONE?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_HOMEPHONE?' checked':'').">
'.$langs->trans("LDAPFieldMobile").''; print ''; print ''.$langs->trans("LDAPFieldMobileExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MOBILE?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MOBILE?' checked':'').">
'.$langs->trans("LDAPFieldSkype").''; print ''; print ''.$langs->trans("LDAPFieldSkypeExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_SKYPE?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_SKYPE?' checked':'').">
'.$langs->trans("LDAPFieldFax").''; print ''; print ''.$langs->trans("LDAPFieldFaxExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FAX?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FAX?' checked':'').">
'.$langs->trans("LDAPFieldAddress").''; print ''; print ''.$langs->trans("LDAPFieldAddressExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ADDRESS?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ADDRESS?' checked':'').">
'.$langs->trans("LDAPFieldZip").''; print ''; print ''.$langs->trans("LDAPFieldZipExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ZIP?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ZIP?' checked':'').">
'.$langs->trans("LDAPFieldTown").''; print ''; print ''.$langs->trans("LDAPFieldTownExample").'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_TOWN?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_TOWN?' checked':'').">
'.$langs->trans("LDAPFieldCountry").''; print ''; print ' global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COUNTRY?' checked="checked"':'').">global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COUNTRY?' checked':'').">
'.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldCommonNameExample").'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_FULLNAME)?' checked="checked"':'').">global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_FULLNAME)?' checked':'').">
'.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").'global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_NAME?' checked="checked"':'').">global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_NAME?' checked':'').">
'.$langs->trans("LDAPFieldDescription").''; print ''; print ''.$langs->trans("LDAPFieldDescriptionExample").'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_DESCRIPTION)?' checked="checked"':'').">global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_DESCRIPTION)?' checked':'').">
'.$langs->trans("LDAPFieldGroupMembers").''; print ''; print ''.$langs->trans("LDAPFieldGroupMembersExample").'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_GROUPMEMBERS)?' checked="checked"':'').">global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_GROUPMEMBERS)?' checked':'').">
'.$langs->trans("LDAPFieldFullname").''; print ''; print ''.$langs->trans("LDAPFieldFullnameExample").'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_FULLNAME)?' checked="checked"':'').">global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_FULLNAME)?' checked':'').">
'.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_NAME)?' checked="checked"':'').">global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_NAME)?' checked':'').">
'.$langs->trans("LDAPFieldLoginUnix").''; print ''; print ''.$langs->trans("LDAPFieldLoginExample").'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN)?' checked="checked"':'').">global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN)?' checked':'').">
'.$langs->trans("LDAPFieldLoginSamba").''; print ''; print ''.$langs->trans("LDAPFieldLoginSambaExample").'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN_SAMBA)?' checked="checked"':'').">global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN_SAMBA)?' checked':'').">
'.$langs->trans("LDAPFieldMail").''; print ''; print ''.$langs->trans("LDAPFieldMailExample").'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_MAIL)?' checked="checked"':'').">global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_MAIL)?' checked':'').">
'.$langs->trans("LDAPFieldFullname").''; print ''; print ''.$langs->trans("LDAPFieldFullnameExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FULLNAME)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FULLNAME)?' checked':'').">
'.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_NAME)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_NAME)?' checked':'').">
'.$langs->trans("LDAPFieldFirstName").''; print ''; print ''.$langs->trans("LDAPFieldFirstNameExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FIRSTNAME)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FIRSTNAME)?' checked':'').">
'.$langs->trans("LDAPFieldLoginUnix").''; print ''; print ''.$langs->trans("LDAPFieldLoginExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN)?' checked':'').">
'.$langs->trans("LDAPFieldLoginSamba").''; print ''; print ''.$langs->trans("LDAPFieldLoginSambaExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN_SAMBA)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN_SAMBA)?' checked':'').">
'.$langs->trans("LDAPFieldPasswordNotCrypted").''; print ''; print ''.$langs->trans("LDAPFieldPasswordExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD)?' checked':'').">
'.$langs->trans("LDAPFieldPasswordCrypted").''; print ''; print ''.$langs->trans("LDAPFieldPasswordExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD_CRYPTED)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD_CRYPTED)?' checked':'').">
'.$langs->trans("LDAPFieldMail").''; print ''; print ''.$langs->trans("LDAPFieldMailExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MAIL)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MAIL)?' checked':'').">
'.$langs->trans("LDAPFieldPhone").''; print ''; print ''.$langs->trans("LDAPFieldPhoneExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PHONE)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PHONE)?' checked':'').">
'.$langs->trans("LDAPFieldMobile").''; print ''; print ''.$langs->trans("LDAPFieldMobileExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MOBILE)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MOBILE)?' checked':'').">
'.$langs->trans("LDAPFieldSkype").''; print ''; print ''.$langs->trans("LDAPFieldSkypeExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SKYPE)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SKYPE)?' checked':'').">
'.$langs->trans("LDAPFieldFax").''; print ''; print ''.$langs->trans("LDAPFieldFaxExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FAX)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FAX)?' checked':'').">
'.$langs->trans("LDAPFieldTitle").''; print ''; print ''.$langs->trans("LDAPFieldTitleExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_TITLE)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_TITLE)?' checked':'').">
'.$langs->trans("Note").''; print ''; print ''.$langs->trans("LDAPFieldDescriptionExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_DESCRIPTION)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_DESCRIPTION)?' checked':'').">
'.$langs->trans("LDAPFieldSid").''; print ''; print ''.$langs->trans("LDAPFieldSidExample").'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SID)?' checked="checked"':'').">global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SID)?' checked':'').">
'.$langs->trans("DefaultMenuManager").''; - $formadmin->select_menu(empty($conf->global->MAIN_MENU_STANDARD_FORCED)?$conf->global->MAIN_MENU_STANDARD:$conf->global->MAIN_MENU_STANDARD_FORCED, 'MAIN_MENU_STANDARD', $dirstandard, empty($conf->global->MAIN_MENU_STANDARD_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENU_STANDARD_FORCED)?$conf->global->MAIN_MENU_STANDARD:$conf->global->MAIN_MENU_STANDARD_FORCED, 'MAIN_MENU_STANDARD', $dirstandard, empty($conf->global->MAIN_MENU_STANDARD_FORCED)?'':' disabled'); print ''; - $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?$conf->global->MAIN_MENUFRONT_STANDARD:$conf->global->MAIN_MENUFRONT_STANDARD_FORCED, 'MAIN_MENUFRONT_STANDARD', $dirstandard, empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?$conf->global->MAIN_MENUFRONT_STANDARD:$conf->global->MAIN_MENUFRONT_STANDARD_FORCED, 'MAIN_MENUFRONT_STANDARD', $dirstandard, empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?'':' disabled'); print '
'.$langs->trans("DefaultMenuSmartphoneManager").''; - $formadmin->select_menu(empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?$conf->global->MAIN_MENU_SMARTPHONE:$conf->global->MAIN_MENU_SMARTPHONE_FORCED, 'MAIN_MENU_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?$conf->global->MAIN_MENU_SMARTPHONE:$conf->global->MAIN_MENU_SMARTPHONE_FORCED, 'MAIN_MENU_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?'':' disabled'); print ''; - $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?$conf->global->MAIN_MENUFRONT_SMARTPHONE:$conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED, 'MAIN_MENUFRONT_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?$conf->global->MAIN_MENUFRONT_SMARTPHONE:$conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED, 'MAIN_MENUFRONT_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?'':' disabled'); print '
'.$langs->trans('Target').''.$langs->trans('DetailTarget').'
'.$langs->trans('MenuForUsers').''.$langs->trans('DetailUser').'
'.$langs->trans('Target').''.$langs->trans('DetailTarget').'
'; - if ($conf->global->PDF_SECURITY_ENCRYPTION == 0) + if (empty($conf->global->PDF_SECURITY_ENCRYPTION)) { print ''.$langs->trans("Activate").''; } - if($conf->global->PDF_SECURITY_ENCRYPTION == 1) + else { print ''.$langs->trans("Disable").''; } diff --git a/htdocs/admin/security.php b/htdocs/admin/security.php index 9be7f09aa0e75..0eeef2cbe1589 100644 --- a/htdocs/admin/security.php +++ b/htdocs/admin/security.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2007 Regis Houssin - * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2013-2015 Juanjo Menent * * 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 @@ -470,18 +470,18 @@ print "
'.$langs->trans("DisableForgetPasswordLinkOnLogonPage").''; -if($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK == 1) +if(! empty($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK)) { print img_picto($langs->trans("Active"),'tick'); } print ''; print ''.$langs->trans("Activate").''; print "'; print ''.$langs->trans("Disable").''; diff --git a/htdocs/admin/sms.php b/htdocs/admin/sms.php index 682b1e456ebbf..44bab10073012 100644 --- a/htdocs/admin/sms.php +++ b/htdocs/admin/sms.php @@ -204,7 +204,7 @@ print '
'; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/admin/stock.php b/htdocs/admin/stock.php index 49df241e95774..0f6560ad055ed 100644 --- a/htdocs/admin/stock.php +++ b/htdocs/admin/stock.php @@ -122,7 +122,7 @@ if (! empty($conf->productbatch->enabled)) { $langs->load("productbatch"); - $disabled=' disabled="disabled"'; + $disabled=' disabled'; print info_admin($langs->trans("WhenProductBatchModuleOnOptionAreForced")); } diff --git a/htdocs/admin/syslog.php b/htdocs/admin/syslog.php index f923c164157fe..3eebfebb37b30 100644 --- a/htdocs/admin/syslog.php +++ b/htdocs/admin/syslog.php @@ -161,7 +161,7 @@ if ($conf->global->MAIN_MODULE_MULTICOMPANY && $user->entity) { print '
'.$langs->trans("ContactSuperAdminForChange").'
'; - $option = 'disabled="disabled"'; + $option = 'disabled'; } @@ -192,7 +192,7 @@ $var=!$var; print ''; print ''; - print ' '; + print ' '; print $module->getName(); print ''; diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index 6faf0b79eabf9..842efb3a0ac4e 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -209,13 +209,13 @@ function hideoptions () {