Merge remote branch 'upstream/develop' into printipp
This commit is contained in:
commit
295fe115ab
@ -38,6 +38,7 @@ before_script:
|
|||||||
- pyrus install pear/PHP_CodeSniffer
|
- pyrus install pear/PHP_CodeSniffer
|
||||||
- phpenv rehash
|
- phpenv rehash
|
||||||
- which phpcs
|
- which phpcs
|
||||||
|
- phpcs --version
|
||||||
- phpcs -i
|
- phpcs -i
|
||||||
- echo Create dir $(pwd)/htdocs/documents
|
- echo Create dir $(pwd)/htdocs/documents
|
||||||
- sudo mkdir -p $(pwd)/htdocs/documents/admin/temp;
|
- sudo mkdir -p $(pwd)/htdocs/documents/admin/temp;
|
||||||
@ -106,10 +107,10 @@ script:
|
|||||||
# - cat upgrade2.log
|
# - cat upgrade2.log
|
||||||
- cd ../..
|
- cd ../..
|
||||||
- date
|
- date
|
||||||
- php -d zend.enable_gc=0 /usr/bin/phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php
|
- phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php
|
||||||
- date
|
- date
|
||||||
# - phpcs -p --warning-severity=0 -s --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ htdocs/core/class/dolgraph.class.php 2>&1
|
# - phpcs -p --warning-severity=0 -s --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ htdocs/core/class/dolgraph.class.php 2>&1
|
||||||
- php -d zend.enable_gc=0 /usr/bin/phpcs -p --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ . 2>&1
|
- phpcs -p --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/htdocs/conf/conf.php,/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ . 2>&1
|
||||||
- date
|
- date
|
||||||
|
|
||||||
after_script:
|
after_script:
|
||||||
|
|||||||
21
ChangeLog
21
ChangeLog
@ -3,6 +3,18 @@ English Dolibarr ChangeLog
|
|||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
***** ChangeLog for 3.8 compared to 3.7.* *****
|
||||||
|
For users:
|
||||||
|
- New:
|
||||||
|
|
||||||
|
For translators:
|
||||||
|
- Update language files.
|
||||||
|
- New: When a translation is not available we always jump to en_US and only en_US.
|
||||||
|
|
||||||
|
For developers:
|
||||||
|
- New: Function yn can show a visual checkbox
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 3.7 compared to 3.6.* *****
|
***** ChangeLog for 3.7 compared to 3.6.* *****
|
||||||
For users:
|
For users:
|
||||||
- New: Match other auth system: Login can be done entering login or user
|
- New: Match other auth system: Login can be done entering login or user
|
||||||
@ -103,6 +115,7 @@ For users:
|
|||||||
- Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message
|
- Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message
|
||||||
- Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe.
|
- Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe.
|
||||||
- Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown
|
- Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown
|
||||||
|
- Fix: datepicker first day of week can be monday by setting into display setup
|
||||||
|
|
||||||
For users, new experimental module (need to set feature level of instance to experimental to see them):
|
For users, new experimental module (need to set feature level of instance to experimental to see them):
|
||||||
- New: Module Accounting Expert to manage accountancy
|
- New: Module Accounting Expert to manage accountancy
|
||||||
@ -322,6 +335,14 @@ removed. You must now use the 6 parameters way. See file modMyModule.class.php f
|
|||||||
|
|
||||||
***** ChangeLog for 3.5.6 compared to 3.5.5 *****
|
***** ChangeLog for 3.5.6 compared to 3.5.5 *****
|
||||||
Fix: Avoid missing class error for fetch_thirdparty method #1973
|
Fix: Avoid missing class error for fetch_thirdparty method #1973
|
||||||
|
Fix: Can't update phone_pro from web service
|
||||||
|
Fix: Some security holes.
|
||||||
|
Fix: copy extrafields when creating order from proposal.
|
||||||
|
Fix: report on action was not filtering by environment.
|
||||||
|
Fix: Avoid missing class error.
|
||||||
|
Fix: Add function dolEscapeXML.
|
||||||
|
Fix: Bad days and month reported by function.
|
||||||
|
Fix: Bad margin calculation.
|
||||||
|
|
||||||
***** ChangeLog for 3.5.5 compared to 3.5.4 *****
|
***** ChangeLog for 3.5.5 compared to 3.5.4 *****
|
||||||
Fix: Holiday module was broken. Initializaion of amount of holidays failed.
|
Fix: Holiday module was broken. Initializaion of amount of holidays failed.
|
||||||
|
|||||||
@ -108,13 +108,31 @@ http://bugs.debian.org/package
|
|||||||
severity 123 xxx
|
severity 123 xxx
|
||||||
|
|
||||||
|
|
||||||
|
##### Update but tracker system
|
||||||
|
|
||||||
|
To set status of a bug to "pending"
|
||||||
|
> bts tag 999999 +pending
|
||||||
|
|
||||||
|
or replay to email 999999@bugs.debian.org + submitter of bug
|
||||||
|
With a message starting with:
|
||||||
|
|
||||||
|
Control: tag -1 +pending
|
||||||
|
Thanks. Fixed into git.
|
||||||
|
|
||||||
|
or replay to email control@bugs.debian.org
|
||||||
|
With only message
|
||||||
|
tag 729538 +pending
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### Testing a package into unstable env
|
##### Testing a package into unstable env
|
||||||
|
|
||||||
Check you have a mysql server available from another interface than localhost
|
Check you have a mysql server available from another interface than "localhost".
|
||||||
Comment line in /etc/mysql/my.cnf if required and restart mysql
|
Comment line in /etc/mysql/my.cnf if required and restart mysql
|
||||||
#bind-address = 127.0.0.1
|
#bind-address = 127.0.0.1
|
||||||
|
|
||||||
Create a chroot called "unstable-amd64-sbuild"
|
Create a chroot called "unstable-amd64-sbuild".
|
||||||
|
Chroot env is stored into /srv/chroot directory.
|
||||||
> sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian
|
> sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian
|
||||||
|
|
||||||
Pour lister les env chroot
|
Pour lister les env chroot
|
||||||
@ -122,6 +140,7 @@ Pour lister les env chroot
|
|||||||
|
|
||||||
Puis pour se connecter et préparer l'environnement
|
Puis pour se connecter et préparer l'environnement
|
||||||
> schroot -c name_of_chroot
|
> schroot -c name_of_chroot
|
||||||
|
> cat /etc/debian_chroot to check which debian branch we are into
|
||||||
> vi /usr/sbin/policy-rc.d and replace return code 101 (not allowed) into 0 (ok)
|
> vi /usr/sbin/policy-rc.d and replace return code 101 (not allowed) into 0 (ok)
|
||||||
> apt-get install links mysql-client
|
> apt-get install links mysql-client
|
||||||
|
|
||||||
@ -135,7 +154,10 @@ Pour tester un package
|
|||||||
> dpkg -i dolibarr*.deb ou pour avoir des traces: dpkg -D77777 -i dolibarr*.deb
|
> dpkg -i dolibarr*.deb ou pour avoir des traces: dpkg -D77777 -i dolibarr*.deb
|
||||||
> apt-get install -f
|
> apt-get install -f
|
||||||
|
|
||||||
Puis http://localhost/dolibarr/ (cela peut etre appeler depuis le hote).
|
If there is a problem launching apache, because port is already used, change it into your chroot install with
|
||||||
|
> vi /etc/apache2/ports.conf
|
||||||
|
Then restart.
|
||||||
|
Then you can call/test dolibarr with http://localhost:port/dolibarr/ (It can be also called from host).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -202,23 +224,6 @@ http://packages.qa.debian.org/t/tcpdf.html
|
|||||||
* Package will be into release when test will be moved as stable.
|
* Package will be into release when test will be moved as stable.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### Update but tracker system
|
|
||||||
To set status of a bug to pending
|
|
||||||
> bts tag 999999 +pending
|
|
||||||
|
|
||||||
or replay to email 999999@bugs.debian.org + submitter of bug
|
|
||||||
With a message starting with:
|
|
||||||
Control: tag -1 +pending
|
|
||||||
and then a text like:
|
|
||||||
Thanks. Fixed into git.
|
|
||||||
|
|
||||||
or replay to email control@bugs.debian.org
|
|
||||||
With only message
|
|
||||||
tag 729538 +pending
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### Create/Maintain dolibarr package
|
##### Create/Maintain dolibarr package
|
||||||
|
|
||||||
To update dolibarr debian package
|
To update dolibarr debian package
|
||||||
@ -257,7 +262,7 @@ x.y.z+dfsgw
|
|||||||
Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit
|
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
|
* Add an entry into debian/changelog
|
||||||
> dch -v x.y.z+dfsg-w "My comment" will add entry.
|
> 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)
|
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".
|
Then modify changelog to replace "version" or "unstable" with "UNRELEASED".
|
||||||
Then check/modify also the user/date signature:
|
Then check/modify also the user/date signature:
|
||||||
|
|||||||
@ -4,80 +4,3 @@ dolibarr (3.7.0-3) UNRELEASED; urgency=low
|
|||||||
* New upstream release.
|
* New upstream release.
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 21 Oct 2014 12:00:00 +0100
|
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 21 Oct 2014 12:00:00 +0100
|
||||||
|
|
||||||
dolibarr (3.6.1-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 23 Sep 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.6.0-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 15 July 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.5.5-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 8 July 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.5.4-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 1 July 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.5.3-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 2 May 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.5.2-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 14 March 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.5.1-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 7 Feb 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.5.0-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 31 Jan 2014 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.4.2-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* Maintenance release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 30 Dec 2013 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.4.1-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* Maintenance release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 27 Apr 2013 12:00:00 +0100
|
|
||||||
|
|
||||||
dolibarr (3.4.0-3) UNRELEASED; urgency=low
|
|
||||||
|
|
||||||
[ Laurent Destailleur (eldy) ]
|
|
||||||
* Maintenance release.
|
|
||||||
|
|
||||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ https://build.opensuse.org
|
|||||||
Packaging rules: http://en.opensuse.org/Portal:Packaging
|
Packaging rules: http://en.opensuse.org/Portal:Packaging
|
||||||
|
|
||||||
Add attributes:
|
Add attributes:
|
||||||
OBS:Screenshots URL of screenshot
|
OBS:Screenshots URL of screenshot http://www.dolibarr.org/images/dolibarr_screenshot1.png
|
||||||
OBS:QualityCategory Development|Testing|Stable|Private
|
OBS:QualityCategory Development|Testing|Stable|Private
|
||||||
OBS:Maintained 1
|
OBS:Maintained 1
|
||||||
|
|
||||||
@ -29,12 +29,18 @@ To submit a snapshot for building, we should have a service file with content
|
|||||||
</services>
|
</services>
|
||||||
|
|
||||||
How to have such a service file created automatically ?
|
How to have such a service file created automatically ?
|
||||||
Click on "Add file", then select mode "Upload From: Remote URL"
|
|
||||||
Enter the Remote URL that should looks like this: http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-3.src.rpm
|
|
||||||
|
|
||||||
Then add into advanded - attributes
|
Go into project you want to update. It mught be:
|
||||||
|
- openSUSE Build Service > Projects > Application:ERP:Dolibarr > dolibarr
|
||||||
|
- or your private project
|
||||||
|
|
||||||
|
Once logged, click on "Add file" in section "Source Files", then select mode "Upload From: Remote URL"
|
||||||
|
Keep empty for "Filename", choose "Remote URL" and enter into last field, URL that should looks like this:
|
||||||
|
http://www.dolibarr.org/files/stable/package_rpm_generic/dolibarr-x.y.v-0.3.src.rpm
|
||||||
|
|
||||||
|
Then add into Advanded - Attributes
|
||||||
OBS:Screenshots http://www.dolibarr.org/images/dolibarr_screenshot1.png
|
OBS:Screenshots http://www.dolibarr.org/images/dolibarr_screenshot1.png
|
||||||
OBS:QualityCategory Testing
|
OBS:QualityCategory Stable|Testing|Development|Private
|
||||||
|
|
||||||
|
|
||||||
# Move project into official directory
|
# Move project into official directory
|
||||||
|
|||||||
@ -340,21 +340,3 @@ fi
|
|||||||
|
|
||||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||||
- Upstream release
|
- Upstream release
|
||||||
|
|
||||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
|
||||||
- Initial version (#723326)
|
|
||||||
|
|||||||
@ -577,20 +577,3 @@ fi
|
|||||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||||
- Upstream release
|
- Upstream release
|
||||||
|
|
||||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
|
||||||
- Initial version (#723326)
|
|
||||||
|
|||||||
@ -346,20 +346,3 @@ fi
|
|||||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||||
- Upstream release
|
- Upstream release
|
||||||
|
|
||||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
|
||||||
- Initial version (#723326)
|
|
||||||
|
|||||||
@ -357,20 +357,3 @@ fi
|
|||||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||||
- Upstream release
|
- Upstream release
|
||||||
|
|
||||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
|
||||||
- Upstream release
|
|
||||||
|
|
||||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
|
||||||
- Initial version (#723326)
|
|
||||||
|
|||||||
@ -1,9 +1,12 @@
|
|||||||
README (English)
|
README (English)
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
This directory contains ruleset files to use to
|
This directory contains ruleset files to use to develop Dolibarr EPR & CRM.
|
||||||
develop Dolibarr EPR & CRM with Eclipse.
|
|
||||||
|
|
||||||
Note: You must setup the PTI plugin of Eclipse into PHPCodeSniffer menu with:
|
To install/upgrade phpcs:
|
||||||
|
> sudo pear upgrade PHP_CodeSniffer
|
||||||
|
|
||||||
|
Note with Eclipse: You must setup the PTI plugin of Eclipse into PHPCodeSniffer menu with:
|
||||||
* tab value to 4
|
* tab value to 4
|
||||||
* path of code sniffer standard to dev/codesniffer
|
* path of code sniffer standard to dev/codesniffer
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
<exclude-pattern>*/conf.php</exclude-pattern>
|
<exclude-pattern>*/conf.php</exclude-pattern>
|
||||||
<exclude-pattern>*/includes/*</exclude-pattern>
|
<exclude-pattern>*/includes/*</exclude-pattern>
|
||||||
<exclude-pattern>*/documents/*</exclude-pattern>
|
<exclude-pattern>*/documents/*</exclude-pattern>
|
||||||
|
<exclude-pattern>*/dev/vagrant/*</exclude-pattern>
|
||||||
<exclude-pattern>*/custom/*</exclude-pattern>
|
<exclude-pattern>*/custom/*</exclude-pattern>
|
||||||
<exclude-pattern>*/nltechno*</exclude-pattern>
|
<exclude-pattern>*/nltechno*</exclude-pattern>
|
||||||
|
|
||||||
@ -169,6 +170,40 @@
|
|||||||
<rule ref="PEAR.Commenting.ClassComment.MissingTag">
|
<rule ref="PEAR.Commenting.ClassComment.MissingTag">
|
||||||
<severity>0</severity>
|
<severity>0</severity>
|
||||||
</rule>
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.ClassComment.Missing@authorTag">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.ClassComment.Missing@categoryTag">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.ClassComment.Missing@licenseTag">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.ClassComment.Missing@linkTag">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.ClassComment.Missing@packageTag">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamType">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamName">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<!-- TODO Remove this and fix reported errors -->
|
||||||
|
<rule ref="PEAR.Commenting.ClassComment.Missing">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.FunctionComment.MissingReturn">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.FunctionComment.ReturnNotRequired">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Commenting.FunctionComment.Missing">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<rule ref="PEAR.Commenting.FileComment" />
|
<rule ref="PEAR.Commenting.FileComment" />
|
||||||
@ -226,6 +261,24 @@
|
|||||||
<rule ref="PEAR.Functions.FunctionCallSignature.Indent">
|
<rule ref="PEAR.Functions.FunctionCallSignature.Indent">
|
||||||
<severity>0</severity>
|
<severity>0</severity>
|
||||||
</rule>
|
</rule>
|
||||||
|
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeOpenBracket">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterCloseBracket">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
|
||||||
|
<severity>0</severity>
|
||||||
|
</rule>
|
||||||
|
|
||||||
<rule ref="PEAR.Functions.ValidDefaultValue" />
|
<rule ref="PEAR.Functions.ValidDefaultValue" />
|
||||||
|
|
||||||
|
|||||||
@ -155,8 +155,8 @@ foreach ( $list as $key ) {
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</form>';
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
print '</form>';
|
||||||
|
|
||||||
print '<br /><div style="text-align:center"><input type="submit" class="button" value="' . $langs->trans('Modify') . '" name="button"></div>';
|
print '<br /><div style="text-align:center"><input type="submit" class="button" value="' . $langs->trans('Modify') . '" name="button"></div>';
|
||||||
|
|
||||||
|
|||||||
@ -120,6 +120,9 @@ if ($result) {
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
print_barre_liste($langs->trans("ImportAccount"), $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, '', $num_lines);
|
print_barre_liste($langs->trans("ImportAccount"), $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, '', $num_lines);
|
||||||
|
|
||||||
|
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
||||||
|
print '<input type="hidden" name="action" value="import">';
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre"><td>' . $langs->trans("accountingaccount") . '</td>';
|
print '<tr class="liste_titre"><td>' . $langs->trans("accountingaccount") . '</td>';
|
||||||
print '<td>' . $langs->trans("label") . '</td>';
|
print '<td>' . $langs->trans("label") . '</td>';
|
||||||
@ -132,9 +135,6 @@ if ($result) {
|
|||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
$htmlacc = new FormVentilation($db);
|
$htmlacc = new FormVentilation($db);
|
||||||
|
|
||||||
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
|
||||||
print '<input type="hidden" name="action" value="import">';
|
|
||||||
|
|
||||||
$var = true;
|
$var = true;
|
||||||
while ( $i < min($num_lines, $limit) ) {
|
while ( $i < min($num_lines, $limit) ) {
|
||||||
$objp = $db->fetch_object($result);
|
$objp = $db->fetch_object($result);
|
||||||
|
|||||||
@ -181,7 +181,6 @@ print '<td colspan="2">'.nl2br($langs->trans('OptionModeTrueDesc'));
|
|||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
print '<tr '.$bc[true].'><td width="200"><input type="radio" name="accounting_mode" value="CREANCES-DETTES"'.($accounting_mode == 'CREANCES-DETTES' ? ' checked' : '').'> '.$langs->trans('OptionModeVirtual').'</td>';
|
print '<tr '.$bc[true].'><td width="200"><input type="radio" name="accounting_mode" value="CREANCES-DETTES"'.($accounting_mode == 'CREANCES-DETTES' ? ' checked' : '').'> '.$langs->trans('OptionModeVirtual').'</td>';
|
||||||
print '<td colspan="2">'.nl2br($langs->trans('OptionModeVirtualDesc'))."</td></tr>\n";
|
print '<td colspan="2">'.nl2br($langs->trans('OptionModeVirtualDesc'))."</td></tr>\n";
|
||||||
print '</form>';
|
|
||||||
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|
||||||
@ -285,10 +284,10 @@ if (! empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE)) {
|
|||||||
}
|
}
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '</form>';
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|
||||||
print '<br /><br /><div style="text-align:center"><input type="submit" class="button" value="'.$langs->trans('Modify').'" name="button"></div>';
|
print '<br /><br /><div style="text-align:center"><input type="submit" class="button" value="'.$langs->trans('Modify').'" name="button"></div>';
|
||||||
|
print '</form>';
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
@ -112,10 +112,10 @@ foreach ( $list as $key ) {
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</form>';
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|
||||||
print '<br /><div style="text-align:center"><input type="submit" class="button" value="' . $langs->trans('Modify') . '" name="button"></div>';
|
print '<br /><div style="text-align:center"><input type="submit" class="button" value="' . $langs->trans('Modify') . '" name="button"></div>';
|
||||||
|
print '</form>';
|
||||||
|
|
||||||
print '<br />';
|
print '<br />';
|
||||||
|
|
||||||
|
|||||||
@ -358,7 +358,8 @@ else
|
|||||||
print '<td><input type="submit" class="button" value="' . $langs->trans("Save") . '"></td>';
|
print '<td><input type="submit" class="button" value="' . $langs->trans("Save") . '"></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
print "</table>";
|
print '</table>';
|
||||||
|
print '</form>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,7 @@
|
|||||||
/**
|
/**
|
||||||
* Class to manage accountancy book keeping
|
* Class to manage accountancy book keeping
|
||||||
*/
|
*/
|
||||||
class BookKeeping
|
class BookKeeping extends CommonObject
|
||||||
{
|
{
|
||||||
var $db;
|
var $db;
|
||||||
var $error;
|
var $error;
|
||||||
|
|||||||
@ -48,7 +48,6 @@ class AdherentStats extends Stats
|
|||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
* @param int $socid Id third party
|
* @param int $socid Id third party
|
||||||
* @param int $userid Id user for filter
|
* @param int $userid Id user for filter
|
||||||
* @return AdherentStats
|
|
||||||
*/
|
*/
|
||||||
function __construct($db, $socid=0, $userid=0)
|
function __construct($db, $socid=0, $userid=0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
|
||||||
|
|
||||||
$graphwidth=DolGraph::getDefaultGraphSizeForStats('width',700);
|
$graphwidth=DolGraph::getDefaultGraphSizeForStats('width',700);
|
||||||
|
|||||||
@ -53,29 +53,30 @@ $searchformmodule=array('Module1Name','Module1Name','Module50Name','Module50Name
|
|||||||
|
|
||||||
if ($action == 'update')
|
if ($action == 'update')
|
||||||
{
|
{
|
||||||
dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["main_multilangs"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["main_multilangs"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_SIZE_LISTE_LIMIT", $_POST["main_size_liste_limit"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_SIZE_LISTE_LIMIT", $_POST["main_size_liste_limit"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", $_POST["main_disable_javascript"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", $_POST["main_disable_javascript"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", $_POST["MAIN_BUTTON_HIDE_UNAUTHORIZED"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", $_POST["MAIN_BUTTON_HIDE_UNAUTHORIZED"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_START_WEEK", $_POST["MAIN_START_WEEK"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_START_WEEK", $_POST["MAIN_START_WEEK"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", $_POST["MAIN_DEFAULT_WORKING_DAYS"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", $_POST["MAIN_DEFAULT_WORKING_DAYS"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", $_POST["MAIN_DEFAULT_WORKING_HOURS"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", $_POST["MAIN_DEFAULT_WORKING_HOURS"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_SHOW_LOGO", $_POST["MAIN_SHOW_LOGO"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_SHOW_LOGO", $_POST["MAIN_SHOW_LOGO"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", $_POST["MAIN_FIRSTNAME_NAME_POSITION"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_ACTIVATE_HTML5", $_POST["MAIN_ACTIVATE_HTML5"],'chaine',0,'',$conf->entity);
|
||||||
|
dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", $_POST["MAIN_FIRSTNAME_NAME_POSITION"],'chaine',0,'',$conf->entity);
|
||||||
|
|
||||||
dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"],'chaine',0,'',$conf->entity);
|
||||||
|
|
||||||
dolibarr_set_const($db, "MAIN_SEARCHFORM_CONTACT", $_POST["MAIN_SEARCHFORM_CONTACT"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_SEARCHFORM_CONTACT", $_POST["MAIN_SEARCHFORM_CONTACT"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_SEARCHFORM_SOCIETE", $_POST["MAIN_SEARCHFORM_SOCIETE"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_SEARCHFORM_SOCIETE", $_POST["MAIN_SEARCHFORM_SOCIETE"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE",$_POST["MAIN_SEARCHFORM_PRODUITSERVICE"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE", $_POST["MAIN_SEARCHFORM_PRODUITSERVICE"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER",$_POST["MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER",$_POST["MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER"],'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_SEARCHFORM_ADHERENT",$_POST["MAIN_SEARCHFORM_ADHERENT"],'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_SEARCHFORM_ADHERENT", $_POST["MAIN_SEARCHFORM_ADHERENT"],'chaine',0,'',$conf->entity);
|
||||||
|
|
||||||
dolibarr_set_const($db, "MAIN_HELPCENTER_DISABLELINK", $_POST["MAIN_HELPCENTER_DISABLELINK"],'chaine',0,'',0); // Param for all entities
|
dolibarr_set_const($db, "MAIN_HELPCENTER_DISABLELINK", $_POST["MAIN_HELPCENTER_DISABLELINK"],'chaine',0,'',0); // Param for all entities
|
||||||
dolibarr_set_const($db, "MAIN_MOTD", dol_htmlcleanlastbr($_POST["main_motd"]),'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_MOTD", dol_htmlcleanlastbr($_POST["main_motd"]),'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_HOME", dol_htmlcleanlastbr($_POST["main_home"]),'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, "MAIN_HOME", dol_htmlcleanlastbr($_POST["main_home"]),'chaine',0,'',$conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", $_POST["MAIN_HELP_DISABLELINK"],'chaine',0,'',0); // Param for all entities
|
dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", $_POST["MAIN_HELP_DISABLELINK"],'chaine',0,'',0); // Param for all entities
|
||||||
|
|
||||||
// This one is not always defined
|
// This one is not always defined
|
||||||
if (isset($_POST["MAIN_USE_PREVIEW_TABS"])) dolibarr_set_const($db, "MAIN_USE_PREVIEW_TABS", $_POST["MAIN_USE_PREVIEW_TABS"],'chaine',0,'',$conf->entity);
|
if (isset($_POST["MAIN_USE_PREVIEW_TABS"])) dolibarr_set_const($db, "MAIN_USE_PREVIEW_TABS", $_POST["MAIN_USE_PREVIEW_TABS"],'chaine',0,'',$conf->entity);
|
||||||
@ -119,7 +120,7 @@ if ($action == 'edit') // Edit
|
|||||||
|
|
||||||
print_fiche_titre($langs->trans("Language"),'','').'<br>';
|
print_fiche_titre($langs->trans("Language"),'','').'<br>';
|
||||||
print '<table summary="edit" class="noborder" width="100%">';
|
print '<table summary="edit" class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td>';
|
print '<tr class="liste_titre"><td>'.$langs->trans("Parameters").'</td><td>'.$langs->trans("Value").'</td>';
|
||||||
print '<td width="20"> </td>';
|
print '<td width="20"> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
@ -161,7 +162,7 @@ if ($action == 'edit') // Edit
|
|||||||
|
|
||||||
// Other
|
// Other
|
||||||
print '<table summary="edit" class="noborder" width="100%">';
|
print '<table summary="edit" class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre"><td width="35%">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td>';
|
print '<tr class="liste_titre"><td width="35%">'.$langs->trans("Parameters").'</td><td>'.$langs->trans("Value").'</td>';
|
||||||
print '<td width="20"> </td>';
|
print '<td width="20"> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
@ -173,6 +174,17 @@ if ($action == 'edit') // Edit
|
|||||||
print '<td width="20"> </td>';
|
print '<td width="20"> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
// Activate Html5 - Developement - Only available on Eldy template
|
||||||
|
if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_HTML5))
|
||||||
|
{
|
||||||
|
$var=!$var;
|
||||||
|
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("EnableHtml5").'</td><td>';
|
||||||
|
print $form->selectyesno('MAIN_ACTIVATE_HTML5',$conf->global->MAIN_ACTIVATE_HTML5,1);
|
||||||
|
print '</td>';
|
||||||
|
print '<td width="20"> </td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
// Max size of lists
|
// Max size of lists
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td><input class="flat" name="main_size_liste_limit" size="4" value="' . $conf->global->MAIN_SIZE_LISTE_LIMIT . '"></td>';
|
print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td><input class="flat" name="main_size_liste_limit" size="4" value="' . $conf->global->MAIN_SIZE_LISTE_LIMIT . '"></td>';
|
||||||
@ -301,7 +313,7 @@ else // Show
|
|||||||
// Language
|
// Language
|
||||||
print_fiche_titre($langs->trans("Language"),'','').'<br>';
|
print_fiche_titre($langs->trans("Language"),'','').'<br>';
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td><td> </td></tr>';
|
print '<tr class="liste_titre"><td>'.$langs->trans("Parameters").'</td><td>'.$langs->trans("Value").'</td><td> </td></tr>';
|
||||||
|
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("DefaultLanguage").'</td><td>';
|
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("DefaultLanguage").'</td><td>';
|
||||||
@ -345,13 +357,22 @@ else // Show
|
|||||||
// Other
|
// Other
|
||||||
$var=true;
|
$var=true;
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre"><td width="35%">'.$langs->trans("Parameter").'</td><td colspan="2">'.$langs->trans("Value").'</td></tr>';
|
print '<tr class="liste_titre"><td width="35%">'.$langs->trans("Parameters").'</td><td colspan="2">'.$langs->trans("Value").'</td></tr>';
|
||||||
|
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].'><td>'.$langs->trans("EnableShowLogo").'</td><td>' . yn($conf->global->MAIN_SHOW_LOGO) . '</td>';
|
print '<tr '.$bc[$var].'><td>'.$langs->trans("EnableShowLogo").'</td><td>' . yn($conf->global->MAIN_SHOW_LOGO) . '</td>';
|
||||||
print '<td width="20"> </td>';
|
print '<td width="20"> </td>';
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
|
// Activate Html5 - Developement - Only available on Eldy template
|
||||||
|
if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_HTML5))
|
||||||
|
{
|
||||||
|
$var=!$var;
|
||||||
|
print '<tr '.$bc[$var].'><td>'.$langs->trans("EnableHtml5").'</td><td>' . yn($conf->global->MAIN_ACTIVATE_HTML5) . '</td>';
|
||||||
|
print '<td width="20"> </td>';
|
||||||
|
print "</tr>";
|
||||||
|
}
|
||||||
|
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td>' . $conf->global->MAIN_SIZE_LISTE_LIMIT . '</td>';
|
print '<tr '.$bc[$var].'><td>'.$langs->trans("DefaultMaxSizeList").'</td><td>' . $conf->global->MAIN_SIZE_LISTE_LIMIT . '</td>';
|
||||||
print '<td width="20"> </td>';
|
print '<td width="20"> </td>';
|
||||||
|
|||||||
@ -113,35 +113,20 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
|
|||||||
print_fiche_titre($langs->trans("StockSetup"),$linkback,'setup');
|
print_fiche_titre($langs->trans("StockSetup"),$linkback,'setup');
|
||||||
|
|
||||||
$form=new Form($db);
|
$form=new Form($db);
|
||||||
$var=true;
|
|
||||||
print '<table class="noborder" width="100%">';
|
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
print " <td>".$langs->trans("Parameters")."</td>\n";
|
|
||||||
print " <td align=\"right\" width=\"160\"> </td>\n";
|
|
||||||
print '</tr>'."\n";
|
|
||||||
|
|
||||||
/*
|
$disabled='';
|
||||||
* Formulaire parametres divers
|
if (! empty($conf->productbatch->enabled))
|
||||||
*/
|
{
|
||||||
|
$langs->load("productbatch");
|
||||||
|
$disabled=' disabled="disabled"';
|
||||||
|
print info_admin($langs->trans("WhenProductBatchModuleOnOptionAreForced"));
|
||||||
|
}
|
||||||
|
|
||||||
$var=!$var;
|
//if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) || ! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT))
|
||||||
|
//{
|
||||||
print "<tr ".$bc[$var].">";
|
print info_admin($langs->trans("IfYouUsePointOfSaleCheckModule"));
|
||||||
print '<td width="60%">'.$langs->trans("UserWarehouseAutoCreate").'</td>';
|
//}
|
||||||
|
|
||||||
print '<td width="160" align="right">';
|
|
||||||
print "<form method=\"post\" action=\"stock.php\">";
|
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
|
||||||
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_USERSTOCK_AUTOCREATE\">";
|
|
||||||
print $form->selectyesno("STOCK_USERSTOCK_AUTOCREATE",$conf->global->STOCK_USERSTOCK_AUTOCREATE,1);
|
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
|
||||||
print '</form>';
|
|
||||||
print "</td>\n";
|
|
||||||
print "</tr>\n";
|
|
||||||
print '<br>';
|
|
||||||
print '</table>';
|
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
// Title rule for stock decrease
|
// Title rule for stock decrease
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
@ -160,8 +145,8 @@ if (! empty($conf->facture->enabled))
|
|||||||
print "<form method=\"post\" action=\"stock.php\">";
|
print "<form method=\"post\" action=\"stock.php\">";
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_BILL\">";
|
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_BILL\">";
|
||||||
print $form->selectyesno("STOCK_CALCULATE_ON_BILL",$conf->global->STOCK_CALCULATE_ON_BILL,1);
|
print $form->selectyesno("STOCK_CALCULATE_ON_BILL",$conf->global->STOCK_CALCULATE_ON_BILL,1,$disabled);
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
|
||||||
print "</form>\n</td>\n</tr>\n";
|
print "</form>\n</td>\n</tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,8 +159,8 @@ if (! empty($conf->commande->enabled))
|
|||||||
print "<form method=\"post\" action=\"stock.php\">";
|
print "<form method=\"post\" action=\"stock.php\">";
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_VALIDATE_ORDER\">";
|
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_VALIDATE_ORDER\">";
|
||||||
print $form->selectyesno("STOCK_CALCULATE_ON_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER,1);
|
print $form->selectyesno("STOCK_CALCULATE_ON_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER,1,$disabled);
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
|
||||||
print "</form>\n</td>\n</tr>\n";
|
print "</form>\n</td>\n</tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,16 +173,12 @@ if (! empty($conf->expedition->enabled))
|
|||||||
print "<form method=\"post\" action=\"stock.php\">";
|
print "<form method=\"post\" action=\"stock.php\">";
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SHIPMENT\">";
|
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SHIPMENT\">";
|
||||||
print $form->selectyesno("STOCK_CALCULATE_ON_SHIPMENT",$conf->global->STOCK_CALCULATE_ON_SHIPMENT,1);
|
print $form->selectyesno("STOCK_CALCULATE_ON_SHIPMENT",$conf->global->STOCK_CALCULATE_ON_SHIPMENT,1,$disabled);
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
|
||||||
print "</form>\n</td>\n</tr>\n";
|
print "</form>\n</td>\n</tr>\n";
|
||||||
}
|
}
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
//if (! empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) || ! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT))
|
|
||||||
//{
|
|
||||||
print info_admin($langs->trans("IfYouUsePointOfSaleCheckModule"));
|
|
||||||
//}
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
// Title rule for stock increase
|
// Title rule for stock increase
|
||||||
@ -217,8 +198,8 @@ if (! empty($conf->fournisseur->enabled))
|
|||||||
print "<form method=\"post\" action=\"stock.php\">";
|
print "<form method=\"post\" action=\"stock.php\">";
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_BILL\">";
|
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_BILL\">";
|
||||||
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_BILL",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL,1);
|
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_BILL",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL,1,$disabled);
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
|
||||||
print "</form>\n</td>\n</tr>\n";
|
print "</form>\n</td>\n</tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,8 +212,8 @@ if (! empty($conf->fournisseur->enabled))
|
|||||||
print "<form method=\"post\" action=\"stock.php\">";
|
print "<form method=\"post\" action=\"stock.php\">";
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER\">";
|
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER\">";
|
||||||
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER,1);
|
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER,1,$disabled);
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
|
||||||
print "</form>\n</td>\n</tr>\n";
|
print "</form>\n</td>\n</tr>\n";
|
||||||
}
|
}
|
||||||
if (! empty($conf->fournisseur->enabled))
|
if (! empty($conf->fournisseur->enabled))
|
||||||
@ -244,8 +225,8 @@ if (! empty($conf->fournisseur->enabled))
|
|||||||
print "<form method=\"post\" action=\"stock.php\">";
|
print "<form method=\"post\" action=\"stock.php\">";
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER\">";
|
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER\">";
|
||||||
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER,1);
|
print $form->selectyesno("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER",$conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER,1,$disabled);
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'"'.$disabled.'>';
|
||||||
print "</form>\n</td>\n</tr>\n";
|
print "</form>\n</td>\n</tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,6 +315,34 @@ if ($virtualdiffersfromphysical)
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$var=true;
|
||||||
|
print '<table class="noborder" width="100%">';
|
||||||
|
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print " <td>".$langs->trans("Other")."</td>\n";
|
||||||
|
print " <td align=\"right\" width=\"160\"> </td>\n";
|
||||||
|
print '</tr>'."\n";
|
||||||
|
|
||||||
|
$var=!$var;
|
||||||
|
|
||||||
|
print "<tr ".$bc[$var].">";
|
||||||
|
print '<td width="60%">'.$langs->trans("UserWarehouseAutoCreate").'</td>';
|
||||||
|
|
||||||
|
print '<td width="160" align="right">';
|
||||||
|
print "<form method=\"post\" action=\"stock.php\">";
|
||||||
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
print "<input type=\"hidden\" name=\"action\" value=\"STOCK_USERSTOCK_AUTOCREATE\">";
|
||||||
|
print $form->selectyesno("STOCK_USERSTOCK_AUTOCREATE",$conf->global->STOCK_USERSTOCK_AUTOCREATE,1);
|
||||||
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||||
|
print '</form>';
|
||||||
|
print "</td>\n";
|
||||||
|
print "</tr>\n";
|
||||||
|
print '<br>';
|
||||||
|
print '</table>';
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Instanciation et initialisation de l'objet xmlhttprequest
|
// Instanciation et initialisation de l'objet xmlhttprequest
|
||||||
function file (fichier) {
|
function file(fichier) {
|
||||||
|
|
||||||
// Instanciation de l'objet pour Mozilla, Konqueror, Opera, Safari, etc ...
|
// Instanciation de l'objet pour Mozilla, Konqueror, Opera, Safari, etc ...
|
||||||
if (window.XMLHttpRequest) {
|
if (window.XMLHttpRequest) {
|
||||||
@ -51,7 +51,7 @@ function file (fichier) {
|
|||||||
|
|
||||||
|
|
||||||
// Affichage des donnees aTexte dans le bloc identifie par aId
|
// Affichage des donnees aTexte dans le bloc identifie par aId
|
||||||
function afficheDonnees (aId, aTexte) {
|
function afficheDonnees(aId, aTexte) {
|
||||||
|
|
||||||
document.getElementById(aId).innerHTML = aTexte;
|
document.getElementById(aId).innerHTML = aTexte;
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ function afficheDonnees (aId, aTexte) {
|
|||||||
|
|
||||||
|
|
||||||
// aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage
|
// aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage
|
||||||
function verifResultat (aCible, aCode) {
|
function verifResultat(aCible, aCode) {
|
||||||
if (aCode != '') {
|
if (aCode != '') {
|
||||||
|
|
||||||
if (texte = file ('facturation_dhtml.php?code='+escape(aCode))) {
|
if (texte = file ('facturation_dhtml.php?code='+escape(aCode))) {
|
||||||
@ -76,21 +76,9 @@ function verifResultat (aCible, aCode) {
|
|||||||
|
|
||||||
|
|
||||||
// Change dynamiquement la classe de l'element ayant l'id aIdElement pour aClasse
|
// Change dynamiquement la classe de l'element ayant l'id aIdElement pour aClasse
|
||||||
function setStyle (aIdElement, aClasse) {
|
function setStyle(aIdElement, aClasse) {
|
||||||
|
|
||||||
aIdElement.className = aClasse;
|
aIdElement.className = aClasse;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Calcul et affichage en temps reel des informations sur le produit en cours
|
// Calcul et affichage en temps reel des informations sur le produit en cours
|
||||||
function modif () {
|
function modif() {
|
||||||
|
|
||||||
var prix_unit = parseFloat ( document.getElementById('frmQte').txtPrixUnit.value );
|
var prix_unit = parseFloat ( document.getElementById('frmQte').txtPrixUnit.value );
|
||||||
var qte = parseFloat ( document.getElementById('frmQte').txtQte.value );
|
var qte = parseFloat ( document.getElementById('frmQte').txtQte.value );
|
||||||
@ -71,7 +71,7 @@ function modif () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Affecte la source de la requete (liste deroulante ou champ texte 'ref') au champ cache
|
// Affecte la source de la requete (liste deroulante ou champ texte 'ref') au champ cache
|
||||||
function setSource (aSrc) {
|
function setSource(aSrc) {
|
||||||
|
|
||||||
document.getElementById('frmFacturation').hdnSource.value = aSrc;
|
document.getElementById('frmFacturation').hdnSource.value = aSrc;
|
||||||
document.getElementById('frmFacturation').submit();
|
document.getElementById('frmFacturation').submit();
|
||||||
@ -79,7 +79,7 @@ function setSource (aSrc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Verification de la coherence des informations saisies dans le formulaire de choix du nombre d'articles
|
// Verification de la coherence des informations saisies dans le formulaire de choix du nombre d'articles
|
||||||
function verifSaisie () {
|
function verifSaisie() {
|
||||||
|
|
||||||
if ( document.getElementById('frmQte').txtQte.value ) {
|
if ( document.getElementById('frmQte').txtQte.value ) {
|
||||||
|
|
||||||
@ -95,17 +95,17 @@ function verifSaisie () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Verification de la coherence des informations saisies dans le formulaire de calcul de la difference
|
// Verification de la coherence des informations saisies dans le formulaire de calcul de la difference
|
||||||
function verifDifference () {
|
function verifDifference() {
|
||||||
|
|
||||||
var du = parseFloat ( document.getElementById('frmDifference').txtDu.value );
|
var du = parseFloat ( document.getElementById('frmDifference').txtDu.value );
|
||||||
var encaisse = parseFloat ( document.getElementById('frmDifference').txtEncaisse.value );
|
var encaisse = parseFloat ( document.getElementById('frmDifference').txtEncaisse.value );
|
||||||
|
|
||||||
if ( encaisse > du ) {
|
if (encaisse > du) {
|
||||||
|
|
||||||
resultat = Math.round ( (encaisse - du) * 100 ) / 100;
|
resultat = Math.round ( (encaisse - du) * 100 ) / 100;
|
||||||
document.getElementById('frmDifference').txtRendu.value = resultat.toFixed(2);
|
document.getElementById('frmDifference').txtRendu.value = resultat.toFixed(2);
|
||||||
|
|
||||||
} else if ( encaisse == du ) {
|
} else if (encaisse == du) {
|
||||||
|
|
||||||
document.getElementById('frmDifference').txtRendu.value = '0';
|
document.getElementById('frmDifference').txtRendu.value = '0';
|
||||||
|
|
||||||
@ -118,14 +118,14 @@ function verifDifference () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Affecte le moyen de paiement (ESP, CB ou CHQ) au champ cache en fonction du bouton clique
|
// Affecte le moyen de paiement (ESP, CB ou CHQ) au champ cache en fonction du bouton clique
|
||||||
function verifClic (aChoix) {
|
function verifClic(aChoix) {
|
||||||
|
|
||||||
document.getElementById('frmDifference').hdnChoix.value = aChoix;
|
document.getElementById('frmDifference').hdnChoix.value = aChoix;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determination du moyen de paiement, et validation du formulaire si les donnees sont coherentes
|
// Determination du moyen de paiement, et validation du formulaire si les donnees sont coherentes
|
||||||
function verifReglement () {
|
function verifReglement() {
|
||||||
|
|
||||||
var choix = document.getElementById('frmDifference').hdnChoix.value;
|
var choix = document.getElementById('frmDifference').hdnChoix.value;
|
||||||
var du = parseFloat (document.getElementById('frmDifference').txtDu.value);
|
var du = parseFloat (document.getElementById('frmDifference').txtDu.value);
|
||||||
@ -172,5 +172,4 @@ function verifReglement () {
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1045,7 +1045,7 @@ if ($id > 0)
|
|||||||
print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.$object->label.'</td></tr>';
|
print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.$object->label.'</td></tr>';
|
||||||
|
|
||||||
// Full day event
|
// Full day event
|
||||||
print '<tr><td>'.$langs->trans("EventOnFullDay").'</td><td colspan="3">'.yn($object->fulldayevent).'</td></tr>';
|
print '<tr><td>'.$langs->trans("EventOnFullDay").'</td><td colspan="3">'.yn($object->fulldayevent, 3).'</td></tr>';
|
||||||
|
|
||||||
$rowspan=4;
|
$rowspan=4;
|
||||||
if (empty($conf->global->AGENDA_DISABLE_LOCATION)) $rowspan++;
|
if (empty($conf->global->AGENDA_DISABLE_LOCATION)) $rowspan++;
|
||||||
|
|||||||
@ -57,7 +57,7 @@ class ActionComm extends CommonObject
|
|||||||
var $datef; // Date action end (datep2)
|
var $datef; // Date action end (datep2)
|
||||||
var $durationp = -1; // -1=Unkown duration // deprecated
|
var $durationp = -1; // -1=Unkown duration // deprecated
|
||||||
var $fulldayevent = 0; // 1=Event on full day
|
var $fulldayevent = 0; // 1=Event on full day
|
||||||
var $punctual = 1; // Milestone // TODO Not sure we need this. Milestone is already event with end date = start date
|
var $punctual = 1; // Milestone // deprecated. Milestone is already event with end date = start date
|
||||||
var $percentage; // Percentage
|
var $percentage; // Percentage
|
||||||
var $location; // Location
|
var $location; // Location
|
||||||
|
|
||||||
@ -1142,7 +1142,7 @@ class ActionComm extends CommonObject
|
|||||||
*/
|
*/
|
||||||
function initAsSpecimen()
|
function initAsSpecimen()
|
||||||
{
|
{
|
||||||
global $user,$langs,$conf;
|
global $user,$langs,$conf,$user;
|
||||||
|
|
||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
@ -1166,6 +1166,9 @@ class ActionComm extends CommonObject
|
|||||||
$this->transparency=1; // 1 means opaque
|
$this->transparency=1; // 1 means opaque
|
||||||
$this->priority=1;
|
$this->priority=1;
|
||||||
$this->note = 'Note';
|
$this->note = 'Note';
|
||||||
|
|
||||||
|
$this->userownerid=$user->id;
|
||||||
|
$this->userassigned[$user->id]=array('id'=>$user->id, 'transparency'=> 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -180,7 +180,7 @@ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as ut ON a.fk_user_action = ut.rowid";
|
|||||||
if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu";
|
if ($usergroup > 0) $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ugu";
|
||||||
$sql.= " WHERE c.id = a.fk_action";
|
$sql.= " WHERE c.id = a.fk_action";
|
||||||
$sql.= ' AND a.fk_user_author = u.rowid';
|
$sql.= ' AND a.fk_user_author = u.rowid';
|
||||||
$sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')'; // To limit to entity
|
$sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')';
|
||||||
if ($actioncode) $sql.=" AND c.code='".$db->escape($actioncode)."'";
|
if ($actioncode) $sql.=" AND c.code='".$db->escape($actioncode)."'";
|
||||||
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
|
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
|
||||||
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")";
|
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")";
|
||||||
|
|||||||
@ -610,7 +610,7 @@ else
|
|||||||
$sql = "SELECT u.rowid, u.lastname as lastname, u.firstname, u.statut, u.login, u.admin, u.entity";
|
$sql = "SELECT u.rowid, u.lastname as lastname, u.firstname, u.statut, u.login, u.admin, u.entity";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||||
if ($usergroup > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user";
|
if ($usergroup > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user";
|
||||||
$sql.= " WHERE u.entity IN (".getEntity('user').")";
|
$sql.= " WHERE u.entity IN (".getEntity('user',1).")";
|
||||||
if ($usergroup > 0) $sql.= " AND ug.fk_usergroup = ".$usergroup;
|
if ($usergroup > 0) $sql.= " AND ug.fk_usergroup = ".$usergroup;
|
||||||
if (GETPOST("usertodo","int",3) > 0) $sql.=" AND u.rowid = ".GETPOST("usertodo","int",3);
|
if (GETPOST("usertodo","int",3) > 0) $sql.=" AND u.rowid = ".GETPOST("usertodo","int",3);
|
||||||
//print $sql;
|
//print $sql;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2003 Eric Seigne <erics@rycks.com>
|
* Copyright (C) 2003 Eric Seigne <erics@rycks.com>
|
||||||
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -55,6 +55,7 @@ $result = restrictedArea($user, 'agenda', $socid, '', 'myactions');
|
|||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action == 'builddoc')
|
if ($action == 'builddoc')
|
||||||
{
|
{
|
||||||
$cat = new CommActionRapport($db, $month, $year);
|
$cat = new CommActionRapport($db, $month, $year);
|
||||||
@ -79,7 +80,7 @@ $sql.= " date_format(a.datep, '%Y') as year";
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a,";
|
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX."user as u";
|
$sql.= " ".MAIN_DB_PREFIX."user as u";
|
||||||
$sql.= " WHERE a.fk_user_author = u.rowid";
|
$sql.= " WHERE a.fk_user_author = u.rowid";
|
||||||
$sql.= " AND a.entity = ".$conf->entity;
|
$sql.= ' AND a.entity IN ('.getEntity('agenda', 1).')';
|
||||||
//$sql.= " AND percent = 100";
|
//$sql.= " AND percent = 100";
|
||||||
$sql.= " GROUP BY year, month, df";
|
$sql.= " GROUP BY year, month, df";
|
||||||
$sql.= " ORDER BY year DESC, month DESC, df DESC";
|
$sql.= " ORDER BY year DESC, month DESC, df DESC";
|
||||||
|
|||||||
@ -530,6 +530,7 @@ if ($id > 0)
|
|||||||
while ($i < $num && $i < $MAXLIST)
|
while ($i < $num && $i < $MAXLIST)
|
||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
|
$var=!$var;
|
||||||
print "<tr ".$bc[$var].">";
|
print "<tr ".$bc[$var].">";
|
||||||
print '<td class="nowrap"><a href="propal.php?id='.$objp->propalid.'">'.img_object($langs->trans("ShowPropal"),"propal").' '.$objp->ref.'</a>'."\n";
|
print '<td class="nowrap"><a href="propal.php?id='.$objp->propalid.'">'.img_object($langs->trans("ShowPropal"),"propal").' '.$objp->ref.'</a>'."\n";
|
||||||
if ( ($db->jdate($objp->dp) < ($now - $conf->propal->cloture->warning_delay)) && $objp->fk_statut == 1 )
|
if ( ($db->jdate($objp->dp) < ($now - $conf->propal->cloture->warning_delay)) && $objp->fk_statut == 1 )
|
||||||
@ -539,7 +540,6 @@ if ($id > 0)
|
|||||||
print '</td><td align="right" width="80">'.dol_print_date($db->jdate($objp->dp),'day')."</td>\n";
|
print '</td><td align="right" width="80">'.dol_print_date($db->jdate($objp->dp),'day')."</td>\n";
|
||||||
print '<td align="right" style="min-width: 60px">'.price($objp->total_ht).'</td>';
|
print '<td align="right" style="min-width: 60px">'.price($objp->total_ht).'</td>';
|
||||||
print '<td align="right" style="min-width: 60px" class="nowrap">'.$propal_static->LibStatut($objp->fk_statut,5).'</td></tr>';
|
print '<td align="right" style="min-width: 60px" class="nowrap">'.$propal_static->LibStatut($objp->fk_statut,5).'</td></tr>';
|
||||||
$var=!$var;
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
|
|||||||
@ -1151,6 +1151,7 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->propal->
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
@ -1236,12 +1237,13 @@ if ($action == 'create')
|
|||||||
print '<form name="addprop" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
print '<form name="addprop" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
|
|
||||||
if ($origin != 'project' && $originid) {
|
if ($origin != 'project' && $originid) {
|
||||||
print '<input type="hidden" name="origin" value="' . $origin . '">';
|
print '<input type="hidden" name="origin" value="' . $origin . '">';
|
||||||
print '<input type="hidden" name="originid" value="' . $originid . '">';
|
print '<input type="hidden" name="originid" value="' . $originid . '">';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dol_fiche_head();
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
// Reference
|
// Reference
|
||||||
@ -1435,16 +1437,13 @@ if ($action == 'create')
|
|||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|
||||||
|
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Combobox pour la fonction de copie
|
* Combobox pour la fonction de copie
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) print '<input type="hidden" name="createmode" value="empty">';
|
if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) print '<input type="hidden" name="createmode" value="empty">';
|
||||||
|
|
||||||
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '<table>';
|
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '<br><table>';
|
||||||
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE))
|
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE))
|
||||||
{
|
{
|
||||||
// For backward compatibility
|
// For backward compatibility
|
||||||
@ -1514,8 +1513,9 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '</table><br>';
|
if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '</table>';
|
||||||
|
|
||||||
|
dol_fiche_end();
|
||||||
|
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
print '<div class="center">';
|
print '<div class="center">';
|
||||||
|
|||||||
@ -50,7 +50,7 @@ echo $this->control->tpl['ajax_selectcountry']; ?>
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo $langs->trans("Company"); ?></td>
|
<td><?php echo $langs->trans("ThirdParty"); ?></td>
|
||||||
<td colspan="3"><?php echo $this->control->tpl['company']; ?></td>
|
<td colspan="3"><?php echo $this->control->tpl['company']; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|||||||
@ -59,7 +59,7 @@ echo $this->control->tpl['ajax_selectcountry'];
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo $langs->trans("Company"); ?></td>
|
<td><?php echo $langs->trans("ThirdParty"); ?></td>
|
||||||
<td colspan="3"><?php echo $this->control->tpl['company']; ?></td>
|
<td colspan="3"><?php echo $this->control->tpl['company']; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,7 @@ dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo $langs->trans("Company"); ?></td>
|
<td><?php echo $langs->trans("ThirdParty"); ?></td>
|
||||||
<td colspan="3"><?php echo $this->control->tpl['company']; ?></td>
|
<td colspan="3"><?php echo $this->control->tpl['company']; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|||||||
@ -456,7 +456,7 @@ else
|
|||||||
{
|
{
|
||||||
if ($socid > 0)
|
if ($socid > 0)
|
||||||
{
|
{
|
||||||
print '<tr><td><label for="socid">'.$langs->trans("Company").'</label></td>';
|
print '<tr><td><label for="socid">'.$langs->trans("ThirdParty").'</label></td>';
|
||||||
print '<td colspan="3" class="maxwidthonsmartphone">';
|
print '<td colspan="3" class="maxwidthonsmartphone">';
|
||||||
print $objsoc->getNomUrl(1);
|
print $objsoc->getNomUrl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -464,7 +464,7 @@ else
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
print '<tr><td><label for="socid">'.$langs->trans("Company").'</label></td><td colspan="3" class="maxwidthonsmartphone">';
|
print '<tr><td><label for="socid">'.$langs->trans("ThirdParty").'</label></td><td colspan="3" class="maxwidthonsmartphone">';
|
||||||
print $form->select_company($socid,'socid','',1);
|
print $form->select_company($socid,'socid','',1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
@ -690,7 +690,7 @@ else
|
|||||||
// Company
|
// Company
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
||||||
{
|
{
|
||||||
print '<tr><td><label for="socid">'.$langs->trans("Company").'</label></td>';
|
print '<tr><td><label for="socid">'.$langs->trans("ThirdParty").'</label></td>';
|
||||||
print '<td colspan="3" class="maxwidthonsmartphone">';
|
print '<td colspan="3" class="maxwidthonsmartphone">';
|
||||||
print $form->select_company(GETPOST('socid','int')?GETPOST('socid','int'):($object->socid?$object->socid:-1),'socid','',1);
|
print $form->select_company(GETPOST('socid','int')?GETPOST('socid','int'):($object->socid?$object->socid:-1),'socid','',1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -924,7 +924,7 @@ else
|
|||||||
// Company
|
// Company
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ThirdParty").'</td><td colspan="3">';
|
||||||
if ($object->socid > 0)
|
if ($object->socid > 0)
|
||||||
{
|
{
|
||||||
$objsoc->fetch($object->socid);
|
$objsoc->fetch($object->socid);
|
||||||
|
|||||||
@ -77,11 +77,11 @@ if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
|||||||
$objsoc = new Societe($db);
|
$objsoc = new Societe($db);
|
||||||
$objsoc->fetch($contact->socid);
|
$objsoc->fetch($contact->socid);
|
||||||
|
|
||||||
print '<tr><td width="15%">'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
print '<tr><td width="15%">'.$langs->trans("ThirdParty").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td width="15%">'.$langs->trans("Company").'</td><td colspan="3">';
|
print '<tr><td width="15%">'.$langs->trans("ThirdParty").'</td><td colspan="3">';
|
||||||
print $langs->trans("ContactNotLinkedToCompany");
|
print $langs->trans("ContactNotLinkedToCompany");
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -105,11 +105,11 @@ if ($contact->socid > 0)
|
|||||||
$objsoc = new Societe($db);
|
$objsoc = new Societe($db);
|
||||||
$objsoc->fetch($contact->socid);
|
$objsoc->fetch($contact->socid);
|
||||||
|
|
||||||
print '<tr><td width="20%">'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
print '<tr><td width="20%">'.$langs->trans("ThirdParty").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td width="20%">'.$langs->trans("Company").'</td><td colspan="3">';
|
print '<tr><td width="20%">'.$langs->trans("ThirdParty").'</td><td colspan="3">';
|
||||||
print $langs->trans("ContactNotLinkedToCompany");
|
print $langs->trans("ContactNotLinkedToCompany");
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -300,7 +300,7 @@ if ($result)
|
|||||||
print_liste_field_titre($langs->trans("Lastname"),$_SERVER["PHP_SELF"],"p.lastname", $begin, $param, '', $sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Lastname"),$_SERVER["PHP_SELF"],"p.lastname", $begin, $param, '', $sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Firstname"),$_SERVER["PHP_SELF"],"p.firstname", $begin, $param, '', $sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Firstname"),$_SERVER["PHP_SELF"],"p.firstname", $begin, $param, '', $sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("PostOrFunction"),$_SERVER["PHP_SELF"],"p.poste", $begin, $param, '', $sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("PostOrFunction"),$_SERVER["PHP_SELF"],"p.poste", $begin, $param, '', $sortfield,$sortorder);
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom", $begin, $param, '', $sortfield,$sortorder);
|
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom", $begin, $param, '', $sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Phone"),$_SERVER["PHP_SELF"],"p.phone", $begin, $param, '', $sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Phone"),$_SERVER["PHP_SELF"],"p.phone", $begin, $param, '', $sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("PhoneMobile"),$_SERVER["PHP_SELF"],"p.phone_mobile", $begin, $param, '', $sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("PhoneMobile"),$_SERVER["PHP_SELF"],"p.phone_mobile", $begin, $param, '', $sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Fax"),$_SERVER["PHP_SELF"],"p.fax", $begin, $param, '', $sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Fax"),$_SERVER["PHP_SELF"],"p.fax", $begin, $param, '', $sortfield,$sortorder);
|
||||||
|
|||||||
@ -98,12 +98,12 @@ if ($id > 0)
|
|||||||
$objsoc = new Societe($db);
|
$objsoc = new Societe($db);
|
||||||
$objsoc->fetch($object->socid);
|
$objsoc->fetch($object->socid);
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
print '<tr><td>'.$langs->trans("ThirdParty").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ThirdParty").'</td><td colspan="3">';
|
||||||
print $langs->trans("ContactNotLinkedToCompany");
|
print $langs->trans("ContactNotLinkedToCompany");
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -111,11 +111,11 @@ if ($action == 'edit')
|
|||||||
$objsoc = new Societe($db);
|
$objsoc = new Societe($db);
|
||||||
$objsoc->fetch($object->socid);
|
$objsoc->fetch($object->socid);
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td>';
|
print '<tr><td>'.$langs->trans("ThirdParty").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ThirdParty").'</td><td colspan="3">';
|
||||||
print $langs->trans("ContactNotLinkedToCompany");
|
print $langs->trans("ContactNotLinkedToCompany");
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
@ -179,12 +179,12 @@ else
|
|||||||
$objsoc = new Societe($db);
|
$objsoc = new Societe($db);
|
||||||
$objsoc->fetch($object->socid);
|
$objsoc->fetch($object->socid);
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
print '<tr><td>'.$langs->trans("ThirdParty").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ThirdParty").'</td><td colspan="3">';
|
||||||
print $langs->trans("ContactNotLinkedToCompany");
|
print $langs->trans("ContactNotLinkedToCompany");
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,10 +40,8 @@ class box_task extends ModeleBoxes
|
|||||||
var $info_box_contents = array();
|
var $info_box_contents = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Constructeur de la classe
|
* Constructor
|
||||||
*
|
*/
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function box_task()
|
function box_task()
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|||||||
@ -54,7 +54,6 @@ class CSMSFile
|
|||||||
* @param int $deferred Deferred or not
|
* @param int $deferred Deferred or not
|
||||||
* @param int $priority Priority
|
* @param int $priority Priority
|
||||||
* @param int $class Class
|
* @param int $class Class
|
||||||
* @return int
|
|
||||||
*/
|
*/
|
||||||
function __construct($to,$from,$msg,$deliveryreceipt=0,$deferred=0,$priority=3,$class=1)
|
function __construct($to,$from,$msg,$deliveryreceipt=0,$deferred=0,$priority=3,$class=1)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -40,7 +40,6 @@ class AntiVir
|
|||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
* @return AntiVir
|
|
||||||
*/
|
*/
|
||||||
function __construct($db)
|
function __construct($db)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -72,8 +72,6 @@ class Conf
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
|
||||||
* @return Conf
|
|
||||||
*/
|
*/
|
||||||
function __construct()
|
function __construct()
|
||||||
{
|
{
|
||||||
@ -367,6 +365,26 @@ class Conf
|
|||||||
unset($this->global->PROJECT_USE_SEARCH_TO_SELECT);
|
unset($this->global->PROJECT_USE_SEARCH_TO_SELECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->productbatch->enabled))
|
||||||
|
{
|
||||||
|
$this->global->STOCK_CALCULATE_ON_BILL=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_VALIDATE_ORDER=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SHIPMENT=1;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SUPPLIER_BILL=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER=1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->productbatch->enabled))
|
||||||
|
{
|
||||||
|
$this->global->STOCK_CALCULATE_ON_BILL=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_VALIDATE_ORDER=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SHIPMENT=1;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SUPPLIER_BILL=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER=0;
|
||||||
|
$this->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER=1;
|
||||||
|
}
|
||||||
|
|
||||||
// conf->currency
|
// conf->currency
|
||||||
if (empty($this->global->MAIN_MONNAIE)) $this->global->MAIN_MONNAIE='EUR';
|
if (empty($this->global->MAIN_MONNAIE)) $this->global->MAIN_MONNAIE='EUR';
|
||||||
$this->currency=$this->global->MAIN_MONNAIE;
|
$this->currency=$this->global->MAIN_MONNAIE;
|
||||||
@ -432,6 +450,9 @@ class Conf
|
|||||||
// Define list of limited modules
|
// Define list of limited modules
|
||||||
if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda,adherent'; // '' means 'all'. Note that contact is added here as it should be a module later.
|
if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda,adherent'; // '' means 'all'. Note that contact is added here as it should be a module later.
|
||||||
|
|
||||||
|
// Enable select2
|
||||||
|
if (empty($conf->global->MAIN_USE_JQUERY_MULTISELECT)) $conf->global->MAIN_USE_JQUERY_MULTISELECT='select2';
|
||||||
|
|
||||||
// Timeouts
|
// Timeouts
|
||||||
if (empty($this->global->MAIN_USE_CONNECT_TIMEOUT)) $this->global->MAIN_USE_CONNECT_TIMEOUT=10;
|
if (empty($this->global->MAIN_USE_CONNECT_TIMEOUT)) $this->global->MAIN_USE_CONNECT_TIMEOUT=10;
|
||||||
if (empty($this->global->MAIN_USE_RESPONSE_TIMEOUT)) $this->global->MAIN_USE_RESPONSE_TIMEOUT=30;
|
if (empty($this->global->MAIN_USE_RESPONSE_TIMEOUT)) $this->global->MAIN_USE_RESPONSE_TIMEOUT=30;
|
||||||
|
|||||||
@ -40,7 +40,6 @@ class DolGeoIP
|
|||||||
*
|
*
|
||||||
* @param string $type 'country' or 'city'
|
* @param string $type 'country' or 'city'
|
||||||
* @param string $datfile Data file
|
* @param string $datfile Data file
|
||||||
* @return GeoIP
|
|
||||||
*/
|
*/
|
||||||
function __construct($type,$datfile)
|
function __construct($type,$datfile)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -45,7 +45,6 @@ class dolprintIPP
|
|||||||
* @param string $userid userid
|
* @param string $userid userid
|
||||||
* @param string $user user
|
* @param string $user user
|
||||||
* @param string $password password
|
* @param string $password password
|
||||||
* @return printIPP
|
|
||||||
*/
|
*/
|
||||||
function __construct($db,$host,$port,$userid,$user,$password)
|
function __construct($db,$host,$port,$userid,$user,$password)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -36,7 +36,6 @@ class GoogleAPI
|
|||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
* @param string $key Google key
|
* @param string $key Google key
|
||||||
* @return GoogleAPI
|
|
||||||
*/
|
*/
|
||||||
function __construct($db,$key)
|
function __construct($db,$key)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -825,9 +825,22 @@ class Form
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (! $forcecombo)
|
||||||
|
{
|
||||||
|
$out.='
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function () {
|
||||||
|
$(\'#'.$htmlname.'\').select2({
|
||||||
|
width: \'resolve\',
|
||||||
|
minimumInputLength: 0,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>';
|
||||||
|
}
|
||||||
|
|
||||||
if (count($events)) // Add management of event
|
if (count($events)) // Add management of event
|
||||||
{
|
{
|
||||||
print '<script type="text/javascript">
|
$out.='<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
jQuery("#'.$htmlname.'").change(function () {
|
jQuery("#'.$htmlname.'").change(function () {
|
||||||
var obj = '.json_encode($events).';
|
var obj = '.json_encode($events).';
|
||||||
@ -1077,7 +1090,7 @@ class Form
|
|||||||
{
|
{
|
||||||
$num=$this->db->num_rows($resql);
|
$num=$this->db->num_rows($resql);
|
||||||
|
|
||||||
if ($conf->use_javascript_ajax && $conf->global->CONTACT_USE_SEARCH_TO_SELECT && ! $forcecombo && ! $options_only)
|
if ($conf->use_javascript_ajax && ! $forcecombo && ! $options_only)
|
||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php';
|
||||||
$out.= ajax_combobox($htmlname, $events, $conf->global->CONTACT_USE_SEARCH_TO_SELECT);
|
$out.= ajax_combobox($htmlname, $events, $conf->global->CONTACT_USE_SEARCH_TO_SELECT);
|
||||||
@ -1338,10 +1351,20 @@ class Form
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$out.= '<select class="flat" name="'.$htmlname.'" disabled="disabled">';
|
$out.= '<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'" disabled="disabled">';
|
||||||
$out.= '<option value="">'.$langs->trans("None").'</option>';
|
$out.= '<option value="">'.$langs->trans("None").'</option>';
|
||||||
}
|
}
|
||||||
$out.= '</select>';
|
$out.= '</select>';
|
||||||
|
|
||||||
|
$out.= '<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
$(\'#'.$htmlname.'\').select2({
|
||||||
|
width: \'resolve\',
|
||||||
|
minimumInputLength: 0
|
||||||
|
});
|
||||||
|
})
|
||||||
|
</script>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -4119,10 +4142,11 @@ class Form
|
|||||||
* @param int $disabled Html select box is disabled
|
* @param int $disabled Html select box is disabled
|
||||||
* @param int $sort 'ASC' or 'DESC' = Sort on label, '' or 'NONE' = Do not sort
|
* @param int $sort 'ASC' or 'DESC' = Sort on label, '' or 'NONE' = Do not sort
|
||||||
* @param string $morecss Add more class to css styles
|
* @param string $morecss Add more class to css styles
|
||||||
|
* @param int $addjscombo Add js combo
|
||||||
* @return string HTML select string.
|
* @return string HTML select string.
|
||||||
* @see multiselectarray
|
* @see multiselectarray
|
||||||
*/
|
*/
|
||||||
static function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='')
|
static function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='', $addjscombo=0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@ -4131,13 +4155,15 @@ class Form
|
|||||||
$out='';
|
$out='';
|
||||||
|
|
||||||
// Add code for jquery to use multiselect
|
// Add code for jquery to use multiselect
|
||||||
if (empty($conf->dol_use_jmobile) && (! empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')))
|
if ($addjscombo && empty($conf->dol_use_jmobile) && (! empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')))
|
||||||
{
|
{
|
||||||
$tmpplugin=empty($conf->global->MAIN_USE_JQUERY_MULTISELECT)?constant('REQUIRE_JQUERY_MULTISELECT'):$conf->global->MAIN_USE_JQUERY_MULTISELECT;
|
$tmpplugin=empty($conf->global->MAIN_USE_JQUERY_MULTISELECT)?constant('REQUIRE_JQUERY_MULTISELECT'):$conf->global->MAIN_USE_JQUERY_MULTISELECT;
|
||||||
$out='<!-- JS CODE TO ENABLE '.$tmpplugin.' for id '.$htmlname.' -->
|
$out.='<!-- JS CODE TO ENABLE '.$tmpplugin.' for id '.$htmlname.' -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$(\'#'.$htmlname.'\').'.$tmpplugin.'({
|
$(\'#'.$htmlname.'\').'.$tmpplugin.'({
|
||||||
|
width: \'off\',
|
||||||
|
minimumInputLength: 0
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>';
|
</script>';
|
||||||
|
|||||||
@ -520,118 +520,105 @@ class FormCompany
|
|||||||
* @param string $htmlname Name of HTML form
|
* @param string $htmlname Name of HTML form
|
||||||
* @param array $limitto Disable answers that are not id in this array list
|
* @param array $limitto Disable answers that are not id in this array list
|
||||||
* @param int $forceid This is to force another object id than object->id
|
* @param int $forceid This is to force another object id than object->id
|
||||||
* @param array $events More js events option. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled')))
|
|
||||||
* @param string $moreparam String with more param to add into url when noajax search is used.
|
* @param string $moreparam String with more param to add into url when noajax search is used.
|
||||||
* @return int The selected third party ID
|
* @return int The selected third party ID
|
||||||
*/
|
*/
|
||||||
function selectCompaniesForNewContact($object, $var_id, $selected='', $htmlname='newcompany', $limitto='', $forceid=0, $events=array(), $moreparam='')
|
function selectCompaniesForNewContact($object, $var_id, $selected='', $htmlname='newcompany', $limitto='', $forceid=0, $moreparam='')
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
// On recherche les societes
|
if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT))
|
||||||
$sql = "SELECT s.rowid, s.nom as name FROM";
|
{
|
||||||
$sql.= " ".MAIN_DB_PREFIX."societe as s";
|
// Use Ajax search
|
||||||
$sql.= " WHERE s.entity IN (".getEntity('societe', 1).")";
|
$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
|
||||||
if ($selected && $conf->use_javascript_ajax && ! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT)) $sql.= " AND s.rowid = ".$selected;
|
|
||||||
|
$socid=0; $name='';
|
||||||
|
if ($selected > 0)
|
||||||
|
{
|
||||||
|
$tmpthirdparty=new Societe($this->db);
|
||||||
|
$result = $tmpthirdparty->fetch($selected);
|
||||||
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
$socid = $selected;
|
||||||
|
$name = $tmpthirdparty->name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Refresh contacts list on thirdparty list change
|
||||||
|
$htmloption='';
|
||||||
|
|
||||||
|
$events=array();
|
||||||
|
$events[]=array('method' => 'getContacts', 'url' => dol_buildpath('/core/ajax/contacts.php',1), 'htmlname' => 'contactid', 'params' => array('add-customer-contact' => 'disabled'));
|
||||||
|
if (count($events)) // If there is some ajax events to run once selection is done, we add code here to run events
|
||||||
|
{
|
||||||
|
print '<script type="text/javascript">
|
||||||
|
jQuery(document).ready(function() {
|
||||||
|
$("#search_'.$htmlname.'").change(function() {
|
||||||
|
var obj = '.json_encode($events).';
|
||||||
|
$.each(obj, function(key,values) {
|
||||||
|
if (values.method.length) {
|
||||||
|
runJsCodeForEvent'.$htmlname.'(values);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
/* Clean contact */
|
||||||
|
$("div#s2id_contactid>a>span").html(\'\');
|
||||||
|
});
|
||||||
|
|
||||||
|
// Function used to execute events when search_htmlname change
|
||||||
|
function runJsCodeForEvent'.$htmlname.'(obj) {
|
||||||
|
var id = $("#'.$htmlname.'").val();
|
||||||
|
var method = obj.method;
|
||||||
|
var url = obj.url;
|
||||||
|
var htmlname = obj.htmlname;
|
||||||
|
$.getJSON(url,
|
||||||
|
{
|
||||||
|
action: method,
|
||||||
|
id: id,
|
||||||
|
htmlname: htmlname
|
||||||
|
},
|
||||||
|
function(response) {
|
||||||
|
if (response != null)
|
||||||
|
{
|
||||||
|
$.each(obj.params, function(key,action) {
|
||||||
|
if (key.length) {
|
||||||
|
var num = response.num;
|
||||||
|
if (num > 0) {
|
||||||
|
$("#" + key).removeAttr(action);
|
||||||
|
} else {
|
||||||
|
$("#" + key).attr(action, action);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("select#" + htmlname).html(response.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
});
|
||||||
|
</script>';
|
||||||
|
}
|
||||||
|
|
||||||
|
print "\n".'<!-- Input text for third party with Ajax.Autocompleter (selectCompaniesForNewContact) -->'."\n";
|
||||||
|
print '<input type="text" size="30" id="search_'.$htmlname.'" name="search_'.$htmlname.'" value="'.$name.'" '.$htmloption.' />';
|
||||||
|
print ajax_autocompleter(($socid?$socid:-1),$htmlname,DOL_URL_ROOT.'/societe/ajaxcompanies.php','',$minLength);
|
||||||
|
return $socid;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// Search to list thirdparties
|
||||||
|
$sql = "SELECT s.rowid, s.nom as name FROM";
|
||||||
|
$sql.= " ".MAIN_DB_PREFIX."societe as s";
|
||||||
|
$sql.= " WHERE s.entity IN (".getEntity('societe', 1).")";
|
||||||
// For ajax search we limit here. For combo list, we limit later
|
// For ajax search we limit here. For combo list, we limit later
|
||||||
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT
|
if (is_array($limitto) && count($limitto))
|
||||||
&& is_array($limitto) && count($limitto))
|
|
||||||
{
|
{
|
||||||
$sql.= " AND s.rowid IN (".join(',',$limitto).")";
|
$sql.= " AND s.rowid IN (".join(',',$limitto).")";
|
||||||
}
|
}
|
||||||
}
|
$sql.= " ORDER BY s.nom ASC";
|
||||||
$sql.= " ORDER BY s.nom ASC";
|
|
||||||
|
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
|
||||||
if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT))
|
|
||||||
{
|
{
|
||||||
// Use Ajax search
|
|
||||||
$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
|
|
||||||
|
|
||||||
$socid=0;
|
|
||||||
if ($selected)
|
|
||||||
{
|
|
||||||
$obj = $this->db->fetch_object($resql);
|
|
||||||
$socid = $obj->rowid?$obj->rowid:'';
|
|
||||||
}
|
|
||||||
|
|
||||||
// We recall a page after a small delay when a new input has been selected
|
|
||||||
$htmloption='';
|
|
||||||
//$javaScript = "window.location=\'".$_SERVER['PHP_SELF']."?".$var_id."=".($forceid>0?$forceid:$object->id)."&".$htmlname."=\' + document.getElementById(\'".$htmlname."\').value;";
|
|
||||||
//$htmloption.= 'onChange="ac_delay(\''.$javaScript.'\',\'500\');"'; // When we select with mouse
|
|
||||||
//$htmloption.= 'onKeyUp="if (event.keyCode== 13) { ac_delay(\''.$javaScript.'\',\'500\'); }"'; // When we select with keyboard
|
|
||||||
|
|
||||||
if (count($events)) // If there is some ajax events to run once selection is done, we add code here to run events
|
|
||||||
{
|
|
||||||
print '<script type="text/javascript">
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
$("#search_'.$htmlname.'").change(function() {
|
|
||||||
var obj = '.json_encode($events).';
|
|
||||||
$.each(obj, function(key,values) {
|
|
||||||
if (values.method.length) {
|
|
||||||
runJsCodeForEvent'.$htmlname.'(values);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// Function used to execute events when search_htmlname change
|
|
||||||
function runJsCodeForEvent'.$htmlname.'(obj) {
|
|
||||||
var id = $("#'.$htmlname.'").val();
|
|
||||||
var method = obj.method;
|
|
||||||
var url = obj.url;
|
|
||||||
var htmlname = obj.htmlname;
|
|
||||||
$.getJSON(url,
|
|
||||||
{
|
|
||||||
action: method,
|
|
||||||
id: id,
|
|
||||||
htmlname: htmlname
|
|
||||||
},
|
|
||||||
function(response) {
|
|
||||||
if (response != null)
|
|
||||||
{
|
|
||||||
$.each(obj.params, function(key,action) {
|
|
||||||
if (key.length) {
|
|
||||||
var num = response.num;
|
|
||||||
if (num > 0) {
|
|
||||||
$("#" + key).removeAttr(action);
|
|
||||||
} else {
|
|
||||||
$("#" + key).attr(action, action);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$("select#" + htmlname).html(response.value);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
});
|
|
||||||
</script>';
|
|
||||||
}
|
|
||||||
|
|
||||||
print "\n".'<!-- Input text for third party with Ajax.Autocompleter (selectCompaniesForNewContact) -->'."\n";
|
|
||||||
//print '<table class="nobordernopadding"><tr class="nobordernopadding">';
|
|
||||||
//print '<td class="nobordernopadding">';
|
|
||||||
if ($obj->rowid == 0)
|
|
||||||
{
|
|
||||||
print '<input type="text" size="30" id="search_'.$htmlname.'" name="search_'.$htmlname.'" value="" '.$htmloption.' />';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<input type="text" size="30" id="search_'.$htmlname.'" name="search_'.$htmlname.'" value="'.$obj->name.'" '.$htmloption.' />';
|
|
||||||
}
|
|
||||||
print ajax_autocompleter(($socid?$socid:-1),$htmlname,DOL_URL_ROOT.'/societe/ajaxcompanies.php','',$minLength);
|
|
||||||
//print '</td>';
|
|
||||||
//print '</tr>';
|
|
||||||
//print '</table>';
|
|
||||||
//print "\n";
|
|
||||||
return $socid;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// No Ajax search
|
|
||||||
print '<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'"';
|
print '<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'"';
|
||||||
if ($conf->use_javascript_ajax)
|
if ($conf->use_javascript_ajax)
|
||||||
{
|
{
|
||||||
@ -668,10 +655,11 @@ class FormCompany
|
|||||||
print "</select>\n";
|
print "</select>\n";
|
||||||
return $firstCompany;
|
return $firstCompany;
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
dol_print_error($this->db);
|
||||||
dol_print_error($this->db);
|
print 'Error sql';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -133,9 +133,10 @@ class FormFile
|
|||||||
if ($perm)
|
if ($perm)
|
||||||
{
|
{
|
||||||
$langs->load('other');
|
$langs->load('other');
|
||||||
$out .= ' ('.$langs->trans("MaxSize").': '.$max.' '.$langs->trans("Kb");
|
//$out .= ' ('.$langs->trans("MaxSize").': '.$max.' '.$langs->trans("Kb");
|
||||||
$out .= ' '.info_admin($langs->trans("ThisLimitIsDefinedInSetup",$max,$maxphp),1);
|
$out .= ' ';
|
||||||
$out .= ')';
|
$out.=info_admin($langs->trans("ThisLimitIsDefinedInSetup",$max,$maxphp),1);
|
||||||
|
//$out .= ')';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -779,7 +780,7 @@ class FormFile
|
|||||||
|
|
||||||
if ($nboffiles > 0) include_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
if ($nboffiles > 0) include_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
||||||
|
|
||||||
$var=false;
|
$var=true;
|
||||||
foreach($filearray as $key => $file) // filearray must be only files here
|
foreach($filearray as $key => $file) // filearray must be only files here
|
||||||
{
|
{
|
||||||
if ($file['name'] != '.'
|
if ($file['name'] != '.'
|
||||||
@ -1100,6 +1101,8 @@ class FormFile
|
|||||||
global $bc;
|
global $bc;
|
||||||
global $sortfield, $sortorder;
|
global $sortfield, $sortorder;
|
||||||
|
|
||||||
|
$langs->load("link");
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/link.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/link.class.php';
|
||||||
$link = new Link($this->db);
|
$link = new Link($this->db);
|
||||||
$links = array();
|
$links = array();
|
||||||
@ -1161,7 +1164,7 @@ class FormFile
|
|||||||
$nboflinks = count($links);
|
$nboflinks = count($links);
|
||||||
if ($nboflinks > 0) include_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
if ($nboflinks > 0) include_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
||||||
|
|
||||||
$var = false;
|
$var = true;
|
||||||
foreach ($links as $link)
|
foreach ($links as $link)
|
||||||
{
|
{
|
||||||
$var =! $var;
|
$var =! $var;
|
||||||
|
|||||||
@ -560,13 +560,13 @@ class FormOther
|
|||||||
*
|
*
|
||||||
* @param string $set_color Pre-selected color
|
* @param string $set_color Pre-selected color
|
||||||
* @param string $prefix Name of HTML field
|
* @param string $prefix Name of HTML field
|
||||||
* @param string $form_name Name of form
|
* @param string $form_name Deprecated. Not used.
|
||||||
* @param int $showcolorbox 1=Show color code and color box, 0=Show only color code
|
* @param int $showcolorbox 1=Show color code and color box, 0=Show only color code
|
||||||
* @param array $arrayofcolors Array of colors. Example: array('29527A','5229A3','A32929','7A367A','B1365F','0D7813')
|
* @param array $arrayofcolors Array of colors. Example: array('29527A','5229A3','A32929','7A367A','B1365F','0D7813')
|
||||||
* @return void
|
* @return void
|
||||||
* @deprecated
|
* @deprecated
|
||||||
*/
|
*/
|
||||||
function select_color($set_color='', $prefix='f_color', $form_name='objForm', $showcolorbox=1, $arrayofcolors='')
|
function select_color($set_color='', $prefix='f_color', $form_name='', $showcolorbox=1, $arrayofcolors='')
|
||||||
{
|
{
|
||||||
print $this->selectColor($set_color, $prefix, $form_name, $showcolorbox, $arrayofcolors);
|
print $this->selectColor($set_color, $prefix, $form_name, $showcolorbox, $arrayofcolors);
|
||||||
}
|
}
|
||||||
@ -576,13 +576,13 @@ class FormOther
|
|||||||
*
|
*
|
||||||
* @param string $set_color Pre-selected color
|
* @param string $set_color Pre-selected color
|
||||||
* @param string $prefix Name of HTML field
|
* @param string $prefix Name of HTML field
|
||||||
* @param string $form_name Name of form
|
* @param string $form_name Deprecated. Not used.
|
||||||
* @param int $showcolorbox 1=Show color code and color box, 0=Show only color code
|
* @param int $showcolorbox 1=Show color code and color box, 0=Show only color code
|
||||||
* @param array $arrayofcolors Array of colors. Example: array('29527A','5229A3','A32929','7A367A','B1365F','0D7813')
|
* @param array $arrayofcolors Array of colors. Example: array('29527A','5229A3','A32929','7A367A','B1365F','0D7813')
|
||||||
* @param string $morecss Add css style into input field
|
* @param string $morecss Add css style into input field
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function selectColor($set_color='', $prefix='f_color', $form_name='objForm', $showcolorbox=1, $arrayofcolors='', $morecss='')
|
function selectColor($set_color='', $prefix='f_color', $form_name='', $showcolorbox=1, $arrayofcolors='', $morecss='')
|
||||||
{
|
{
|
||||||
global $langs,$conf;
|
global $langs,$conf;
|
||||||
|
|
||||||
|
|||||||
@ -637,6 +637,11 @@ class MobileDetect
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getMobileHeaders
|
||||||
|
*
|
||||||
|
* @return string mobile Headers
|
||||||
|
*/
|
||||||
public function getMobileHeaders()
|
public function getMobileHeaders()
|
||||||
{
|
{
|
||||||
return self::$mobileHeaders;
|
return self::$mobileHeaders;
|
||||||
|
|||||||
@ -247,6 +247,12 @@ class SimpleOpenID
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* array2url
|
||||||
|
*
|
||||||
|
* @param array $arr An array
|
||||||
|
* @return boolean|string false if KO, string of url if OK
|
||||||
|
*/
|
||||||
function array2url($arr)
|
function array2url($arr)
|
||||||
{ // converts associated array to URL Query String
|
{ // converts associated array to URL Query String
|
||||||
if (!is_array($arr)){
|
if (!is_array($arr)){
|
||||||
@ -259,6 +265,14 @@ class SimpleOpenID
|
|||||||
return $query;
|
return $query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FSOCK_Request
|
||||||
|
*
|
||||||
|
* @param string $url URL
|
||||||
|
* @param string $method Method
|
||||||
|
* @param string $params Params
|
||||||
|
* @return boolean|unknown
|
||||||
|
*/
|
||||||
function FSOCK_Request($url, $method="GET", $params = "")
|
function FSOCK_Request($url, $method="GET", $params = "")
|
||||||
{
|
{
|
||||||
$fp = fsockopen("ssl://www.myopenid.com", 443, $errno, $errstr, 3); // Connection timeout is 3 seconds
|
$fp = fsockopen("ssl://www.myopenid.com", 443, $errno, $errstr, 3); // Connection timeout is 3 seconds
|
||||||
@ -283,6 +297,14 @@ class SimpleOpenID
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CURL_Request
|
||||||
|
*
|
||||||
|
* @param string $url URL
|
||||||
|
* @param string $method Method
|
||||||
|
* @param string $params Params
|
||||||
|
* @return boolean|unknown
|
||||||
|
*/
|
||||||
function CURL_Request($url, $method="GET", $params = "")
|
function CURL_Request($url, $method="GET", $params = "")
|
||||||
{ // Remember, SSL MUST BE SUPPORTED
|
{ // Remember, SSL MUST BE SUPPORTED
|
||||||
if (is_array($params)) $params = $this->array2url($params);
|
if (is_array($params)) $params = $this->array2url($params);
|
||||||
@ -305,6 +327,12 @@ class SimpleOpenID
|
|||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTML2OpenIDServer
|
||||||
|
*
|
||||||
|
* @param string $content Content
|
||||||
|
* @return array Array of servers
|
||||||
|
*/
|
||||||
function HTML2OpenIDServer($content)
|
function HTML2OpenIDServer($content)
|
||||||
{
|
{
|
||||||
$get = array();
|
$get = array();
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
/* Copyright (C) phpBSM
|
/* Copyright (C) phpBSM
|
||||||
* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2007 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2007 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This file is a modified version of datepicker.php from phpBSM to fix some
|
* This file is a modified version of datepicker.php from phpBSM to fix some
|
||||||
* bugs, to add new features and to dramatically increase speed.
|
* bugs, to add new features and to dramatically increase speed.
|
||||||
@ -39,6 +40,7 @@ require_once '../main.inc.php';
|
|||||||
|
|
||||||
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL by the main.inc.php
|
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL by the main.inc.php
|
||||||
$langs->load("main");
|
$langs->load("main");
|
||||||
|
$langs->load("agenda");
|
||||||
$right=($langs->trans("DIRECTION")=='rtl'?'left':'right');
|
$right=($langs->trans("DIRECTION")=='rtl'?'left':'right');
|
||||||
$left=($langs->trans("DIRECTION")=='rtl'?'right':'left');
|
$left=($langs->trans("DIRECTION")=='rtl'?'right':'left');
|
||||||
|
|
||||||
@ -57,7 +59,7 @@ if (GETPOST('mode') && GETPOST('mode') == 'test')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<title>Calendar</title>';
|
print '<title>'.$langs->trans("Calendar").'</title>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Define tradMonths javascript array (we define this in datapicker AND in parent page to avoid errors with IE8)
|
// Define tradMonths javascript array (we define this in datapicker AND in parent page to avoid errors with IE8)
|
||||||
@ -183,6 +185,19 @@ function displayBox($selectedDate,$month,$year)
|
|||||||
onClick="loadMonth('<?php echo DOL_URL_ROOT.'/core/' ?>','<?php echo $month?>','<?php echo $year+1?>','<?php echo $xyz ?>','<?php echo $langs->defaultlang ?>')">>></td>
|
onClick="loadMonth('<?php echo DOL_URL_ROOT.'/core/' ?>','<?php echo $month?>','<?php echo $year+1?>','<?php echo $xyz ?>','<?php echo $langs->defaultlang ?>')">>></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="dpDayNames">
|
<tr class="dpDayNames">
|
||||||
|
<?php
|
||||||
|
$startday=isset($conf->global->MAIN_START_WEEK)?$conf->global->MAIN_START_WEEK:1;
|
||||||
|
if($startday==1)
|
||||||
|
{?>
|
||||||
|
<td width="14%"><?php echo $langs->trans("ShortMonday") ?></td>
|
||||||
|
<td width="15%"><?php echo $langs->trans("ShortTuesday") ?></td>
|
||||||
|
<td width="14%"><?php echo $langs->trans("ShortWednesday") ?></td>
|
||||||
|
<td width="15%"><?php echo $langs->trans("ShortThursday") ?></td>
|
||||||
|
<td width="14%"><?php echo $langs->trans("ShortFriday") ?></td>
|
||||||
|
<td width="14%"><?php echo $langs->trans("ShortSaturday") ?></td>
|
||||||
|
<td width="14%"><?php echo $langs->trans("ShortSunday") ?></td>
|
||||||
|
<?php
|
||||||
|
}else {?>
|
||||||
<td width="14%"><?php echo $langs->trans("ShortSunday") ?></td>
|
<td width="14%"><?php echo $langs->trans("ShortSunday") ?></td>
|
||||||
<td width="14%"><?php echo $langs->trans("ShortMonday") ?></td>
|
<td width="14%"><?php echo $langs->trans("ShortMonday") ?></td>
|
||||||
<td width="15%"><?php echo $langs->trans("ShortTuesday") ?></td>
|
<td width="15%"><?php echo $langs->trans("ShortTuesday") ?></td>
|
||||||
@ -190,6 +205,8 @@ function displayBox($selectedDate,$month,$year)
|
|||||||
<td width="15%"><?php echo $langs->trans("ShortThursday") ?></td>
|
<td width="15%"><?php echo $langs->trans("ShortThursday") ?></td>
|
||||||
<td width="14%"><?php echo $langs->trans("ShortFriday") ?></td>
|
<td width="14%"><?php echo $langs->trans("ShortFriday") ?></td>
|
||||||
<td width="14%"><?php echo $langs->trans("ShortSaturday") ?></td>
|
<td width="14%"><?php echo $langs->trans("ShortSaturday") ?></td>
|
||||||
|
<?php
|
||||||
|
}?>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
//print "x ".$thedate." y";
|
//print "x ".$thedate." y";
|
||||||
|
|||||||
@ -53,7 +53,6 @@ class DoliDBMssql extends DoliDB
|
|||||||
* @param string $pass Mot de passe
|
* @param string $pass Mot de passe
|
||||||
* @param string $name Nom de la database
|
* @param string $name Nom de la database
|
||||||
* @param int $port Port of database server
|
* @param int $port Port of database server
|
||||||
* @return int 1 if OK, 0 if not
|
|
||||||
*/
|
*/
|
||||||
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -50,7 +50,6 @@ class DoliDBMysql extends DoliDB
|
|||||||
* @param string $pass Mot de passe
|
* @param string $pass Mot de passe
|
||||||
* @param string $name Nom de la database
|
* @param string $name Nom de la database
|
||||||
* @param int $port Port of database server
|
* @param int $port Port of database server
|
||||||
* @return int 1 if OK, 0 if not
|
|
||||||
*/
|
*/
|
||||||
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -50,7 +50,6 @@ class DoliDBMysqli extends DoliDB
|
|||||||
* @param string $pass Mot de passe
|
* @param string $pass Mot de passe
|
||||||
* @param string $name Nom de la database
|
* @param string $name Nom de la database
|
||||||
* @param int $port Port of database server
|
* @param int $port Port of database server
|
||||||
* @return int 1 if OK, 0 if not
|
|
||||||
*/
|
*/
|
||||||
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
||||||
{
|
{
|
||||||
@ -357,7 +356,6 @@ class DoliDBMysqli extends DoliDB
|
|||||||
* @return int Nombre de lignes
|
* @return int Nombre de lignes
|
||||||
* @see num_rows
|
* @see num_rows
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function affected_rows($resultset)
|
function affected_rows($resultset)
|
||||||
{
|
{
|
||||||
// If resultset not provided, we take the last used by connexion
|
// If resultset not provided, we take the last used by connexion
|
||||||
|
|||||||
@ -60,7 +60,6 @@ class DoliDBPgsql extends DoliDB
|
|||||||
* @param string $pass Mot de passe
|
* @param string $pass Mot de passe
|
||||||
* @param string $name Nom de la database
|
* @param string $name Nom de la database
|
||||||
* @param int $port Port of database server
|
* @param int $port Port of database server
|
||||||
* @return int 1 if OK, 0 if not
|
|
||||||
*/
|
*/
|
||||||
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -50,7 +50,6 @@ class DoliDBSqlite extends DoliDB
|
|||||||
* @param string $pass Mot de passe
|
* @param string $pass Mot de passe
|
||||||
* @param string $name Nom de la database
|
* @param string $name Nom de la database
|
||||||
* @param int $port Port of database server
|
* @param int $port Port of database server
|
||||||
* @return int 1 if OK, 0 if not
|
|
||||||
*/
|
*/
|
||||||
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
function __construct($type, $host, $user, $pass, $name='', $port=0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -47,6 +47,14 @@ function SetXmlHeaders()
|
|||||||
header('Content-Type: text/xml; charset=utf-8');
|
header('Content-Type: text/xml; charset=utf-8');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateXmlHeader
|
||||||
|
*
|
||||||
|
* @param string $command Command
|
||||||
|
* @param string $resourceType Resource type
|
||||||
|
* @param string $currentFolder Current folder
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
function CreateXmlHeader( $command, $resourceType, $currentFolder )
|
function CreateXmlHeader( $command, $resourceType, $currentFolder )
|
||||||
{
|
{
|
||||||
SetXmlHeaders();
|
SetXmlHeaders();
|
||||||
@ -63,6 +71,11 @@ function CreateXmlHeader( $command, $resourceType, $currentFolder )
|
|||||||
$GLOBALS['HeaderSent'] = true ;
|
$GLOBALS['HeaderSent'] = true ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateXmlFooter
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
function CreateXmlFooter()
|
function CreateXmlFooter()
|
||||||
{
|
{
|
||||||
echo '</Connector>' ;
|
echo '</Connector>' ;
|
||||||
|
|||||||
@ -53,6 +53,13 @@ function GetFolders( $resourceType, $currentFolder )
|
|||||||
echo "</Folders>" ;
|
echo "</Folders>" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetFoldersAndFiles
|
||||||
|
*
|
||||||
|
* @param string $resourceType Resource type
|
||||||
|
* @param string $currentFolder Current folder
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
function GetFoldersAndFiles( $resourceType, $currentFolder )
|
function GetFoldersAndFiles( $resourceType, $currentFolder )
|
||||||
{
|
{
|
||||||
// Map the virtual path to the local server path.
|
// Map the virtual path to the local server path.
|
||||||
|
|||||||
@ -35,13 +35,18 @@ if ( !$Config['Enabled'] )
|
|||||||
|
|
||||||
DoResponse();
|
DoResponse();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DoResponse
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
function DoResponse()
|
function DoResponse()
|
||||||
{
|
{
|
||||||
if (!isset($_GET)) {
|
if (!isset($_GET)) {
|
||||||
global $_GET;
|
global $_GET;
|
||||||
}
|
}
|
||||||
if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
|
if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
|
||||||
return ;
|
return;
|
||||||
|
|
||||||
// Get the main request informaiton.
|
// Get the main request informaiton.
|
||||||
$sCommand = $_GET['Command'] ;
|
$sCommand = $_GET['Command'] ;
|
||||||
@ -60,7 +65,7 @@ function DoResponse()
|
|||||||
if ( $sCommand == 'FileUpload' )
|
if ( $sCommand == 'FileUpload' )
|
||||||
{
|
{
|
||||||
FileUpload($sResourceType, $sCurrentFolder, $sCommand);
|
FileUpload($sResourceType, $sCurrentFolder, $sCommand);
|
||||||
return ;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateXmlHeader($sCommand, $sResourceType, $sCurrentFolder);
|
CreateXmlHeader($sCommand, $sResourceType, $sCurrentFolder);
|
||||||
@ -70,16 +75,16 @@ function DoResponse()
|
|||||||
{
|
{
|
||||||
case 'GetFolders' :
|
case 'GetFolders' :
|
||||||
GetFolders($sResourceType, $sCurrentFolder);
|
GetFolders($sResourceType, $sCurrentFolder);
|
||||||
break ;
|
break;
|
||||||
case 'GetFoldersAndFiles' :
|
case 'GetFoldersAndFiles' :
|
||||||
GetFoldersAndFiles($sResourceType, $sCurrentFolder);
|
GetFoldersAndFiles($sResourceType, $sCurrentFolder);
|
||||||
break ;
|
break;
|
||||||
case 'CreateFolder' :
|
case 'CreateFolder' :
|
||||||
CreateFolder($sResourceType, $sCurrentFolder);
|
CreateFolder($sResourceType, $sCurrentFolder);
|
||||||
break ;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateXmlFooter();
|
CreateXmlFooter();
|
||||||
|
|
||||||
exit ;
|
exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -115,11 +115,18 @@ function ServerMapFolder($resourceType, $folderPath, $sCommand)
|
|||||||
return CombinePaths($sResourceTypePath, $folderPath);
|
return CombinePaths($sResourceTypePath, $folderPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
function GetParentFolder( $folderPath )
|
/**
|
||||||
|
* GetParentFolder
|
||||||
|
*
|
||||||
|
* @param string $folderPath Folder path
|
||||||
|
* @return string Parent folder
|
||||||
|
*/
|
||||||
|
function GetParentFolder($folderPath)
|
||||||
{
|
{
|
||||||
$sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ;
|
$sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ;
|
||||||
return preg_replace($sPattern, '', $folderPath);
|
return preg_replace($sPattern, '', $folderPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CreateServerFolder
|
* CreateServerFolder
|
||||||
*
|
*
|
||||||
|
|||||||
@ -27,7 +27,14 @@ require 'util.php';
|
|||||||
require 'io.php';
|
require 'io.php';
|
||||||
require 'commands.php';
|
require 'commands.php';
|
||||||
|
|
||||||
function SendError( $number, $text )
|
/**
|
||||||
|
* SendError
|
||||||
|
*
|
||||||
|
* @param string $number Number
|
||||||
|
* @param string $text Text
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function SendError($number, $text)
|
||||||
{
|
{
|
||||||
SendUploadResults($number, '', '', $text);
|
SendUploadResults($number, '', '', $text);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -323,34 +323,23 @@ function ajax_combobox($htmlname, $events=array(), $minLengthToAutocomplete=0)
|
|||||||
if (! empty($conf->browser->phone)) return ''; // combobox disabled for smartphones (does not works)
|
if (! empty($conf->browser->phone)) return ''; // combobox disabled for smartphones (does not works)
|
||||||
if (! empty($conf->global->MAIN_DISABLE_AJAX_COMBOX)) return '';
|
if (! empty($conf->global->MAIN_DISABLE_AJAX_COMBOX)) return '';
|
||||||
|
|
||||||
/* Some properties for combobox:
|
|
||||||
minLengthToAutocomplete: 2,
|
|
||||||
comboboxContainerClass: "comboboxContainer",
|
|
||||||
comboboxValueContainerClass: "comboboxValueContainer",
|
|
||||||
comboboxValueContentClass: "comboboxValueContent",
|
|
||||||
comboboxDropDownClass: "comboboxDropDownContainer",
|
|
||||||
comboboxDropDownButtonClass: "comboboxDropDownButton",
|
|
||||||
comboboxDropDownItemClass: "comboboxItem",
|
|
||||||
comboboxDropDownItemHoverClass: "comboboxItemHover",
|
|
||||||
comboboxDropDownGroupItemHeaderClass: "comboboxGroupItemHeader",
|
|
||||||
comboboxDropDownGroupItemContainerClass: "comboboxGroupItemContainer",
|
|
||||||
animationType: "slide",
|
|
||||||
width: "500px" */
|
|
||||||
|
|
||||||
$msg = '<script type="text/javascript">
|
$msg = '<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#'.$htmlname.'").combobox({
|
|
||||||
minLengthToAutocomplete : '.$minLengthToAutocomplete.',
|
$(\'#'.$htmlname.'\').select2({
|
||||||
selected : function(event,ui) {
|
width: \'resolve\',
|
||||||
var obj = '.json_encode($events).';
|
minimumInputLength: '.$minLengthToAutocomplete.',
|
||||||
$.each(obj, function(key,values) {
|
});
|
||||||
|
jQuery("#'.$htmlname.'").change(function () {
|
||||||
|
var obj = '.json_encode($events).';
|
||||||
|
$.each(obj, function(key,values) {
|
||||||
if (values.method.length) {
|
if (values.method.length) {
|
||||||
runJsCodeForEvent'.$htmlname.'(values);
|
runJsCodeForEvent'.$htmlname.'(values);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function runJsCodeForEvent'.$htmlname.'(obj) {
|
function runJsCodeForEvent'.$htmlname.'(obj) {
|
||||||
var id = $("#'.$htmlname.'").val();
|
var id = $("#'.$htmlname.'").val();
|
||||||
var method = obj.method;
|
var method = obj.method;
|
||||||
|
|||||||
@ -1028,6 +1028,8 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e
|
|||||||
*/
|
*/
|
||||||
function dol_getdate($timestamp,$fast=false)
|
function dol_getdate($timestamp,$fast=false)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$usealternatemethod=false;
|
$usealternatemethod=false;
|
||||||
if ($timestamp <= 0) $usealternatemethod=true; // <= 1970
|
if ($timestamp <= 0) $usealternatemethod=true; // <= 1970
|
||||||
if ($timestamp >= 2145913200) $usealternatemethod=true; // >= 2038
|
if ($timestamp >= 2145913200) $usealternatemethod=true; // >= 2038
|
||||||
@ -1039,6 +1041,19 @@ function dol_getdate($timestamp,$fast=false)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$arrayinfo=getdate($timestamp);
|
$arrayinfo=getdate($timestamp);
|
||||||
|
|
||||||
|
$startday=isset($conf->global->MAIN_START_WEEK)?$conf->global->MAIN_START_WEEK:1;
|
||||||
|
if($startday==1)
|
||||||
|
{
|
||||||
|
if ($arrayinfo["wday"]==0)
|
||||||
|
{
|
||||||
|
$arrayinfo["wday"]=6;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$arrayinfo["wday"]=$arrayinfo["wday"]-1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $arrayinfo;
|
return $arrayinfo;
|
||||||
@ -3580,7 +3595,7 @@ function get_default_localtax($thirdparty_seller, $thirdparty_buyer, $local, $id
|
|||||||
* Return yes or no in current language
|
* Return yes or no in current language
|
||||||
*
|
*
|
||||||
* @param string $yesno Value to test (1, 'yes', 'true' or 0, 'no', 'false')
|
* @param string $yesno Value to test (1, 'yes', 'true' or 0, 'no', 'false')
|
||||||
* @param string $case 1=Yes/No, 0=yes/no
|
* @param string $case 1=Yes/No, 0=yes/no, 2=Disabled checkbox, 3=Disabled checkbox + Yes/No
|
||||||
* @param int $color 0=texte only, 1=Text is formated with a color font style ('ok' or 'error'), 2=Text is formated with 'ok' color.
|
* @param int $color 0=texte only, 1=Text is formated with a color font style ('ok' or 'error'), 2=Text is formated with 'ok' color.
|
||||||
* @return string HTML string
|
* @return string HTML string
|
||||||
*/
|
*/
|
||||||
@ -3590,12 +3605,20 @@ function yn($yesno, $case=1, $color=0)
|
|||||||
$result='unknown';
|
$result='unknown';
|
||||||
if ($yesno == 1 || strtolower($yesno) == 'yes' || strtolower($yesno) == 'true') // A mettre avant test sur no a cause du == 0
|
if ($yesno == 1 || strtolower($yesno) == 'yes' || strtolower($yesno) == 'true') // A mettre avant test sur no a cause du == 0
|
||||||
{
|
{
|
||||||
$result=($case?$langs->trans("Yes"):$langs->trans("yes"));
|
$result=$langs->trans('yes');
|
||||||
|
if ($case == 1 || $case == 3) $result=$langs->trans("Yes");
|
||||||
|
if ($case == 2) $result='<input type="checkbox" value="1" checked="checked" disabled="disabled">';
|
||||||
|
if ($case == 3) $result='<input type="checkbox" value="1" checked="checked" disabled="disabled"> '.$result;
|
||||||
|
|
||||||
$classname='ok';
|
$classname='ok';
|
||||||
}
|
}
|
||||||
elseif ($yesno == 0 || strtolower($yesno) == 'no' || strtolower($yesno) == 'false')
|
elseif ($yesno == 0 || strtolower($yesno) == 'no' || strtolower($yesno) == 'false')
|
||||||
{
|
{
|
||||||
$result=($case?$langs->trans("No"):$langs->trans("no"));
|
$result=$langs->trans("no");
|
||||||
|
if ($case == 1 || $case == 3) $result=$langs->trans("No");
|
||||||
|
if ($case == 2) $result='<input type="checkbox" value="0" disabled="disabled">';
|
||||||
|
if ($case == 3) $result='<input type="checkbox" value="0" disabled="disabled"> '.$result;
|
||||||
|
|
||||||
if ($color == 2) $classname='ok';
|
if ($color == 2) $classname='ok';
|
||||||
else $classname='error';
|
else $classname='error';
|
||||||
}
|
}
|
||||||
@ -4820,19 +4843,6 @@ function dolExplodeIntoArray($string, $delimiter = ';', $kv = '=')
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert an array with RGB value into hex RGB value
|
|
||||||
*
|
|
||||||
* @param array $arraycolor Array
|
|
||||||
* @param string $colorifnotfound Color code to return if entry not defined
|
|
||||||
* @return string RGB hex value (without # before). For example: FF00FF
|
|
||||||
*/
|
|
||||||
function colorArrayToHex($arraycolor,$colorifnotfound='888888')
|
|
||||||
{
|
|
||||||
if (! is_array($arraycolor)) return $colorifnotfound;
|
|
||||||
return dechex($arraycolor[0]).dechex($arraycolor[1]).dechex($arraycolor[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set focus onto field with selector
|
* Set focus onto field with selector
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1836,3 +1836,42 @@ function fetchObjectByElement($element_id,$element_type) {
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert an array with RGB value into hex RGB value
|
||||||
|
*
|
||||||
|
* @param array $arraycolor Array
|
||||||
|
* @param string $colorifnotfound Color code to return if entry not defined
|
||||||
|
* @return string RGB hex value (without # before). For example: FF00FF
|
||||||
|
* @see Make the opposite of colorStringToArray
|
||||||
|
*/
|
||||||
|
function colorArrayToHex($arraycolor,$colorifnotfound='888888')
|
||||||
|
{
|
||||||
|
if (! is_array($arraycolor)) return $colorifnotfound;
|
||||||
|
return dechex($arraycolor[0]).dechex($arraycolor[1]).dechex($arraycolor[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a string RGB value ('FFFFFF', '255,255,255') into an array RGB array(255,255,255)
|
||||||
|
*
|
||||||
|
* @param string $stringcolor String with hex (FFFFFF) or comma RGB ('255,255,255')
|
||||||
|
* @param string $colorifnotfound Color code to return if entry not defined
|
||||||
|
* @return string RGB hex value (without # before). For example: FF00FF
|
||||||
|
* @see Make the opposite of colorArrayToHex
|
||||||
|
*/
|
||||||
|
function colorStringToArray($stringcolor,$colorifnotfound=array(88,88,88))
|
||||||
|
{
|
||||||
|
if (is_array($stringcolor)) return $stringcolor; // If already into correct output format, we return as is
|
||||||
|
$tmp=preg_match('/^([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])$/',$stringcolor,$reg);
|
||||||
|
if (! $tmp)
|
||||||
|
{
|
||||||
|
$tmp=explode(',',$stringcolor);
|
||||||
|
if (count($tmp) < 3) return $colorifnotfound;
|
||||||
|
return $tmp;
|
||||||
|
}
|
||||||
|
return array(hexdec($reg[1]),hexdec($reg[2]),hexdec($reg[3]));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -900,7 +900,7 @@ function pdf_writeLinkedObjects(&$pdf,$object,$outputlangs,$posx,$posy,$w,$h,$al
|
|||||||
|
|
||||||
if (! empty($linkedobject["date_title"]) && ! empty($linkedobject["date_value"]))
|
if (! empty($linkedobject["date_title"]) && ! empty($linkedobject["date_value"]))
|
||||||
{
|
{
|
||||||
$posy+=3;
|
$posy+=7;
|
||||||
$pdf->SetXY($posx,$posy);
|
$pdf->SetXY($posx,$posy);
|
||||||
$pdf->MultiCell($w, $h, $linkedobject["date_title"].' : '.$linkedobject["date_value"], '', $align);
|
$pdf->MultiCell($w, $h, $linkedobject["date_title"].' : '.$linkedobject["date_value"], '', $align);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -126,7 +126,12 @@ function user_prepare_head($object)
|
|||||||
return $head;
|
return $head;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepare array with list of tabs
|
||||||
|
*
|
||||||
|
* @param Group $object Object group
|
||||||
|
* @return array Array of tabs
|
||||||
|
*/
|
||||||
function group_prepare_head($object)
|
function group_prepare_head($object)
|
||||||
{
|
{
|
||||||
global $langs, $conf, $user;
|
global $langs, $conf, $user;
|
||||||
|
|||||||
@ -67,7 +67,7 @@ class modProductBatch extends DolibarrModules
|
|||||||
$this->config_page_url = array();
|
$this->config_page_url = array();
|
||||||
|
|
||||||
// Dependencies
|
// Dependencies
|
||||||
$this->depends = array("modProduct","modStock"); // List of modules id that must be enabled if this module is enabled
|
$this->depends = array("modProduct","modStock","modExpedition","modSupplier"); // List of modules id that must be enabled if this module is enabled. modExpedition is required to manage batch exit (by manual stock decrease on shipment), modSupplier to manage batch entry (after supplier order).
|
||||||
$this->requiredby = array(); // List of modules id to disable if this one is disabled
|
$this->requiredby = array(); // List of modules id to disable if this one is disabled
|
||||||
$this->phpmin = array(5,0); // Minimum version of PHP required by module
|
$this->phpmin = array(5,0); // Minimum version of PHP required by module
|
||||||
$this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module
|
$this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module
|
||||||
|
|||||||
@ -20,12 +20,8 @@
|
|||||||
* $withproject (if we are on task contact)
|
* $withproject (if we are on task contact)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (! class_exists('Contact')) {
|
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||||
require DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
||||||
}
|
|
||||||
if (! class_exists('FormCompany')) {
|
|
||||||
require DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
|
||||||
}
|
|
||||||
|
|
||||||
$module = $object->element;
|
$module = $object->element;
|
||||||
|
|
||||||
@ -96,13 +92,9 @@ $userstatic=new User($db);
|
|||||||
<input type="hidden" name="source" value="external" />
|
<input type="hidden" name="source" value="external" />
|
||||||
<?php if ($withproject) print '<input type="hidden" name="withproject" value="'.$withproject.'">'; ?>
|
<?php if ($withproject) print '<input type="hidden" name="withproject" value="'.$withproject.'">'; ?>
|
||||||
<div class="tagtd nowrap"><?php echo img_object('','contact').' '.$langs->trans("ThirdPartyContacts"); ?></div>
|
<div class="tagtd nowrap"><?php echo img_object('','contact').' '.$langs->trans("ThirdPartyContacts"); ?></div>
|
||||||
<?php
|
|
||||||
$events=array();
|
|
||||||
$events[]=array('method' => 'getContacts', 'url' => dol_buildpath('/core/ajax/contacts.php',1), 'htmlname' => 'contactid', 'params' => array('add-customer-contact' => 'disabled'));
|
|
||||||
?>
|
|
||||||
<div class="tagtd nowrap maxwidthonsmartphone">
|
<div class="tagtd nowrap maxwidthonsmartphone">
|
||||||
<?php $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$object->socid; ?>
|
<?php $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$object->socid; ?>
|
||||||
<?php $selectedCompany = $formcompany->selectCompaniesForNewContact($object, 'id', $selectedCompany, 'newcompany', '', 0, $events); ?>
|
<?php $selectedCompany = $formcompany->selectCompaniesForNewContact($object, 'id', $selectedCompany, 'newcompany', '', 0); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="tagtd maxwidthonsmartphone">
|
<div class="tagtd maxwidthonsmartphone">
|
||||||
<?php $nbofcontacts=$form->select_contacts($selectedCompany, '', 'contactid'); ?>
|
<?php $nbofcontacts=$form->select_contacts($selectedCompany, '', 'contactid'); ?>
|
||||||
|
|||||||
@ -46,9 +46,10 @@ $(document).ready(function () {
|
|||||||
</script>
|
</script>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<div align="center">
|
<center>
|
||||||
<div class="login_vertical_align">
|
<div class="login_vertical_align">
|
||||||
|
|
||||||
|
|
||||||
<form id="login" name="login" method="post" action="<?php echo $php_self; ?>">
|
<form id="login" name="login" method="post" action="<?php echo $php_self; ?>">
|
||||||
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>" />
|
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>" />
|
||||||
<input type="hidden" name="loginfunction" value="loginfunction" />
|
<input type="hidden" name="loginfunction" value="loginfunction" />
|
||||||
@ -66,7 +67,7 @@ $(document).ready(function () {
|
|||||||
<input type="hidden" name="dol_no_mouse_hover" id="dol_no_mouse_hover" value="<?php echo $dol_no_mouse_hover; ?>" />
|
<input type="hidden" name="dol_no_mouse_hover" id="dol_no_mouse_hover" value="<?php echo $dol_no_mouse_hover; ?>" />
|
||||||
<input type="hidden" name="dol_use_jmobile" id="dol_use_jmobile" value="<?php echo $dol_use_jmobile; ?>" />
|
<input type="hidden" name="dol_use_jmobile" id="dol_use_jmobile" value="<?php echo $dol_use_jmobile; ?>" />
|
||||||
|
|
||||||
<table align="center" class="login_table_title" summary="<?php echo dol_escape_htmltag($title); ?>">
|
<table class="login_table_title center" summary="<?php echo dol_escape_htmltag($title); ?>">
|
||||||
<tr class="vmenu"><td align="center"><?php echo dol_escape_htmltag($title); ?></td></tr>
|
<tr class="vmenu"><td align="center"><?php echo dol_escape_htmltag($title); ?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
@ -77,21 +78,28 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
<div id="login_left">
|
<div id="login_left">
|
||||||
|
|
||||||
<table class="left" summary="Login pass">
|
<img alt="Logo" title="" src="<?php echo $urllogo; ?>" id="img_logo" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="login_right">
|
||||||
|
|
||||||
|
<table class="left centpercent" summary="Login pass">
|
||||||
<!-- Login -->
|
<!-- Login -->
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="middle" class="loginfield"><strong><label for="username"><?php echo $langs->trans('Login'); ?></label></strong></td>
|
|
||||||
<td valign="middle" class="nowrap">
|
<td valign="middle" class="nowrap">
|
||||||
<span class="span-icon-user">
|
<span class="span-icon-user">
|
||||||
<input type="text" id="username" name="username" class="flat input-icon-user" size="15" maxlength="40" value="<?php echo dol_escape_htmltag($login); ?>" tabindex="1" autofocus="autofocus" />
|
<input type="text" id="username" placeholder="<?php echo $langs->trans("Login"); ?>" name="username" class="flat input-icon-user" size="15" value="<?php echo dol_escape_htmltag($login); ?>" tabindex="1" autofocus="autofocus" />
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- Password -->
|
<!-- Password -->
|
||||||
<tr><td valign="middle" class="loginfield nowrap"><strong><label for="password"><?php echo $langs->trans('Password'); ?></label></strong></td>
|
<tr>
|
||||||
<td valign="middle" class="nowrap">
|
<td valign="middle" class="nowrap">
|
||||||
<span class="span-icon-password">
|
<span class="span-icon-password">
|
||||||
<input id="password" name="password" class="flat input-icon-password" type="password" size="15" maxlength="30" value="<?php echo dol_escape_htmltag($password); ?>" tabindex="2" autocomplete="off" />
|
<input id="password" placeholder="<?php echo $langs->trans("Password"); ?>" name="password" class="flat input-icon-password" type="password" size="15" value="<?php echo dol_escape_htmltag($password); ?>" tabindex="2" autocomplete="off" />
|
||||||
</span>
|
</span>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<?php
|
<?php
|
||||||
@ -109,18 +117,18 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
if ($captcha) {
|
if ($captcha) {
|
||||||
// TODO: provide accessible captha variants
|
// TODO: provide accessible captha variants
|
||||||
?>
|
?>
|
||||||
<!-- Captcha -->
|
<!-- Captcha -->
|
||||||
<tr><td valign="middle" class="loginfield nowrap"><label for="securitycode"><b><?php echo $langs->trans('SecurityCode'); ?></b></label></td>
|
<tr>
|
||||||
<td valign="top" class="nowrap none" align="left">
|
<td valign="top" class="nowrap none" align="left">
|
||||||
|
|
||||||
<table class="login_table_securitycode" style="width: 100px;"><tr>
|
<table class="login_table_securitycode" style="width: 100px;"><tr>
|
||||||
<td>
|
<td>
|
||||||
<span class="span-icon-security">
|
<span class="span-icon-security">
|
||||||
<input id="securitycode" class="flat input-icon-security" type="text" size="6" maxlength="5" name="code" tabindex="4" />
|
<input id="securitycode" placeholder="<?php echo $langs->trans("SecurityCode"); ?>" class="flat input-icon-security" type="text" size="12" maxlength="5" name="code" tabindex="3" />
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td><img src="<?php echo DOL_URL_ROOT ?>/core/antispamimage.php" border="0" width="80" height="32" id="img_securitycode" /></td>
|
<td><img src="<?php echo DOL_URL_ROOT ?>/core/antispamimage.php" border="0" width="80" height="32" id="img_securitycode" /></td>
|
||||||
<td><a href="<?php echo $php_self; ?>"><?php echo $captcha_refresh; ?></a></td>
|
<td><a href="<?php echo $php_self; ?>" tabindex="4"><?php echo $captcha_refresh; ?></a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@ -129,9 +137,9 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
|
|
||||||
</div> <!-- end div left -->
|
</div> <!-- end div left -->
|
||||||
|
|
||||||
<div id="login_right">
|
|
||||||
|
|
||||||
<img alt="Logo" title="" src="<?php echo $urllogo; ?>" id="img_logo" />
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -150,7 +158,7 @@ if ($forgetpasslink || $helpcenterlink)
|
|||||||
if ($dol_use_jmobile) $moreparam.=(strpos($moreparam,'?')===false?'?':'&').'dol_use_jmobile='.$dol_use_jmobile;
|
if ($dol_use_jmobile) $moreparam.=(strpos($moreparam,'?')===false?'?':'&').'dol_use_jmobile='.$dol_use_jmobile;
|
||||||
|
|
||||||
echo '<br>';
|
echo '<br>';
|
||||||
echo '<div class="center" style="margin-top: 4px;">';
|
echo '<div align="center" style="margin-top: 4px;">';
|
||||||
if ($forgetpasslink) {
|
if ($forgetpasslink) {
|
||||||
echo '<a class="alogin" href="'.DOL_URL_ROOT.'/user/passwordforgotten.php'.$moreparam.'">(';
|
echo '<a class="alogin" href="'.DOL_URL_ROOT.'/user/passwordforgotten.php'.$moreparam.'">(';
|
||||||
echo $langs->trans('PasswordForgotten');
|
echo $langs->trans('PasswordForgotten');
|
||||||
@ -177,7 +185,7 @@ if (isset($conf->file->main_authentication) && preg_match('/openid/',$conf->file
|
|||||||
|
|
||||||
//if (! empty($conf->global->MAIN_OPENIDURL_PERUSER)) $url=
|
//if (! empty($conf->global->MAIN_OPENIDURL_PERUSER)) $url=
|
||||||
echo '<br>';
|
echo '<br>';
|
||||||
echo '<div class="center" style="margin-top: 4px;">';
|
echo '<div align="center" style="margin-top: 4px;">';
|
||||||
|
|
||||||
$url=$conf->global->MAIN_AUTHENTICATION_OPENID_URL;
|
$url=$conf->global->MAIN_AUTHENTICATION_OPENID_URL;
|
||||||
if (! empty($url)) print '<a class="alogin" href="'.$url.'">'.$langs->trans("LoginUsingOpenID").'</a>';
|
if (! empty($url)) print '<a class="alogin" href="'.$url.'">'.$langs->trans("LoginUsingOpenID").'</a>';
|
||||||
@ -190,14 +198,18 @@ if (isset($conf->file->main_authentication) && preg_match('/openid/',$conf->file
|
|||||||
echo '</div>';
|
echo '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php if (! empty($_SESSION['dol_loginmesg']))
|
<?php if (! empty($_SESSION['dol_loginmesg']))
|
||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
@ -211,17 +223,21 @@ if (isset($conf->file->main_authentication) && preg_match('/openid/',$conf->file
|
|||||||
<?php if ($main_home)
|
<?php if ($main_home)
|
||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<!-- main_home message -->
|
<div class="center" class="login_main_home" style="max-width: 80%">
|
||||||
<div class="login_main_home center" style="max-width: 80%"><?php echo $main_home; ?></div>
|
<?php echo $main_home; ?>
|
||||||
<br>
|
</div><br>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- authentication mode = <?php echo $main_authentication ?> -->
|
<!-- authentication mode = <?php echo $main_authentication ?> -->
|
||||||
<!-- cookie name used for this session = <?php echo $session_name ?> -->
|
<!-- cookie name used for this session = <?php echo $session_name ?> -->
|
||||||
<!-- urlfrom in this session = <?php echo isset($_SESSION["urlfrom"])?$_SESSION["urlfrom"]:''; ?> -->
|
<!-- urlfrom in this session = <?php echo isset($_SESSION["urlfrom"])?$_SESSION["urlfrom"]:''; ?> -->
|
||||||
|
|
||||||
<!-- Common footer is not used for login page, this is same than footer but inside login tpl -->
|
<!-- Common footer is not used for login page, this is same than footer but inside login tpl -->
|
||||||
|
|
||||||
<?php if (! empty($conf->global->MAIN_HTML_FOOTER)) print $conf->global->MAIN_HTML_FOOTER; ?>
|
<?php if (! empty($conf->global->MAIN_HTML_FOOTER)) print $conf->global->MAIN_HTML_FOOTER; ?>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// Google Analytics (need Google module)
|
// Google Analytics (need Google module)
|
||||||
if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AN_ID))
|
if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AN_ID))
|
||||||
@ -251,7 +267,7 @@ if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AD_CLI
|
|||||||
if (empty($conf->dol_use_jmobile))
|
if (empty($conf->dol_use_jmobile))
|
||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<div class="center"><br>
|
<div align="center"><br>
|
||||||
<script type="text/javascript"><!--
|
<script type="text/javascript"><!--
|
||||||
google_ad_client = "<?php echo $conf->global->MAIN_GOOGLE_AD_CLIENT ?>";
|
google_ad_client = "<?php echo $conf->global->MAIN_GOOGLE_AD_CLIENT ?>";
|
||||||
google_ad_slot = "<?php echo $conf->global->MAIN_GOOGLE_AD_SLOT ?>";
|
google_ad_slot = "<?php echo $conf->global->MAIN_GOOGLE_AD_SLOT ?>";
|
||||||
@ -267,8 +283,11 @@ if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AD_CLI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</center> <!-- end of center -->
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -108,8 +108,8 @@ else {
|
|||||||
echo '> ';
|
echo '> ';
|
||||||
// Show type selector
|
// Show type selector
|
||||||
echo $langs->trans("FreeLineOfType");
|
echo $langs->trans("FreeLineOfType");
|
||||||
echo ' ';
|
|
||||||
echo '</label>';
|
echo '</label>';
|
||||||
|
echo ' ';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -44,7 +44,8 @@ $(document).ready(function () {
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
|
|
||||||
<div align="center" class="login_vertical_align">
|
<center>
|
||||||
|
<div class="login_vertical_align">
|
||||||
|
|
||||||
|
|
||||||
<form id="login" name="login" method="post" action="<?php echo $php_self; ?>">
|
<form id="login" name="login" method="post" action="<?php echo $php_self; ?>">
|
||||||
@ -52,7 +53,7 @@ $(document).ready(function () {
|
|||||||
<input type="hidden" name="action" value="buildnewpassword">
|
<input type="hidden" name="action" value="buildnewpassword">
|
||||||
|
|
||||||
<table class="login_table_title center" summary="<?php echo dol_escape_htmltag($title); ?>">
|
<table class="login_table_title center" summary="<?php echo dol_escape_htmltag($title); ?>">
|
||||||
<tr class="vmenu"><td class="center"><?php echo $title; ?></td></tr>
|
<tr class="vmenu"><td align="center"><?php echo $title; ?></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@ -60,16 +61,23 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
<div id="login_line1">
|
<div id="login_line1">
|
||||||
|
|
||||||
|
|
||||||
<div id="login_left">
|
<div id="login_left">
|
||||||
|
|
||||||
|
<img alt="Logo" title="" src="<?php echo $urllogo; ?>" id="img_logo" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="login_right">
|
||||||
|
|
||||||
<table class="left" summary="Login pass">
|
<table class="left" summary="Login pass">
|
||||||
|
|
||||||
<!-- Login -->
|
<!-- Login -->
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="bottom" class="loginfield nowrap"><strong><label for="username"><?php echo $langs->trans('Login'); ?></label></strong></td>
|
|
||||||
<td valign="bottom" class="nowrap">
|
<td valign="bottom" class="nowrap">
|
||||||
<span class="span-icon-user">
|
<span class="span-icon-user">
|
||||||
<input type="text" <?php echo $disabled; ?> id="username" name="username" class="flat input-icon-user" size="15" maxlength="40" value="<?php echo dol_escape_htmltag($login); ?>" tabindex="1" />
|
<input type="text" placeholder="<?php echo $langs->trans("Login"); ?>" <?php echo $disabled; ?> id="username" name="username" class="flat input-icon-user" size="15" value="<?php echo dol_escape_htmltag($login); ?>" tabindex="1" />
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -88,17 +96,17 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
|
|
||||||
<?php if ($captcha) { ?>
|
<?php if ($captcha) { ?>
|
||||||
<!-- Captcha -->
|
<!-- Captcha -->
|
||||||
<tr><td valign="middle" class="loginfield nowrap"><strong><label for="securitycode"><?php echo $langs->trans('SecurityCode'); ?></label></strong></td>
|
<tr>
|
||||||
<td valign="top" class="nowrap none" align="left">
|
<td valign="top" class="nowrap none" align="left">
|
||||||
|
|
||||||
<table class="login_table_securitycode" style="width: 100px;"><tr>
|
<table class="login_table_securitycode" style="width: 100px;"><tr>
|
||||||
<td>
|
<td>
|
||||||
<span class="span-icon-security">
|
<span class="span-icon-security">
|
||||||
<input id="securitycode" class="flat input-icon-security" type="text" size="6" maxlength="5" name="code" tabindex="4" />
|
<input id="securitycode" placeholder="<?php echo $langs->trans("SecurityCode"); ?>" class="flat input-icon-security" type="text" size="12" maxlength="5" name="code" tabindex="3" />
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td><img src="<?php echo DOL_URL_ROOT ?>/core/antispamimage.php" border="0" width="80" height="32" id="img_securitycode" /></td>
|
<td><img src="<?php echo DOL_URL_ROOT ?>/core/antispamimage.php" border="0" width="80" height="32" id="img_securitycode" /></td>
|
||||||
<td><a href="<?php echo $php_self; ?>"><?php echo $captcha_refresh; ?></a></td>
|
<td><a href="<?php echo $php_self; ?>" tabindex="4"><?php echo $captcha_refresh; ?></a></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@ -108,11 +116,9 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
|
|
||||||
</div> <!-- end div left -->
|
</div> <!-- end div left -->
|
||||||
|
|
||||||
<div id="login_right">
|
|
||||||
|
|
||||||
<img alt="Logo" title="" src="<?php echo $urllogo; ?>" id="img_logo" />
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="login_line2" style="clear: both">
|
<div id="login_line2" style="clear: both">
|
||||||
@ -121,7 +127,7 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
<br><input id="password" type="submit" <?php echo $disabled; ?> class="button" name="password" value="<?php echo $langs->trans('SendNewPassword'); ?>" tabindex="4" />
|
<br><input id="password" type="submit" <?php echo $disabled; ?> class="button" name="password" value="<?php echo $langs->trans('SendNewPassword'); ?>" tabindex="4" />
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<div class="center" style="margin-top: 4px;">
|
<div align="center" style="margin-top: 4px;">
|
||||||
<?php
|
<?php
|
||||||
$moreparam='';
|
$moreparam='';
|
||||||
if (! empty($conf->dol_hide_topmenu)) $moreparam.=(strpos($moreparam,'?')===false?'?':'&').'dol_hide_topmenu='.$conf->dol_hide_topmenu;
|
if (! empty($conf->dol_hide_topmenu)) $moreparam.=(strpos($moreparam,'?')===false?'?':'&').'dol_hide_topmenu='.$conf->dol_hide_topmenu;
|
||||||
@ -146,7 +152,7 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
<?php echo $langs->trans('SendNewPasswordDesc'); ?>
|
<?php echo $langs->trans('SendNewPasswordDesc'); ?>
|
||||||
</font>
|
</font>
|
||||||
<?php }else{ ?>
|
<?php }else{ ?>
|
||||||
<div class="warning center">
|
<div class="warning" align="center">
|
||||||
<?php echo $langs->trans('AuthenticationDoesNotAllowSendNewPassword', $mode); ?>
|
<?php echo $langs->trans('AuthenticationDoesNotAllowSendNewPassword', $mode); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
@ -163,6 +169,7 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</center> <!-- end of center -->
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@ -84,9 +84,24 @@ if ($id > 0 || ! empty($ref))
|
|||||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||||
$hookmanager->initHooks(array('expeditioncard','globalcard'));
|
$hookmanager->initHooks(array('expeditioncard','globalcard'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$warehousecanbeselectedlater=1;
|
||||||
|
if (! empty($conf->productbatch->enabled))
|
||||||
|
{
|
||||||
|
if (! (GETPOST('entrepot_id','int') > 0))
|
||||||
|
{
|
||||||
|
$langs->load("errors");
|
||||||
|
setEventMessage($langs->trans("WarhouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn"),'errors');
|
||||||
|
header("Location: ".DOL_URL_ROOT.'/expedition/shipment.php?id='.$id);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$parameters=array();
|
$parameters=array();
|
||||||
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
@ -595,7 +610,7 @@ if ($action == 'create')
|
|||||||
print_fiche_titre($langs->trans("CreateASending"));
|
print_fiche_titre($langs->trans("CreateASending"));
|
||||||
if (! $origin)
|
if (! $origin)
|
||||||
{
|
{
|
||||||
$mesg='<div class="error">'.$langs->trans("ErrorBadParameters").'</div>';
|
setEventMessage($langs->trans("ErrorBadParameters"),'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_htmloutput_mesg($mesg);
|
dol_htmloutput_mesg($mesg);
|
||||||
@ -773,10 +788,13 @@ if ($action == 'create')
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
if (! empty($conf->stock->enabled))
|
if (! empty($conf->stock->enabled))
|
||||||
{
|
{
|
||||||
if (empty($conf->productbatch->enabled)) {
|
if (empty($conf->productbatch->enabled))
|
||||||
print '<td align="left">'.$langs->trans("Warehouse").' / '.$langs->trans("Stock").'</td>';
|
{
|
||||||
} else {
|
print '<td align="left">'.$langs->trans("Warehouse").' ('.$langs->trans("Stock").')</td>';
|
||||||
print '<td align="left">'.$langs->trans("Warehouse").' / '.$langs->trans("Batch").' / '.$langs->trans("Stock").'</td>';
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<td align="left">'.$langs->trans("Warehouse").' / '.$langs->trans("Batch").' ('.$langs->trans("Stock").')</td>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
@ -830,7 +848,7 @@ if ($action == 'create')
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print "<td>";
|
print "<td>";
|
||||||
if ($type==1) $text = img_object($langs->trans('Service'),'service');
|
if ($type==1) $text = img_object($langs->trans('Service'),'service');
|
||||||
else $text = img_object($langs->trans('Product'),'product');
|
else $text = img_object($langs->trans('Product'),'product');
|
||||||
@ -863,17 +881,19 @@ if ($action == 'create')
|
|||||||
$quantityAsked = $line->qty;
|
$quantityAsked = $line->qty;
|
||||||
$quantityToBeDelivered = $quantityAsked - $quantityDelivered;
|
$quantityToBeDelivered = $quantityAsked - $quantityDelivered;
|
||||||
|
|
||||||
|
$warehouse_id = GETPOST('entrepot_id','int');
|
||||||
|
|
||||||
$defaultqty=0;
|
$defaultqty=0;
|
||||||
if (GETPOST('entrepot_id','int') > 0)
|
if ($warehouse_id > 0)
|
||||||
{
|
{
|
||||||
//var_dump($product);
|
//var_dump($product);
|
||||||
$stock = $product->stock_warehouse[GETPOST('entrepot_id','int')]->real;
|
$stock = $product->stock_warehouse[$warehouse_id]->real;
|
||||||
$stock+=0; // Convertit en numerique
|
$stock+=0; // Convertit en numerique
|
||||||
$defaultqty=min($quantityToBeDelivered, $stock);
|
$defaultqty=min($quantityToBeDelivered, $stock);
|
||||||
if (($line->product_type == 1 && empty($conf->global->STOCK_SUPPORTS_SERVICES)) || $defaultqty < 0) $defaultqty=0;
|
if (($line->product_type == 1 && empty($conf->global->STOCK_SUPPORTS_SERVICES)) || $defaultqty < 0) $defaultqty=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($conf->productbatch->enabled) || ! ($product->hasbatch() and is_object($product->stock_warehouse[GETPOST('entrepot_id','int')])))
|
if (empty($conf->productbatch->enabled) || ! ($product->hasbatch() and is_object($product->stock_warehouse[$warehouse_id])))
|
||||||
{
|
{
|
||||||
// Quantity to send
|
// Quantity to send
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
@ -894,14 +914,14 @@ if ($action == 'create')
|
|||||||
// Show warehouse combo list
|
// Show warehouse combo list
|
||||||
$ent = "entl".$indiceAsked;
|
$ent = "entl".$indiceAsked;
|
||||||
$idl = "idl".$indiceAsked;
|
$idl = "idl".$indiceAsked;
|
||||||
$tmpentrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):GETPOST('entrepot_id','int');
|
$tmpentrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):$warehouse_id;
|
||||||
print $formproduct->selectWarehouses($tmpentrepot_id,'entl'.$indiceAsked,'',1,0,$line->fk_product);
|
print $formproduct->selectWarehouses($tmpentrepot_id,'entl'.$indiceAsked,'',1,0,$line->fk_product);
|
||||||
if ($tmpentrepot_id > 0 && $tmpentrepot_id == GETPOST('entrepot_id','int'))
|
if ($tmpentrepot_id > 0 && $tmpentrepot_id == $warehouse_id)
|
||||||
{
|
{
|
||||||
//print $stock.' '.$quantityToBeDelivered;
|
//print $stock.' '.$quantityToBeDelivered;
|
||||||
if ($stock < $quantityToBeDelivered)
|
if ($stock < $quantityToBeDelivered)
|
||||||
{
|
{
|
||||||
print ' '.img_warning($langs->trans("StockTooLow")); // Stock too low for entrepot_id but we may have change warehouse
|
print ' '.img_warning($langs->trans("StockTooLow")); // Stock too low for this $warehouse_id but you can change warehouse
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -936,11 +956,14 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
print '<td></td><td></td></tr>';
|
print '<td></td><td></td></tr>';
|
||||||
$subj=0;
|
$subj=0;
|
||||||
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$line->id.'">';
|
print '<input name="idl'.$indiceAsked.'" type="hidden" value="'.$line->id.'">';
|
||||||
foreach ($product->stock_warehouse[GETPOST('entrepot_id','int')]->detail_batch as $dbatch) {
|
foreach ($product->stock_warehouse[$warehouse_id]->detail_batch as $dbatch)
|
||||||
|
{
|
||||||
//var_dump($dbatch);
|
//var_dump($dbatch);
|
||||||
$substock=$dbatch->qty +0 ;
|
$substock=$dbatch->qty +0 ;
|
||||||
print '<tr><td colspan="3" ></td><td align="center">';
|
print '<tr><td colspan="3" ></td><td align="center">';
|
||||||
@ -948,8 +971,13 @@ if ($action == 'create')
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td align="left">';
|
print '<td align="left">';
|
||||||
|
|
||||||
|
$staticwarehouse=new Entrepot($db);
|
||||||
|
$staticwarehouse->fetch($warehouse_id);
|
||||||
|
print $staticwarehouse->getNomUrl(0).' / ';
|
||||||
|
|
||||||
print '<input name="batchl'.$indiceAsked.'_'.$subj.'" type="hidden" value="'.$dbatch->id.'">';
|
print '<input name="batchl'.$indiceAsked.'_'.$subj.'" type="hidden" value="'.$dbatch->id.'">';
|
||||||
print $langs->trans("DetailBatchFormat", dol_print_date($dbatch->eatby,"day"), dol_print_date($dbatch->sellby,"day"), $dbatch->batch, $dbatch->qty);
|
print $langs->trans("DetailBatchFormat", $dbatch->batch, dol_print_date($dbatch->eatby,"day"), dol_print_date($dbatch->sellby,"day"), $dbatch->qty);
|
||||||
if ($defaultqty<=0) {
|
if ($defaultqty<=0) {
|
||||||
$defaultqty=0;
|
$defaultqty=0;
|
||||||
} else {
|
} else {
|
||||||
@ -1453,12 +1481,14 @@ else if ($id || $ref)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Batch number managment
|
// Batch number managment
|
||||||
if (! empty($conf->productbatch->enabled)) {
|
if (! empty($conf->productbatch->enabled))
|
||||||
if (isset($lines[$i]->detail_batch) ) {
|
{
|
||||||
print '<td align="center">';
|
if (isset($lines[$i]->detail_batch))
|
||||||
|
{
|
||||||
|
print '<td>';
|
||||||
$detail = '';
|
$detail = '';
|
||||||
foreach ($lines[$i]->detail_batch as $dbatch) {
|
foreach ($lines[$i]->detail_batch as $dbatch) {
|
||||||
$detail.= $langs->trans("DetailBatchFormat",dol_print_date($dbatch->eatby,"day"),dol_print_date($dbatch->sellby,"day"),$dbatch->batch,$dbatch->dluo_qty).'<br/>';
|
$detail.= $langs->trans("DetailBatchFormat",$dbatch->batch,dol_print_date($dbatch->eatby,"day"),dol_print_date($dbatch->sellby,"day"),$dbatch->dluo_qty).'<br/>';
|
||||||
}
|
}
|
||||||
print $form->textwithtooltip($langs->trans("DetailBatchNumber"),$detail);
|
print $form->textwithtooltip($langs->trans("DetailBatchNumber"),$detail);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|||||||
@ -114,7 +114,7 @@ if ($resql)
|
|||||||
/*
|
/*
|
||||||
* Commandes a traiter
|
* Commandes a traiter
|
||||||
*/
|
*/
|
||||||
$sql = "SELECT c.rowid, c.ref, s.nom as name, s.rowid as socid";
|
$sql = "SELECT c.rowid, c.ref, c.fk_statut, s.nom as name, s.rowid as socid";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."commande as c";
|
$sql.= " FROM ".MAIN_DB_PREFIX."commande as c";
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||||
@ -136,7 +136,7 @@ if ($resql)
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td colspan="2">'.$langs->trans("OrdersToProcess").'</td></tr>';
|
print '<td colspan="3">'.$langs->trans("OrdersToProcess").'</td></tr>';
|
||||||
$var = True;
|
$var = True;
|
||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
@ -146,13 +146,19 @@ if ($resql)
|
|||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
$orderstatic->id=$obj->rowid;
|
$orderstatic->id=$obj->rowid;
|
||||||
$orderstatic->ref=$obj->ref;
|
$orderstatic->ref=$obj->ref;
|
||||||
|
$orderstatic->statut=$obj->fk_statut;
|
||||||
|
$orderstatic->facturee=0;
|
||||||
print $orderstatic->getNomUrl(1);
|
print $orderstatic->getNomUrl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$companystatic->name=$obj->name;
|
$companystatic->name=$obj->name;
|
||||||
$companystatic->id=$obj->socid;
|
$companystatic->id=$obj->socid;
|
||||||
print $companystatic->getNomUrl(1,'customer',32);
|
print $companystatic->getNomUrl(1,'customer',32);
|
||||||
print '</td></tr>';
|
print '</td>';
|
||||||
|
print '<td align="right">';
|
||||||
|
print $orderstatic->getLibStatut(3);
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
print "</table><br>";
|
print "</table><br>";
|
||||||
|
|||||||
@ -643,7 +643,10 @@ if ($id > 0 || ! empty($ref))
|
|||||||
|
|
||||||
if (! empty($conf->stock->enabled))
|
if (! empty($conf->stock->enabled))
|
||||||
{
|
{
|
||||||
print '<td>'.$langs->trans("WarehouseSource").'</td>';
|
$warehousecanbeselectedlater=1;
|
||||||
|
if (! empty($conf->productbatch->enabled)) $warehousecanbeselectedlater=0;
|
||||||
|
|
||||||
|
print '<td'.($warehousecanbeselectedlater?'':' class="fieldrequired"').'>'.$langs->trans("WarehouseSource").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $formproduct->selectWarehouses(-1,'entrepot_id','',1);
|
print $formproduct->selectWarehouses(-1,'entrepot_id','',1);
|
||||||
if (count($formproduct->cache_warehouses) <= 0)
|
if (count($formproduct->cache_warehouses) <= 0)
|
||||||
|
|||||||
@ -1912,7 +1912,7 @@ the specific language governing permissions and limitations under the Apache Lic
|
|||||||
if (this.opts.width === "off") {
|
if (this.opts.width === "off") {
|
||||||
return null;
|
return null;
|
||||||
} else if (this.opts.width === "element"){
|
} else if (this.opts.width === "element"){
|
||||||
return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
|
return this.opts.element.outerWidth(false) === 0 ? 'auto' : 20+this.opts.element.outerWidth(false) + 'px';
|
||||||
} else if (this.opts.width === "copy" || this.opts.width === "resolve") {
|
} else if (this.opts.width === "copy" || this.opts.width === "resolve") {
|
||||||
// check if there is inline style on the element that contains width
|
// check if there is inline style on the element that contains width
|
||||||
style = this.opts.element.attr('style');
|
style = this.opts.element.attr('style');
|
||||||
@ -1933,7 +1933,7 @@ the specific language governing permissions and limitations under the Apache Lic
|
|||||||
if (style.indexOf("%") > 0) return style;
|
if (style.indexOf("%") > 0) return style;
|
||||||
|
|
||||||
// finally, fallback on the calculated width of the element
|
// finally, fallback on the calculated width of the element
|
||||||
return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
|
return (this.opts.element.outerWidth(false) === 0 ? 'auto' : 20+this.opts.element.outerWidth(false) + 'px');
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -71,12 +71,12 @@ if (! empty($useragent))
|
|||||||
|
|
||||||
|
|
||||||
// Check PHP version
|
// Check PHP version
|
||||||
if (versioncompare(versionphparray(),array(4,3,10)) < 0) // Minimum to use (error if lower)
|
if (versioncompare(versionphparray(),array(5,2,3)) < 0) // Minimum to use (error if lower)
|
||||||
{
|
{
|
||||||
print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ErrorPHPVersionTooLow",'4.3.10');
|
print '<img src="../theme/eldy/img/error.png" alt="Error"> '.$langs->trans("ErrorPHPVersionTooLow",'5.2.3');
|
||||||
$checksok=0; // 0=error, 1=warning
|
$checksok=0; // 0=error, 1=warning
|
||||||
}
|
}
|
||||||
else if (versioncompare(versionphparray(),array(5,3,0)) < 0) // Minimum supported (error if lower)
|
else if (versioncompare(versionphparray(),array(5,3,0)) < 0) // Minimum supported (warning if lower)
|
||||||
{
|
{
|
||||||
print '<img src="../theme/eldy/img/warning.png" alt="Error"> '.$langs->trans("ErrorPHPVersionTooLow",'5.3.0');
|
print '<img src="../theme/eldy/img/warning.png" alt="Error"> '.$langs->trans("ErrorPHPVersionTooLow",'5.3.0');
|
||||||
$checksok=0; // 0=error, 1=warning
|
$checksok=0; // 0=error, 1=warning
|
||||||
|
|||||||
@ -1140,6 +1140,8 @@ ALTER TABLE llx_facture_rec ADD COLUMN revenuestamp double(24,8) DEFAULT 0;
|
|||||||
ALTER TABLE llx_facturedet_rec MODIFY COLUMN tva_tx double(6,3);
|
ALTER TABLE llx_facturedet_rec MODIFY COLUMN tva_tx double(6,3);
|
||||||
ALTER TABLE llx_facturedet_rec ADD COLUMN fk_contract_line integer NULL;
|
ALTER TABLE llx_facturedet_rec ADD COLUMN fk_contract_line integer NULL;
|
||||||
|
|
||||||
|
ALTER TABLE llx_resource MODIFY COLUMN entity integer DEFAULT 1 NOT NULL;
|
||||||
|
|
||||||
-- This request make mysql drop (mysql bug, so we add it at end):
|
-- This request make mysql drop (mysql bug, so we add it at end):
|
||||||
--ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid);
|
--ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type(rowid);
|
||||||
|
|
||||||
|
|||||||
@ -51,10 +51,10 @@ create table llx_actioncomm
|
|||||||
|
|
||||||
priority smallint,
|
priority smallint,
|
||||||
fulldayevent smallint NOT NULL default 0,
|
fulldayevent smallint NOT NULL default 0,
|
||||||
punctual smallint NOT NULL default 1,
|
punctual smallint NOT NULL default 1, -- deprecated. milestone is event with date start = date end
|
||||||
percent smallint NOT NULL default 0,
|
percent smallint NOT NULL default 0,
|
||||||
location varchar(128),
|
location varchar(128),
|
||||||
durationp real, -- duree planifiee
|
durationp real, -- planed duration
|
||||||
durationa real, -- deprecated
|
durationa real, -- deprecated
|
||||||
note text,
|
note text,
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
CREATE TABLE llx_resource
|
CREATE TABLE llx_resource
|
||||||
(
|
(
|
||||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
entity integer,
|
entity integer DEFAULT 1 NOT NULL,
|
||||||
ref varchar(255),
|
ref varchar(255),
|
||||||
description text,
|
description text,
|
||||||
fk_code_type_resource varchar(32),
|
fk_code_type_resource varchar(32),
|
||||||
|
|||||||
@ -56,6 +56,8 @@ UseSearchToSelectCompany=Use autocompletion fields to choose third parties inste
|
|||||||
ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it
|
ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it
|
||||||
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
|
||||||
UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).
|
UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).
|
||||||
|
DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties)
|
||||||
|
DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact)
|
||||||
SearchFilter=Search filters options
|
SearchFilter=Search filters options
|
||||||
NumberOfKeyToSearch=Nbr of characters to trigger search: %s
|
NumberOfKeyToSearch=Nbr of characters to trigger search: %s
|
||||||
ViewFullDateActions=Show full dates events in the third sheet
|
ViewFullDateActions=Show full dates events in the third sheet
|
||||||
@ -783,6 +785,7 @@ DictionaryOrderMethods=Ordering methods
|
|||||||
DictionarySource=Origin of proposals/orders
|
DictionarySource=Origin of proposals/orders
|
||||||
DictionaryAccountancyplan=Chart of accounts
|
DictionaryAccountancyplan=Chart of accounts
|
||||||
DictionaryAccountancysystem=Models for chart of accounts
|
DictionaryAccountancysystem=Models for chart of accounts
|
||||||
|
DictionaryEMailTemplates=Emails templates
|
||||||
SetupSaved=Setup saved
|
SetupSaved=Setup saved
|
||||||
BackToModuleList=Back to modules list
|
BackToModuleList=Back to modules list
|
||||||
BackToDictionaryList=Back to dictionaries list
|
BackToDictionaryList=Back to dictionaries list
|
||||||
@ -892,6 +895,7 @@ PermanentLeftSearchForm=Permanent search form on left menu
|
|||||||
DefaultLanguage=Default language to use (language code)
|
DefaultLanguage=Default language to use (language code)
|
||||||
EnableMultilangInterface=Enable multilingual interface
|
EnableMultilangInterface=Enable multilingual interface
|
||||||
EnableShowLogo=Show logo on left menu
|
EnableShowLogo=Show logo on left menu
|
||||||
|
EnableHtml5=Enable Html5 (Developement - Only available on Eldy template)
|
||||||
SystemSuccessfulyUpdated=Your system has been updated successfully
|
SystemSuccessfulyUpdated=Your system has been updated successfully
|
||||||
CompanyInfo=Company/foundation information
|
CompanyInfo=Company/foundation information
|
||||||
CompanyIds=Company/foundation identities
|
CompanyIds=Company/foundation identities
|
||||||
|
|||||||
@ -10,10 +10,11 @@ batch_number=Batch/Serial number
|
|||||||
l_eatby=Eat-by date
|
l_eatby=Eat-by date
|
||||||
l_sellby=Sell-by date
|
l_sellby=Sell-by date
|
||||||
DetailBatchNumber=Batch/Serial details
|
DetailBatchNumber=Batch/Serial details
|
||||||
DetailBatchFormat=E:%s S: %s BATCH: %s (Qty : %d)
|
DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d)
|
||||||
printBatch=Batch: %s
|
printBatch=Batch: %s
|
||||||
printEatby=Eat-by: %s
|
printEatby=Eat-by: %s
|
||||||
printSellby=Sell-by: %s
|
printSellby=Sell-by: %s
|
||||||
printQty=Qty: %d
|
printQty=Qty: %d
|
||||||
AddDispatchBatchLine=Add a line for Shelf Life dispatching
|
AddDispatchBatchLine=Add a line for Shelf Life dispatching
|
||||||
BatchDefaultNumber=Undefined
|
BatchDefaultNumber=Undefined
|
||||||
|
WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want.
|
||||||
|
|||||||
@ -31,6 +31,4 @@ ConfirmDeleteResource=Confirm to delete this resource
|
|||||||
RessourceSuccessfullyDeleted=Resource successfully deleted
|
RessourceSuccessfullyDeleted=Resource successfully deleted
|
||||||
DictionaryResourceType=Type of resources
|
DictionaryResourceType=Type of resources
|
||||||
|
|
||||||
DictionaryEMailTemplates=Modèles d'Emails
|
|
||||||
|
|
||||||
SelectResource=Select resource
|
SelectResource=Select resource
|
||||||
|
|||||||
@ -25,12 +25,12 @@ Selectchartofaccounts=Seleccione un plan contable
|
|||||||
Validate=Validar
|
Validate=Validar
|
||||||
Addanaccount=Añadir una cuenta contable
|
Addanaccount=Añadir una cuenta contable
|
||||||
AccountAccounting=Cuenta contable
|
AccountAccounting=Cuenta contable
|
||||||
Ventilation=Breakdown
|
Ventilation=Contabilizar
|
||||||
ToDispatch=A realizar
|
ToDispatch=A realizar
|
||||||
Dispatched=Realizadas
|
Dispatched=Realizadas
|
||||||
|
|
||||||
CustomersVentilation=Breakdown customers
|
CustomersVentilation=Contabilizar clientes
|
||||||
SuppliersVentilation=Breakdown suppliers
|
SuppliersVentilation=Contabilizar proveedores
|
||||||
TradeMargin=Margen de beneficio
|
TradeMargin=Margen de beneficio
|
||||||
Reports=Informes
|
Reports=Informes
|
||||||
ByCustomerInvoice=Por facturas a clientes
|
ByCustomerInvoice=Por facturas a clientes
|
||||||
@ -45,9 +45,9 @@ WriteBookKeeping=Registrar los asientos en el libro mayor
|
|||||||
Bookkeeping=Libro Mayor
|
Bookkeeping=Libro Mayor
|
||||||
AccountBalanceByMonth=Saldo mensual
|
AccountBalanceByMonth=Saldo mensual
|
||||||
|
|
||||||
AccountingVentilation=Breakdown accounting
|
AccountingVentilation=Descuadre contabilidad
|
||||||
AccountingVentilationSupplier=Breakdown accounting supplier
|
AccountingVentilationSupplier=Contablilización compras
|
||||||
AccountingVentilationCustomer=Breakdown accounting customer
|
AccountingVentilationCustomer=Contabilización ventas
|
||||||
Line=Línea
|
Line=Línea
|
||||||
|
|
||||||
CAHTF=Total (base imponible) compras a proveedor
|
CAHTF=Total (base imponible) compras a proveedor
|
||||||
@ -56,7 +56,7 @@ InvoiceLinesDone=Líneas de facturas contabilizadas
|
|||||||
IntoAccount=En la cuenta
|
IntoAccount=En la cuenta
|
||||||
|
|
||||||
Ventilate=Contabilizar
|
Ventilate=Contabilizar
|
||||||
VentilationAuto=Automatic breakdown
|
VentilationAuto=Contabilización automática
|
||||||
|
|
||||||
Processing=Tratamiento
|
Processing=Tratamiento
|
||||||
EndProcessing=Final del tratamiento
|
EndProcessing=Final del tratamiento
|
||||||
@ -68,9 +68,9 @@ NotVentilatedinAccount=Cuenta sin contabilización en la contabilidad
|
|||||||
|
|
||||||
ACCOUNTING_SEPARATORCSV=Separador CSV
|
ACCOUNTING_SEPARATORCSV=Separador CSV
|
||||||
|
|
||||||
ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50)
|
ACCOUNTING_LIMIT_LIST_VENTILATION=Número de elementos a contabilizar que se muestran por página (máximo recomendado: 50)
|
||||||
ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements
|
ACCOUNTING_LIST_SORT_VENTILATION_TODO=Ordenar las páginas de contabilización "A contabilizar" por los elementos más recientes
|
||||||
ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the breakdown pages "Breakdown" by the most recent elements
|
ACCOUNTING_LIST_SORT_VENTILATION_DONE=Ordenar las páginas de contabilización "Contabilizadas" por los elementos más recientes
|
||||||
|
|
||||||
AccountLength=Longitud de las cuentas contables mostradas en Dolibarr
|
AccountLength=Longitud de las cuentas contables mostradas en Dolibarr
|
||||||
AccountLengthDesc=Función para simular una longitud de cuenta contable sustituyendo los espacios por cero. Esta función sólo afecta a la pantalla, no cambia las cuentas contables registradas en Dolibarr. Esta función es necesaria para la exportación, para ser compatible con algunos programas.
|
AccountLengthDesc=Función para simular una longitud de cuenta contable sustituyendo los espacios por cero. Esta función sólo afecta a la pantalla, no cambia las cuentas contables registradas en Dolibarr. Esta función es necesaria para la exportación, para ser compatible con algunos programas.
|
||||||
@ -140,14 +140,14 @@ Active=Estado
|
|||||||
|
|
||||||
NewFiscalYear=Nuevo año fiscal
|
NewFiscalYear=Nuevo año fiscal
|
||||||
|
|
||||||
DescVentilCustomer=Consult here the annual breakdown accounting of your invoices customers
|
DescVentilCustomer=Consulte aquí la contabilización anual de sus facturas a clientes
|
||||||
TotalVente=Total ventas (base imponible)
|
TotalVente=Total ventas (base imponible)
|
||||||
TotalMarge=Total margen ventas
|
TotalMarge=Total margen ventas
|
||||||
DescVentilDoneCustomer=Consulte aquí las líneas de facturas a clientes y sus cuentas contables
|
DescVentilDoneCustomer=Consulte aquí las líneas de facturas a clientes y sus cuentas contables
|
||||||
DescVentilTodoCustomer=Contabilice sus líneas de facturas a clientes con una cuenta contable
|
DescVentilTodoCustomer=Contabilice sus líneas de facturas a clientes con una cuenta contable
|
||||||
ChangeAccount=Cambie la cuenta para las líneas seleccionadas a la cuenta:
|
ChangeAccount=Cambie la cuenta para las líneas seleccionadas a la cuenta:
|
||||||
Vide=-
|
Vide=-
|
||||||
DescVentilSupplier=Consult here the annual breakdown accounting of your invoices suppliers
|
DescVentilSupplier=Consulte aquí la contabilidad anual de sus facturas de proveedores
|
||||||
DescVentilTodoSupplier=Contabilize sus líneas de facturas de proveedores
|
DescVentilTodoSupplier=Contabilize sus líneas de facturas de proveedores
|
||||||
DescVentilDoneSupplier=Consulte aquí la lista de facturas de proveedores y sus cuentas contables
|
DescVentilDoneSupplier=Consulte aquí la lista de facturas de proveedores y sus cuentas contables
|
||||||
|
|
||||||
@ -155,4 +155,4 @@ ValidateHistory=Validar automáticamente
|
|||||||
|
|
||||||
ErrorAccountancyCodeIsAlreadyUse=Error, no puede eliminar esta cuenta ya que está siendo usada
|
ErrorAccountancyCodeIsAlreadyUse=Error, no puede eliminar esta cuenta ya que está siendo usada
|
||||||
|
|
||||||
FicheVentilation=Breakdown card
|
FicheVentilation=Ficha contable
|
||||||
|
|||||||
@ -437,8 +437,8 @@ Module52Name=Stocks de productos
|
|||||||
Module52Desc=Gestión de stocks de productos
|
Module52Desc=Gestión de stocks de productos
|
||||||
Module53Name=Servicios
|
Module53Name=Servicios
|
||||||
Module53Desc=Gestión de servicios
|
Module53Desc=Gestión de servicios
|
||||||
Module54Name=Contracts/Subscriptions
|
Module54Name=Contratos/Suscripciones
|
||||||
Module54Desc=Management of contracts (services or reccuring subscriptions)
|
Module54Desc=Gestión de contratos (servicios o suscripciones recurrentes)
|
||||||
Module55Name=Códigos de barras
|
Module55Name=Códigos de barras
|
||||||
Module55Desc=Gestión de los códigos de barras
|
Module55Desc=Gestión de los códigos de barras
|
||||||
Module56Name=Telefonía
|
Module56Name=Telefonía
|
||||||
@ -475,8 +475,8 @@ Module320Name=Hilos RSS
|
|||||||
Module320Desc=Adición de hilos de información RSS en las pantallas Dolibarr
|
Module320Desc=Adición de hilos de información RSS en las pantallas Dolibarr
|
||||||
Module330Name=Marcadores
|
Module330Name=Marcadores
|
||||||
Module330Desc=Gestión de marcadores
|
Module330Desc=Gestión de marcadores
|
||||||
Module400Name=Projects/Opportunity
|
Module400Name=Proyectos/Oportunidades
|
||||||
Module400Desc=Management of projects or opportunity. You can then assign all other elements (invoice, order, proposal, intervention, ...) to this projects
|
Module400Desc=Gestión de proyectos o oportunidades. Puede asignar otros elementos (facturas, pedidos, presupuestos, intervenciones, etc.) a los proyectos
|
||||||
Module410Name=Webcalendar
|
Module410Name=Webcalendar
|
||||||
Module410Desc=Interfaz con el calendario Webcalendar
|
Module410Desc=Interfaz con el calendario Webcalendar
|
||||||
Module500Name=Gastos especiales (impuestos, gastos sociales, dividendos)
|
Module500Name=Gastos especiales (impuestos, gastos sociales, dividendos)
|
||||||
@ -495,6 +495,8 @@ Module1780Name=Categorías
|
|||||||
Module1780Desc=Gestión de categorías (productos, proveedores y clientes)
|
Module1780Desc=Gestión de categorías (productos, proveedores y clientes)
|
||||||
Module2000Name=Editor WYSIWYG
|
Module2000Name=Editor WYSIWYG
|
||||||
Module2000Desc=Permite la edición de ciertas zonas de texto mediante un editor avanzado
|
Module2000Desc=Permite la edición de ciertas zonas de texto mediante un editor avanzado
|
||||||
|
Module2200Name=Precios dinámicos
|
||||||
|
Module2200Desc=Activar el uso de expresiones matemáticas para precios
|
||||||
Module2300Name=Programador
|
Module2300Name=Programador
|
||||||
Module2300Desc=Tareas programadas
|
Module2300Desc=Tareas programadas
|
||||||
Module2400Name=Agenda
|
Module2400Name=Agenda
|
||||||
@ -503,6 +505,8 @@ Module2500Name=Gestión Electrónica de Documentos
|
|||||||
Module2500Desc=Permite administrar una base de documentos
|
Module2500Desc=Permite administrar una base de documentos
|
||||||
Module2600Name=WebServices
|
Module2600Name=WebServices
|
||||||
Module2600Desc=Activa los servicios de servidor web services de Dolibarr
|
Module2600Desc=Activa los servicios de servidor web services de Dolibarr
|
||||||
|
Module2650Name=WebServices (cliente)
|
||||||
|
Module2650Desc=Habilitar los servicios web cliente de Dolibarr (puede ser utilizado para grabar datos/solicitudes de servidores externos. De momento solo se soporta pedidos a proveedor)
|
||||||
Module2700Name=Gravatar
|
Module2700Name=Gravatar
|
||||||
Module2700Desc=Utiliza el servicio en línea de Gravatar (www.gravatar.com) para mostrar fotos de los usuarios/miembros (que se encuentran en sus mensajes de correo electrónico). Necesita un acceso a Internet
|
Module2700Desc=Utiliza el servicio en línea de Gravatar (www.gravatar.com) para mostrar fotos de los usuarios/miembros (que se encuentran en sus mensajes de correo electrónico). Necesita un acceso a Internet
|
||||||
Module2800Desc=Cliente FTP
|
Module2800Desc=Cliente FTP
|
||||||
@ -517,7 +521,7 @@ Module6000Desc=Gestión del flujo de trabajo
|
|||||||
Module20000Name=Gestión de días libres retribuidos
|
Module20000Name=Gestión de días libres retribuidos
|
||||||
Module20000Desc=Gestión de los días libres retribuidos de los empleados
|
Module20000Desc=Gestión de los días libres retribuidos de los empleados
|
||||||
Module39000Name=Lotes de productos
|
Module39000Name=Lotes de productos
|
||||||
Module39000Desc=Gestión de lotes y fechas de caducidad y venta de los productos
|
Module39000Desc=Gestión de lotes o series, fechas de caducidad y venta de los productos
|
||||||
Module50000Name=PayBox
|
Module50000Name=PayBox
|
||||||
Module50000Desc=Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paybox
|
Module50000Desc=Módulo para proporcionar un pago en línea con tarjeta de crédito mediante Paybox
|
||||||
Module50100Name=TPV
|
Module50100Name=TPV
|
||||||
@ -606,11 +610,11 @@ Permission151=Consultar domiciliaciones
|
|||||||
Permission152=Crear/modificar domiciliaciones
|
Permission152=Crear/modificar domiciliaciones
|
||||||
Permission153=Enviar domiciliaciones
|
Permission153=Enviar domiciliaciones
|
||||||
Permission154=Abonar/devolver domiciliaciones
|
Permission154=Abonar/devolver domiciliaciones
|
||||||
Permission161=Read contracts/subscriptions
|
Permission161=Consultar contratos/suscripciones
|
||||||
Permission162=Create/modify contracts/subscriptions
|
Permission162=Crear/modificar contratos/suscripciones
|
||||||
Permission163=Activate a service/subscription of a contract
|
Permission163=Activar un servicio/suscripción de un contrato
|
||||||
Permission164=Disable a service/subscription of a contract
|
Permission164=Desactivar un servicio/suscripcion de un contrato
|
||||||
Permission165=Delete contracts/subscriptions
|
Permission165=Eliminar contratos/suscripciones
|
||||||
Permission171=Leer honorarios (propios y de sus subordinados)
|
Permission171=Leer honorarios (propios y de sus subordinados)
|
||||||
Permission172=Crear/modificar honorarios
|
Permission172=Crear/modificar honorarios
|
||||||
Permission173=Eliminar honorarios
|
Permission173=Eliminar honorarios
|
||||||
@ -672,7 +676,7 @@ Permission300=Consultar códigos de barras
|
|||||||
Permission301=Crear/modificar códigos de barras
|
Permission301=Crear/modificar códigos de barras
|
||||||
Permission302=Eliminar código de barras
|
Permission302=Eliminar código de barras
|
||||||
Permission311=Consultar servicios
|
Permission311=Consultar servicios
|
||||||
Permission312=Assign service/subscription to contract
|
Permission312=Asignar servicios/suscripciones a un contrato
|
||||||
Permission331=Consultar marcadores
|
Permission331=Consultar marcadores
|
||||||
Permission332=Crear/modificar marcadores
|
Permission332=Crear/modificar marcadores
|
||||||
Permission333=Eliminar marcadores
|
Permission333=Eliminar marcadores
|
||||||
@ -702,8 +706,8 @@ Permission701=Consultar donaciones
|
|||||||
Permission702=Crear/modificar donaciones
|
Permission702=Crear/modificar donaciones
|
||||||
Permission703=Eliminar donaciones
|
Permission703=Eliminar donaciones
|
||||||
Permission1001=Consultar stocks
|
Permission1001=Consultar stocks
|
||||||
Permission1002=Create/modify warehouses
|
Permission1002=Crear/modificar almacenes
|
||||||
Permission1003=Delete warehouses
|
Permission1003=Eliminar almacenes
|
||||||
Permission1004=Consultar movimientos de stock
|
Permission1004=Consultar movimientos de stock
|
||||||
Permission1005=Crear/modificar movimientos de stock
|
Permission1005=Crear/modificar movimientos de stock
|
||||||
Permission1101=Consultar ordenes de envío
|
Permission1101=Consultar ordenes de envío
|
||||||
@ -1138,7 +1142,7 @@ AddDeliveryAddressAbility=Posibilidad de seleccionar una dirección de envío
|
|||||||
UseOptionLineIfNoQuantity=Una línea de producto/servicio que tiene una cantidad nula se considera como una opción
|
UseOptionLineIfNoQuantity=Una línea de producto/servicio que tiene una cantidad nula se considera como una opción
|
||||||
FreeLegalTextOnProposal=Texto libre en presupuestos
|
FreeLegalTextOnProposal=Texto libre en presupuestos
|
||||||
WatermarkOnDraftProposal=Marca de agua en presupuestos borrador (en caso de estar vacío)
|
WatermarkOnDraftProposal=Marca de agua en presupuestos borrador (en caso de estar vacío)
|
||||||
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal
|
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Preguntar por cuenta bancaria a usar en el presupuesto
|
||||||
##### Orders #####
|
##### Orders #####
|
||||||
OrdersSetup=Configuración del módulo pedidos
|
OrdersSetup=Configuración del módulo pedidos
|
||||||
OrdersNumberingModules=Módulos de numeración de los pedidos
|
OrdersNumberingModules=Módulos de numeración de los pedidos
|
||||||
@ -1160,7 +1164,7 @@ FicheinterNumberingModules=Módulos de numeración de las fichas de intervenció
|
|||||||
TemplatePDFInterventions=Modelo de documentos de las fichas de intervención
|
TemplatePDFInterventions=Modelo de documentos de las fichas de intervención
|
||||||
WatermarkOnDraftInterventionCards=Marca de agua en fichas de intervención (en caso de estar vacío)
|
WatermarkOnDraftInterventionCards=Marca de agua en fichas de intervención (en caso de estar vacío)
|
||||||
##### Contracts #####
|
##### Contracts #####
|
||||||
ContractsSetup=Contracts/Subscriptions module setup
|
ContractsSetup=Configuración del módulo Contratos/suscripciones
|
||||||
ContractsNumberingModules=Módulos de numeración de los contratos
|
ContractsNumberingModules=Módulos de numeración de los contratos
|
||||||
TemplatePDFContracts=Modelos de documento de contratos
|
TemplatePDFContracts=Modelos de documento de contratos
|
||||||
FreeLegalTextOnContracts=Texto libre en contratos
|
FreeLegalTextOnContracts=Texto libre en contratos
|
||||||
@ -1324,7 +1328,7 @@ FilesOfTypeNotCompressed=Archivos de tipo %s no son comprimidos por el servidor
|
|||||||
CacheByServer=Caché mediante el servidor
|
CacheByServer=Caché mediante el servidor
|
||||||
CacheByClient=Caché mediante el navegador
|
CacheByClient=Caché mediante el navegador
|
||||||
CompressionOfResources=Compresión de las respuestas HTTP
|
CompressionOfResources=Compresión de las respuestas HTTP
|
||||||
TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers
|
TestNotPossibleWithCurrentBrowsers=La detección automática no es posible con el navegador actual
|
||||||
##### Products #####
|
##### Products #####
|
||||||
ProductSetup=Configuración del módulo Productos
|
ProductSetup=Configuración del módulo Productos
|
||||||
ServiceSetup=Configuración del módulo Servicios
|
ServiceSetup=Configuración del módulo Servicios
|
||||||
@ -1415,9 +1419,9 @@ OSCommerceTestOk=La conexión al servidor '%s' sobre la base '%s' por el usuario
|
|||||||
OSCommerceTestKo1=La conexión al servidor '%s' sobre la base '%s' por el usuario '%s' no se pudo efectuar.
|
OSCommerceTestKo1=La conexión al servidor '%s' sobre la base '%s' por el usuario '%s' no se pudo efectuar.
|
||||||
OSCommerceTestKo2=La conexión al servidor '%s' por el usuario '%s' ha fallado.
|
OSCommerceTestKo2=La conexión al servidor '%s' por el usuario '%s' ha fallado.
|
||||||
##### Stock #####
|
##### Stock #####
|
||||||
StockSetup=Warehouse module setup
|
StockSetup=Configuración del módulo Almacenes
|
||||||
UserWarehouse=Use user personal warehouses
|
UserWarehouse=Utilizar almacenes personales de usuarios
|
||||||
IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up.
|
IfYouUsePointOfSaleCheckModule=Si utiliza un módulo de Punto de Venta (módulo TPV por defecto u otro módulo externo), esta configuración puede ser ignorada por su módulo de Punto de Venta. La mayor parte de módulos TPV están diseñados para crear inmediatamente una factura y decrementar stocks cualquiera que sean estas opciones. Por lo tanto, si usted necesita o no decrementar stocks en el registro de una venta de su punto de venta, controle también la configuración de su módulo TPV.
|
||||||
##### Menu #####
|
##### Menu #####
|
||||||
MenuDeleted=Menú eliminado
|
MenuDeleted=Menú eliminado
|
||||||
TreeMenu=Estructura de los menús
|
TreeMenu=Estructura de los menús
|
||||||
@ -1482,14 +1486,14 @@ ClickToDialDesc=Este módulo permite agregar un icono después del número de te
|
|||||||
##### Point Of Sales (CashDesk) #####
|
##### Point Of Sales (CashDesk) #####
|
||||||
CashDesk=TPV
|
CashDesk=TPV
|
||||||
CashDeskSetup=Configuración del módulo Terminal Punto de Venta
|
CashDeskSetup=Configuración del módulo Terminal Punto de Venta
|
||||||
CashDeskThirdPartyForSell=Default generic third party to use for sells
|
CashDeskThirdPartyForSell=Tercero genérico a usar para las ventas
|
||||||
CashDeskBankAccountForSell=Cuenta por defecto a utilizar para los cobros en efectivo (caja)
|
CashDeskBankAccountForSell=Cuenta por defecto a utilizar para los cobros en efectivo (caja)
|
||||||
CashDeskBankAccountForCheque= Cuenta por defecto a utilizar para los cobros con cheques
|
CashDeskBankAccountForCheque= Cuenta por defecto a utilizar para los cobros con cheques
|
||||||
CashDeskBankAccountForCB= Cuenta por defecto a utilizar para los cobros con tarjeta de crédito
|
CashDeskBankAccountForCB= Cuenta por defecto a utilizar para los cobros con tarjeta de crédito
|
||||||
CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale
|
CashDeskDoNotDecreaseStock=Desactivar decrementos de stock si una venta se realiza desde TPV
|
||||||
CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease
|
CashDeskIdWareHouse=Forzar y restringir almacén a usar para decremento de stock
|
||||||
StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled
|
StockDecreaseForPointOfSaleDisabled=Decremento de stock desde TPV desactivado
|
||||||
CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required.
|
CashDeskYouDidNotDisableStockDecease=Usted no ha desactivado el decremento de stock al hacer una venta desde TPV. Así que se requiere un almacén.
|
||||||
##### Bookmark #####
|
##### Bookmark #####
|
||||||
BookmarkSetup=Configuración del módulo Marcadores
|
BookmarkSetup=Configuración del módulo Marcadores
|
||||||
BookmarkDesc=Este módulo le permite gestionar los enlaces y accesos directos. También permite añadir cualquier página de Dolibarr o enlace web en el menú de acceso rápido de la izquierda.
|
BookmarkDesc=Este módulo le permite gestionar los enlaces y accesos directos. También permite añadir cualquier página de Dolibarr o enlace web en el menú de acceso rápido de la izquierda.
|
||||||
@ -1543,13 +1547,13 @@ ConfirmDeleteFiscalYear=¿Está seguro de querer eliminar este año fiscal?
|
|||||||
Opened=Abierto
|
Opened=Abierto
|
||||||
Closed=Cerrado
|
Closed=Cerrado
|
||||||
AlwaysEditable=Puede editarse siempre
|
AlwaysEditable=Puede editarse siempre
|
||||||
MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application)
|
MAIN_APPLICATION_TITLE=Forzar visibilidad del nombre de aplicación (advertencia: indicar su propio nombre aquí puede romper la característica de relleno automático de inicio de sesión al utilizar la aplicación móvil DoliDroid)
|
||||||
NbMajMin=Minimum number of uppercase characters
|
NbMajMin=Número mínimo de caracteres en mayúsculas
|
||||||
NbNumMin=Minimum number of numeric characters
|
NbNumMin=Número mínimo de caracteres numéricos
|
||||||
NbSpeMin=Minimum number of special characters
|
NbSpeMin=Número mínimo de caracteres especiales
|
||||||
NbIteConsecutive=Maximum number of repeating same characters
|
NbIteConsecutive=Número máximo de repeticiones de los mismos caracteres
|
||||||
NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation
|
NoAmbiCaracAutoGeneration=No usar caracteres ambiguos ("1","l","i","|","0","O") para la generación automática
|
||||||
SalariesSetup=Setup of module salaries
|
SalariesSetup=Configuración del módulo salarios
|
||||||
SortOrder=Sort order
|
SortOrder=Ordenación
|
||||||
Format=Formatear
|
Format=Formatear
|
||||||
TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor
|
TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor
|
||||||
|
|||||||
@ -44,7 +44,7 @@ AgendaExtSitesDesc=Esta página le permite configurar calendarios externos para
|
|||||||
ActionsEvents=Eventos para que Dolibarr cree un evento en la agenda de forma automática
|
ActionsEvents=Eventos para que Dolibarr cree un evento en la agenda de forma automática
|
||||||
PropalValidatedInDolibarr=Presupuesto %s validado
|
PropalValidatedInDolibarr=Presupuesto %s validado
|
||||||
InvoiceValidatedInDolibarr=Factura %s validada
|
InvoiceValidatedInDolibarr=Factura %s validada
|
||||||
InvoiceValidatedInDolibarrFromPos=Invoice %s validated from POS
|
InvoiceValidatedInDolibarrFromPos=Factura %s validada desde TPV
|
||||||
InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador
|
InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador
|
||||||
InvoiceDeleteDolibarr=Factura %s eliminada
|
InvoiceDeleteDolibarr=Factura %s eliminada
|
||||||
OrderValidatedInDolibarr= Pedido %s validado
|
OrderValidatedInDolibarr= Pedido %s validado
|
||||||
|
|||||||
@ -217,7 +217,7 @@ NoInvoice=Ninguna factura
|
|||||||
ClassifyBill=Clasificar la factura
|
ClassifyBill=Clasificar la factura
|
||||||
SupplierBillsToPay=Facturas de proveedores a pagar
|
SupplierBillsToPay=Facturas de proveedores a pagar
|
||||||
CustomerBillsUnpaid=Facturas a clientes pendientes de cobro
|
CustomerBillsUnpaid=Facturas a clientes pendientes de cobro
|
||||||
DispenseMontantLettres=The written invoices through mecanographic procedures are dispensed by the order in letters
|
DispenseMontantLettres=Las facturas escritas a través de procedimientos mecanograficos son dispensadas por la orden en letras
|
||||||
NonPercuRecuperable=No percibido recuperable
|
NonPercuRecuperable=No percibido recuperable
|
||||||
SetConditions=Definir condiciones de pago
|
SetConditions=Definir condiciones de pago
|
||||||
SetMode=Definir modo de pago
|
SetMode=Definir modo de pago
|
||||||
|
|||||||
@ -109,4 +109,4 @@ CategoriesSetup=Configuración de categorías
|
|||||||
CategorieRecursiv=Enlazar con la categoría padre automáticamente
|
CategorieRecursiv=Enlazar con la categoría padre automáticamente
|
||||||
CategorieRecursivHelp=Si está activado, el producto se enlazará a la categoría padre si lo añadimos a una subcategoría
|
CategorieRecursivHelp=Si está activado, el producto se enlazará a la categoría padre si lo añadimos a una subcategoría
|
||||||
AddProductServiceIntoCategory=Añadir el siguiente producto/servicio
|
AddProductServiceIntoCategory=Añadir el siguiente producto/servicio
|
||||||
ShowCategory=Show category
|
ShowCategory=Mostrar categoría
|
||||||
|
|||||||
@ -108,7 +108,7 @@ ErrorWrongAccountancyCodeForCompany=Código contable incorrecto para %s
|
|||||||
SuppliersProductsSellSalesTurnover=Volumen de ventas generado por la venta de los productos de los proveedores
|
SuppliersProductsSellSalesTurnover=Volumen de ventas generado por la venta de los productos de los proveedores
|
||||||
CheckReceipt=Lista de remesas
|
CheckReceipt=Lista de remesas
|
||||||
CheckReceiptShort=Remesas
|
CheckReceiptShort=Remesas
|
||||||
LastCheckReceiptShort=Last %s check receipts
|
LastCheckReceiptShort=%s Últimas remesas
|
||||||
NewCheckReceipt=Nueva remesa
|
NewCheckReceipt=Nueva remesa
|
||||||
NewCheckDeposit=Nuevo ingreso
|
NewCheckDeposit=Nuevo ingreso
|
||||||
NewCheckDepositOn=Crear nueva remesa en la cuenta: %s
|
NewCheckDepositOn=Crear nueva remesa en la cuenta: %s
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# Dolibarr language file - Source file is en_US - contracts
|
# Dolibarr language file - Source file is en_US - contracts
|
||||||
ContractsArea=Área contratos
|
ContractsArea=Área contratos
|
||||||
ListOfContracts=Listado de contratos
|
ListOfContracts=Listado de contratos
|
||||||
LastModifiedContracts=Last %s modified contracts
|
LastModifiedContracts=%s Últimos contratos modificados
|
||||||
AllContracts=Todos los contratos
|
AllContracts=Todos los contratos
|
||||||
ContractCard=Ficha contrato
|
ContractCard=Ficha contrato
|
||||||
ContractStatus=Estado del contrato
|
ContractStatus=Estado del contrato
|
||||||
@ -53,7 +53,7 @@ ListOfRunningContractsLines=Listado de líneas de contratos en servicio
|
|||||||
ListOfRunningServices=Listado de servicios activos
|
ListOfRunningServices=Listado de servicios activos
|
||||||
NotActivatedServices=Servicios no activados (con los contratos validados)
|
NotActivatedServices=Servicios no activados (con los contratos validados)
|
||||||
BoardNotActivatedServices=Servicios a activar con los contratos validados
|
BoardNotActivatedServices=Servicios a activar con los contratos validados
|
||||||
LastContracts=Last % contracts
|
LastContracts=%s Últimos contratos
|
||||||
LastActivatedServices=Los %s últimos servicios activados
|
LastActivatedServices=Los %s últimos servicios activados
|
||||||
LastModifiedServices=Los %s últimos servicios modificados
|
LastModifiedServices=Los %s últimos servicios modificados
|
||||||
EditServiceLine=Edición línea del servicio
|
EditServiceLine=Edición línea del servicio
|
||||||
|
|||||||
@ -18,7 +18,7 @@ CronExplainHowToRunUnix=En entorno Unix debes usar crontab para ejecutar el coma
|
|||||||
CronExplainHowToRunWin=En un entorno de Microsoft(tm) Windows puedes usar el programador de tareas para ejecutar el comando cada varios minutos
|
CronExplainHowToRunWin=En un entorno de Microsoft(tm) Windows puedes usar el programador de tareas para ejecutar el comando cada varios minutos
|
||||||
# Menu
|
# Menu
|
||||||
CronJobs=Tareas programadas
|
CronJobs=Tareas programadas
|
||||||
CronListActive=List of active/scheduled jobs
|
CronListActive=Listado de tareas activas/programadas
|
||||||
CronListInactive=Tareas Inactivas
|
CronListInactive=Tareas Inactivas
|
||||||
# Page list
|
# Page list
|
||||||
CronDateLastRun=Últ. ejec.
|
CronDateLastRun=Últ. ejec.
|
||||||
|
|||||||
@ -31,8 +31,8 @@ DonationRecipient=Beneficiario
|
|||||||
ThankYou=Muchas gracias
|
ThankYou=Muchas gracias
|
||||||
IConfirmDonationReception=El beneficiario confirma la recepción, como donación, de la siguiente cantidad
|
IConfirmDonationReception=El beneficiario confirma la recepción, como donación, de la siguiente cantidad
|
||||||
MinimumAmount=El importe mínimo es %s
|
MinimumAmount=El importe mínimo es %s
|
||||||
FreeTextOnDonations=Free text to show in footer
|
FreeTextOnDonations=Texto libre a mostrar a pié de página
|
||||||
FrenchOptions=Options for France
|
FrenchOptions=Opciones para Francia
|
||||||
DONATION_ART200=Show article 200 from CGI if you are concerned
|
DONATION_ART200=Mostrar artículo 200 del CGI si se está interesado
|
||||||
DONATION_ART238=Show article 238 from CGI if you are concerned
|
DONATION_ART238=Mostrar artículo 238 del CGI si se está interesado
|
||||||
DONATION_ART885=Show article 885 from CGI if you are concerned
|
DONATION_ART885=Mostrar artículo 885 del CGI si se está interesado
|
||||||
|
|||||||
@ -138,6 +138,24 @@ ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, este miembro aún no es
|
|||||||
ErrorThereIsSomeDeliveries=Error, hay entregas vinculadas a este envío. No se puede eliminar.
|
ErrorThereIsSomeDeliveries=Error, hay entregas vinculadas a este envío. No se puede eliminar.
|
||||||
ErrorCantDeletePaymentReconciliated=No se puede eliminar un pago que ha generado una transacción bancaria que se encuentra conciliada
|
ErrorCantDeletePaymentReconciliated=No se puede eliminar un pago que ha generado una transacción bancaria que se encuentra conciliada
|
||||||
ErrorCantDeletePaymentSharedWithPayedInvoice=No se puede eliminar un pago de varias factura con alguna factura con estado Pagada
|
ErrorCantDeletePaymentSharedWithPayedInvoice=No se puede eliminar un pago de varias factura con alguna factura con estado Pagada
|
||||||
|
ErrorPriceExpression1=No se puede asignar a la constante '%s'
|
||||||
|
ErrorPriceExpression2=No se puede redefinir la función incorporada '%s'
|
||||||
|
ErrorPriceExpression3=Variable '%s' no definida en la definición de la función
|
||||||
|
ErrorPriceExpression4=Carácter '%s' ilegal
|
||||||
|
ErrorPriceExpression5=No se esperaba '%s'
|
||||||
|
ErrorPriceExpression6=Número de argumentos inadecuados (%s dados, %s esperados)
|
||||||
|
ErrorPriceExpression8=Operador '%s' no esperado
|
||||||
|
ErrorPriceExpression9=Ha ocurrido un error no esperado
|
||||||
|
ErrorPriceExpression10=Operador '%s' carece de operando
|
||||||
|
ErrorPriceExpression11=Se esperaba '%s'
|
||||||
|
ErrorPriceExpression14=División por cero
|
||||||
|
ErrorPriceExpression17=Variable '%s' indefinida
|
||||||
|
ErrorPriceExpression19=Expresión no encontrada
|
||||||
|
ErrorPriceExpression20=Expresión vacía
|
||||||
|
ErrorPriceExpression21=Resultado '%s' vacío
|
||||||
|
ErrorPriceExpression22=Resultado '%s' negativo
|
||||||
|
ErrorPriceExpressionInternal=Error interno '%s'
|
||||||
|
ErrorPriceExpressionUnknown=Error desconocido '%s'
|
||||||
|
|
||||||
# Warnings
|
# Warnings
|
||||||
WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos
|
WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos
|
||||||
|
|||||||
@ -2,4 +2,4 @@
|
|||||||
ExternalSiteSetup=Configuración del enlace al sitio web externo
|
ExternalSiteSetup=Configuración del enlace al sitio web externo
|
||||||
ExternalSiteURL=URL del sitio externo
|
ExternalSiteURL=URL del sitio externo
|
||||||
ExternalSiteModuleNotComplete=El módulo Sitio web externo no ha sido configurado correctamente.
|
ExternalSiteModuleNotComplete=El módulo Sitio web externo no ha sido configurado correctamente.
|
||||||
ExampleMyMenuEntry=My menu entry
|
ExampleMyMenuEntry=Mi entrada de menú
|
||||||
|
|||||||
@ -31,14 +31,14 @@ RelatedInterventions=Intervenciones adjuntas
|
|||||||
ShowIntervention=Mostrar intervención
|
ShowIntervention=Mostrar intervención
|
||||||
SendInterventionRef=Envío de la intervención %s
|
SendInterventionRef=Envío de la intervención %s
|
||||||
SendInterventionByMail=Enviar intervención por e-mail
|
SendInterventionByMail=Enviar intervención por e-mail
|
||||||
InterventionCreatedInDolibarr=Intervention %s created
|
InterventionCreatedInDolibarr=Intervención %s creada
|
||||||
InterventionValidatedInDolibarr=Intervention %s validated
|
InterventionValidatedInDolibarr=Intervención %s validada
|
||||||
InterventionModifiedInDolibarr=Intervention %s modified
|
InterventionModifiedInDolibarr=Intervención %s modificada
|
||||||
InterventionClassifiedBilledInDolibarr=Intervention %s set as billed
|
InterventionClassifiedBilledInDolibarr=Intervención %s clasificada como facturada
|
||||||
InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled
|
InterventionClassifiedUnbilledInDolibarr=Intervención %s clasificada como no facturada
|
||||||
InterventionSentByEMail=Intervention %s sent by EMail
|
InterventionSentByEMail=Intervención %s enviada por E-Mail
|
||||||
InterventionDeletedInDolibarr=Intervention %s deleted
|
InterventionDeletedInDolibarr=Intervención %s eliminada
|
||||||
SearchAnIntervention=Search an intervention
|
SearchAnIntervention=Buscar una intervención
|
||||||
##### Types de contacts #####
|
##### Types de contacts #####
|
||||||
TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguimiento de la intervención
|
TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguimiento de la intervención
|
||||||
TypeContact_fichinter_internal_INTERVENING=Interventor
|
TypeContact_fichinter_internal_INTERVENING=Interventor
|
||||||
|
|||||||
@ -115,7 +115,7 @@ SentBy=Enviado por
|
|||||||
MailingNeedCommand=Por razones de seguridad, el envío de un E-Mailing en masa debe realizarse en línea de comandos. Pida a su administrador que lance el comando siguiente para para enviar la correspondencia a a todos los destinatarios:
|
MailingNeedCommand=Por razones de seguridad, el envío de un E-Mailing en masa debe realizarse en línea de comandos. Pida a su administrador que lance el comando siguiente para para enviar la correspondencia a a todos los destinatarios:
|
||||||
MailingNeedCommand2=Puede enviar en línea añadiendo el parámetro MAILING_LIMIT_SENDBYWEB con un valor numérico que indica el máximo nº de e-mails a enviar por sesión. Para ello vaya a Inicio - Configuración - Varios.
|
MailingNeedCommand2=Puede enviar en línea añadiendo el parámetro MAILING_LIMIT_SENDBYWEB con un valor numérico que indica el máximo nº de e-mails a enviar por sesión. Para ello vaya a Inicio - Configuración - Varios.
|
||||||
ConfirmSendingEmailing=¿Confirma el envío del e-mailing?
|
ConfirmSendingEmailing=¿Confirma el envío del e-mailing?
|
||||||
LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, <b>%s</b> recipients at a time for each sending session.
|
LimitSendingEmailing=Nota: El envío de e-mailings desde la interfaz web se realiza en tandas por razones de seguridad y timeouts, se enviarán a <b>%s</b> destinatarios por tanda.
|
||||||
TargetsReset=Vaciar lista
|
TargetsReset=Vaciar lista
|
||||||
ToClearAllRecipientsClickHere=Para vaciar la lista de los destinatarios de este E-Mailing, haga click en el botón
|
ToClearAllRecipientsClickHere=Para vaciar la lista de los destinatarios de este E-Mailing, haga click en el botón
|
||||||
ToAddRecipientsChooseHere=Para añadir destinatarios, escoja los que figuran en las listas a continuación
|
ToAddRecipientsChooseHere=Para añadir destinatarios, escoja los que figuran en las listas a continuación
|
||||||
@ -136,6 +136,6 @@ SomeNotificationsWillBeSent=%s notificaciones van a ser enviadas por e-mail
|
|||||||
AddNewNotification=Activar un nuevo destinatario de notificaciones
|
AddNewNotification=Activar un nuevo destinatario de notificaciones
|
||||||
ListOfActiveNotifications=Listado de todos los destinatarios de notificaciones
|
ListOfActiveNotifications=Listado de todos los destinatarios de notificaciones
|
||||||
ListOfNotificationsDone=Listado de notificaciones enviadas
|
ListOfNotificationsDone=Listado de notificaciones enviadas
|
||||||
MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing.
|
MailSendSetupIs=La configuración de e-mailings está a '%s'. Este modo no puede ser usado para enviar e-mails masivos.
|
||||||
MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter <strong>'%s'</strong> to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature.
|
MailSendSetupIs2=Antes debe, con una cuenta de administrador, en el menú %sInicio - Configuración - E-Mails%s, cambiar el parámetro <strong>'%s'</strong> para usar el modo '%s'. Con este modo puede configurar un servidor SMTP de su proveedor de servicios de internet.
|
||||||
MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s.
|
MailSendSetupIs3=Si tiene preguntas de como configurar su servidor SMTP, puede contactar con %s.
|
||||||
|
|||||||
@ -367,7 +367,7 @@ ActionsOnCompany=Eventos respecto a este tercero
|
|||||||
ActionsOnMember=Eventos respecto a este miembro
|
ActionsOnMember=Eventos respecto a este miembro
|
||||||
NActions=%s eventos
|
NActions=%s eventos
|
||||||
NActionsLate=%s en retraso
|
NActionsLate=%s en retraso
|
||||||
RequestAlreadyDone=Request already recorded
|
RequestAlreadyDone=Solicitud ya registrada
|
||||||
Filter=Filtro
|
Filter=Filtro
|
||||||
RemoveFilter=Eliminar filtro
|
RemoveFilter=Eliminar filtro
|
||||||
ChartGenerated=Gráficos generados
|
ChartGenerated=Gráficos generados
|
||||||
|
|||||||
@ -41,4 +41,4 @@ AgentContactType=Tipo de contacto comisionado
|
|||||||
AgentContactTypeDetails=Indique qué tipo de contacto (enlazado a las facturas) será el utilizado para el informe de márgenes de agentes comerciales
|
AgentContactTypeDetails=Indique qué tipo de contacto (enlazado a las facturas) será el utilizado para el informe de márgenes de agentes comerciales
|
||||||
rateMustBeNumeric=El margen debe ser un valor numérico
|
rateMustBeNumeric=El margen debe ser un valor numérico
|
||||||
markRateShouldBeLesserThan100=El margen tiene que ser menor que 100
|
markRateShouldBeLesserThan100=El margen tiene que ser menor que 100
|
||||||
ShowMarginInfos=Show margin infos
|
ShowMarginInfos=Mostrar info de márgenes
|
||||||
|
|||||||
@ -203,3 +203,4 @@ MembersByNature=Miembros por naturaleza
|
|||||||
VATToUseForSubscriptions=Tasa de IVA para las afiliaciones
|
VATToUseForSubscriptions=Tasa de IVA para las afiliaciones
|
||||||
NoVatOnSubscription=Sin IVA para en las afiliaciones
|
NoVatOnSubscription=Sin IVA para en las afiliaciones
|
||||||
MEMBER_PAYONLINE_SENDEMAIL=E-Mail para advertir en caso de recepción de confirmación de un pago validado de una afiliación
|
MEMBER_PAYONLINE_SENDEMAIL=E-Mail para advertir en caso de recepción de confirmación de un pago validado de una afiliación
|
||||||
|
ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Producto usado para las suscripciones en línea en facturas: %s
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user