Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop
This commit is contained in:
commit
a10b836e8a
17
.travis.yml
17
.travis.yml
@ -3,14 +3,21 @@
|
||||
# Command run is phpunit
|
||||
# For syntax, see http://about.travis-ci.org/docs/user/languages/php/
|
||||
|
||||
notifications:
|
||||
email:
|
||||
on_success: never # [always|never|change] default: change
|
||||
on_failure: always # [always|never|change] default: always
|
||||
|
||||
services:
|
||||
- memcached # will start memcached
|
||||
|
||||
# This will tell travis to run phpunit
|
||||
language: php
|
||||
php:
|
||||
# - "5.2" is not supported because pyrus to install PHP_Codesniffer is not available
|
||||
- "5.3"
|
||||
- "5.4"
|
||||
- "5.5"
|
||||
|
||||
env:
|
||||
- DB=mysql
|
||||
@ -20,7 +27,9 @@ before_script:
|
||||
- echo Start travis
|
||||
- echo Current dir is `pwd`
|
||||
- echo Home dir is `echo ~`
|
||||
- echo Update composer
|
||||
- export PHPV=`phpenv version-name`
|
||||
- echo PHP version $PHPV
|
||||
# - echo Update composer
|
||||
# - ~/.phpenv/versions/$(phpenv version-name)/bin/composer.phar self-update
|
||||
- echo Install phpcs then show installed rules
|
||||
- pyrus install pear/PHP_CodeSniffer
|
||||
@ -35,10 +44,12 @@ before_script:
|
||||
- find $(pwd)/htdocs/documents -type d -exec ls -alt {} \;
|
||||
- echo Edit php.ini file
|
||||
- echo 'date.timezone = "Europe/Paris"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "extension = apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
# - echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "zend_extension_ts = xdebug.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- sh -c "if [ '$PHPV' = '5.3' ]; then echo 'extension = apc.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- sh -c "if [ '$PHPV' = '5.4' ]; then echo 'extension = apc.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- sh -c "if [ '$PHPV' = '5.3' ]; then echo 'zend_extension_ts = xdebug.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- sh -c "if [ '$PHPV' = '5.4' ]; then echo 'zend_extension_ts = xdebug.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- cat ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo Init database
|
||||
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS myapp_test;' -U postgres; fi"
|
||||
|
||||
36
ChangeLog
36
ChangeLog
@ -41,18 +41,18 @@ For users:
|
||||
- New: A more responsive desgin for statistic box of home page.
|
||||
- Qual: Implement same rule for return value of all command line scripts (0 when success, <>0 if error).
|
||||
- New: [ task #1005 ] Adapting to Spanish legislation bill numbering
|
||||
- New: [ task #1011 ] Now supplier order and invoice deal with payment terms and mode
|
||||
- New: [ task #1014 ] Add option to recursivly add parent category
|
||||
- New: [ task #1016 ] Can define a specific numbering for deposits
|
||||
- New: [ task #918 ] Stock replenishment
|
||||
- Fix: [ bug #992 ] Proforma invoices don't have a separated numeric count
|
||||
- New : Add pdf link into supplier invoice list and supplier order list
|
||||
- New : Genrate auto the PDF for supplier invoice
|
||||
- New : Add category into filter webservice thirdparty method getListOfThirdParties
|
||||
- New : Allow to define margin or mark rate during quoting, ordering, invoicing
|
||||
- New : User permissions on margin module
|
||||
- New : Add ref supplier into muscadet model
|
||||
- New : Add ability to copy contact address to clipboard
|
||||
- New: [ task #1011 ] Now supplier order and invoice deal with payment terms and mode.
|
||||
- New: [ task #1014 ] Add option to recursivly add parent category.
|
||||
- New: [ task #1016 ] Can define a specific numbering for deposits.
|
||||
- New: [ task #918 ] Stock replenishment.
|
||||
- Fix: [ bug #992 ] Proforma invoices don't have a separated numeric count.
|
||||
- New : Add pdf link into supplier invoice list and supplier order list.
|
||||
- New : Genrate auto the PDF for supplier invoice.
|
||||
- New : Add category into filter webservice thirdparty method getListOfThirdParties.
|
||||
- New : Allow to define margin or mark rate during quoting, ordering, invoicing.
|
||||
- New : User permissions on margin module.
|
||||
- New : Add ref supplier into muscadet model/
|
||||
- New : Add ability to copy contact address to clipboard.
|
||||
- New: Can use tag {mm} before {yy} even when there is a reset into numbering masks.
|
||||
- New: [ task #1060 ] Register fields localtax(1|2)_type into details tables.
|
||||
- New: [ task #923 ] Localtax support for ODT templates.
|
||||
@ -61,7 +61,10 @@ For users:
|
||||
- New: Can send an email from thirdparty card.
|
||||
- New: Can cancel holidays that were previously validated.
|
||||
- Fix: [bug #1022] correct margin calculation for credit notes.
|
||||
- New: Can choose contact on event (action com) creation, and filtred by thirdparty
|
||||
- New: Can choose contact on event (action com) creation, and filtred by thirdparty.
|
||||
- New: Add hidden option MAIN_FORCE_DEFAULT_STATE_ID.
|
||||
- New: Add page to make mass stock movement.
|
||||
- New: Add field oustanding limit into thirdparty properties.
|
||||
|
||||
For translators:
|
||||
- Qual: Normalized sort order of all languages files with english reference files.
|
||||
@ -142,6 +145,9 @@ Fix: Delete linked element to supplier invoice when deleted
|
||||
Fix: [ bug #1061 ] Bad info shipped products
|
||||
Fix: [ bug #1062 ] Documents lost in propals and contracts validating
|
||||
Fix: Supplier price displayed on document lines and margin infos didnt take discount
|
||||
Fix: sorting on qty did not work in supplier product list
|
||||
Fix: there was no escaping on filter fields in supplier product list
|
||||
Fix: bugs on margin reports and better margin calculation on credit notes
|
||||
Qual: Add travis-ci integration
|
||||
|
||||
|
||||
@ -243,6 +249,8 @@ backport commit 384e3812eb73a15adafb472cacfb93397a54459b to fix W3C/edit contrac
|
||||
|
||||
***** ChangeLog for 3.3.4 compared to 3.3.3 *****
|
||||
- Fix: [ bug #1001 ] Social Contribution : State not correct
|
||||
- Fix: Better management of pdf generation when tcpdf is not available.
|
||||
- Fix: Change to be more debian compliant natively.
|
||||
|
||||
***** ChangeLog for 3.3.3 compared to 3.3.2 *****
|
||||
- Fix: [ bug #903 ] Fatal error: Call to undefined function dol_get_first_day() in htdocs/commande/liste.php
|
||||
@ -308,7 +316,7 @@ For users:
|
||||
- New: Can list elements (invoices, orders or proposals) on a particular
|
||||
user contact). This allow to view a "basket" of its elements.
|
||||
- New: Show bank account on payment list of invoice card.
|
||||
- New: Cloning project allow to clones task, notes, files, contacts.
|
||||
- New: Cloning project allow to clones task, notes, projects files, tasks files, contacts.
|
||||
- New: Enhance default style.
|
||||
- New: Can edit and resiliate member status from list.
|
||||
- New: Can insert URL links into elements lines. Also reported into PDF.
|
||||
|
||||
@ -207,8 +207,11 @@ Note: If there was errors managed manually, you may need to make a git commit bu
|
||||
> sbuild ...
|
||||
> dput ...
|
||||
|
||||
* Go into page. You should see new package into unstable.
|
||||
http://packages.qa.debian.org/t/tcpdf.html
|
||||
* Package arrives into FTPmaster taskboard with status NEW (pending upload). You can view it at:
|
||||
http://ftp-master.debian.org/new/
|
||||
|
||||
* Once package is validated, you should see it into area unstable at:
|
||||
http://packages.qa.debian.org
|
||||
|
||||
* Package will be into release when test will be moved as stable.
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -10,7 +10,7 @@
|
||||
# ISO-3166 alpha 3: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
|
||||
|
||||
AFGHANISTAN;AF
|
||||
ÅLAND ISLANDS;AX
|
||||
ÅLAND ISLANDS;AX
|
||||
ALBANIA;AL
|
||||
ALGERIA;DZ
|
||||
AMERICAN SAMOA;AS
|
||||
@ -62,7 +62,7 @@ CONGO;CG
|
||||
CONGO, THE DEMOCRATIC REPUBLIC OF THE;CD
|
||||
COOK ISLANDS;CK
|
||||
COSTA RICA;CR
|
||||
CÔTE D'IVOIRE;CI
|
||||
CÔTE D'IVOIRE;CI
|
||||
CROATIA;HR
|
||||
CUBA;CU
|
||||
CYPRUS;CY
|
||||
@ -192,7 +192,7 @@ REUNION;RE
|
||||
ROMANIA;RO
|
||||
RUSSIAN FEDERATION;RU
|
||||
RWANDA;RW
|
||||
SAINT BARTHÉLEMY;BL
|
||||
SAINT BARTHÉLEMY;BL
|
||||
SAINT HELENA;SH
|
||||
SAINT KITTS AND NEVIS;KN
|
||||
SAINT LUCIA;LC
|
||||
|
||||
@ -11,118 +11,118 @@
|
||||
|
||||
AFGHANISTAN;AF
|
||||
AFRIQUE DU SUD;ZA
|
||||
ÅLAND, ÎLES;AX
|
||||
ÅLAND, ÎLES;AX
|
||||
ALBANIE;AL
|
||||
ALGÉRIE;DZ
|
||||
ALGÉRIE;DZ
|
||||
ALLEMAGNE;DE
|
||||
ANDORRE;AD
|
||||
ANGOLA;AO
|
||||
ANGUILLA;AI
|
||||
ANTARCTIQUE;AQ
|
||||
ANTIGUA-ET-BARBUDA;AG
|
||||
ANTILLES NÉERLANDAISES;AN
|
||||
ANTILLES NÉERLANDAISES;AN
|
||||
ARABIE SAOUDITE;SA
|
||||
ARGENTINE;AR
|
||||
ARMÉNIE;AM
|
||||
ARMÉNIE;AM
|
||||
ARUBA;AW
|
||||
AUSTRALIE;AU
|
||||
AUTRICHE;AT
|
||||
AZERBAÏDJAN;AZ
|
||||
AZERBAÏDJAN;AZ
|
||||
BAHAMAS;BS
|
||||
BAHREÏN;BH
|
||||
BAHREÏN;BH
|
||||
BANGLADESH;BD
|
||||
BARBADE;BB
|
||||
BÉLARUS;BY
|
||||
BÉLARUS;BY
|
||||
BELGIQUE;BE
|
||||
BELIZE;BZ
|
||||
BÉNIN;BJ
|
||||
BÉNIN;BJ
|
||||
BERMUDES;BM
|
||||
BHOUTAN;BT
|
||||
BOLIVIE;BO
|
||||
BOSNIE-HERZÉGOVINE;BA
|
||||
BOSNIE-HERZÉGOVINE;BA
|
||||
BOTSWANA;BW
|
||||
BOUVET, ÎLE;BV
|
||||
BRÉSIL;BR
|
||||
BRUNÉI DARUSSALAM;BN
|
||||
BOUVET, ÎLE;BV
|
||||
BRÉSIL;BR
|
||||
BRUNÉI DARUSSALAM;BN
|
||||
BULGARIE;BG
|
||||
BURKINA FASO;BF
|
||||
BURUNDI;BI
|
||||
CAÏMANES, ÎLES;KY
|
||||
CAÏMANES, ÎLES;KY
|
||||
CAMBODGE;KH
|
||||
CAMEROUN;CM
|
||||
CANADA;CA
|
||||
CAP-VERT;CV
|
||||
CENTRAFRICAINE, RÉPUBLIQUE;CF
|
||||
CENTRAFRICAINE, RÉPUBLIQUE;CF
|
||||
CHILI;CL
|
||||
CHINE;CN
|
||||
CHRISTMAS, ÎLE;CX
|
||||
CHRISTMAS, ÎLE;CX
|
||||
CHYPRE;CY
|
||||
COCOS (KEELING), ÎLES;CC
|
||||
COCOS (KEELING), ÎLES;CC
|
||||
COLOMBIE;CO
|
||||
COMORES;KM
|
||||
CONGO;CG
|
||||
CONGO, LA RÉPUBLIQUE DÉMOCRATIQUE DU;CD
|
||||
COOK, ÎLES;CK
|
||||
CORÉE, RÉPUBLIQUE DE;KR
|
||||
CORÉE, RÉPUBLIQUE POPULAIRE DÉMOCRATIQUE DE;KP
|
||||
CONGO, LA RÉPUBLIQUE DÉMOCRATIQUE DU;CD
|
||||
COOK, ÎLES;CK
|
||||
CORÉE, RÉPUBLIQUE DE;KR
|
||||
CORÉE, RÉPUBLIQUE POPULAIRE DÉMOCRATIQUE DE;KP
|
||||
COSTA RICA;CR
|
||||
CÔTE D'IVOIRE;CI
|
||||
CÔTE D'IVOIRE;CI
|
||||
CROATIE;HR
|
||||
CUBA;CU
|
||||
DANEMARK;DK
|
||||
DJIBOUTI;DJ
|
||||
DOMINICAINE, RÉPUBLIQUE;DO
|
||||
DOMINICAINE, RÉPUBLIQUE;DO
|
||||
DOMINIQUE;DM
|
||||
ÉGYPTE;EG
|
||||
ÉGYPTE;EG
|
||||
EL SALVADOR;SV
|
||||
ÉMIRATS ARABES UNIS;AE
|
||||
ÉQUATEUR;EC
|
||||
ÉRYTHRÉE;ER
|
||||
ÉMIRATS ARABES UNIS;AE
|
||||
ÉQUATEUR;EC
|
||||
ÉRYTHRÉE;ER
|
||||
ESPAGNE;ES
|
||||
ESTONIE;EE
|
||||
ÉTATS-UNIS;US
|
||||
ÉTHIOPIE;ET
|
||||
FALKLAND, ÎLES (MALVINAS);FK
|
||||
FÉROÉ, ÎLES;FO
|
||||
ÉTATS-UNIS;US
|
||||
ÉTHIOPIE;ET
|
||||
FALKLAND, ÎLES (MALVINAS);FK
|
||||
FÉROÉ, ÎLES;FO
|
||||
FIDJI;FJ
|
||||
FINLANDE;FI
|
||||
FRANCE;FR
|
||||
GABON;GA
|
||||
GAMBIE;GM
|
||||
GÉORGIE;GE
|
||||
GÉORGIE DU SUD ET LES ÎLES SANDWICH DU SUD;GS
|
||||
GÉORGIE;GE
|
||||
GÉORGIE DU SUD ET LES ÎLES SANDWICH DU SUD;GS
|
||||
GHANA;GH
|
||||
GIBRALTAR;GI
|
||||
GRÈCE;GR
|
||||
GRÈCE;GR
|
||||
GRENADE;GD
|
||||
GROENLAND;GL
|
||||
GUADELOUPE;GP
|
||||
GUAM;GU
|
||||
GUATEMALA;GT
|
||||
GUERNESEY;GG
|
||||
GUINÉE;GN
|
||||
GUINÉE-BISSAU;GW
|
||||
GUINÉE ÉQUATORIALE;GQ
|
||||
GUINÉE;GN
|
||||
GUINÉE-BISSAU;GW
|
||||
GUINÉE ÉQUATORIALE;GQ
|
||||
GUYANA;GY
|
||||
GUYANE FRANÇAISE;GF
|
||||
HAÏTI;HT
|
||||
HEARD, ÎLE ET MCDONALD, ÎLES;HM
|
||||
GUYANE FRANÇAISE;GF
|
||||
HAÏTI;HT
|
||||
HEARD, ÎLE ET MCDONALD, ÎLES;HM
|
||||
HONDURAS;HN
|
||||
HONG-KONG;HK
|
||||
HONGRIE;HU
|
||||
ÎLE DE MAN;IM
|
||||
ÎLES MINEURES ÉLOIGNÉES DES ÉTATS-UNIS;UM
|
||||
ÎLES VIERGES BRITANNIQUES;VG
|
||||
ÎLES VIERGES DES ÉTATS-UNIS;VI
|
||||
ÎLE DE MAN;IM
|
||||
ÎLES MINEURES ÉLOIGNÉES DES ÉTATS-UNIS;UM
|
||||
ÎLES VIERGES BRITANNIQUES;VG
|
||||
ÎLES VIERGES DES ÉTATS-UNIS;VI
|
||||
INDE;IN
|
||||
INDONÉSIE;ID
|
||||
IRAN, RÉPUBLIQUE ISLAMIQUE D';IR
|
||||
INDONÉSIE;ID
|
||||
IRAN, RÉPUBLIQUE ISLAMIQUE D';IR
|
||||
IRAQ;IQ
|
||||
IRLANDE;IE
|
||||
ISLANDE;IS
|
||||
ISRAËL;IL
|
||||
ISRAËL;IL
|
||||
ITALIE;IT
|
||||
JAMAÏQUE;JM
|
||||
JAMAÏQUE;JM
|
||||
JAPON;JP
|
||||
JERSEY;JE
|
||||
JORDANIE;JO
|
||||
@ -130,120 +130,120 @@ KAZAKHSTAN;KZ
|
||||
KENYA;KE
|
||||
KIRGHIZISTAN;KG
|
||||
KIRIBATI;KI
|
||||
KOWEÏT;KW
|
||||
LAO, RÉPUBLIQUE DÉMOCRATIQUE POPULAIRE;LA
|
||||
KOWEÏT;KW
|
||||
LAO, RÉPUBLIQUE DÉMOCRATIQUE POPULAIRE;LA
|
||||
LESOTHO;LS
|
||||
LETTONIE;LV
|
||||
LIBAN;LB
|
||||
LIBÉRIA;LR
|
||||
LIBÉRIA;LR
|
||||
LIBYENNE, JAMAHIRIYA ARABE;LY
|
||||
LIECHTENSTEIN;LI
|
||||
LITUANIE;LT
|
||||
LUXEMBOURG;LU
|
||||
MACAO;MO
|
||||
MACÉDOINE, L'EX-RÉPUBLIQUE YOUGOSLAVE DE;MK
|
||||
MACÉDOINE, L'EX-RÉPUBLIQUE YOUGOSLAVE DE;MK
|
||||
MADAGASCAR;MG
|
||||
MALAISIE;MY
|
||||
MALAWI;MW
|
||||
MALDIVES;MV
|
||||
MALI;ML
|
||||
MALTE;MT
|
||||
MARIANNES DU NORD, ÎLES;MP
|
||||
MARIANNES DU NORD, ÎLES;MP
|
||||
MAROC;MA
|
||||
MARSHALL, ÎLES;MH
|
||||
MARSHALL, ÎLES;MH
|
||||
MARTINIQUE;MQ
|
||||
MAURICE;MU
|
||||
MAURITANIE;MR
|
||||
MAYOTTE;YT
|
||||
MEXIQUE;MX
|
||||
MICRONÉSIE, ÉTATS FÉDÉRÉS DE;FM
|
||||
MOLDOVA, RÉPUBLIQUE DE;MD
|
||||
MICRONÉSIE, ÉTATS FÉDÉRÉS DE;FM
|
||||
MOLDOVA, RÉPUBLIQUE DE;MD
|
||||
MONACO;MC
|
||||
MONGOLIE;MN
|
||||
MONTÉNÉGRO;ME
|
||||
MONTÉNÉGRO;ME
|
||||
MONTSERRAT;MS
|
||||
MOZAMBIQUE;MZ
|
||||
MYANMAR;MM
|
||||
NAMIBIE;NA
|
||||
NAURU;NR
|
||||
NÉPAL;NP
|
||||
NÉPAL;NP
|
||||
NICARAGUA;NI
|
||||
NIGER;NE
|
||||
NIGÉRIA;NG
|
||||
NIUÉ;NU
|
||||
NORFOLK, ÎLE;NF
|
||||
NORVÈGE;NO
|
||||
NOUVELLE-CALÉDONIE;NC
|
||||
NOUVELLE-ZÉLANDE;NZ
|
||||
OCÉAN INDIEN, TERRITOIRE BRITANNIQUE DE L';IO
|
||||
NIGÉRIA;NG
|
||||
NIUÉ;NU
|
||||
NORFOLK, ÎLE;NF
|
||||
NORVÈGE;NO
|
||||
NOUVELLE-CALÉDONIE;NC
|
||||
NOUVELLE-ZÉLANDE;NZ
|
||||
OCÉAN INDIEN, TERRITOIRE BRITANNIQUE DE L';IO
|
||||
OMAN;OM
|
||||
OUGANDA;UG
|
||||
OUZBÉKISTAN;UZ
|
||||
OUZBÉKISTAN;UZ
|
||||
PAKISTAN;PK
|
||||
PALAOS;PW
|
||||
PALESTINIEN OCCUPÉ, TERRITOIRE;PS
|
||||
PALESTINIEN OCCUPÉ, TERRITOIRE;PS
|
||||
PANAMA;PA
|
||||
PAPOUASIE-NOUVELLE-GUINÉE;PG
|
||||
PAPOUASIE-NOUVELLE-GUINÉE;PG
|
||||
PARAGUAY;PY
|
||||
PAYS-BAS;NL
|
||||
PÉROU;PE
|
||||
PÉROU;PE
|
||||
PHILIPPINES;PH
|
||||
PITCAIRN;PN
|
||||
POLOGNE;PL
|
||||
POLYNÉSIE FRANÇAISE;PF
|
||||
POLYNÉSIE FRANÇAISE;PF
|
||||
PORTO RICO;PR
|
||||
PORTUGAL;PT
|
||||
QATAR;QA
|
||||
RÉUNION;RE
|
||||
RÉUNION;RE
|
||||
ROUMANIE;RO
|
||||
ROYAUME-UNI;GB
|
||||
RUSSIE, FÉDÉRATION DE;RU
|
||||
RUSSIE, FÉDÉRATION DE;RU
|
||||
RWANDA;RW
|
||||
SAHARA OCCIDENTAL;EH
|
||||
SAINT-BARTHÉLEMY;BL
|
||||
SAINTE-HÉLÈNE;SH
|
||||
SAINT-BARTHÉLEMY;BL
|
||||
SAINTE-HÉLÈNE;SH
|
||||
SAINTE-LUCIE;LC
|
||||
SAINT-KITTS-ET-NEVIS;KN
|
||||
SAINT-MARIN;SM
|
||||
SAINT-MARTIN;MF
|
||||
SAINT-PIERRE-ET-MIQUELON;PM
|
||||
SAINT-SIÈGE (ÉTAT DE LA CITÉ DU VATICAN);VA
|
||||
SAINT-SIÈGE (ÉTAT DE LA CITÉ DU VATICAN);VA
|
||||
SAINT-VINCENT-ET-LES GRENADINES;VC
|
||||
SALOMON, ÎLES;SB
|
||||
SALOMON, ÎLES;SB
|
||||
SAMOA;WS
|
||||
SAMOA AMÉRICAINES;AS
|
||||
SAO TOMÉ-ET-PRINCIPE;ST
|
||||
SÉNÉGAL;SN
|
||||
SAMOA AMÉRICAINES;AS
|
||||
SAO TOMÉ-ET-PRINCIPE;ST
|
||||
SÉNÉGAL;SN
|
||||
SERBIE;RS
|
||||
SEYCHELLES;SC
|
||||
SIERRA LEONE;SL
|
||||
SINGAPOUR;SG
|
||||
SLOVAQUIE;SK
|
||||
SLOVÉNIE;SI
|
||||
SLOVÉNIE;SI
|
||||
SOMALIE;SO
|
||||
SOUDAN;SD
|
||||
SRI LANKA;LK
|
||||
SUÈDE;SE
|
||||
SUÈDE;SE
|
||||
SUISSE;CH
|
||||
SURINAME;SR
|
||||
SVALBARD ET ÎLE JAN MAYEN;SJ
|
||||
SVALBARD ET ÎLE JAN MAYEN;SJ
|
||||
SWAZILAND;SZ
|
||||
SYRIENNE, RÉPUBLIQUE ARABE;SY
|
||||
SYRIENNE, RÉPUBLIQUE ARABE;SY
|
||||
TADJIKISTAN;TJ
|
||||
TAÏWAN, PROVINCE DE CHINE;TW
|
||||
TANZANIE, RÉPUBLIQUE-UNIE DE;TZ
|
||||
TAÏWAN, PROVINCE DE CHINE;TW
|
||||
TANZANIE, RÉPUBLIQUE-UNIE DE;TZ
|
||||
TCHAD;TD
|
||||
TCHÈQUE, RÉPUBLIQUE;CZ
|
||||
TERRES AUSTRALES FRANÇAISES;TF
|
||||
THAÏLANDE;TH
|
||||
TCHÈQUE, RÉPUBLIQUE;CZ
|
||||
TERRES AUSTRALES FRANÇAISES;TF
|
||||
THAÏLANDE;TH
|
||||
TIMOR-LESTE;TL
|
||||
TOGO;TG
|
||||
TOKELAU;TK
|
||||
TONGA;TO
|
||||
TRINITÉ-ET-TOBAGO;TT
|
||||
TRINITÉ-ET-TOBAGO;TT
|
||||
TUNISIE;TN
|
||||
TURKMÉNISTAN;TM
|
||||
TURKS ET CAÏQUES, ÎLES;TC
|
||||
TURKMÉNISTAN;TM
|
||||
TURKS ET CAÏQUES, ÎLES;TC
|
||||
TURQUIE;TR
|
||||
TUVALU;TV
|
||||
UKRAINE;UA
|
||||
@ -252,6 +252,6 @@ VANUATU;VU
|
||||
VENEZUELA;VE
|
||||
VIET NAM;VN
|
||||
WALLIS ET FUTUNA;WF
|
||||
YÉMEN;YE
|
||||
YÉMEN;YE
|
||||
ZAMBIE;ZM
|
||||
ZIMBABWE;ZW
|
||||
@ -135,7 +135,7 @@ SKK,Slovak Koruna,2
|
||||
SLL,Sierra Leone Leone,2
|
||||
SOS,Somali Shilling,2
|
||||
SRD,Surinam Dollar,2
|
||||
STD,São Tome and Principe Dobra,2
|
||||
STD,São Tome and Principe Dobra,2
|
||||
SVC,El Salvador Colon,2
|
||||
SYP,Syrian Pound,2
|
||||
SZL,Swaziland Lilangeni,2
|
||||
|
||||
1
dev/iso-normes/vat_number_names.txt
Normal file
1
dev/iso-normes/vat_number_names.txt
Normal file
@ -0,0 +1 @@
|
||||
http://en.wikipedia.org/wiki/VAT_identification_number
|
||||
@ -20,7 +20,7 @@ fi
|
||||
|
||||
if [ "x$1" = "xall" ]
|
||||
then
|
||||
for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR hu_HU is_IS it_IT ja_JP nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR zh_CN zh_TW
|
||||
for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR he_IL hu_HU is_IS it_IT ja_JP ko_KR nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR vi_VN zh_CN zh_TW
|
||||
do
|
||||
echo "tx pull -l $fic $2 $3"
|
||||
tx pull -l $fic $2 $3
|
||||
|
||||
@ -13,14 +13,14 @@ then
|
||||
echo "This push local files to transifex."
|
||||
echo "Note: If you push a language file (not source), file will be skipped if transifex file is newer."
|
||||
echo " Using -f will overwrite translation but not memory."
|
||||
echo "Usage: txpush.sh (source|all|xx_XX) [-r dolibarr.file] [-f]"
|
||||
echo "Usage: txpush.sh (source|all|xx_XX) [-r dolibarr.file] [-f] [--skip] [--no-interactive]"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
if [ "x$1" = "xall" ]
|
||||
then
|
||||
for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR hu_HU is_IS it_IT ja_JP nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR zh_CN zh_TW
|
||||
for fic in ar_SA bg_BG ca_ES da_DK de_DE el_GR es_ES et_EE fa_IR fi_FI fr_FR he_IL hu_HU is_IS it_IT ja_JP ko_KR nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sl_SI sv_SE tr_TR vi_VN zh_CN zh_TW
|
||||
do
|
||||
echo "tx push -t -l $fic $2 $3"
|
||||
tx push -t -l $fic $2 $3
|
||||
|
||||
@ -273,6 +273,8 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
|
||||
$object->pass = trim($_POST["pass"]);
|
||||
|
||||
$object->societe = trim($_POST["societe"]);
|
||||
$object->company = trim($_POST["societe"]);
|
||||
|
||||
$object->address = trim($_POST["address"]);
|
||||
$object->zip = trim($_POST["zipcode"]);
|
||||
$object->town = trim($_POST["town"]);
|
||||
|
||||
@ -82,7 +82,7 @@ $pid=GETPOST("projectid","int",3);
|
||||
$status=GETPOST("status");
|
||||
$type=GETPOST("type");
|
||||
$maxprint=(isset($_GET["maxprint"])?GETPOST("maxprint"):$conf->global->AGENDA_MAX_EVENTS_DAY_VIEW);
|
||||
$actioncode=GETPOST("actioncode","alpha",3)?GETPOST("actioncode","alpha",3):(GETPOST("actioncode")=="0"?'':(empty($conf->global->AGENDA_USE_EVENT_TYPE)?'AC_OTH':''));
|
||||
$actioncode=GETPOST("actioncode","alpha",3)?GETPOST("actioncode","alpha",3):(GETPOST("actioncode")=='0'?'0':(empty($conf->global->AGENDA_USE_EVENT_TYPE)?'AC_OTH':''));
|
||||
|
||||
if (GETPOST('viewcal') && $action != 'show_day' && $action != 'show_week') {
|
||||
$action='show_month'; $day='';
|
||||
@ -236,7 +236,7 @@ if ($filterd) $param.="&filterd=".$filterd;
|
||||
if ($socid) $param.="&socid=".$socid;
|
||||
if ($showbirthday) $param.="&showbirthday=1";
|
||||
if ($pid) $param.="&projectid=".$pid;
|
||||
if ($actioncode) $param.="&actioncode=".$actioncode;
|
||||
if ($actioncode != '') $param.="&actioncode=".$actioncode;
|
||||
if ($type) $param.="&type=".$type;
|
||||
if ($action == 'show_day' || $action == 'show_week') $param.='&action='.$action;
|
||||
$param.="&maxprint=".$maxprint;
|
||||
@ -382,10 +382,10 @@ if ($resql)
|
||||
$event->type_code=$obj->code;
|
||||
$event->libelle=$obj->label;
|
||||
$event->percentage=$obj->percent;
|
||||
$event->author->id=$obj->fk_user_author;
|
||||
$event->usertodo->id=$obj->fk_user_action;
|
||||
$event->userdone->id=$obj->fk_user_done;
|
||||
|
||||
$event->author->id=$obj->fk_user_author; // user id of creator
|
||||
$event->usertodo->id=$obj->fk_user_action; // user id of owner
|
||||
$event->userdone->id=$obj->fk_user_done; // deprecated
|
||||
// $event->userstodo=... with s after user, in future version, will be an array with all id of user assigned to event
|
||||
$event->priority=$obj->priority;
|
||||
$event->fulldayevent=$obj->fulldayevent;
|
||||
$event->location=$obj->location;
|
||||
@ -952,11 +952,10 @@ llxFooter();
|
||||
function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint=0, $maxnbofchar=16, $newparam='', $showinfo=0, $minheight=60)
|
||||
{
|
||||
global $user, $conf, $langs;
|
||||
global $filter, $filtera, $filtert, $filterd, $status;
|
||||
global $filter, $filtera, $filtert, $filterd, $status, $actioncode; // Filters used into search form
|
||||
global $theme_datacolor;
|
||||
global $cachethirdparties, $cachecontacts, $colorindexused;
|
||||
|
||||
|
||||
print '<div id="dayevent_'.sprintf("%04d",$year).sprintf("%02d",$month).sprintf("%02d",$day).'" class="dayevent">'."\n";
|
||||
$curtime = dol_mktime(0, 0, 0, $month, $day, $year);
|
||||
print '<table class="nobordernopadding" width="100%">';
|
||||
@ -1009,6 +1008,11 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
|
||||
|| (! empty($event->userdone->id) && $event->userdone->id == $user->id))
|
||||
{
|
||||
$nummytasks++; $cssclass='family_mytasks';
|
||||
// TODO Set a color using user color
|
||||
// Must defined rule to choose color of who to use.
|
||||
// event->usertodo->id will still contains user id of owner
|
||||
// event->userstodo will be an array in future.
|
||||
// $color=$user->color;
|
||||
}
|
||||
else if ($event->type_code == 'ICALEVENT')
|
||||
{
|
||||
@ -1179,9 +1183,10 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<a href="'.DOL_URL_ROOT.'/comm/action/index.php?maxprint=0&month='.$monthshown.'&year='.$year;
|
||||
print '<a href="'.DOL_URL_ROOT.'/comm/action/index.php?maxprint=0&month='.$monthshown.'&year='.$year;
|
||||
print ($status?'&status='.$status:'').($filter?'&filter='.$filter:'');
|
||||
print ($filtera?'&filtera='.$filtera:'').($filtert?'&filtert='.$filtert:'').($filterd?'&filterd='.$filterd:'');
|
||||
print ($actioncode!=''?'&actioncode='.$actioncode:'');
|
||||
print '">'.img_picto("all","1downarrow_selected.png").' ...';
|
||||
print ' +'.(count($eventarray[$daykey])-$maxprint);
|
||||
print '</a>';
|
||||
|
||||
@ -114,7 +114,7 @@ if ($action == 'add' || $action == 'update')
|
||||
// Update address
|
||||
else if ($action == 'update')
|
||||
{
|
||||
$result = $object->update($_POST["id"], $socid, $user);
|
||||
$result = $object->update($id, $socid, $user);
|
||||
|
||||
if ($result >= 0)
|
||||
{
|
||||
|
||||
@ -128,6 +128,14 @@ if ($action == 'cstc')
|
||||
if ($result < 0) setEventMessage($object->error,'errors');
|
||||
}
|
||||
|
||||
// Update communication level
|
||||
if ($action == 'setOutstandingBill')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->outstanding_limit=GETPOST('OutstandingBill');
|
||||
$result=$object->set_OutstandingBill($user);
|
||||
if ($result < 0) setEventMessage($object->error,'errors');
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@ -369,6 +377,18 @@ if ($id > 0)
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
if ($object->client)
|
||||
{
|
||||
print '<tr>';
|
||||
print '<td>';
|
||||
print $form->editfieldkey("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer);
|
||||
print '</td><td colspan="3">';
|
||||
print $form->editfieldval("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
|
||||
// Multiprice level
|
||||
if (! empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
{
|
||||
@ -898,4 +918,4 @@ dol_htmloutput_mesg('',$mesgs);
|
||||
// End of page
|
||||
llxFooter();
|
||||
$db->close();
|
||||
?>
|
||||
?>
|
||||
|
||||
@ -1885,6 +1885,18 @@ else
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
if ($soc->outstanding_limit)
|
||||
{
|
||||
// Outstanding Bill
|
||||
print '<tr><td>';
|
||||
print $langs->trans('OutstandingBill');
|
||||
print '</td><td align=right colspan=3>';
|
||||
print price($soc->get_OutstandingBill()).' / ';
|
||||
print price($soc->outstanding_limit, 0, '', 1, -1, -1, $conf->currency);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
// Other attributes
|
||||
$res=$object->fetch_optionals($object->id,$extralabels);
|
||||
$parameters=array('colspan' => ' colspan="3"');
|
||||
|
||||
@ -233,7 +233,7 @@ if ($result)
|
||||
if ($month) $param.='&month='.$month;
|
||||
if ($year) $param.='&year='.$year;
|
||||
if ($search_ref) $param.='&search_ref=' .$search_ref;
|
||||
if ($search_refcustomer) $param.='&search_ref=' .$search_refcustomer;
|
||||
if ($search_refcustomer) $param.='&search_refcustomer=' .$search_refcustomer;
|
||||
if ($search_societe) $param.='&search_societe=' .$search_societe;
|
||||
if ($search_user > 0) $param.='&search_user='.$search_user;
|
||||
if ($search_sale > 0) $param.='&search_sale='.$search_sale;
|
||||
@ -274,9 +274,9 @@ if ($result)
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans('Ref'),$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('RefCustomer'),$_SERVER["PHP_SELF"],'p.ref_client','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Company'),$_SERVER["PHP_SELF"],'s.nom','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Town'),$_SERVER["PHP_SELF"],'s.town','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('RefCustomer'),$_SERVER["PHP_SELF"],'p.ref_client','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Date'),$_SERVER["PHP_SELF"],'p.datep','',$param, 'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('DateEndPropalShort'),$_SERVER["PHP_SELF"],'dfv','',$param, 'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('AmountHT'),$_SERVER["PHP_SELF"],'p.total_ht','',$param, 'align="right"',$sortfield,$sortorder);
|
||||
@ -287,15 +287,15 @@ if ($result)
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td class="liste_titre">';
|
||||
print '<input class="flat" size="10" type="text" name="search_ref" value="'.$search_ref.'">';
|
||||
print '<input class="flat" size="6" type="text" name="search_ref" value="'.$search_ref.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre">';
|
||||
print '<input class="flat" size="6" type="text" name="search_refcustomer" value="'.$search_refcustomer.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<input class="flat" type="text" size="16" name="search_societe" value="'.$search_societe.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre"><input class="flat" type="text" size="16" name="search_town" value="'.$search_town.'"></td>';
|
||||
print '<td class="liste_titre">';
|
||||
print '<input class="flat" size="10" type="text" name="search_refcustomer" value="'.$search_refcustomer.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" colspan="1" align="center">';
|
||||
print $langs->trans('Month').': <input class="flat" type="text" size="1" maxlength="2" name="month" value="'.$month.'">';
|
||||
print ' '.$langs->trans('Year').': ';
|
||||
@ -347,6 +347,7 @@ if ($result)
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
// Ref
|
||||
print '<td width="16" align="right" class="nobordernopadding hideonsmartphone">';
|
||||
$filename=dol_sanitizeFileName($objp->ref);
|
||||
$filedir=$conf->propal->dir_output . '/' . dol_sanitizeFileName($objp->ref);
|
||||
@ -354,6 +355,13 @@ if ($result)
|
||||
print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
|
||||
print '</td></tr></table>';
|
||||
|
||||
print "</td>\n";
|
||||
|
||||
// Customer ref
|
||||
print '<td class="nocellnopadd nowrap">';
|
||||
print $objp->ref_client;
|
||||
print '</td>';
|
||||
|
||||
$url = DOL_URL_ROOT.'/comm/fiche.php?socid='.$objp->rowid;
|
||||
|
||||
// Company
|
||||
@ -369,11 +377,6 @@ if ($result)
|
||||
print $objp->town;
|
||||
print '</td>';
|
||||
|
||||
// Customer ref
|
||||
print '<td class="nocellnopadd nowrap">';
|
||||
print $objp->ref_client;
|
||||
print '</td>';
|
||||
|
||||
// Date proposal
|
||||
print '<td align="center">';
|
||||
$y = dol_print_date($db->jdate($objp->dp),'%Y');
|
||||
|
||||
@ -2195,6 +2195,19 @@ else
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
|
||||
if ($soc->outstanding_limit)
|
||||
{
|
||||
// Outstanding Bill
|
||||
print '<tr><td>';
|
||||
print $langs->trans('OutstandingBill');
|
||||
print '</td><td align=right colspan=3>';
|
||||
print price($soc->get_OutstandingBill()).' / ';
|
||||
print price($soc->outstanding_limit, 0, '', 1, -1, -1, $conf->currency);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
// Other attributes
|
||||
$res=$object->fetch_optionals($object->id,$extralabels);
|
||||
$parameters=array('colspan' => ' colspan="3"');
|
||||
|
||||
@ -280,8 +280,8 @@ if ($resql)
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans('Ref'),$_SERVER["PHP_SELF"],'c.ref','',$param,'width="25%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Company'),$_SERVER["PHP_SELF"],'s.nom','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('RefCustomerOrder'),$_SERVER["PHP_SELF"],'c.ref_client','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Company'),$_SERVER["PHP_SELF"],'s.nom','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('OrderDate'),$_SERVER["PHP_SELF"],'c.date_commande','',$param, 'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('DeliveryDate'),$_SERVER["PHP_SELF"],'c.date_livraison','',$param, 'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('AmountHT'),$_SERVER["PHP_SELF"],'c.total_ht','',$param, 'align="right"',$sortfield,$sortorder);
|
||||
@ -289,12 +289,15 @@ if ($resql)
|
||||
print '</tr>';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td class="liste_titre">';
|
||||
print '<input class="flat" size="10" type="text" name="sref" value="'.$sref.'">';
|
||||
print '</td><td class="liste_titre" align="left">';
|
||||
print '<input class="flat" size="6" type="text" name="sref" value="'.$sref.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<input class="flat" type="text" size="6" name="sref_client" value="'.$sref_client.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<input class="flat" type="text" name="snom" value="'.$snom.'">';
|
||||
print '</td><td class="liste_titre" align="left">';
|
||||
print '<input class="flat" type="text" size="10" name="sref_client" value="'.$sref_client.'">';
|
||||
print '</td><td class="liste_titre"> ';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre"> ';
|
||||
print '</td><td class="liste_titre"> ';
|
||||
print '</td><td class="liste_titre"> ';
|
||||
print '</td><td align="right" class="liste_titre">';
|
||||
@ -341,6 +344,9 @@ if ($resql)
|
||||
|
||||
print '</td>';
|
||||
|
||||
// Ref customer
|
||||
print '<td>'.$objp->ref_client.'</td>';
|
||||
|
||||
// Company
|
||||
$companystatic->id=$objp->socid;
|
||||
$companystatic->nom=$objp->nom;
|
||||
@ -362,8 +368,6 @@ if ($resql)
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
print '<td>'.$objp->ref_client.'</td>';
|
||||
|
||||
// Order date
|
||||
$y = dol_print_date($db->jdate($objp->date_commande),'%Y');
|
||||
$m = dol_print_date($db->jdate($objp->date_commande),'%m');
|
||||
|
||||
@ -1436,18 +1436,21 @@ class AccountLine extends CommonObject
|
||||
if ($withpicto) $result.=($lien.img_object($langs->trans("ShowTransaction"),'account').$lienfin.' ');
|
||||
$result.=$lien.$this->rowid.$lienfin;
|
||||
|
||||
if ($option == 'showall' || $option == 'showconciliated') $result.=' (';
|
||||
if ($option == 'showall')
|
||||
{
|
||||
$result.=' (';
|
||||
$result.=$langs->trans("BankAccount").': ';
|
||||
$accountstatic=new Account($this->db);
|
||||
$accountstatic->id=$this->fk_account;
|
||||
$accountstatic->label=$this->bank_account_label;
|
||||
$result.=$accountstatic->getNomUrl(0).', ';
|
||||
}
|
||||
if ($option == 'showall' || $option == 'showconciliated')
|
||||
{
|
||||
$result.=$langs->trans("BankLineConciliated").': ';
|
||||
$result.=yn($this->rappro);
|
||||
$result.=')';
|
||||
}
|
||||
if ($option == 'showall' || $option == 'showconciliated') $result.=')';
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ $debit=GETPOST("debit");
|
||||
$credit=GETPOST("credit");
|
||||
$type=GETPOST("type");
|
||||
$account=GETPOST("account");
|
||||
$bid=GETPOST("bid");
|
||||
$bid=GETPOST("bid","int");
|
||||
|
||||
$param='';
|
||||
if ($description) $param.='&description='.$description;
|
||||
@ -83,7 +83,7 @@ $sql.= " b.fk_account, b.fk_type,";
|
||||
$sql.= " ba.rowid as bankid, ba.ref as bankref,";
|
||||
$sql.= " bu.label as labelurl, bu.url_id";
|
||||
$sql.= " FROM ";
|
||||
if (! empty($_REQUEST["bid"])) $sql.= MAIN_DB_PREFIX."bank_class as l,";
|
||||
if ($bid) $sql.= MAIN_DB_PREFIX."bank_class as l,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."bank_account as ba,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."bank as b";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu ON bu.fk_bank = b.rowid AND type = 'company'";
|
||||
@ -92,21 +92,21 @@ $sql.= " WHERE b.fk_account = ba.rowid";
|
||||
$sql.= " AND ba.entity = ".$conf->entity;
|
||||
if (GETPOST("req_nb"))
|
||||
{
|
||||
$sql.= " AND b.num_chq like '%".$db->escape(GETPOST("req_nb"))."%'";
|
||||
$sql.= " AND b.num_chq LIKE '%".$db->escape(GETPOST("req_nb"))."%'";
|
||||
$param.='&req_nb='.urlencode(GETPOST("req_nb"));
|
||||
}
|
||||
if (GETPOST("thirdparty"))
|
||||
{
|
||||
$sql.=" AND (COALESCE(s.nom,'') LIKE '%".$db->escape(GETPOST("thirdparty"))."%')";
|
||||
$sql.=" AND s.nom LIKE '%".$db->escape(GETPOST("thirdparty"))."%'";
|
||||
$param.='&thirdparty='.urlencode(GETPOST("thirdparty"));
|
||||
}
|
||||
if (! empty($_REQUEST["bid"]))
|
||||
if ($bid)
|
||||
{
|
||||
$sql.= " AND b.rowid=l.lineid AND l.fk_categ=".$_REQUEST["bid"];
|
||||
$sql.= " AND b.rowid=l.lineid AND l.fk_categ=".$bid;
|
||||
}
|
||||
if(! empty($type))
|
||||
if (! empty($type))
|
||||
{
|
||||
$sql .= " AND b.fk_type = '" . $type ."' ";
|
||||
$sql.= " AND b.fk_type = '".$db->escape($type)."' ";
|
||||
}
|
||||
// Search criteria amount
|
||||
$si=0;
|
||||
|
||||
@ -2318,6 +2318,18 @@ if ($action == 'create')
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
if ($soc->outstanding_limit)
|
||||
{
|
||||
// Outstanding Bill
|
||||
print '<tr><td>';
|
||||
print $langs->trans('OutstandingBill');
|
||||
print '</td><td align=right>';
|
||||
print price($soc->get_OutstandingBill()).' / ';
|
||||
print price($soc->outstanding_limit).'</td><td colspan=2>';
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
// Other attributes
|
||||
$parameters=array('objectsrc' => $objectsrc, 'colspan' => ' colspan="3"');
|
||||
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
||||
@ -3034,6 +3046,7 @@ else if ($id > 0 || ! empty($ref))
|
||||
$nbrows=8; $nbcols=2;
|
||||
if (! empty($conf->projet->enabled)) $nbrows++;
|
||||
if (! empty($conf->banque->enabled)) $nbcols++;
|
||||
if (! empty($soc->outstandingbill)) $nbrows++;
|
||||
if($mysoc->localtax1_assuj=="1") $nbrows++;
|
||||
if($mysoc->localtax2_assuj=="1") $nbrows++;
|
||||
if ($selleruserevenustamp) $nbrows++;
|
||||
@ -3305,6 +3318,18 @@ else if ($id > 0 || ! empty($ref))
|
||||
}
|
||||
print '</td></tr>';
|
||||
|
||||
if ($soc->outstandingbill)
|
||||
{
|
||||
// Outstanding Bill
|
||||
print '<tr><td>';
|
||||
print $langs->trans('OutstandingBill');
|
||||
print '</td><td align=right>';
|
||||
print price($soc->get_OutstandingBill()).' / ';
|
||||
print price($soc->outstandingbill);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
// Amount
|
||||
print '<tr><td>'.$langs->trans('AmountHT').'</td>';
|
||||
print '<td align="right" colspan="3" nowrap>'.price($object->total_ht,1,'',1,-1,-1,$conf->currency).'</td></tr>';
|
||||
@ -3955,4 +3980,4 @@ dol_htmloutput_mesg('',$mesgs);
|
||||
|
||||
llxFooter();
|
||||
$db->close();
|
||||
?>
|
||||
?>
|
||||
|
||||
@ -1788,8 +1788,8 @@ class Facture extends CommonInvoice
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// On renomme repertoire facture ($this->ref = ancienne ref, $num = nouvelle ref)
|
||||
// afin de ne pas perdre les fichiers attaches
|
||||
// Rename of object directory ($this->ref = old ref, $num = new ref)
|
||||
// to not lose the linked files
|
||||
$facref = dol_sanitizeFileName($this->ref);
|
||||
$snumfa = dol_sanitizeFileName($num);
|
||||
$dirsource = $conf->facture->dir_output.'/'.$facref;
|
||||
@ -1977,7 +1977,7 @@ class Facture extends CommonInvoice
|
||||
function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type=0, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0)
|
||||
{
|
||||
global $mysoc;
|
||||
|
||||
|
||||
$facid=$this->id;
|
||||
|
||||
dol_syslog(get_class($this)."::Addline facid=$facid,desc=$desc,pu_ht=$pu_ht,qty=$qty,txtva=$txtva, txlocaltax1=$txlocaltax1, txlocaltax2=$txlocaltax2, fk_product=$fk_product,remise_percent=$remise_percent,date_start=$date_start,date_end=$date_end,ventil=$ventil,info_bits=$info_bits,fk_remise_except=$fk_remise_except,price_base_type=$price_base_type,pu_ttc=$pu_ttc,type=$type", LOG_DEBUG);
|
||||
@ -2023,9 +2023,9 @@ class Facture extends CommonInvoice
|
||||
// qty, pu, remise_percent et txtva
|
||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc);
|
||||
|
||||
|
||||
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type,'',$localtaxes_type);
|
||||
$total_ht = $tabprice[0];
|
||||
$total_tva = $tabprice[1];
|
||||
@ -2148,7 +2148,7 @@ class Facture extends CommonInvoice
|
||||
function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_option=0)
|
||||
{
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php';
|
||||
|
||||
|
||||
global $mysoc;
|
||||
|
||||
dol_syslog(get_class($this)."::updateline $rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1, $txlocaltax2, $price_base_type, $info_bits, $type, $fk_parent_line", LOG_DEBUG);
|
||||
@ -2176,9 +2176,9 @@ class Facture extends CommonInvoice
|
||||
// Calculate total with, without tax and tax from qty, pu, remise_percent and txtva
|
||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc);
|
||||
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type,'',$localtaxes_type);
|
||||
$total_ht = $tabprice[0];
|
||||
$total_tva = $tabprice[1];
|
||||
|
||||
@ -62,6 +62,7 @@ $confirm=GETPOST('confirm','alpha');
|
||||
$lineid=GETPOST('lineid','int');
|
||||
$userid=GETPOST('userid','int');
|
||||
$search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha');
|
||||
$search_refcustomer=GETPOST('search_refcustomer','alpha');
|
||||
$search_societe=GETPOST('search_societe','alpha');
|
||||
$search_montant_ht=GETPOST('search_montant_ht','alpha');
|
||||
$search_montant_ttc=GETPOST('search_montant_ttc','alpha');
|
||||
@ -139,7 +140,7 @@ $facturestatic=new Facture($db);
|
||||
|
||||
if (! $sall) $sql = 'SELECT';
|
||||
else $sql = 'SELECT DISTINCT';
|
||||
$sql.= ' f.rowid as facid, f.facnumber, f.type, f.note_private, f.increment, f.total as total_ht, f.tva as total_tva, f.total_ttc,';
|
||||
$sql.= ' f.rowid as facid, f.facnumber, f.ref_client, f.type, f.note_private, f.increment, f.total as total_ht, f.tva as total_tva, f.total_ttc,';
|
||||
$sql.= ' f.datef as df, f.date_lim_reglement as datelimite,';
|
||||
$sql.= ' f.paye as paye, f.fk_statut,';
|
||||
$sql.= ' s.nom, s.rowid as socid';
|
||||
@ -177,6 +178,10 @@ if ($search_ref)
|
||||
{
|
||||
$sql .= natural_search('f.facnumber', $search_ref);
|
||||
}
|
||||
if ($search_refcustomer)
|
||||
{
|
||||
$sql .= natural_search('f.ref_client', $search_refcustomer);
|
||||
}
|
||||
if ($search_societe)
|
||||
{
|
||||
$sql .= natural_search('s.nom', $search_societe);
|
||||
@ -244,6 +249,7 @@ if ($resql)
|
||||
if ($month) $param.='&month='.$month;
|
||||
if ($year) $param.='&year=' .$year;
|
||||
if ($search_ref) $param.='&search_ref=' .$search_ref;
|
||||
if ($search_refcustomer) $param.='&search_refcustomer=' .$search_refcustomer;
|
||||
if ($search_societe) $param.='&search_societe=' .$search_societe;
|
||||
if ($search_sale > 0) $param.='&search_sale=' .$search_sale;
|
||||
if ($search_user > 0) $param.='&search_user=' .$search_user;
|
||||
@ -273,13 +279,14 @@ if ($resql)
|
||||
if ($moreforfilter)
|
||||
{
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td class="liste_titre" colspan="9">';
|
||||
print '<td class="liste_titre" colspan="10">';
|
||||
print $moreforfilter;
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans('Ref'),$_SERVER['PHP_SELF'],'f.facnumber','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('RefCustomer'),$_SERVER["PHP_SELF"],'f.ref_client','',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Date'),$_SERVER['PHP_SELF'],'f.datef','',$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("DateDue"),$_SERVER['PHP_SELF'],"f.date_lim_reglement",'',$param,'align="center"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Company'),$_SERVER['PHP_SELF'],'s.nom','',$param,'',$sortfield,$sortorder);
|
||||
@ -294,8 +301,11 @@ if ($resql)
|
||||
// Filters lines
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<input class="flat" size="10" type="text" name="search_ref" value="'.$search_ref.'">';
|
||||
print '<input class="flat" size="6" type="text" name="search_ref" value="'.$search_ref.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre">';
|
||||
print '<input class="flat" size="6" type="text" name="search_refcustomer" value="'.$search_refcustomer.'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="center">';
|
||||
if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print '<input class="flat" type="text" size="1" maxlength="2" name="day" value="'.$day.'">';
|
||||
print '<input class="flat" type="text" size="1" maxlength="2" name="month" value="'.$month.'">';
|
||||
@ -358,13 +368,18 @@ if ($resql)
|
||||
|
||||
print "</td>\n";
|
||||
|
||||
// Date
|
||||
print '<td align="center" nowrap>';
|
||||
// Customer ref
|
||||
print '<td class="nowrap">';
|
||||
print $objp->ref_client;
|
||||
print '</td>';
|
||||
|
||||
// Date
|
||||
print '<td align="center" class="nowrap">';
|
||||
print dol_print_date($db->jdate($objp->df),'day');
|
||||
print '</td>';
|
||||
|
||||
// Date limit
|
||||
print '<td align="center" nowrap="1">'.dol_print_date($datelimit,'day');
|
||||
print '<td align="center" class="nowrap">'.dol_print_date($datelimit,'day');
|
||||
if ($datelimit < ($now - $conf->facture->client->warning_delay) && ! $objp->paye && $objp->fk_statut == 1 && ! $paiement)
|
||||
{
|
||||
print img_warning($langs->trans('Late'));
|
||||
@ -403,7 +418,7 @@ if ($resql)
|
||||
{
|
||||
// Print total
|
||||
print '<tr class="liste_total">';
|
||||
print '<td class="liste_total" colspan="4" align="left">'.$langs->trans('Total').'</td>';
|
||||
print '<td class="liste_total" colspan="5" align="left">'.$langs->trans('Total').'</td>';
|
||||
print '<td class="liste_total" align="right">'.price($total_ht,0,$langs).'</td>';
|
||||
print '<td class="liste_total" align="right">'.price($total_tva,0,$langs).'</td>';
|
||||
print '<td class="liste_total" align="right">'.price($total_ttc,0,$langs).'</td>';
|
||||
|
||||
@ -57,6 +57,14 @@ if ($user->societe_id > 0)
|
||||
$socid = $user->societe_id;
|
||||
}
|
||||
|
||||
$object=new Facture($db);
|
||||
|
||||
// Load object
|
||||
if ($facid > 0)
|
||||
{
|
||||
$ret=$object->fetch($facid);
|
||||
}
|
||||
|
||||
// Initialize technical object to manage hooks of paiements. Note that conf->hooks_modules contains array array
|
||||
$hookmanager = new HookManager($db);
|
||||
$hookmanager->initHooks(array('paiementcard'));
|
||||
|
||||
@ -193,7 +193,7 @@ dol_fiche_head($head, $hselected, $langs->trans("PaymentCustomerInvoice"), 0, 'p
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id, $langs->trans("DeletePayment"), $langs->trans("ConfirmDeletePayment"), 'confirm_delete','',0,2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
@ -203,7 +203,7 @@ if ($action == 'valide')
|
||||
{
|
||||
$facid = $_GET['facid'];
|
||||
print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id.'&facid='.$facid, $langs->trans("ValidatePayment"), $langs->trans("ConfirmValidatePayment"), 'confirm_valide','',0,2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -230,7 +230,7 @@ print $form->editfieldval("Numero",'num_paiement',$object->numero,$object,$objec
|
||||
print '</td></tr>';
|
||||
|
||||
// Amount
|
||||
print '<tr><td valign="top">'.$langs->trans('Amount').'</td><td colspan="3">'.price($object->montant).' '.$langs->trans('Currency'.$conf->currency).'</td></tr>';
|
||||
print '<tr><td valign="top">'.$langs->trans('Amount').'</td><td colspan="3">'.price($object->montant,'',$langs,0,0,-1,$conf->currency).'</td></tr>';
|
||||
|
||||
// Note
|
||||
print '<tr><td valign="top">'.$form->editfieldkey("Note",'note',$object->note,$object,$user->rights->facture->paiement).'</td><td colspan="3">';
|
||||
@ -248,15 +248,25 @@ if (! empty($conf->banque->enabled))
|
||||
print '<tr>';
|
||||
print '<td>'.$langs->trans('BankTransactionLine').'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $bankline->getNomUrl(1,0,'showall');
|
||||
print $bankline->getNomUrl(1,0,'showconciliated');
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
print '<tr>';
|
||||
print '<td>'.$langs->trans('BankAccount').'</td>';
|
||||
print '<td colspan="3">';
|
||||
$accountstatic=new Account($db);
|
||||
$accountstatic->id=$bankline->fk_account;
|
||||
$accountstatic->label=$bankline->bank_account_ref.' - '.$bankline->bank_account_label;
|
||||
print $accountstatic->getNomUrl(0);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
if($object->type_code == 'CHQ' && $bankline->fk_bordereau > 0) {
|
||||
dol_include_once('/compta/paiement/cheque/class/remisecheque.class.php');
|
||||
$bordereau = new RemiseCheque($db);
|
||||
$bordereau->fetch($bankline->fk_bordereau);
|
||||
|
||||
|
||||
print '<tr>';
|
||||
print '<td>'.$langs->trans('CheckReceipt').'</td>';
|
||||
print '<td colspan="3">';
|
||||
|
||||
@ -55,7 +55,7 @@ if ($action == 'builddoc')
|
||||
$rap = new pdf_paiement($db);
|
||||
|
||||
$outputlangs = $langs;
|
||||
if (! empty(GETPOST('lang_id')))
|
||||
if (GETPOST('lang_id'))
|
||||
{
|
||||
$outputlangs = new Translate("",$conf);
|
||||
$outputlangs->setDefaultLang(GETPOST('lang_id'));
|
||||
|
||||
@ -116,7 +116,8 @@ $total_ttc=0;
|
||||
if ($modecompta=="CREANCES-DETTES")
|
||||
{
|
||||
$nom=$langs->trans("AnnualByCompaniesDueDebtMode");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.(GETPOST("month")>0?'&month='.GETPOST("month"):'').'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeDebt");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.(GETPOST("month")>0?'&month='.GETPOST("month"):'').'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink='<a href="'.$_SERVER["PHP_SELF"].'?year='.($year-1).'&modecompta='.$modecompta.'">'.img_previous().'</a> <a href="'.$_SERVER["PHP_SELF"].'?year='.($year+1).'&modecompta='.$modecompta.'">'.img_next().'</a>';
|
||||
$description=$langs->trans("RulesResultDue");
|
||||
@ -127,7 +128,8 @@ if ($modecompta=="CREANCES-DETTES")
|
||||
}
|
||||
else {
|
||||
$nom=$langs->trans("AnnualByCompaniesInputOutputMode");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.(GETPOST("month")>0?'&month='.GETPOST("month"):'').'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.(GETPOST("month")>0?'&month='.GETPOST("month"):'').'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
//$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',1,1,0,'',1,0,1);
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink='<a href="'.$_SERVER["PHP_SELF"].'?year='.($year-1).'&modecompta='.$modecompta.'">'.img_previous().'</a> <a href="'.$_SERVER["PHP_SELF"].'?year='.($year+1).'&modecompta='.$modecompta.'">'.img_next().'</a>';
|
||||
@ -135,7 +137,7 @@ else {
|
||||
$builddate=time();
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
}
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array('modecompta'=>$modecompta));
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array('modecompta'=>$modecompta),$calcmode);
|
||||
|
||||
// Show report array
|
||||
print '<table class="noborder" width="100%">';
|
||||
|
||||
@ -63,7 +63,8 @@ $exportlink='';
|
||||
if ($modecompta == 'CREANCES-DETTES')
|
||||
{
|
||||
$nom=$langs->trans("AnnualSummaryDueDebtMode");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeDebt");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$period="$year_start - $year_end";
|
||||
$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start-1)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start+1)."&modecompta=".$modecompta."'>".img_next()."</a>":"");
|
||||
$description=$langs->trans("RulesAmountWithTaxIncluded");
|
||||
@ -75,7 +76,8 @@ if ($modecompta == 'CREANCES-DETTES')
|
||||
}
|
||||
else {
|
||||
$nom=$langs->trans("AnnualSummaryInputOutputMode");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$period="$year_start - $year_end";
|
||||
$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start-1)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start+1)."&modecompta=".$modecompta."'>".img_next()."</a>":"");
|
||||
$description=$langs->trans("RulesAmountWithTaxIncluded");
|
||||
@ -83,7 +85,7 @@ else {
|
||||
$builddate=time();
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
}
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array('modecompta'=>$modecompta));
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array('modecompta'=>$modecompta),$calcmode);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@ -142,7 +142,8 @@ $formother = new FormOther($db);
|
||||
$nom=$langs->trans("SalesTurnover").', '.$langs->trans("ByProductsAndServices");
|
||||
|
||||
if ($modecompta=="CREANCES-DETTES") {
|
||||
$nom.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeDebt");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
|
||||
@ -155,7 +156,8 @@ if ($modecompta=="CREANCES-DETTES") {
|
||||
|
||||
$builddate=time();
|
||||
} else {
|
||||
$nom.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
|
||||
@ -165,7 +167,7 @@ if ($modecompta=="CREANCES-DETTES") {
|
||||
$builddate=time();
|
||||
}
|
||||
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$tableparams);
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$tableparams,$calcmode);
|
||||
|
||||
|
||||
// SQL request
|
||||
@ -382,8 +384,7 @@ if ($modecompta == 'CREANCES-DETTES') {
|
||||
print '</form>';
|
||||
} else {
|
||||
// $modecompta != 'CREANCES-DETTES'
|
||||
// TODO: better message
|
||||
print '<div class="warning">' . $langs->trans("WarningNotRelevant") . '</div>';
|
||||
print '<br>'.$langs->trans("TurnoverPerProductInCommitmentAccountingNotRelevant") . '<br>';
|
||||
}
|
||||
|
||||
llxFooter();
|
||||
|
||||
@ -137,7 +137,8 @@ $form=new Form($db);
|
||||
// Show report header
|
||||
if ($modecompta=="CREANCES-DETTES") {
|
||||
$nom=$langs->trans("SalesTurnover").', '.$langs->trans("ByUserAuthorOfInvoice");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeDebt");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink="<a href='".$_SERVER["PHP_SELF"]."?year=".($year-1)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year+1)."&modecompta=".$modecompta."'>".img_next()."</a>";
|
||||
$description=$langs->trans("RulesCADue");
|
||||
@ -147,7 +148,8 @@ if ($modecompta=="CREANCES-DETTES") {
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
} else {
|
||||
$nom=$langs->trans("SalesTurnover").', '.$langs->trans("ByUserAuthorOfInvoice");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink="<a href='".$_SERVER["PHP_SELF"]."?year=".($year-1)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year+1)."&modecompta=".$modecompta."'>".img_next()."</a>";
|
||||
$description=$langs->trans("RulesCAIn");
|
||||
@ -158,7 +160,7 @@ if ($modecompta=="CREANCES-DETTES") {
|
||||
$moreparam=array();
|
||||
if (! empty($modecompta)) $moreparam['modecompta']=$modecompta;
|
||||
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$moreparam);
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$moreparam,$calcmode);
|
||||
|
||||
|
||||
// Show array
|
||||
|
||||
@ -151,7 +151,8 @@ $formother = new FormOther($db);
|
||||
if ($modecompta=="CREANCES-DETTES")
|
||||
{
|
||||
$nom=$langs->trans("SalesTurnover").', '.$langs->trans("ByThirdParties");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeDebt");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink='<a href="'.$_SERVER["PHP_SELF"].'?year='.($year-1).'&modecompta='.$modecompta.'">'.img_previous().'</a> <a href="'.$_SERVER["PHP_SELF"].'?year='.($year+1).'&modecompta='.$modecompta.'">'.img_next().'</a>';
|
||||
$description=$langs->trans("RulesCADue");
|
||||
@ -161,7 +162,8 @@ if ($modecompta=="CREANCES-DETTES")
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
} else {
|
||||
$nom=$langs->trans("SalesTurnover").', '.$langs->trans("ByThirdParties");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink='<a href="'.$_SERVER["PHP_SELF"].'?year='.($year-1).'&modecompta='.$modecompta.'">'.img_previous().'</a> <a href="'.$_SERVER["PHP_SELF"].'?year='.($year+1).'&modecompta='.$modecompta.'">'.img_next().'</a>';
|
||||
$description=$langs->trans("RulesCAIn");
|
||||
@ -170,7 +172,7 @@ if ($modecompta=="CREANCES-DETTES")
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
}
|
||||
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$tableparams);
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$tableparams,$calcmode);
|
||||
|
||||
|
||||
// Show Array
|
||||
@ -227,7 +229,7 @@ $sql.= " AND f.entity = ".$conf->entity;
|
||||
if ($socid) $sql.= " AND f.fk_soc = ".$socid;
|
||||
$sql.= " GROUP BY s.rowid, s.nom";
|
||||
$sql.= " ORDER BY s.rowid";
|
||||
echo $sql;
|
||||
//echo $sql;
|
||||
|
||||
$result = $db->query($sql);
|
||||
if ($result) {
|
||||
|
||||
@ -60,7 +60,8 @@ $form=new Form($db);
|
||||
if ($modecompta=="CREANCES-DETTES")
|
||||
{
|
||||
$nom=$langs->trans("SalesTurnover");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeDebt");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=RECETTES-DEPENSES">','</a>').')';
|
||||
$period="$year_start - $year_end";
|
||||
$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start-1)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start+1)."&modecompta=".$modecompta."'>".img_next()."</a>":"");
|
||||
$description=$langs->trans("RulesCADue");
|
||||
@ -71,7 +72,8 @@ if ($modecompta=="CREANCES-DETTES")
|
||||
}
|
||||
else {
|
||||
$nom=$langs->trans("SalesTurnover");
|
||||
$nom.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$calcmode=$langs->trans("CalcModeEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("SeeReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year_start='.$year_start.'&modecompta=CREANCES-DETTES">','</a>').')';
|
||||
$period="$year_start - $year_end";
|
||||
$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start-1)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year_start=".($year_start+1)."&modecompta=".$modecompta."'>".img_next()."</a>":"");
|
||||
$description=$langs->trans("RulesCAIn");
|
||||
@ -81,7 +83,7 @@ else {
|
||||
}
|
||||
$moreparam=array();
|
||||
if (! empty($modecompta)) $moreparam['modecompta']=$modecompta;
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$moreparam);
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$moreparam,$calcmode);
|
||||
|
||||
|
||||
if ($modecompta == 'CREANCES-DETTES')
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2006 Yannick Warnier <ywarnier@beeznest.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -110,6 +110,8 @@ $fsearch.=' <input type="text" name="min" id="min" value="'.$min.'" size="6">';
|
||||
if ($modetax==1) // Calculate on invoice for goods and services
|
||||
{
|
||||
$nom=$langs->trans("VATReportByCustomersInDueDebtMode");
|
||||
$calcmode=$langs->trans("CalcModeVATDebt");
|
||||
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
//$nom.='<br>('.$langs->trans("SeeVATReportInInputOutputMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=0">','</a>').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":"");
|
||||
@ -121,7 +123,6 @@ if ($modetax==1) // Calculate on invoice for goods and services
|
||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.='<br>'.$langs->trans("DepositsAreNotIncluded");
|
||||
else $description.='<br>'.$langs->trans("DepositsAreIncluded");
|
||||
$description.=$fsearch;
|
||||
$description.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
$builddate=time();
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
|
||||
@ -137,6 +138,8 @@ if ($modetax==1) // Calculate on invoice for goods and services
|
||||
if ($modetax==0) // Invoice for goods, payment for services
|
||||
{
|
||||
$nom=$langs->trans("VATReportByCustomersInInputOutputMode");
|
||||
$calcmode=$langs->trans("CalcModeVATEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
//$nom.='<br>('.$langs->trans("SeeVATReportInDueDebtMode",'<a href="'.$_SERVER["PHP_SELF"].'?year='.$year_start.'&modetax=1">','</a>').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
//$periodlink=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start-1)."&modetax=".$modetax."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start+1)."&modetax=".$modetax."'>".img_next()."</a>":"");
|
||||
@ -149,7 +152,6 @@ if ($modetax==0) // Invoice for goods, payment for services
|
||||
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
||||
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
||||
$description.=$fsearch;
|
||||
$description.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
$builddate=time();
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
|
||||
@ -162,7 +164,7 @@ if ($modetax==0) // Invoice for goods, payment for services
|
||||
$amountsup=$langs->trans("AmountHT");
|
||||
if ($mysoc->tva_assuj) $vatsup.=' ('.$langs->trans("ToGetBack").')';
|
||||
}
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink);
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array(),$calcmode);
|
||||
|
||||
$vatcust=$langs->trans("VATReceived");
|
||||
$vatsup=$langs->trans("VATPaid");
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2006-2007 Yannick Warnier <ywarnier@beeznest.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -121,10 +121,13 @@ $fsearch.=' <input type="hidden" name="modetax" value="'.$modetax.'">';
|
||||
//$fsearch.=' '.$langs->trans("SalesTurnoverMinimum").': ';
|
||||
//$fsearch.=' <input type="text" name="min" value="'.$min.'">';
|
||||
|
||||
|
||||
// Affiche en-tete du rapport
|
||||
if ($modetax==1) // Calculate on invoice for goods and services
|
||||
{
|
||||
$nom=$langs->trans("VATReportByQuartersInDueDebtMode");
|
||||
$calcmode=$langs->trans("CalcModeVATDebt");
|
||||
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
$prevyear=$year_start; $prevquarter=$q;
|
||||
if ($prevquarter > 1) $prevquarter--;
|
||||
@ -140,7 +143,6 @@ if ($modetax==1) // Calculate on invoice for goods and services
|
||||
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $description.='<br>'.$langs->trans("DepositsAreNotIncluded");
|
||||
else $description.='<br>'.$langs->trans("DepositsAreIncluded");
|
||||
$description.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
$description.=$fsearch;
|
||||
$builddate=time();
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
@ -159,6 +161,8 @@ if ($modetax==1) // Calculate on invoice for goods and services
|
||||
if ($modetax==0) // Invoice for goods, payment for services
|
||||
{
|
||||
$nom=$langs->trans("VATReportByQuartersInInputOutputMode");
|
||||
$calcmode=$langs->trans("CalcModeVATEngagement");
|
||||
$calcmode.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
$period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1);
|
||||
$prevyear=$year_start; $prevquarter=$q;
|
||||
if ($prevquarter > 1) $prevquarter--;
|
||||
@ -176,7 +180,6 @@ if ($modetax==0) // Invoice for goods, payment for services
|
||||
//if ($conf->global->MAIN_MODULE_COMPTABILITE || $conf->global->MAIN_MODULE_ACCOUNTING) $description.='<br>'.img_warning().' '.$langs->trans('OptionVatInfoModuleComptabilite');
|
||||
//if (! empty($conf->global->MAIN_MODULE_COMPTABILITE)) $description.='<br>'.$langs->trans("WarningDepositsNotIncluded");
|
||||
$description.=$fsearch;
|
||||
$description.='<br>('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')';
|
||||
$builddate=time();
|
||||
//$exportlink=$langs->trans("NotYetAvailable");
|
||||
|
||||
@ -191,7 +194,7 @@ if ($modetax==0) // Invoice for goods, payment for services
|
||||
$vatsup=$langs->trans("VATPaid");
|
||||
if ($mysoc->tva_assuj) $vatsup.=' ('.$langs->trans("ToGetBack").')';
|
||||
}
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink);
|
||||
report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array(),$calcmode);
|
||||
|
||||
$vatcust=$langs->trans("VATReceived");
|
||||
$vatsup=$langs->trans("VATPaid");
|
||||
|
||||
@ -469,7 +469,7 @@ class Contact extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* Charge l'objet contact
|
||||
* Load object contact
|
||||
*
|
||||
* @param int $id id du contact
|
||||
* @param User $user Utilisateur (abonnes aux alertes) qui veut les alertes de ce contact
|
||||
@ -481,8 +481,7 @@ class Contact extends CommonObject
|
||||
|
||||
$langs->load("companies");
|
||||
|
||||
|
||||
$sql = "SELECT c.rowid, c.fk_soc, c.civilite as civilite_id, c.lastname, c.firstname,";
|
||||
$sql = "SELECT c.rowid, c.fk_soc, c.ref_ext, c.civilite as civilite_id, c.lastname, c.firstname,";
|
||||
$sql.= " c.address, c.statut, c.zip, c.town,";
|
||||
$sql.= " c.fk_pays as country_id,";
|
||||
$sql.= " c.fk_departement,";
|
||||
@ -511,6 +510,7 @@ class Contact extends CommonObject
|
||||
|
||||
$this->id = $obj->rowid;
|
||||
$this->ref = $obj->rowid;
|
||||
$this->ref_ext = $obj->ref_ext;
|
||||
$this->civilite_id = $obj->civilite_id;
|
||||
$this->lastname = $obj->lastname;
|
||||
$this->firstname = $obj->firstname;
|
||||
@ -972,7 +972,7 @@ class Contact extends CommonObject
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Return translated label of Public or Private
|
||||
*
|
||||
|
||||
@ -132,28 +132,25 @@ if (empty($reshook))
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Confirmation desactivation
|
||||
*/
|
||||
if ($action == 'disable')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->setstatus(0);
|
||||
header("Location: ".$_SERVER['PHP_SELF'].'?id='.$id);
|
||||
exit;
|
||||
}
|
||||
// Confirmation desactivation
|
||||
if ($action == 'disable')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->setstatus(0);
|
||||
header("Location: ".$_SERVER['PHP_SELF'].'?id='.$id);
|
||||
exit;
|
||||
}
|
||||
|
||||
/*
|
||||
* Confirmation activation
|
||||
*/
|
||||
if ($action == 'enable')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->setstatus(1);
|
||||
header("Location: ".$_SERVER['PHP_SELF'].'?id='.$id);
|
||||
exit;
|
||||
// Confirmation activation
|
||||
if ($action == 'enable')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->setstatus(1);
|
||||
header("Location: ".$_SERVER['PHP_SELF'].'?id='.$id);
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
// Add contact
|
||||
if ($action == 'add' && $user->rights->societe->contact->creer)
|
||||
{
|
||||
@ -221,7 +218,7 @@ if (empty($reshook))
|
||||
|
||||
if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->societe->contact->supprimer)
|
||||
{
|
||||
$result=$object->fetch($_GET["id"]);
|
||||
$result=$object->fetch($id);
|
||||
|
||||
$object->old_lastname = $_POST["old_lastname"];
|
||||
$object->old_firstname = $_POST["old_firstname"];
|
||||
@ -248,7 +245,9 @@ if (empty($reshook))
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$object->fetch($_POST["contactid"]);
|
||||
$contactid=GETPOST("contactid",'int');
|
||||
|
||||
$object->fetch($contactid);
|
||||
|
||||
$object->oldcopy=dol_clone($object);
|
||||
|
||||
@ -281,7 +280,7 @@ if (empty($reshook))
|
||||
// Fill array 'array_options' with data from add form
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
|
||||
|
||||
$result = $object->update($_POST["contactid"], $user);
|
||||
$result = $object->update($contactid, $user);
|
||||
|
||||
if ($result > 0)
|
||||
{
|
||||
@ -343,8 +342,7 @@ else
|
||||
{
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$_GET["id"],$langs->trans("DeleteContact"),$langs->trans("ConfirmDeleteContact"),"confirm_delete",'',0,1);
|
||||
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteContact"),$langs->trans("ConfirmDeleteContact"),"confirm_delete",'',0,1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -274,54 +274,63 @@ class Contrat extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate a contract
|
||||
* Validate a contract
|
||||
*
|
||||
* @param User $user Objet User
|
||||
* @return int <0 if KO, >0 if OK
|
||||
* @param User $user Objet User
|
||||
* @param string $force_number Reference to force on contract (not implemented yet)
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function validate($user)
|
||||
function validate($user, $force_number='')
|
||||
{
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||
global $langs, $conf;
|
||||
|
||||
$now=dol_now();
|
||||
|
||||
$error=0;
|
||||
dol_syslog(get_class($this).'::validate user='.$user->id.', force_number='.$force_number);
|
||||
|
||||
// Definition du nom de module de numerotation de commande
|
||||
$soc = new Societe($this->db);
|
||||
$soc->fetch($this->socid);
|
||||
|
||||
// Class of company linked to order
|
||||
$result=$soc->set_as_client();
|
||||
$this->db->begin();
|
||||
|
||||
$this->fetch_thirdparty();
|
||||
|
||||
// A contract is validated so we can move thirdparty to status customer
|
||||
$result=$this->thirdparty->set_as_client();
|
||||
|
||||
// Define new ref
|
||||
if (! $error && (preg_match('/^[\(]?PROV/i', $this->ref)))
|
||||
{
|
||||
$num = $this->getNextNumRef($soc);
|
||||
$num = $this->getNextNumRef($this->thirdparty);
|
||||
}
|
||||
else
|
||||
{
|
||||
$num = $this->ref;
|
||||
}
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET ref = '".$num."', statut = 1";
|
||||
$sql .= " WHERE rowid = ".$this->id . " AND statut = 0";
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
if ($num)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('CONTRACT_VALIDATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET ref = '".$num."', statut = 1";
|
||||
//$sql.= ", fk_user_valid = ".$user->id.", date_valid = '".$this->db->idate($now)."'";
|
||||
$sql .= " WHERE rowid = ".$this->id . " AND statut = 0";
|
||||
|
||||
dol_syslog(get_class($this)."::validate sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
dol_syslog(get_class($this)."::validate Echec update - 10 - sql=".$sql, LOG_ERR);
|
||||
dol_print_error($this->db);
|
||||
$error++;
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$this->oldref = '';
|
||||
|
||||
// Rename directory if dir was a temporary ref
|
||||
if (preg_match('/^[\(]?PROV/i', $this->ref))
|
||||
{
|
||||
// Rename of propal directory ($this->ref = old ref, $num = new ref)
|
||||
// Rename of object directory ($this->ref = old ref, $num = new ref)
|
||||
// to not lose the linked files
|
||||
$facref = dol_sanitizeFileName($this->ref);
|
||||
$snumfa = dol_sanitizeFileName($num);
|
||||
@ -330,28 +339,56 @@ class Contrat extends CommonObject
|
||||
if (file_exists($dirsource))
|
||||
{
|
||||
dol_syslog(get_class($this)."::validate rename dir ".$dirsource." into ".$dirdest);
|
||||
|
||||
|
||||
if (@rename($dirsource, $dirdest))
|
||||
{
|
||||
$this->oldref = $facref;
|
||||
|
||||
dol_syslog("Rename ok");
|
||||
// Deleting old PDF in new rep
|
||||
dol_delete_file($conf->contract->dir_output.'/'.$snumfa.'/'.$facref.'*.*');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
||||
// Set new ref and define current statut
|
||||
if (! $error)
|
||||
{
|
||||
return -1;
|
||||
$this->ref = $num;
|
||||
$this->statut=1;
|
||||
$this->brouillon=0;
|
||||
$this->date_validation=$now;
|
||||
}
|
||||
|
||||
// Trigger calls
|
||||
if (! $error)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('CONTRACT_VALIDATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
$error++;
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
$this->error=$this->db->lasterror();
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -966,19 +1003,19 @@ class Contrat extends CommonObject
|
||||
// qty, pu, remise_percent et txtva
|
||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc);
|
||||
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, 1,'', $localtaxes_type);
|
||||
$total_ht = $tabprice[0];
|
||||
$total_tva = $tabprice[1];
|
||||
$total_ttc = $tabprice[2];
|
||||
$total_localtax1= $tabprice[9];
|
||||
$total_localtax2= $tabprice[10];
|
||||
|
||||
|
||||
$localtax1_type=$localtaxes_type[0];
|
||||
$localtax2_type=$localtaxes_type[2];
|
||||
|
||||
|
||||
// TODO A virer
|
||||
// Anciens indicateurs: $price, $remise (a ne plus utiliser)
|
||||
$remise = 0;
|
||||
@ -1114,19 +1151,19 @@ class Contrat extends CommonObject
|
||||
// qty, pu, remise_percent et txtva
|
||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc);
|
||||
|
||||
|
||||
$tabprice=calcul_price_total($qty, $pu, $remise_percent, $tvatx, $localtaxtx1, $txlocaltaxtx2, 0, $price_base_type, $info_bits, 1, '', $localtaxes_type);
|
||||
$total_ht = $tabprice[0];
|
||||
$total_tva = $tabprice[1];
|
||||
$total_ttc = $tabprice[2];
|
||||
$total_localtax1= $tabprice[9];
|
||||
$total_localtax2= $tabprice[10];
|
||||
|
||||
|
||||
$localtax1_type=$localtaxes_type[0];
|
||||
$localtax2_type=$localtaxes_type[2];
|
||||
|
||||
|
||||
// TODO A virer
|
||||
// Anciens indicateurs: $price, $remise (a ne plus utiliser)
|
||||
$remise = 0;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2011-2012 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
@ -464,7 +464,7 @@ abstract class CommonObject
|
||||
$sql.= " WHERE tc.element='".$this->element."'";
|
||||
if ($activeonly == 1)
|
||||
$sql.= " AND tc.active=1"; // only the active type
|
||||
|
||||
|
||||
if (! empty($source)) $sql.= " AND tc.source='".$source."'";
|
||||
$sql.= " ORDER by tc.".$order;
|
||||
|
||||
@ -1112,9 +1112,9 @@ abstract class CommonObject
|
||||
$row = $this->db->fetch_row($resql);
|
||||
$rows[] = $row[0]; // Add parent line into array rows
|
||||
$childrens = $this->getChildrenOfLine($row[0]);
|
||||
if (! empty($children))
|
||||
if (! empty($childrens))
|
||||
{
|
||||
foreach($children as $child)
|
||||
foreach($childrens as $child)
|
||||
{
|
||||
array_push($rows, $child);
|
||||
}
|
||||
@ -2621,7 +2621,7 @@ abstract class CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* This is to show add lines */
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||
* Copyright (C) 2006 Marc Barilley/Ocebo <marc@ocebo.com>
|
||||
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be>
|
||||
@ -800,7 +800,7 @@ class Form
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
|
||||
if ($conf->global->SOCIETE_ADD_REF_IN_LIST) {
|
||||
if (($obj->client) && (!empty($obj->code_client))) {
|
||||
$label = $obj->code_client. ' - ';
|
||||
@ -814,7 +814,7 @@ class Form
|
||||
{
|
||||
$label=$obj->nom;
|
||||
}
|
||||
|
||||
|
||||
if ($showtype)
|
||||
{
|
||||
if ($obj->client || $obj->fournisseur) $label.=' (';
|
||||
@ -2484,9 +2484,9 @@ class Form
|
||||
|
||||
/**
|
||||
* Show a confirmation HTML form or AJAX popup.
|
||||
* Easiest way to use this is with useajax=1.
|
||||
* If you use useajax='xxx', you must also add jquery code to trigger opening of box (with correct parameters)
|
||||
* just after calling this method. For example:
|
||||
* Easiest way to use this is with useajax=1.
|
||||
* If you use useajax='xxx', you must also add jquery code to trigger opening of box (with correct parameters)
|
||||
* just after calling this method. For example:
|
||||
* print '<script type="text/javascript">'."\n";
|
||||
* print 'jQuery(document).ready(function() {'."\n";
|
||||
* print 'jQuery(".xxxlink").click(function(e) { jQuery("#aparamid").val(jQuery(this).attr("rel")); jQuery("#dialog-confirm-xxx").dialog("open"); return false; });'."\n";
|
||||
@ -2587,9 +2587,9 @@ class Form
|
||||
$more.='</table>'."\n";
|
||||
}
|
||||
|
||||
// JQUI method dialog is broken with jmobile, we use standard HTML.
|
||||
// JQUI method dialog is broken with jmobile, we use standard HTML.
|
||||
// Note: When using dol_use_jmobile, you must also check code for button use a GET url with action=xxx and output the confirm code only when action=xxx
|
||||
if (! empty($conf->dol_use_jmobile)) $useajax=0;
|
||||
if (! empty($conf->dol_use_jmobile)) $useajax=0;
|
||||
|
||||
if ($useajax && $conf->use_javascript_ajax)
|
||||
{
|
||||
@ -3280,7 +3280,8 @@ class Form
|
||||
* Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle.
|
||||
* Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
|
||||
* Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
|
||||
* Si (vendeur et acheteur dans Communaute europeenne) et bien vendu autre que transport neuf alors la TVA par defaut=TVA du produit vendu. Fin de regle.
|
||||
* Si vendeur et acheteur dans Communauté européenne et acheteur= particulier alors TVA par défaut=TVA du produit vendu. Fin de règle.
|
||||
* Si vendeur et acheteur dans Communauté européenne et acheteur= entreprise alors TVA par défaut=0. Fin de règle.
|
||||
* Sinon la TVA proposee par defaut=0. Fin de regle.
|
||||
* @param bool $options_only Return options only (for ajax treatment)
|
||||
* @return void
|
||||
@ -3376,7 +3377,7 @@ class Form
|
||||
|
||||
// Disabled if seller is not subject to VAT
|
||||
$disabled=false; $title='';
|
||||
if (is_object($societe_vendeuse) && $societe_vendeuse->id == $mysoc->id && $societe_vendeuse->tva_assuj == "0")
|
||||
if (is_object($societe_vendeuse) && $societe_vendeuse->id == $mysoc->id && $societe_vendeuse->tva_assuj == "0")
|
||||
{
|
||||
$title=' title="'.$langs->trans('VATIsNotUsed').'"';
|
||||
$disabled=true;
|
||||
|
||||
@ -203,7 +203,7 @@ class FormCompany
|
||||
* un code donnee mais dans ce cas, le champ pays differe).
|
||||
* Ainsi les liens avec les departements se font sur un departement independemment de son nom.
|
||||
*
|
||||
* @param string $selected Code state preselected
|
||||
* @param string $selected Code state preselected (mus be state id)
|
||||
* @param string $country_codeid Country code or id: 0=list for all countries, otherwise country code or country rowid to show
|
||||
* @param string $htmlname Id of department
|
||||
* @return string String with HTML select
|
||||
@ -257,7 +257,8 @@ class FormCompany
|
||||
}
|
||||
}
|
||||
|
||||
if ($selected > 0 && $selected == $obj->rowid)
|
||||
if ((! empty($selected) && $selected == $obj->rowid)
|
||||
|| (empty($selected) && ! empty($conf->global->MAIN_FORCE_DEFAULT_STATE_ID) && $conf->global->MAIN_FORCE_DEFAULT_STATE_ID == $obj->rowid))
|
||||
{
|
||||
$out.= '<option value="'.$obj->rowid.'" selected="selected">';
|
||||
}
|
||||
|
||||
@ -106,11 +106,12 @@ class Translate
|
||||
// Array force long code from first part, even if long code is defined
|
||||
$longforshort=array('ar'=>'ar_SA');
|
||||
if (isset($longforshort[strtolower($langpart[0])])) $srclang=$longforshort[strtolower($langpart[0])];
|
||||
else {
|
||||
else if (! is_numeric($langpart[1])) { // Second part YY may be a numeric with some Chrome browser
|
||||
$srclang=strtolower($langpart[0])."_".strtoupper($langpart[1]);
|
||||
$longforlong=array('no_nb'=>'nb_NO');
|
||||
if (isset($longforlong[strtolower($srclang)])) $srclang=$longforlong[strtolower($srclang)];
|
||||
}
|
||||
else $srclang=strtolower($langpart[0])."_".strtoupper($langpart[0]);
|
||||
}
|
||||
else { // If it's for a codetouse that is a short code xx
|
||||
// Array to convert short lang code into long code.
|
||||
@ -784,6 +785,16 @@ class Translate
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
function get_translations_for_substitutions() {
|
||||
$substitutionarray = array();
|
||||
|
||||
foreach($this->tab_translate as $code => $label) {
|
||||
$substitutionarray['lang_'.$code] = $label;
|
||||
}
|
||||
|
||||
return $substitutionarray;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -62,7 +62,7 @@ function societe_prepare_head($object)
|
||||
$head[$h][2] = 'supplier';
|
||||
$h++;
|
||||
}
|
||||
|
||||
|
||||
if (($object->localtax1_assuj || $object->localtax2_assuj) && (isset($conf->global->MAIN_FEATURES_LEVEL) && $conf->global->MAIN_FEATURES_LEVEL > 0) )
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/societe/localtaxes.php?socid='.$object->id;
|
||||
@ -70,7 +70,7 @@ function societe_prepare_head($object)
|
||||
$head[$h][2] = 'localtaxes';
|
||||
$h++;
|
||||
}
|
||||
|
||||
|
||||
if (! empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read) ))
|
||||
{
|
||||
$head[$h][0] = DOL_URL_ROOT.'/societe/agenda.php?socid='.$object->id;
|
||||
@ -104,7 +104,7 @@ function societe_prepare_head($object)
|
||||
$head[$h][2] = 'consumption';
|
||||
$h++;
|
||||
}
|
||||
|
||||
|
||||
// Notifications
|
||||
if (! empty($conf->notification->enabled))
|
||||
{
|
||||
@ -113,7 +113,7 @@ function societe_prepare_head($object)
|
||||
$head[$h][2] = 'notify';
|
||||
$h++;
|
||||
}
|
||||
|
||||
|
||||
// Notes
|
||||
$nbNote = 0;
|
||||
if(!empty($object->note_private)) $nbNote++;
|
||||
@ -287,15 +287,15 @@ function getCountry($searchkey,$withcode='',$dbtouse=0,$outputlangs='',$entconv=
|
||||
}
|
||||
|
||||
/**
|
||||
* Return state translated from an id
|
||||
* Return state translated from an id. Return value is always utf8 encoded and without entities.
|
||||
*
|
||||
* @param int $id id of state (province/departement)
|
||||
* @param int $withcode '0'=Return label,
|
||||
* '1'=Return string code + label,
|
||||
* '2'=Return code,
|
||||
* 'all'=return array('id'=>,'code'=>,'label'=>)
|
||||
* @param DoliDB $dbtouse Database handler (using in global way may fail because of conflicts with some autoload features)
|
||||
* @return string String with state code or translated state name
|
||||
* @param int $id id of state (province/departement)
|
||||
* @param int $withcode '0'=Return label,
|
||||
* '1'=Return string code + label,
|
||||
* '2'=Return code,
|
||||
* 'all'=return array('id'=>,'code'=>,'label'=>)
|
||||
* @param DoliDB $dbtouse Database handler (using in global way may fail because of conflicts with some autoload features)
|
||||
* @return string String with state code or state name (Return value is always utf8 encoded and without entities)
|
||||
*/
|
||||
function getState($id,$withcode='',$dbtouse=0)
|
||||
{
|
||||
@ -617,7 +617,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
|
||||
if ($obj->statut==0) print '<td>'.$langs->trans('Disabled').' </span>'.img_picto($langs->trans('StatusContactDraftShort'),'statut0').'</td>';
|
||||
elseif ($obj->statut==1) print '<td>'.$langs->trans('Enabled').' </span>'.img_picto($langs->trans('StatusContactValidatedShort'),'statut1').'</td>';
|
||||
|
||||
|
||||
// copy in clipboard
|
||||
$coords = '';
|
||||
if (!empty($object->name))
|
||||
@ -667,7 +667,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
print '</a></td>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($user->rights->societe->contact->creer)
|
||||
{
|
||||
print '<td align="right">';
|
||||
@ -675,9 +675,9 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
|
||||
print img_edit();
|
||||
print '</a></td>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
}
|
||||
|
||||
@ -2329,7 +2329,7 @@ function print_liste_field_titre($name, $file="", $field="", $begin="", $morepar
|
||||
* Get title line of an array
|
||||
*
|
||||
* @param string $name Label of field
|
||||
* @param int $thead For thead format (0 by default)
|
||||
* @param int $thead 0=To use with standard table forat, 1=To use inside <thead><tr>, 2=To use with <div>
|
||||
* @param string $file Url used when we click on sort picto
|
||||
* @param string $field Field to use for new sorting. Empty if this field is not sortable.
|
||||
* @param string $begin ("" by defaut)
|
||||
@ -2347,10 +2347,13 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
|
||||
$sortorder=strtoupper($sortorder);
|
||||
$out='';
|
||||
|
||||
$tag='th';
|
||||
if ($thead==2) $tag='div';
|
||||
|
||||
// If field is used as sort criteria we use a specific class
|
||||
// Example if (sortfield,field)=("nom","xxx.nom") or (sortfield,field)=("nom","nom")
|
||||
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<th class="liste_titre_sel" '. $moreattrib.'>';
|
||||
else $out.= '<th class="liste_titre" '. $moreattrib.'>';
|
||||
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel" '. $moreattrib.'>';
|
||||
else $out.= '<'.$tag.' class="liste_titre" '. $moreattrib.'>';
|
||||
|
||||
if (! empty($conf->dol_optimize_smallscreen) && empty($thead) && $field) // If this is a sort field
|
||||
{
|
||||
@ -2397,7 +2400,7 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
|
||||
}
|
||||
}
|
||||
}
|
||||
$out.='</th>';
|
||||
$out.='</'.$tag.'>';
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
||||
@ -54,14 +54,16 @@ function dol_json_encode($elements)
|
||||
//var_dump($num);
|
||||
|
||||
// determine type
|
||||
if (is_numeric(key($elements)))
|
||||
if (is_numeric(key($elements)) && key($elements) == 0)
|
||||
{
|
||||
// indexed (list)
|
||||
$keysofelements=array_keys($elements); // Elements array mus have key that does not start with 0 and end with num-1, so we will use this later.
|
||||
$output = '[';
|
||||
for ($i = 0, $last = ($num - 1); isset($elements[$i]); ++$i)
|
||||
for ($i = 0, $last = ($num - 1); $i < $num; $i++)
|
||||
{
|
||||
if (is_array($elements[$i]) || is_object($elements[$i])) $output.= json_encode($elements[$i]);
|
||||
else $output .= _val($elements[$i]);
|
||||
if (! isset($elements[$keysofelements[$i]])) continue;
|
||||
if (is_array($elements[$keysofelements[$i]]) || is_object($elements[$keysofelements[$i]])) $output.= json_encode($elements[$keysofelements[$i]]);
|
||||
else $output .= _val($elements[$keysofelements[$i]]);
|
||||
if ($i !== $last) $output.= ',';
|
||||
}
|
||||
$output.= ']';
|
||||
|
||||
@ -34,9 +34,10 @@
|
||||
* @param date $builddate Date generation
|
||||
* @param string $exportlink Link for export or ''
|
||||
* @param array $moreparam Array with list of params to add into form
|
||||
* @param string $calcmode Calculation mode
|
||||
* @return void
|
||||
*/
|
||||
function report_header($nom,$variante,$period,$periodlink,$description,$builddate,$exportlink='',$moreparam=array())
|
||||
function report_header($nom,$variante,$period,$periodlink,$description,$builddate,$exportlink='',$moreparam=array(),$calcmode='')
|
||||
{
|
||||
global $langs, $hselected;
|
||||
|
||||
@ -59,13 +60,26 @@ function report_header($nom,$variante,$period,$periodlink,$description,$builddat
|
||||
// Ligne de titre
|
||||
print '<tr>';
|
||||
print '<td valign="top" width="110">'.$langs->trans("ReportName").'</td>';
|
||||
if (! $variante) print '<td colspan="3">';
|
||||
if (! $variantexxx) print '<td colspan="3">';
|
||||
else print '<td>';
|
||||
print $nom;
|
||||
if ($variante) print '</td><td colspan="2">'.$variante;
|
||||
if ($variantexxx) print '</td><td colspan="2">'.$variantexxx;
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
// Calculation mode
|
||||
if ($calcmode)
|
||||
{
|
||||
print '<tr>';
|
||||
print '<td valign="top" width="110">'.$langs->trans("CalculationMode").'</td>';
|
||||
if (! $variante) print '<td colspan="3">';
|
||||
else print '<td>';
|
||||
print $calcmode;
|
||||
if ($variante) print '</td><td colspan="2">'.$variante;
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
// Ligne de la periode d'analyse du rapport
|
||||
print '<tr>';
|
||||
print '<td>'.$langs->trans("ReportPeriod").'</td>';
|
||||
|
||||
@ -515,22 +515,7 @@ function quotedPrintEncode($str,$forcal=0)
|
||||
function quotedPrintDecode($str)
|
||||
{
|
||||
$out = preg_replace('/=\r?\n/', '', $str);
|
||||
/*
|
||||
* preg_replace /e modifier is deprecated in PHP 5.5
|
||||
* but anonymous functions for use in preg_replace_callback are only available from 5.3.0
|
||||
*/
|
||||
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
|
||||
$out = preg_replace_callback(
|
||||
'/=([A-F0-9]{2})/',
|
||||
function ($m) {
|
||||
return chr(hexdec($m[1]));
|
||||
},
|
||||
$out
|
||||
);
|
||||
} else {
|
||||
$out = preg_replace('/=([A-F0-9]{2})/e', chr(hexdec('\\1')), $out);
|
||||
}
|
||||
|
||||
$out = quoted_printable_decode($out); // Available with PHP 4+
|
||||
return trim($out);
|
||||
}
|
||||
|
||||
|
||||
@ -102,6 +102,9 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled', __HANDLER__, 'left', 3102__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/liste.php', 'List', 1, 'stocks', '$user->rights->stock->lire', '', 2, 1, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled', __HANDLER__, 'left', 3103__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/valo.php', 'EnhancedValue', 1, 'stocks', '$user->rights->stock->lire', '', 2, 2, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled', __HANDLER__, 'left', 3104__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/mouvement.php', 'Movements', 1, 'stocks', '$user->rights->stock->mouvement->lire', '', 2, 3, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 3105__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/replenish.php', 'Replenishments', 1, 'stocks', '$user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire', '', 2, 4, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->stock->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 3106__+MAX_llx_menu__, 'products', '', 3100__+MAX_llx_menu__, '/product/stock/massstockmove.php', 'StockTransfer', 1, 'stocks', '$user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire', '', 2, 5, __ENTITY__);
|
||||
|
||||
-- Product - Categories
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->categorie->enabled', __HANDLER__, 'left', 3200__+MAX_llx_menu__, 'products', 'cat', 3__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&type=0', 'Categories', 0, 'categories', '$user->rights->categorie->lire', '', 2, 4, __ENTITY__);
|
||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->categorie->enabled', __HANDLER__, 'left', 3201__+MAX_llx_menu__, 'products', '', 3200__+MAX_llx_menu__, '/categories/fiche.php?action=create&type=0', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__);
|
||||
|
||||
@ -187,14 +187,14 @@ class MenuManager
|
||||
foreach($this->menu->liste as $key => $val) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
||||
{
|
||||
print '<ul class="ulmenu" data-role="listview" data-inset="true">';
|
||||
print '<li data-role="list-divider">';
|
||||
print '<li data-role="list-dividerxxx" class="lilevel0">';
|
||||
if ($val['enabled'] == 1)
|
||||
{
|
||||
$relurl=dol_buildpath($val['url'],1);
|
||||
$relurl=preg_replace('/__LOGIN__/',$user->login,$relurl);
|
||||
$relurl=preg_replace('/__USERID__/',$user->id,$relurl);
|
||||
|
||||
print '<a href="#">'.$val['titre'].'</a>'."\n";
|
||||
print '<a class="alilevel0" href="#">'.$val['titre'].'</a>'."\n";
|
||||
// Search submenu fot this entry
|
||||
$tmpmainmenu=$val['mainmenu'];
|
||||
$tmpleftmenu='all';
|
||||
@ -211,7 +211,7 @@ class MenuManager
|
||||
|| (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/index.php') !== false))
|
||||
{
|
||||
// We add sub entry
|
||||
print str_pad('',1).'<li data-role="list-divider" class="lilevel1 ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
print str_pad('',1).'<li data-role="list-dividerxxx" class="lilevel1 ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
print '<a href="'.$relurl.'">';
|
||||
print str_pad('',12,' ');
|
||||
if ($langs->trans(ucfirst($val['mainmenu'])."Dashboard") == ucfirst($val['mainmenu'])."Dashboard") print $langs->trans("Access"); // No translation
|
||||
@ -227,7 +227,7 @@ class MenuManager
|
||||
$canonurl2=preg_replace('/\?.*$/','',$val2['url']);
|
||||
//var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']);
|
||||
if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2='';
|
||||
if ($val2['level']==0) print str_pad('',$val2['level']+1).'<li'.($val2['level']==0?' data-role="list-divider"':'').' class="lilevel'.($val2['level']+1).' ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
if ($val2['level']==0) print str_pad('',$val2['level']+1).'<li'.($val2['level']==0?' data-role="list-dividerxxx"':'').' class="lilevel'.($val2['level']+1).' ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
else print str_pad('',$val2['level']+1).'<li class="lilevel'.($val2['level']+1).'">'; // ui-btn to highlight on clic
|
||||
if ($relurl2) print '<a href="'.$relurl2.'">';
|
||||
print str_pad('',($val2['level']+1)*12,' ');
|
||||
|
||||
@ -565,7 +565,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
|
||||
|
||||
/*
|
||||
* Menu TIERS
|
||||
* Menu THIRDPARTIES
|
||||
*/
|
||||
if ($mainmenu == 'companies')
|
||||
{
|
||||
@ -598,7 +598,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
//$newmenu->add("/contact/list.php?leftmenu=customers&type=p", $langs->trans("Contacts"), 2, $user->rights->societe->contact->lire);
|
||||
}
|
||||
|
||||
// Clients
|
||||
// Customers/Prospects
|
||||
if (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))
|
||||
{
|
||||
$langs->load("commercial");
|
||||
@ -608,7 +608,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
//$newmenu->add("/contact/list.php?leftmenu=customers&type=c", $langs->trans("Contacts"), 2, $user->rights->societe->contact->lire);
|
||||
}
|
||||
|
||||
// Fournisseurs
|
||||
// Suppliers
|
||||
if (! empty($conf->societe->enabled) && ! empty($conf->fournisseur->enabled))
|
||||
{
|
||||
$langs->load("suppliers");
|
||||
@ -1007,7 +1007,8 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
||||
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/liste.php", $langs->trans("List"), 1, $user->rights->stock->lire);
|
||||
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/valo.php", $langs->trans("EnhancedValue"), 1, $user->rights->stock->lire);
|
||||
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/mouvement.php", $langs->trans("Movements"), 1, $user->rights->stock->mouvement->lire);
|
||||
if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/replenish.php", $langs->trans("Replenishment"), 1, $user->rights->stock->mouvement->lire);
|
||||
if ($conf->fournisseur->enabled) if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/replenish.php", $langs->trans("Replenishment"), 1, $user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire);
|
||||
if ($conf->fournisseur->enabled) if (empty($leftmenu) || $leftmenu=="stock") $newmenu->add("/product/stock/massstockmove.php", $langs->trans("StockTransfer"), 1, $user->rights->stock->mouvement->lire && $user->rights->fournisseur->lire);
|
||||
}
|
||||
|
||||
// Expeditions
|
||||
|
||||
@ -141,14 +141,14 @@ class MenuManager
|
||||
foreach($this->menu->liste as $key => $val) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
||||
{
|
||||
print '<ul class="ulmenu" data-role="listview" data-inset="true">';
|
||||
print '<li data-role="list-divider">';
|
||||
print '<li data-role="list-dividerxxx" class="lilevel0">';
|
||||
if ($val['enabled'] == 1)
|
||||
{
|
||||
$relurl=dol_buildpath($val['url'],1);
|
||||
$relurl=preg_replace('/__LOGIN__/',$user->login,$relurl);
|
||||
$relurl=preg_replace('/__USERID__/',$user->id,$relurl);
|
||||
|
||||
print '<a href="#">'.$val['titre'].'</a>'."\n";
|
||||
print '<a class="alilevel0" href="#">'.$val['titre'].'</a>'."\n";
|
||||
// Search submenu fot this entry
|
||||
$tmpmainmenu=$val['mainmenu'];
|
||||
$tmpleftmenu='all';
|
||||
@ -165,7 +165,7 @@ class MenuManager
|
||||
|| (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/index.php') !== false))
|
||||
{
|
||||
// We add sub entry
|
||||
print str_pad('',1).'<li data-role="list-divider" class="lilevel1 ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
print str_pad('',1).'<li data-role="list-dividerxxx" class="lilevel1 ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
print '<a href="'.$relurl.'"';
|
||||
//print ' data-ajax="false"';
|
||||
print '>';
|
||||
@ -183,7 +183,7 @@ class MenuManager
|
||||
$canonurl2=preg_replace('/\?.*$/','',$val2['url']);
|
||||
//var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']);
|
||||
if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2='';
|
||||
if ($val2['level']==0) print str_pad('',$val2['level']+1).'<li'.($val2['level']==0?' data-role="list-divider"':'').' class="lilevel'.($val2['level']+1).' ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
if ($val2['level']==0) print str_pad('',$val2['level']+1).'<li'.($val2['level']==0?' data-role="list-dividerxxx"':'').' class="lilevel'.($val2['level']+1).' ui-btn-icon-right ui-btn">'; // ui-btn to highlight on clic
|
||||
else print str_pad('',$val2['level']+1).'<li class="lilevel'.($val2['level']+1).'">'; // ui-btn to highlight on clic
|
||||
if ($relurl2)
|
||||
{
|
||||
|
||||
@ -203,7 +203,7 @@ class MenuManager
|
||||
foreach($this->topmenu->liste as $key => $val) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
||||
{
|
||||
print '<ul class="ulmenu" data-role="listview" data-inset="true">';
|
||||
print '<li data-role="list-divider">';
|
||||
print '<li data-role="list-dividerxxx" class="lilevel0">';
|
||||
if ($val['enabled'] == 1)
|
||||
{
|
||||
$relurl=dol_buildpath($val['url'],1);
|
||||
@ -227,7 +227,7 @@ class MenuManager
|
||||
if ($canonrelurl != $canonnexturl && ! in_array($val['mainmenu'],array('home','tools')))
|
||||
{
|
||||
// We add sub entry
|
||||
print '<li data-role="list-divider"><a href="'.$relurl.'">'.$langs->trans("MainArea").'-'.$val['titre'].'</a></li>'."\n";
|
||||
print '<li data-role="list-dividerxxx"><a href="'.$relurl.'">'.$langs->trans("MainArea").'-'.$val['titre'].'</a></li>'."\n";
|
||||
}
|
||||
foreach($submenu->liste as $key2 => $val2) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'
|
||||
{
|
||||
@ -235,7 +235,7 @@ class MenuManager
|
||||
$relurl2=preg_replace('/__LOGIN__/',$user->login,$relurl2);
|
||||
$relurl2=preg_replace('/__USERID__/',$user->id,$relurl2);
|
||||
//var_dump($val2);
|
||||
print '<li'.($val2['level']==0?' data-role="list-divider"':'').'><a href="'.$relurl2.'">'.$val2['titre'].'</a></li>'."\n";
|
||||
print '<li'.($val2['level']==0?' data-role="list-dividerxxx"':'').'><a href="'.$relurl2.'">'.$val2['titre'].'</a></li>'."\n";
|
||||
}
|
||||
//var_dump($submenu);
|
||||
print '</ul>';
|
||||
|
||||
@ -74,7 +74,7 @@ class doc_generic_order_odt extends ModelePDFCommandes
|
||||
$this->option_modereg = 0; // Affiche mode reglement
|
||||
$this->option_condreg = 0; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
||||
$this->option_multilang = 0; // Dispo en plusieurs langues
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||
$this->option_credit_note = 0; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
@ -392,15 +392,22 @@ class doc_generic_order_odt extends ModelePDFCommandes
|
||||
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->commande->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->commande->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
// After construction $odfHandler->contentXml contains content and
|
||||
// [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
|
||||
// [!-- BEGIN lines --]*[!-- END lines --]
|
||||
@ -535,6 +542,18 @@ class doc_generic_order_odt extends ModelePDFCommandes
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Replace labels translated
|
||||
$tmparray=$outputlangs->get_translations_for_substitutions();
|
||||
foreach($tmparray as $key=>$value)
|
||||
{
|
||||
try {
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Call the beforeODTSave hook
|
||||
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
@ -74,7 +74,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
|
||||
$this->option_modereg = 0; // Affiche mode reglement
|
||||
$this->option_condreg = 0; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
||||
$this->option_multilang = 0; // Dispo en plusieurs langues
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||
$this->option_credit_note = 0; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
@ -127,7 +127,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
|
||||
'object_total_localtax2'=>price2num($object->total_localtax2),
|
||||
'object_total_ttc'=>price2num($object->total_ttc),
|
||||
'object_total_discount_ht' => price2num($object->getTotalDiscount()),
|
||||
|
||||
|
||||
'object_vatrate'=>vatrate($object->tva),
|
||||
'object_note_private'=>$object->note,
|
||||
'object_note'=>$object->note_public,
|
||||
@ -392,15 +392,22 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
|
||||
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->expedition->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->expedition->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
// After construction $odfHandler->contentXml contains content and
|
||||
// [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
|
||||
// [!-- BEGIN lines --]*[!-- END lines --]
|
||||
@ -535,6 +542,18 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Replace labels translated
|
||||
$tmparray=$outputlangs->get_translations_for_substitutions();
|
||||
foreach($tmparray as $key=>$value)
|
||||
{
|
||||
try {
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Call the beforeODTSave hook
|
||||
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
@ -524,14 +524,14 @@ class pdf_merou extends ModelePdfExpedition
|
||||
|
||||
if ($object->client->code_client)
|
||||
{
|
||||
$Yoff+=7;
|
||||
$Yoff+=3;
|
||||
$posy=$Yoff;
|
||||
$pdf->SetXY(100,$posy);
|
||||
$pdf->SetTextColor(0,0,60);
|
||||
$pdf->SetTextColor(0,0,0);
|
||||
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->client->code_client), '', 'R');
|
||||
}
|
||||
|
||||
//Date Expedition
|
||||
// Date Expedition
|
||||
$Yoff = $Yoff+7;
|
||||
$pdf->SetXY($blSocX-80,$blSocY+20);
|
||||
$pdf->SetFont('','B', $default_font_size - 2);
|
||||
|
||||
@ -74,7 +74,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures
|
||||
$this->option_modereg = 0; // Affiche mode reglement
|
||||
$this->option_condreg = 0; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
||||
$this->option_multilang = 0; // Dispo en plusieurs langues
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||
$this->option_credit_note = 0; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
@ -423,15 +423,22 @@ class doc_generic_invoice_odt extends ModelePDFFactures
|
||||
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->facture->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->facture->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
// After construction $odfHandler->contentXml contains content and
|
||||
// [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
|
||||
// [!-- BEGIN lines --]*[!-- END lines --]
|
||||
@ -515,6 +522,18 @@ class doc_generic_invoice_odt extends ModelePDFFactures
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Replace labels translated
|
||||
$tmparray=$outputlangs->get_translations_for_substitutions();
|
||||
foreach($tmparray as $key=>$value)
|
||||
{
|
||||
try {
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Call the beforeODTSave hook
|
||||
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
@ -90,7 +90,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
$this->option_modereg = 0; // Affiche mode reglement
|
||||
$this->option_condreg = 0; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
||||
$this->option_multilang = 0; // Dispo en plusieurs langues
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||
$this->option_credit_note = 0; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
@ -392,7 +392,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
}
|
||||
$hookmanager->initHooks(array('odtgeneration'));
|
||||
global $action;
|
||||
|
||||
|
||||
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||
$sav_charset_output=$outputlangs->charset_output;
|
||||
$outputlangs->charset_output='UTF-8';
|
||||
@ -469,15 +469,22 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->projet->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->projet->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
// After construction $odfHandler->contentXml contains content and
|
||||
// [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
|
||||
// [!-- BEGIN lines --]*[!-- END lines --]
|
||||
@ -586,7 +593,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
if (!empty($object->fk_soc)) $socid = $object->fk_soc;
|
||||
|
||||
$tasksarray=$taskstatic->getTasksArray(0, 0, $object->id, $socid, 0);
|
||||
|
||||
|
||||
|
||||
foreach ($tasksarray as $task)
|
||||
{
|
||||
@ -910,14 +917,14 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
{
|
||||
$ref_array=array();
|
||||
$ref_array['type']=$langs->trans($classname);
|
||||
|
||||
|
||||
$element = new $classname($this->db);
|
||||
$element->fetch($elementarray[$i]);
|
||||
$element->fetch_thirdparty();
|
||||
|
||||
//Ref object
|
||||
$ref_array['ref']=$element->ref;
|
||||
|
||||
|
||||
//Date object
|
||||
$dateref=$element->date;
|
||||
if (empty($dateref)) $dateref=$element->datep;
|
||||
@ -977,6 +984,18 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Replace labels translated
|
||||
$tmparray=$outputlangs->get_translations_for_substitutions();
|
||||
foreach($tmparray as $key=>$value)
|
||||
{
|
||||
try {
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Call the beforeODTSave hook
|
||||
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
@ -998,7 +1017,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($conf->global->MAIN_UMASK))
|
||||
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||
|
||||
@ -425,7 +425,7 @@ class doc_generic_task_odt extends ModelePDFTask
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (file_exists($dir))
|
||||
{
|
||||
@ -455,15 +455,22 @@ class doc_generic_task_odt extends ModelePDFTask
|
||||
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->projet->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->projet->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
// After construction $odfHandler->contentXml contains content and
|
||||
// [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
|
||||
// [!-- BEGIN lines --]*[!-- END lines --]
|
||||
@ -677,7 +684,7 @@ class doc_generic_task_odt extends ModelePDFTask
|
||||
$i++;
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
|
||||
$odfHandler->mergeSegment($listlinestasktime);
|
||||
}
|
||||
|
||||
@ -711,7 +718,7 @@ class doc_generic_task_odt extends ModelePDFTask
|
||||
//$listlines->merge();
|
||||
|
||||
$odfHandler->mergeSegment($listtasksfiles);
|
||||
|
||||
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
@ -793,7 +800,7 @@ class doc_generic_task_odt extends ModelePDFTask
|
||||
$contact['fullname']=$objectdetail->getFullName($outputlangs,1);
|
||||
|
||||
$tmparray=$this->get_substitutionarray_project_contacts($contact,$outputlangs);
|
||||
|
||||
|
||||
foreach($tmparray as $key => $val)
|
||||
{
|
||||
try
|
||||
|
||||
@ -74,7 +74,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
||||
$this->option_modereg = 0; // Affiche mode reglement
|
||||
$this->option_condreg = 0; // Affiche conditions reglement
|
||||
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
||||
$this->option_multilang = 0; // Dispo en plusieurs langues
|
||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||
$this->option_credit_note = 0; // Support credit notes
|
||||
$this->option_freetext = 1; // Support add of a personalised text
|
||||
@ -278,9 +278,9 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
||||
$newfiletmp=preg_replace('/\.od(t|s)/i','',$newfile);
|
||||
$newfiletmp=preg_replace('/template_/i','',$newfiletmp);
|
||||
$newfiletmp=preg_replace('/modele_/i','',$newfiletmp);
|
||||
|
||||
|
||||
$newfiletmp=$objectref.'_'.$newfiletmp;
|
||||
|
||||
|
||||
// Get extension (ods or odt)
|
||||
$newfileformat=substr($newfile, strrpos($newfile, '.')+1);
|
||||
if ( ! empty($conf->global->MAIN_DOC_USE_TIMING))
|
||||
@ -344,15 +344,22 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
||||
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->propal->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->propal->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
// After construction $odfHandler->contentXml contains content and
|
||||
// [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by
|
||||
// [!-- BEGIN lines --]*[!-- END lines --]
|
||||
@ -488,6 +495,18 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Replace labels translated
|
||||
$tmparray=$outputlangs->get_translations_for_substitutions();
|
||||
foreach($tmparray as $key=>$value)
|
||||
{
|
||||
try {
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Call the beforeODTSave hook
|
||||
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
@ -508,7 +527,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($conf->global->MAIN_UMASK))
|
||||
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||
|
||||
@ -315,7 +315,7 @@ class pdf_azur extends ModelePDFPropales
|
||||
$posYAfterDescription=0;
|
||||
|
||||
// We start with Photo of product line
|
||||
if (($curY + $imglinesize['height']) > ($this->page_hauteur-($heightforfooter+$heightforfreetext+$heightforinfotot))) // If photo to high, we moved completely on new page
|
||||
if (isset($imglinesize['width']) && isset($imglinesize['height']) && ($curY + $imglinesize['height']) > ($this->page_hauteur-($heightforfooter+$heightforfreetext+$heightforinfotot))) // If photo too high, we moved completely on new page
|
||||
{
|
||||
$pdf->AddPage('','',true);
|
||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||
|
||||
@ -236,16 +236,22 @@ class doc_generic_odt extends ModeleThirdPartyDoc
|
||||
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->societe->multidir_temp[$object->entity],
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->societe->multidir_temp[$object->entity],
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
//print $odfHandler->__toString()."\n";
|
||||
|
||||
// Make substitutions into odt of user info
|
||||
@ -319,6 +325,18 @@ class doc_generic_odt extends ModeleThirdPartyDoc
|
||||
}
|
||||
}
|
||||
|
||||
// Replace labels translated
|
||||
$tmparray=$outputlangs->get_translations_for_substitutions();
|
||||
foreach($tmparray as $key=>$value)
|
||||
{
|
||||
try {
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// Call the beforeODTSave hook
|
||||
$parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);
|
||||
$reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
|
||||
@ -339,7 +357,7 @@ class doc_generic_odt extends ModeleThirdPartyDoc
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($conf->global->MAIN_UMASK))
|
||||
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||
|
||||
@ -16,6 +16,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Javascript code to activate drag and drop on lines
|
||||
* You can use this if you want to be abale to drag and drop rows of a table.
|
||||
* You must add id="tablelines" ont table level tag and have count($object->lines) or count($taskarray) > 0
|
||||
*/
|
||||
?>
|
||||
|
||||
@ -26,6 +28,7 @@ $fk_element=$object->fk_element;
|
||||
$table_element_line=$object->table_element_line;
|
||||
$nboflines=(isset($object->lines)?count($object->lines):(isset($tasksarray)?count($tasksarray):0));
|
||||
$forcereloadpage=empty($conf->global->MAIN_FORCE_RELOAD_PAGE)?0:1;
|
||||
$tagidfortablednd=(empty($tagidfortablednd)?'tablelines':$tagidfortablednd);
|
||||
|
||||
if (GETPOST('action') != 'editline' && $nboflines > 1) { ?>
|
||||
<script type="text/javascript">
|
||||
@ -37,10 +40,10 @@ $(document).ready(function(){
|
||||
$(".tdlineupdown").css("background-repeat","no-repeat");
|
||||
$(".tdlineupdown").css("background-position","center center");
|
||||
|
||||
$("#tablelines").tableDnD({
|
||||
$("#<?php echo $tagidfortablednd; ?>").tableDnD({
|
||||
onDrop: function(table, row) {
|
||||
var reloadpage = "<?php echo $forcereloadpage; ?>";
|
||||
var roworder = cleanSerialize($("#tablelines").tableDnDSerialize());
|
||||
var roworder = cleanSerialize($("#<?php echo $tagidfortablednd; ?>").tableDnDSerialize());
|
||||
var table_element_line = "<?php echo $table_element_line; ?>";
|
||||
var fk_element = "<?php echo $fk_element; ?>";
|
||||
var element_id = "<?php echo $id; ?>";
|
||||
@ -55,7 +58,7 @@ $(document).ready(function(){
|
||||
if (reloadpage == 1) {
|
||||
location.href = '<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>';
|
||||
} else {
|
||||
$("#tablelines .drag").each(
|
||||
$("#<?php echo $tagidfortablednd; ?> .drag").each(
|
||||
function( intIndex ) {
|
||||
$(this).removeClass("pair impair");
|
||||
if (intIndex % 2 == 0) $(this).addClass('impair');
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
/* Copyright (C) 2010-2013 Regis Houssin <regis.houssin@capnetworks.com>
|
||||
* Copyright (C) 2010-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
@ -65,7 +65,7 @@
|
||||
{
|
||||
if ($line->fk_product > 0) {
|
||||
|
||||
echo $form->textwithtooltip($text,$description,3,'','',$i,0,($line->fk_parent_line?img_picto('', 'rightarrow'):''));
|
||||
echo $form->textwithtooltip($text,$description,3,'','',$i,0,(!empty($line->fk_parent_line)?img_picto('', 'rightarrow'):''));
|
||||
|
||||
// Show range
|
||||
echo get_date_range($line->date_start, $line->date_end);
|
||||
@ -78,14 +78,14 @@
|
||||
|
||||
} else {
|
||||
|
||||
if (! empty($line->fk_parent_line)) echo img_picto('', 'rightarrow');
|
||||
if ($type==1) $text = img_object($langs->trans('Service'),'service');
|
||||
else $text = img_object($langs->trans('Product'),'product');
|
||||
|
||||
if (! empty($line->label)) {
|
||||
$text.= ' <strong>'.$line->label.'</strong>';
|
||||
echo $form->textwithtooltip($text,dol_htmlentitiesbr($line->description),3,'','',$i,0,($line->fk_parent_line?img_picto('', 'rightarrow'):''));
|
||||
echo $form->textwithtooltip($text,dol_htmlentitiesbr($line->description),3,'','',$i,0,(!empty($line->fk_parent_line)?img_picto('', 'rightarrow'):''));
|
||||
} else {
|
||||
if (! empty($line->fk_parent_line)) echo img_picto('', 'rightarrow');
|
||||
echo $text.' '.dol_htmlentitiesbr($line->description);
|
||||
}
|
||||
|
||||
|
||||
@ -51,9 +51,9 @@ $langs->load('propal');
|
||||
|
||||
$origin = GETPOST('origin','alpha')?GETPOST('origin','alpha'):'expedition'; // Example: commande, propal
|
||||
$origin_id = GETPOST('id','int')?GETPOST('id','int'):'';
|
||||
$id = $origin_id;
|
||||
if (empty($origin_id)) $origin_id = GETPOST('origin_id','int'); // Id of order or propal
|
||||
if (empty($origin_id)) $origin_id = GETPOST('object_id','int'); // Id of order or propal
|
||||
$id = $origin_id;
|
||||
$ref=GETPOST('ref','alpha');
|
||||
|
||||
// Security check
|
||||
@ -70,11 +70,6 @@ $hidedesc = (GETPOST('hidedesc','int') ? GETPOST('hidedesc','int') : (! empty(
|
||||
$hideref = (GETPOST('hideref','int') ? GETPOST('hideref','int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0));
|
||||
|
||||
$object = new Expedition($db);
|
||||
// Load object
|
||||
if ($id > 0 || ! empty($ref))
|
||||
{
|
||||
$ret=$object->fetch($id, $ref);
|
||||
}
|
||||
|
||||
// Load object
|
||||
if ($id > 0 || ! empty($ref))
|
||||
@ -95,8 +90,6 @@ if ($action == 'add')
|
||||
{
|
||||
$error=0;
|
||||
|
||||
$object = new Expedition($db);
|
||||
|
||||
$db->begin();
|
||||
|
||||
$object->note = GETPOST('note','alpha');
|
||||
@ -898,7 +891,7 @@ if ($action == 'create')
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else if ($id || $ref)
|
||||
/* *************************************************************************** */
|
||||
/* */
|
||||
/* Edit and view mode */
|
||||
|
||||
@ -145,30 +145,33 @@ if (empty($dolibarr_main_data_root))
|
||||
define('DOL_CLASS_PATH', 'class/'); // Filesystem path to class dir (defined only for some code that want to be compatible with old versions without this parameter)
|
||||
define('DOL_DATA_ROOT', $dolibarr_main_data_root); // Filesystem data (documents)
|
||||
define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem core php (htdocs)
|
||||
// Try to autodetec DOL_MAIN_URL_ROOT and DOL_URL_ROOT.
|
||||
// Try to autodetect DOL_MAIN_URL_ROOT and DOL_URL_ROOT.
|
||||
// Note: autodetect works only in case 1, 2, 3 and 4 of phpunit test CoreTest.php. For case 5, 6, only setting value into conf.php will works.
|
||||
$tmp='';
|
||||
$found=0;
|
||||
$real_dolibarr_main_document_root=str_replace('\\','/',realpath($dolibarr_main_document_root)); // A) Value found into config file, to say where are store htdocs files. Ex: C:/xxx/dolibarr, C:/xxx/dolibarr/htdocs
|
||||
$pathroot=$_SERVER["DOCUMENT_ROOT"]; // B) Value reported by web server setup, to say where is root of web server instance. Ex: C:/xxx/dolibarr, C:/xxx/dolibarr/htdocs
|
||||
$paths=explode('/',str_replace('\\','/',$_SERVER["SCRIPT_NAME"])); // C) Value reported by web server, to say full path on filesystem of a file. Ex: /dolibarr/htdocs/admin/system/phpinfo.php
|
||||
// Try to detect if $_SERVER["DOCUMENT_ROOT"]+start of $_SERVER["SCRIPT_NAME"] is $dolibarr_main_document_root. If yes, relative url to add before dol files is this start part.
|
||||
$concatpath='';
|
||||
foreach($paths as $tmppath) // We check to find (B+start of C)=A
|
||||
{
|
||||
if ($tmppath) $concatpath.='/'.$tmppath;
|
||||
if (empty($tmppath)) continue;
|
||||
$concatpath.='/'.$tmppath;
|
||||
//if ($tmppath) $concatpath.='/'.$tmppath;
|
||||
//print $_SERVER["SCRIPT_NAME"].'-'.$pathroot.'-'.$concatpath.'-'.$real_dolibarr_main_document_root.'-'.realpath($pathroot.$concatpath).'<br>';
|
||||
if ($real_dolibarr_main_document_root == @realpath($pathroot.$concatpath)) // @ avoid warning when safe_mode is on.
|
||||
{
|
||||
$tmp3=$concatpath;
|
||||
//print "Found relative url = ".$tmp3;
|
||||
//print "Found relative url = ".$concatpath;
|
||||
$tmp3=$concatpath;
|
||||
$found=1;
|
||||
break;
|
||||
}
|
||||
//else print "Not found yet for concatpath=".$concatpath."<br>\n";
|
||||
}
|
||||
if (! $found) $tmp=$dolibarr_main_url_root; // If autodetect fails (Ie: when using apache alias that point outside default DOCUMENT_ROOT.
|
||||
if (! $found) $tmp=$dolibarr_main_url_root; // If autodetect fails (Ie: when using apache alias that point outside default DOCUMENT_ROOT).
|
||||
else $tmp='http'.(((empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on') && (empty($_SERVER["SERVER_PORT"])||$_SERVER["SERVER_PORT"]!=443))?'':'s').'://'.$_SERVER["SERVER_NAME"].((empty($_SERVER["SERVER_PORT"])||$_SERVER["SERVER_PORT"]==80||$_SERVER["SERVER_PORT"]==443)?'':':'.$_SERVER["SERVER_PORT"]).($tmp3?(preg_match('/^\//',$tmp3)?'':'/').$tmp3:'');
|
||||
//print "tmp1=".$tmp1." tmp2=".$tmp2." tmp3=".$tmp3." tmp=".$tmp;
|
||||
//print "tmp1=".$tmp1." tmp2=".$tmp2." tmp3=".$tmp3." tmp=".$tmp."\n";
|
||||
if (! empty($dolibarr_main_force_https)) $tmp=preg_replace('/^http:/i','https:',$tmp);
|
||||
define('DOL_MAIN_URL_ROOT', $tmp); // URL absolute root (https://sss/dolibarr, ...)
|
||||
$uri=preg_replace('/^http(s?):\/\//i','',constant('DOL_MAIN_URL_ROOT')); // $uri contains url without http*
|
||||
@ -176,7 +179,7 @@ $suburi = strstr($uri, '/'); // $suburi contains url without domain:p
|
||||
if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now ''
|
||||
define('DOL_URL_ROOT', $suburi); // URL relative root ('', '/dolibarr', ...)
|
||||
|
||||
//print DOL_URL_ROOT;
|
||||
//print DOL_MAIN_URL_ROOT.'-'.DOL_URL_ROOT."\n";
|
||||
|
||||
// Define prefix MAIN_DB_PREFIX
|
||||
define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix);
|
||||
|
||||
@ -636,7 +636,7 @@ class FactureFournisseur extends CommonInvoice
|
||||
else {
|
||||
$error++;
|
||||
}
|
||||
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
// Delete linked object
|
||||
@ -1153,6 +1153,7 @@ class FactureFournisseur extends CommonInvoice
|
||||
if ($type < 0) return -1;
|
||||
|
||||
// Clean parameters
|
||||
if (empty($vatrate)) $vatrate=0;
|
||||
if (empty($txlocaltax1)) $txlocaltax1=0;
|
||||
if (empty($txlocaltax2)) $txlocaltax2=0;
|
||||
|
||||
@ -1163,9 +1164,9 @@ class FactureFournisseur extends CommonInvoice
|
||||
// qty, pu, remise_percent et txtva
|
||||
// TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker
|
||||
// la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva.
|
||||
|
||||
|
||||
$localtaxes_type=getLocalTaxesFromRate($vatrate,0,$this->thirdparty);
|
||||
|
||||
|
||||
$tabprice = calcul_price_total($qty, $pu, $remise_percent, $vatrate, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $this->thirdparty,$localtaxes_type);
|
||||
$total_ht = $tabprice[0];
|
||||
$total_tva = $tabprice[1];
|
||||
|
||||
@ -115,7 +115,7 @@ if ($action == 'setnum' && ! empty($_POST['num_paiement']))
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'setdate' && ! empty($_POST['datepday']))
|
||||
if ($action == 'setdatep' && ! empty($_POST['datepday']))
|
||||
{
|
||||
$object->fetch($id);
|
||||
$datepaye = dol_mktime(12, 0, 0, $_POST['datepmonth'], $_POST['datepday'], $_POST['datepyear']);
|
||||
@ -162,7 +162,7 @@ if ($result > 0)
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id, $langs->trans("DeletePayment"), $langs->trans("ConfirmDeletePayment"), 'confirm_delete');
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
@ -171,7 +171,7 @@ if ($result > 0)
|
||||
if ($action == 'valide')
|
||||
{
|
||||
print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id, $langs->trans("ValidatePayment"), $langs->trans("ConfirmValidatePayment"), 'confirm_valide');
|
||||
|
||||
|
||||
}
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
@ -195,7 +195,7 @@ if ($result > 0)
|
||||
print '</td></tr>';
|
||||
|
||||
// Amount
|
||||
print '<tr><td valign="top" colspan="2">'.$langs->trans('Amount').'</td><td colspan="3">'.price($object->montant).' '.$langs->trans('Currency'.$conf->currency).'</td></tr>';
|
||||
print '<tr><td valign="top" colspan="2">'.$langs->trans('Amount').'</td><td colspan="3">'.price($object->montant,'',$langs,0,0,-1,$conf->currency).'</td></tr>';
|
||||
|
||||
if (! empty($conf->global->BILL_ADD_PAYMENT_VALIDATION))
|
||||
{
|
||||
@ -218,9 +218,19 @@ if ($result > 0)
|
||||
print '<tr>';
|
||||
print '<td colspan="2">'.$langs->trans('BankTransactionLine').'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $bankline->getNomUrl(1,0,'showall');
|
||||
print $bankline->getNomUrl(1,0,'showconciliated');
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
print '<tr>';
|
||||
print '<td colspan="2">'.$langs->trans('BankAccount').'</td>';
|
||||
print '<td colspan="3">';
|
||||
$accountstatic=new Account($db);
|
||||
$accountstatic->id=$bankline->fk_account;
|
||||
$accountstatic->label=$bankline->bank_account_ref.' - '.$bankline->bank_account_label;
|
||||
print $accountstatic->getNomUrl(0);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -108,6 +108,10 @@ else
|
||||
{
|
||||
$sql .= natural_search('p.ref', $sref);
|
||||
}
|
||||
if ($sRefSupplier)
|
||||
{
|
||||
$sql .= natural_search('ppf.ref_fourn', $sRefSupplier);
|
||||
}
|
||||
if ($snom)
|
||||
{
|
||||
$sql .= natural_search('p.label', $snom);
|
||||
@ -174,7 +178,7 @@ if ($resql)
|
||||
print_liste_field_titre($langs->trans("Label"),"liste.php", "p.label",$param,"","",$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Supplier"),"liste.php", "ppf.fk_soc",$param,"","",$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("BuyingPrice"),"liste.php", "ppf.price",$param,"",'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("QtyMin"),"liste.php", "ppf.qty",$param,"",'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("QtyMin"),"liste.php", "ppf.quantity",$param,"",'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("UnitPrice"),"liste.php", "ppf.unitprice",$param,"",'align="right"',$sortfield,$sortorder);
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ $ok = 0;
|
||||
$err=error_reporting();
|
||||
error_reporting(0); // Disable all errors
|
||||
//error_reporting(E_ALL);
|
||||
@set_time_limit(300); // Need more than 240 on Windows 7/64
|
||||
@set_time_limit(900); // Need 900 on some OS like Windows 7/64
|
||||
error_reporting($err);
|
||||
|
||||
$action=GETPOST('action');
|
||||
|
||||
@ -299,5 +299,20 @@ ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_mode_reglement integer NULL;
|
||||
ALTER TABLE llx_facture_fourn MODIFY COLUMN fk_cond_reglement integer NULL;
|
||||
|
||||
|
||||
insert into llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (9,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1);
|
||||
INSERT INTO llx_c_action_trigger (rowid,code,label,description,elementtype,rang) values (9,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1);
|
||||
|
||||
|
||||
ALTER TABLE llx_contratdet ADD column product_type integer DEFAULT 1 after total_ttc;
|
||||
|
||||
create table llx_contrat_extrafields
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
tms timestamp,
|
||||
fk_object integer NOT NULL,
|
||||
import_key varchar(14) -- import key
|
||||
) ENGINE=innodb;
|
||||
|
||||
|
||||
-- add outstanding bill
|
||||
ALTER TABLE llx_societe ADD outstanding_limit double(24,8) DEFAULT NULL AFTER mode_reglement_supplier;
|
||||
|
||||
|
||||
@ -32,21 +32,23 @@ create table llx_actioncomm
|
||||
|
||||
fk_action integer, -- type of action (optionnal link with llx_c_actioncomm or null)
|
||||
code varchar(32) NULL, -- code of action for automatic action
|
||||
label varchar(128) NOT NULL, -- libelle de l'action
|
||||
label varchar(128) NOT NULL, -- label/title of event
|
||||
|
||||
datec datetime, -- date creation
|
||||
tms timestamp, -- date modif
|
||||
fk_user_author integer, -- id user qui a cree l'action
|
||||
fk_user_mod integer, -- id dernier user qui a modifier l'action
|
||||
tms timestamp, -- date modification
|
||||
fk_user_author integer, -- user id of user that has created record
|
||||
fk_user_mod integer, -- user id of user that has modified record
|
||||
|
||||
fk_project integer,
|
||||
fk_soc integer,
|
||||
fk_contact integer,
|
||||
fk_parent integer NOT NULL default 0,
|
||||
|
||||
fk_user_action integer, -- id de la personne qui doit effectuer l'action
|
||||
transparency integer, -- transparency (ical standard). used to say if people assigned to event are busy or not by event.
|
||||
fk_user_done integer, -- id de la personne qui a effectue l'action
|
||||
fk_user_action integer, -- user id of owner of action (currently also user id of actor that must do action. In future, actors assigned to action will be an array into table llx_actioncomm_resources)
|
||||
|
||||
transparency integer, -- transparency (ical standard). used to say if people assigned to event are busy or not by event (in future version, this field is deprecated and will be stored into table llx_actioncomm_resources)
|
||||
fk_user_done integer, -- user id of people that has made action (deprecated)
|
||||
|
||||
priority smallint,
|
||||
fulldayevent smallint NOT NULL default 0,
|
||||
punctual smallint NOT NULL default 1,
|
||||
|
||||
20
htdocs/install/mysql/tables/llx_contrat_extrafields.key.sql
Normal file
20
htdocs/install/mysql/tables/llx_contrat_extrafields.key.sql
Normal file
@ -0,0 +1,20 @@
|
||||
-- ===================================================================
|
||||
-- Copyright (C) 2013 Charles-Fr BENKE <charles.fr@benke.fr>
|
||||
--
|
||||
-- This program is free software; you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation; either version 3 of the License, or
|
||||
-- (at your option) any later version.
|
||||
--
|
||||
-- This program is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU General Public License
|
||||
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
--
|
||||
-- ===================================================================
|
||||
|
||||
|
||||
ALTER TABLE llx_contrat_extrafields ADD INDEX idx_contrat_extrafields (fk_object);
|
||||
25
htdocs/install/mysql/tables/llx_contrat_extrafields.sql
Normal file
25
htdocs/install/mysql/tables/llx_contrat_extrafields.sql
Normal file
@ -0,0 +1,25 @@
|
||||
-- ========================================================================
|
||||
-- Copyright (C) 2013 Charles-Fr BENKE <charles.fr@benke.fr>
|
||||
--
|
||||
-- This program is free software; you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
-- the Free Software Foundation; either version 3 of the License, or
|
||||
-- (at your option) any later version.
|
||||
--
|
||||
-- This program is distributed in the hope that it will be useful,
|
||||
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-- GNU General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU General Public License
|
||||
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
--
|
||||
-- ========================================================================
|
||||
|
||||
create table llx_contrat_extrafields
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
tms timestamp,
|
||||
fk_object integer NOT NULL,
|
||||
import_key varchar(14) -- import key
|
||||
) ENGINE=innodb;
|
||||
@ -52,6 +52,7 @@ create table llx_contratdet
|
||||
total_localtax1 double(24,8) DEFAULT 0, -- Total Local tax 1 de la ligne
|
||||
total_localtax2 double(24,8) DEFAULT 0, -- Total Local tax 2 de la ligne
|
||||
total_ttc double(24,8) DEFAULT 0, -- Total TTC de la ligne toute quantite et incluant remise ligne et globale
|
||||
product_type integer DEFAULT 1, -- Product type (1=service by default)
|
||||
info_bits integer DEFAULT 0, -- TVA NPR ou non
|
||||
|
||||
buy_price_ht double(24,8) DEFAULT NULL, -- buying price
|
||||
|
||||
@ -52,7 +52,7 @@ create table llx_societe
|
||||
fk_effectif integer DEFAULT 0, --
|
||||
fk_typent integer DEFAULT 0, --
|
||||
fk_forme_juridique integer DEFAULT 0, -- juridical status
|
||||
fk_currency integer DEFAULT 0, -- currency
|
||||
fk_currency integer DEFAULT 0, -- currency
|
||||
siren varchar(128), -- IDProf1: siren or RCS for france
|
||||
siret varchar(128), -- IDProf2: siret for france
|
||||
ape varchar(128), -- IDProf3: code ape for france
|
||||
@ -61,7 +61,7 @@ create table llx_societe
|
||||
idprof6 varchar(128), -- IDProf6: nu for france
|
||||
tva_intra varchar(20), -- tva
|
||||
capital real, -- capital de la societe
|
||||
fk_stcomm integer DEFAULT 0 NOT NULL, -- commercial statut
|
||||
fk_stcomm integer DEFAULT 0 NOT NULL, -- commercial statut
|
||||
note_private text, --
|
||||
note_public text, --
|
||||
prefix_comm varchar(5), -- prefix commercial
|
||||
@ -85,6 +85,7 @@ create table llx_societe
|
||||
barcode varchar(255), -- barcode
|
||||
fk_barcode_type integer NULL DEFAULT 0, -- barcode type
|
||||
price_level integer NULL, -- level of price for multiprices
|
||||
outstanding_limit double(24,8) DEFAULT NULL, -- allowed outstanding limit
|
||||
default_lang varchar(6), -- default language
|
||||
logo varchar(255),
|
||||
canvas varchar(32), -- type of canvas if used (null by default)
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - admin
|
||||
CHARSET=UTF-8
|
||||
# Foundation=Foundation
|
||||
Version=النسخة
|
||||
VersionProgram=نسخة البرنامج
|
||||
@ -72,6 +71,8 @@ Mask=قناع
|
||||
NextValue=قيمة المقبل
|
||||
NextValueForInvoices=قيمة المقبل (الفواتير)
|
||||
NextValueForCreditNotes=قيمة المقبل (مذكرات الائتمان)
|
||||
# NextValueForDeposit=Next value (deposit)
|
||||
# NextValueForReplacements=Next value (replacements)
|
||||
MustBeLowerThanPHPLimit=ملاحظة : PHP الخاصة بك في حدود كل من تحميل الملفات لحجم ٪ <b>ق</b> ق ٪ ، مهما كانت قيمة هذا المعلم هو
|
||||
NoMaxSizeByPHPLimit=ملاحظة : لم يتم تحديد أي في التكوين الخاص بك PHP
|
||||
MaxSizeForUploadedFiles=الحجم الأقصى لتحميل الملفات (0 لمنع أي تحميل)
|
||||
@ -487,6 +488,8 @@ Module2900Name= GeoIPMaxmind
|
||||
Module2900Desc= GeoIP التحويلات Maxmind القدرات
|
||||
Module5000Name=شركة متعددة
|
||||
Module5000Desc=يسمح لك لإدارة الشركات المتعددة
|
||||
# Module6000Name=Workflow
|
||||
# Module6000Desc=Workflow management
|
||||
# Module20000Name=Holidays
|
||||
# Module20000Desc=Declare and follow employees holidays
|
||||
Module50000Name=PayBox
|
||||
@ -495,6 +498,10 @@ Module50100Name=نقطة البيع
|
||||
Module50100Desc=نقطة بيع وحدة
|
||||
Module50200Name= باي بال
|
||||
Module50200Desc= وحدة لتقديم على صفحة الدفع عبر الإنترنت عن طريق بطاقة الائتمان مع بايبال
|
||||
# Module54000Name=PrintIPP
|
||||
# Module54000Desc=Print via Cups IPP Printer.
|
||||
# Module55000Name=Open Survey
|
||||
# Module55000Desc=Module to integrate a survey (like Doodle, Studs, Rdvz, ...)
|
||||
# Module59000Name=Margins
|
||||
# Module59000Desc=Module to manage margins
|
||||
# Module60000Name=Commissions
|
||||
@ -708,8 +715,11 @@ Permission2515=إعداد وثائق وأدلة
|
||||
# Permission2801=Use FTP client in read mode (browse and download only)
|
||||
# Permission2802=Use FTP client in write mode (delete or upload files)
|
||||
# Permission50101=Use Point of sales
|
||||
Permission50201= قراءة المعاملات
|
||||
Permission50202= استيراد المعاملات
|
||||
Permission50201=قراءة المعاملات
|
||||
Permission50202=استيراد المعاملات
|
||||
# Permission54001=Print
|
||||
# Permission55001=Read surveys
|
||||
# Permission55002=Create/modify surveys
|
||||
DictionnaryCompanyType=أنواع الشركة
|
||||
DictionnaryCompanyJuridicalType=أنواع القانوني للشركة
|
||||
DictionnaryProspectLevel=آفاق محتملة المستوى
|
||||
@ -991,6 +1001,7 @@ SendmailOptionMayHurtBuggedMTA=وميزة لإرسال رسائل باستخدا
|
||||
# BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari.
|
||||
# XDebugInstalled=XDebug est chargé.
|
||||
# XCacheInstalled=XCache is loaded.
|
||||
# AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink
|
||||
##### Module password generation
|
||||
PasswordGenerationStandard=عودة كلمة سر ولدت الداخلية وفقا لخوارزمية Dolibarr : 8 أحرف مشتركة تتضمن الأرقام والحروف في حرف صغير.
|
||||
PasswordGenerationNone=لا توحي بأي كلمة المرور المتولدة. يجب أن تكون كلمة السر في نوع يدويا.
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
# Dolibarr language file - Source file is en_US - agenda
|
||||
CHARSET=UTF-8
|
||||
# IdAgenda=ID event
|
||||
Actions=الإجراءات
|
||||
ActionsArea=الإجراءات منطقة الأحداث والمهام)
|
||||
Agenda= جدول الأعمال
|
||||
@ -68,6 +68,7 @@ AgendaUrlOptions5=<b>logind=<b>logind=%s</b> لتقييد الانتاج لإج
|
||||
AgendaShowBirthdayEvents=عيد ميلاد تظهر اتصالات
|
||||
AgendaHideBirthdayEvents=عيد ميلاد إخفاء اتصالات
|
||||
# Busy=Busy
|
||||
# ExportDataset_event1=List of agenda events
|
||||
|
||||
# External Sites ical
|
||||
ExportCal=تصدير التقويم
|
||||
|
||||
@ -1,14 +1,4 @@
|
||||
/*
|
||||
* Language code: ar_AR
|
||||
* Automatic generated via autotranslator.php tool
|
||||
* Generation date 2009-08-11 13:27:01
|
||||
*/
|
||||
|
||||
|
||||
// Date 2009-08-11 13:27:01
|
||||
// START - Lines generated via autotranslator.php tool.
|
||||
// Reference language: en_US
|
||||
CHARSET=UTF-8
|
||||
# Dolibarr language file - Source file is en_US - banks
|
||||
Bank=البنك
|
||||
Banks=المصارف
|
||||
MenuBankCash=البنك / النقدية
|
||||
@ -29,6 +19,8 @@ SavingAccount=حساب توفير
|
||||
SavingAccounts=حسابات التوفير
|
||||
ErrorBankLabelAlreadyExists=الحساب المالي الملصق موجود بالفعل
|
||||
BankBalance=التوازن
|
||||
# BankBalanceBefore=Balance before
|
||||
# BankBalanceAfter=Balance after
|
||||
BalanceMinimalAllowed=الحد الأدنى المسموح التوازن
|
||||
BalanceMinimalDesired=الحد الأدنى من التوازن المطلوب
|
||||
InitialBankBalance=الرصيد الأولي
|
||||
@ -51,11 +43,11 @@ LastAccountStatements=كشوفات الحساب الأخير
|
||||
Rapprochement=المصالحة
|
||||
IOMonthlyReporting=تقارير شهرية
|
||||
BankAccountDomiciliation=معالجة حساب
|
||||
BankAccountCountry=حساب البلاد
|
||||
BankAccountOwner=اسم صاحب الحساب
|
||||
BankAccountOwnerAddress=معالجة حساب المالك
|
||||
RIBControlError=التحقق من تكامل القيم يفشل. وهذا يعني حصول على معلومات عن هذا رقم الحساب ليست كاملة أو خاطئة (ارجع البلد والأرقام وIBAN).
|
||||
CreateAccount=إنشاء حساب
|
||||
StandingOrderToProcess=لعملية
|
||||
StandingOrderProcessed=تجهيز
|
||||
NewAccount=حساب جديد
|
||||
NewBankAccount=حساب مصرفي جديد
|
||||
NewFinancialAccount=الحساب المالي الجديد
|
||||
@ -112,7 +104,9 @@ ConciliatedBy=طريق التصالح
|
||||
DateConciliating=التوفيق التاريخ
|
||||
BankLineConciliated=صفقة التصالح
|
||||
CustomerInvoicePayment=عملاء الدفع
|
||||
# CustomerInvoicePaymentBack=Customer payment back
|
||||
SupplierInvoicePayment=المورد الدفع
|
||||
WithdrawalPayment=انسحاب الدفع
|
||||
SocialContributionPayment=دفع المساهمة الاجتماعية
|
||||
FinancialAccountJournal=مجلة الحساب المالي
|
||||
BankTransfer=حوالة مصرفية
|
||||
@ -128,6 +122,7 @@ DeleteCheckReceipt=تأكد من ورود حذف هذا؟
|
||||
ConfirmDeleteCheckReceipt=هل أنت متأكد من أنك تريد حذف هذا التحقق من ورود؟
|
||||
BankChecks=الشيكات المصرفية
|
||||
BankChecksToReceipt=في انتظار إيداع الشيكات
|
||||
ShowCheckReceipt=الاختيار إظهار تلقي الودائع
|
||||
NumberOfCheques=ملاحظة : للشيكات
|
||||
DeleteTransaction=حذف المعاملات
|
||||
ConfirmDeleteTransaction=هل أنت متأكد من أنك تريد حذف هذه الصفقة؟
|
||||
@ -135,42 +130,23 @@ ThisWillAlsoDeleteBankRecord=وهذا من شأنه أيضا حذف المتول
|
||||
BankMovements=حركات
|
||||
CashBudget=الميزانية النقدية
|
||||
PlannedTransactions=المخطط المعاملات
|
||||
Graph=الرسومات
|
||||
ExportDataset_banque_1=المعاملات المصرفية وحساب
|
||||
TransactionOnTheOtherAccount=صفقة على حساب الآخرين
|
||||
TransactionWithOtherAccount=تحويل الحساب
|
||||
PaymentNumberUpdateSucceeded=دفع عدد تحديث بنجاح
|
||||
PaymentNumberUpdateFailed=دفع عددا لا يمكن تحديث
|
||||
PaymentDateUpdateSucceeded=تاريخ التحديث الدفع بنجاح
|
||||
PaymentDateUpdateFailed=دفع حتى الآن لا يمكن تحديث
|
||||
# Transactions=Transactions
|
||||
BankTransactionLine=المعاملات المصرفية
|
||||
AllAccounts=جميع المصرفية / حسابات نقدية
|
||||
BackToAccount=إلى حساب
|
||||
ShowAllAccounts=وتبين للجميع الحسابات
|
||||
// Date 2009-08-11 13:27:01
|
||||
// STOP - Lines generated via parser
|
||||
|
||||
// START - Lines generated via autotranslator.php tool (2009-08-13 20:13:59).
|
||||
// Reference language: en_US
|
||||
TransactionWithOtherAccount=تحويل الحساب
|
||||
// STOP - Lines generated via autotranslator.php tool (2009-08-13 20:13:59).
|
||||
|
||||
|
||||
// START - Lines generated via autotranslator.php tool (2010-07-17 11:13:51).
|
||||
// Reference language: en_US
|
||||
BankAccountCountry=حساب البلاد
|
||||
// STOP - Lines generated via autotranslator.php tool (2010-07-17 11:14:16).
|
||||
|
||||
|
||||
// START - Lines generated via autotranslator.php tool (2011-10-10 02:45:33).
|
||||
// Reference language: en_US -> ar_SA
|
||||
RIBControlError=التحقق من تكامل القيم يفشل. وهذا يعني حصول على معلومات عن هذا رقم الحساب ليست كاملة أو خاطئة (ارجع البلد والأرقام وIBAN).
|
||||
WithdrawalPayment=انسحاب الدفع
|
||||
ShowCheckReceipt=الاختيار إظهار تلقي الودائع
|
||||
// STOP - Lines generated via autotranslator.php tool (2011-10-10 06:39:39).
|
||||
|
||||
|
||||
// START - Lines generated via autotranslator.php tool (2012-02-29 15:55:27).
|
||||
// Reference language: en_US -> ar_SA
|
||||
Graph=الرسومات
|
||||
FutureTransaction=الصفقة في أجل المستقبل. أي وسيلة للتوفيق.
|
||||
SelectChequeTransactionAndGenerate=حدد / تصفية الشيكات لتشمل في الاختيار استلام الودائع وانقر على "إنشاء".
|
||||
// STOP - Lines generated via autotranslator.php tool (2012-02-29 15:55:34).
|
||||
# InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value (such as, YYYYMM)
|
||||
# EventualyAddCategory=Eventually, specify a category in which to classify the records
|
||||
# ToConciliate=To conciliate?
|
||||
# ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click
|
||||
# BankDashboard=Bank accounts summary
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - bills
|
||||
CHARSET=UTF-8
|
||||
Bill=فاتورة
|
||||
Bills=فواتير
|
||||
BillsCustomers=العملاء والفواتير
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
# Dolibarr language file - Source file is en_US - marque pages
|
||||
CHARSET=UTF-8
|
||||
AddThisPageToBookmarks=أضف هذه الصفحة إلى المفضلة
|
||||
|
||||
Bookmark=احفظ
|
||||
Bookmarks=العناوين
|
||||
NewBookmark=إشارة مرجعية جديدة
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - boxes
|
||||
CHARSET=UTF-8
|
||||
BoxLastRssInfos=Rss المعلومات
|
||||
BoxLastProducts=ق الماضي ٪ منتجات / خدمات
|
||||
# BoxProductsAlertStock=Products in stock alert
|
||||
@ -75,10 +74,18 @@ NoRecordedProducts=لم تسجل المنتجات / الخدمات
|
||||
NoRecordedProspects=لم تسجل آفاق
|
||||
NoContractedProducts=أي المنتجات / الخدمات المتعاقد عليها
|
||||
NoRecordedContracts=لا عقود المسجلة
|
||||
# NoRecordedInterventions=No recorded interventions
|
||||
# BoxLatestSupplierOrders=Latest supplier orders
|
||||
# BoxTitleLatestSupplierOrders=%s latest supplier orders
|
||||
# NoSupplierOrder=No recorded supplier order
|
||||
# BoxInvoicesPerMonth=Invoices per month
|
||||
# BoxOrdersPerMonth=Orders per month
|
||||
# BoxCustomersInvoicesPerMonth=Customer invoices per month
|
||||
# BoxSuppliersInvoicesPerMonth=Supplier invoices per month
|
||||
# BoxCustomersOrdersPerMonth=Customer orders per month
|
||||
# BoxSuppliersOrdersPerMonth=Supplier orders per month
|
||||
# BoxProposalsPerMonth=Proposals per month
|
||||
# NoTooLowStockProducts=No product under the low stock limit
|
||||
# BoxProductDistribution=Products/Services distribution
|
||||
# BoxProductDistributionFor=Distribution of %s for %s
|
||||
ForCustomersInvoices=العملاء والفواتير
|
||||
# ForCustomersOrders=Customers orders
|
||||
ForProposals=مقترحات
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Language file - Source file is en_US - cashdesk
|
||||
CHARSET=UTF-8
|
||||
CashDeskMenu=نقطة بيع
|
||||
CashDesk=نقطة بيع
|
||||
CashDesks=نقاط البيع
|
||||
@ -37,3 +36,4 @@ BankToPay=تهمة حساب
|
||||
ShowCompany=عرض شركة
|
||||
ShowStock=عرض مستودع
|
||||
DeleteArticle=انقر لإزالة هذه المادة
|
||||
# FilterRefOrLabelOrBC=Search (Ref/Label)
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - categories
|
||||
CHARSET=UTF-8
|
||||
Category=الفئة
|
||||
Categories=الفئات
|
||||
Rubrique=الفئة
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - commercial
|
||||
CHARSET=UTF-8
|
||||
Commercial=التجارية
|
||||
CommercialArea=منطقة تجارية
|
||||
CommercialCard=بطاقة تجارية
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - companies
|
||||
CHARSET=UTF-8
|
||||
ErrorCompanyNameAlreadyExists=اسم الشركة ل ٪ موجود بالفعل. اختيار آخر.
|
||||
ErrorPrefixAlreadyExists=بادئة ٪ ق موجود بالفعل. اختيار آخر.
|
||||
ErrorSetACountryFirst=المجموعة الأولى في البلد
|
||||
@ -85,6 +84,8 @@ LocalTax1IsUsedES= يتم استخدام الطاقة المتجددة
|
||||
LocalTax1IsNotUsedES= لا يتم استخدام الطاقة المتجددة
|
||||
LocalTax2IsUsedES= يستخدم IRPF
|
||||
LocalTax2IsNotUsedES= IRPF لا يستخدم
|
||||
LocalTax1ES=تعاود
|
||||
LocalTax2ES=IRPF
|
||||
ThirdPartyEMail=ق ٪
|
||||
WrongCustomerCode=رمز غير صالح العملاء
|
||||
WrongSupplierCode=رمز المورد غير صالحة
|
||||
@ -395,7 +396,7 @@ InActivity=فتح
|
||||
ActivityCeased=مغلق
|
||||
ActivityStateFilter=نشاط المركز
|
||||
# ProductsIntoElements=List of products into
|
||||
|
||||
# OutstandingBill=Outstanding Bill
|
||||
# Monkey
|
||||
MonkeyNumRefModelDesc=عودة número مع الشكل nnnn - ٪ syymm الزبون ورمز وnnnn - ٪ syymm مورد للقانون حيث السنة هو السنة ، هو شهر ملم وnnnn هو تسلسل بلا كسر وعدم العودة إلى 0.
|
||||
# Leopard
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
# Dolibarr language file - Source file is en_US - compta
|
||||
CHARSET=UTF-8
|
||||
Accountancy=المحاسبة
|
||||
AccountancyCard=بطاقة المحاسبة
|
||||
Treasury=الخزانة
|
||||
MenuFinancial=المالية
|
||||
TaxModuleSetupToModifyRules=انتقل إلى <a href="%s">وحدة الإعداد</a> لتعديل القواعد لحساب
|
||||
# TaxModuleSetupToModifyRules=Go to <a href="%s">Taxes module setup</a> to modify rules for calculation
|
||||
OptionMode=الخيار المحاسبة
|
||||
OptionModeTrue=خيار المدخلات والمخرجات
|
||||
OptionModeVirtual=الخيار بين اعتمادات الديون
|
||||
@ -103,8 +102,12 @@ ConfirmPaySocialContribution=هل أنت متأكد من أن يصنف هذه ا
|
||||
DeleteSocialContribution=حذف المساهمات الاجتماعية
|
||||
ConfirmDeleteSocialContribution=هل أنت متأكد من أنك تريد حذف هذه المساهمة الاجتماعية؟
|
||||
ExportDataset_tax_1=المساهمات الاجتماعية والمدفوعات
|
||||
AnnualSummaryDueDebtMode=ميزان الإيرادات والمصروفات ، وموجزا سنويا ، طريقة <b>٪ sClaims - ديونها ٪ ق</b> قال <b>الالتزام والمحاسبة.</b>
|
||||
AnnualSummaryInputOutputMode=ميزان الإيرادات والنفقات السنوية وخلاصة طريقة <b>sRevenues - ٪ ق ٪ Expensens</b> قال <b>المحاسبة النقدية.</b>
|
||||
# CalcModeVATDebt=Mode <b>%sVAT on commitment accounting%s</b>.
|
||||
# CalcModeVATEngagement=Mode <b>%sVAT on incomes-expenses%s</b>.
|
||||
# CalcModeDebt=Mode <b>%sClaims-Debts%s</b> said <b>Commitment accounting</b>.
|
||||
# CalcModeEngagement=Mode <b>%sIncomes-Expenses%s</b> said <b>cash accounting</b>
|
||||
# AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary
|
||||
# AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary
|
||||
AnnualByCompaniesDueDebtMode=ميزان الإيرادات والنفقات ، وبالتفصيل من قبل أطراف ثالثة ، وطريقة سداد <b>ديون sClaims ٪ ٪ ق</b> قال <b>الالتزام والمحاسبة.</b>
|
||||
AnnualByCompaniesInputOutputMode=ميزان الإيرادات والنفقات ، وبالتفصيل من قبل أطراف ثالثة ، واسطة بين <b>sRevenues ٪ من مصروفات ٪ ق</b> قال <b>المحاسبة النقدية.</b>
|
||||
SeeReportInInputOutputMode=انظر التقرير <b>sIncomes ٪</b> بين <b>المصروفات ٪ ق</b> قال <b>المحاسبة النقدية</b> لحساب المدفوعات الفعلية
|
||||
@ -117,13 +120,13 @@ RulesCAIn=-- ويشمل جميع الفعال دفع الفواتير الوار
|
||||
DepositsAreNotIncluded=- يتم ولا تشمل ودائع الفواتير
|
||||
DepositsAreIncluded=- وترد الفواتير ودائع
|
||||
LT2ReportByCustomersInInputOutputModeES=تقرير من قبل طرف ثالث IRPF
|
||||
VATReportByCustomersInInputOutputMode=تقرير من العملاء المجمعة ، وتدفع ضريبة القيمة المضافة (ضريبة القيمة المضافة ورود)
|
||||
VATReportByCustomersInDueDebtMode=تقرير من العملاء المجمعة ، وتدفع ضريبة القيمة المضافة (ضريبة القيمة المضافة بمعدل)
|
||||
VATReportByQuartersInInputOutputMode=التقرير الفصلي للتجمع ، وتدفع ضريبة القيمة المضافة (ضريبة القيمة المضافة ورود)
|
||||
VATReportByQuartersInDueDebtMode=التقرير الفصلي للتجمع ، وتدفع ضريبة القيمة المضافة (ضريبة القيمة المضافة بمعدل)
|
||||
# VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid
|
||||
# VATReportByCustomersInDueDebtMode=Report by the customer VAT collected and paid
|
||||
# VATReportByQuartersInInputOutputMode=Report by rate of the VAT collected and paid
|
||||
# VATReportByQuartersInDueDebtMode=Report by rate of the VAT collected and paid
|
||||
SeeVATReportInInputOutputMode=انظر التقرير <b>تغطية sVAT ٪ ق ٪</b> لحساب موحد
|
||||
SeeVATReportInDueDebtMode=انظر التقرير <b>عن تدفق sVAT ٪ ق ٪</b> لحساب مع خيار على تدفق
|
||||
RulesVATInServices=- للحصول على الخدمات، ويشتمل هذا التقرير على لوائح ضريبة القيمة المضافة وردت فعلا أو الصادرة على أساس من تاريخ الدفع. <br> - للحصول على الأصول المادية، فإنه يشمل ضريبة القيمة المضافة على الفواتير على أساس من تاريخ الفاتورة.
|
||||
# RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment.
|
||||
RulesVATInProducts=- للحصول على الأصول المادية، فإنه يشمل ضريبة القيمة المضافة على الفواتير على أساس من تاريخ الفاتورة.
|
||||
RulesVATDueServices=- للحصول على الخدمات، ويتضمن التقرير فواتير ضريبة القيمة المضافة المستحقة، مدفوعة الأجر أم لا، بناء على تاريخ الفاتورة.
|
||||
RulesVATDueProducts=- للحصول على الأصول المادية، فإنه يشمل ضريبة القيمة المضافة على الفواتير، بناء على تاريخ الفاتورة.
|
||||
@ -155,3 +158,14 @@ WarningDepositsNotIncluded=لا يتم تضمين فواتير الودائع ف
|
||||
# AccountancyDashboard=Accountancy summary
|
||||
# ByProductsAndServices=By products and services
|
||||
# RefExt=External ref
|
||||
# ToCreateAPredefinedInvoice=To create a predefined invoice, create a standard invoice then, without validating it, click onto button "Convert to predefined invoice".
|
||||
# LinkedOrder=linked to command
|
||||
# ReCalculate=Recalculate
|
||||
# Mode1=Methode 1
|
||||
# Mode2=Method 2
|
||||
# CalculationRuleDesc=To calculate total VAT, there is two methods:<br>Method 1 is rounding vat on each line, then summing them.<br>Method 2 is summing all vat on each line, then rounding result.<br>Final result may differs from few cents. Default mode is mode <b>%s</b>.
|
||||
# CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier.
|
||||
# TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a <b>cash accountancy</b> mode is not relevant. This report is only available when using <b>engagement accountancy</b> mode (see setup of accountancy module).
|
||||
# CalculationMode=Calculation mode
|
||||
# COMPTA_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties
|
||||
# COMPTA_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - contracts
|
||||
CHARSET=UTF-8
|
||||
ContractsArea=عقود منطقة
|
||||
ListOfContracts=قائمة العقود
|
||||
LastContracts=آخر تعديل العقود ق ٪
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - cron
|
||||
CHARSET=UTF-8
|
||||
#
|
||||
# About page
|
||||
#
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - deliveries
|
||||
CHARSET=UTF-8
|
||||
Delivery=تسليم
|
||||
Deliveries=الولادة
|
||||
DeliveryCard=تسليم البطاقة
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - dict
|
||||
CHARSET=UTF-8
|
||||
CountryFR=فرنسا
|
||||
CountryBE=بلجيكا
|
||||
CountryIT=ايطاليا
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - donations
|
||||
CHARSET=UTF-8
|
||||
Donation=تبرع
|
||||
Donations=التبرعات
|
||||
# DonationRef=Donation ref.
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - ecm
|
||||
CHARSET=UTF-8
|
||||
MenuECM=وثائق
|
||||
DocsMine=بلدي وثائق
|
||||
DocsGenerated=ولدت وثائق
|
||||
@ -24,10 +23,10 @@ ECMNewDocument=وثيقة جديدة
|
||||
ECMCreationDate=تاريخ الإنشاء
|
||||
ECMNbOfFilesInDir=عدد من الملفات في دليل
|
||||
ECMNbOfSubDir=من دون أدلة
|
||||
ECMNbOfFilesInSubDir=إيليس في Nunber من دون أدلة
|
||||
# ECMNbOfFilesInSubDir=Number of files in sub-directories
|
||||
ECMCreationUser=مبدع
|
||||
ECMArea=مجال إدارة المحتوى في المؤسسة
|
||||
ECMAreaDesc=إدارة المحتوى في المؤسسة (إدارة المحتوى الالكتروني) تتيح لك المجال لانقاذ ، والبحث بسرعة حصة كل نوع من أنواع الوثائق في Dolibarr.
|
||||
# ECMArea=EDM area
|
||||
# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr.
|
||||
ECMAreaDesc2=* أدلة تلقائية تملأ تلقائيا عند إضافة الوثائق من بطاقة عنصر. <br> * دليل أدلة يمكن استخدامها لانقاذ وثائق ليست مرتبطة بشكل خاص عنصر.
|
||||
ECMSectionWasRemoved=دليل <b>٪ ق</b> حذفت.
|
||||
ECMDocumentsSection=وثيقة من وثائق ودليل
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - errors
|
||||
CHARSET=UTF-8
|
||||
|
||||
# No errors
|
||||
# NoErrorCommitIsDone=No error, we commit
|
||||
@ -125,6 +124,9 @@ ErrorNoActivatedBarcode=لا يوجد نوع الباركود تفعيلها
|
||||
# ErrorFailedToAddContact=Failed to add contact
|
||||
# ErrorDateMustBeBeforeToday=The date can not be greater than today
|
||||
# ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode.
|
||||
# ErrorPHPNeedModule=Error, your PHP must have module <b>%s</b> installed to use this feature.
|
||||
# ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s
|
||||
# ErrorWarehouseMustDiffers=Source and target warehouses must differs
|
||||
|
||||
# Warnings
|
||||
# WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - exports
|
||||
CHARSET=UTF-8
|
||||
ExportsArea=صادرات المنطقة
|
||||
ImportArea=مجال الاستيراد
|
||||
NewExport=تصديرية جديدة
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - externalsite
|
||||
CHARSET=UTF-8
|
||||
ExternalSiteSetup=رابط الإعداد لموقع خارجي
|
||||
ExternalSiteURL=الخارجية الموقع URL
|
||||
# ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly.
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - ftp
|
||||
CHARSET=UTF-8
|
||||
FTPClientSetup=بروتوكول نقل الملفات العملاء الإعداد وحدة
|
||||
NewFTPClient=جديد الإعداد بروتوكول نقل الملفات الصدد
|
||||
FTPArea=بروتوكول نقل الملفات المنطقة
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - help
|
||||
CHARSET=UTF-8
|
||||
CommunitySupport=منتدى / الدعم ويكي
|
||||
EMailSupport=رسائل البريد الإلكتروني لدعم
|
||||
RemoteControlSupport=الانترنت في الوقت الحقيقي / النائية الدعم
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - holiday
|
||||
CHARSET= UTF-8
|
||||
|
||||
# HRM=HRM
|
||||
# Holidays=Holidays
|
||||
# CPTitreMenu=Holidays
|
||||
@ -89,6 +87,7 @@ UserName=اسم
|
||||
# LastDayOfHoliday=Last day of holiday
|
||||
# HolidaysMonthlyUpdate=Monthly update
|
||||
# ManualUpdate=Manual update
|
||||
# HolidaysCancelation=Holidays cancelation
|
||||
|
||||
## Configuration du Module ##
|
||||
# ConfCP=Configuration of holidays module
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - install
|
||||
CHARSET=UTF-8
|
||||
InstallEasy=فقط اتبع التعليمات خطوة بخطوة.
|
||||
MiscellaneousChecks=التحقق من الشروط الأساسية
|
||||
DolibarrWelcome=مرحبا بكم في Dolibarr
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - interventions
|
||||
CHARSET=UTF-8
|
||||
Intervention=التدخل
|
||||
Interventions=المداخلات
|
||||
InterventionCard=تدخل البطاقة
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
# Dolibarr language file - Source file is en_US - languages
|
||||
CHARSET=UTF-8
|
||||
|
||||
Language_ar_AR=العربية
|
||||
Language_ar_SA=العربية
|
||||
@ -16,10 +15,13 @@ Language_en_IN=الإنكليزية (الهند)
|
||||
Language_en_NZ=الإنجليزية (نيوزيلندا)
|
||||
# Language_en_SA=English (Saudi Arabia)
|
||||
Language_en_US=الإنكليزية (الولايات المتحدة)
|
||||
# Language_en_ZA=English (South Africa)
|
||||
Language_es_ES=الأسبانية
|
||||
Language_es_AR=الأسبانية (الأرجنتين)
|
||||
Language_es_HN=الأسبانية (هندوراس)
|
||||
Language_es_MX=الإسبانية (المكسيك)
|
||||
# Language_es_PY=Spanish (Paraguay)
|
||||
# Language_es_PE=Spanish (Peru)
|
||||
Language_es_PR=الأسبانية (بورتو ريكو)
|
||||
# Language_et_EE=Estonian
|
||||
Language_fa_IR=اللغة الفارسية
|
||||
@ -28,6 +30,7 @@ Language_fr_BE=الفرنسية (بلجيكا)
|
||||
Language_fr_CA=الفرنسية (كندا)
|
||||
Language_fr_CH=الفرنسية (سويسرا)
|
||||
Language_fr_FR=الفرنسية
|
||||
# Language_fr_NC=French (New Caledonia)
|
||||
# Language_he_IL=Hebrew
|
||||
Language_hu_HU=المجري
|
||||
Language_is_IS=الآيسلندي
|
||||
@ -46,6 +49,6 @@ Language_tr_TR=التركية
|
||||
Language_sl_SI=السلوفينية
|
||||
Language_sv_SV=السويدية
|
||||
Language_sv_SE=السويدية
|
||||
# Language_vi_VN=Vietnamese
|
||||
Language_zh_CN=الصينية
|
||||
# Language_zh_TW=Chinese (Traditional)
|
||||
Language_is_IS=الآيسلندي
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user