2
0
forked from Wavyzz/dolibarr

Compare commits

..

424 Commits

Author SHA1 Message Date
Laurent Destailleur
8a5bafc2dd Prepare 4.0 2016-08-28 21:23:37 +02:00
Laurent Destailleur
11ddc722f1 Release 4.0 2016-08-28 20:17:53 +02:00
Laurent Destailleur
4215ec3ca9 FIX usage of sepa generation setup. 2016-08-28 20:12:25 +02:00
Laurent Destailleur
6ddd264178 Fix not used field 2016-08-28 17:45:20 +02:00
Laurent Destailleur
989d6e7bc8 Fix responsive design 2016-08-28 16:27:15 +02:00
Laurent Destailleur
1becfbd7b6 CSS 2016-08-28 16:26:54 +02:00
Laurent Destailleur
661526f822 Fix for jmobile 2016-08-28 16:00:02 +02:00
Laurent Destailleur
5e88de7e2c Fix field customer/prospect/supplier in list of thirdparties 2016-08-28 15:21:09 +02:00
Laurent Destailleur
72ccedba98 Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-28 02:17:23 +02:00
Laurent Destailleur
0d992b2b99 Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 4.0
Conflicts:
	htdocs/cron/class/cronjob.class.php
	htdocs/install/pgsql/functions/functions.sql
2016-08-28 02:17:04 +02:00
Laurent Destailleur
bc8e203019 Merge branch '3.8' of git@github.com:Dolibarr/dolibarr.git into 3.9 2016-08-28 01:58:43 +02:00
Laurent Destailleur
5d7414dcc3 Solve php regression failing travis 2016-08-28 01:58:11 +02:00
Laurent Destailleur
e7c05a778b Merge pull request #5662 from aspangaro/4.0-p43
Fix: Presentation of Donations Area and add search
2016-08-28 01:40:00 +02:00
aspangaro
9f40f346cb Fix: Presentation of Donations Area and add search 2016-08-26 13:23:00 +02:00
Juanjo Menent
874db10dbe Merge pull request #5648 from hregis/3.8_bug
Fix: wrong "lastoutput" and "lastresult" if jobtype is "method" or "function"
2016-08-25 13:43:06 +02:00
Juanjo Menent
9c4d60fd5d Merge pull request #5639 from atm-florian/4.0
fix ressource module  for PGSQL and coding style
2016-08-25 13:41:55 +02:00
Juanjo Menent
ed25c0fda5 Merge pull request #5645 from grandoc/4.0
fix : bad sort
2016-08-25 13:38:59 +02:00
Juanjo Menent
c298bb62ba Merge pull request #5644 from grandoc/3.9
fix : translation
2016-08-25 13:38:18 +02:00
florian HENRY
848d046b46 Merge branch '4.0' of https://github.com/Dolibarr/dolibarr.git into 4.0 2016-08-25 09:06:39 +02:00
Laurent Destailleur
b81de6b383 Fix wrapping with jmobile 2016-08-24 20:23:06 +02:00
Regis Houssin
6b3cbc918d Fix: wrong "lastoutput" and "lastresult" if jobtype is "method" or
"function"
2016-08-22 20:49:14 +02:00
florian HENRY
ab4997d26f Merge branch '4.0' of https://github.com/Dolibarr/dolibarr.git into 4.0 2016-08-22 14:30:08 +02:00
Laurent Destailleur
317132fea4 CSS 2016-08-22 12:25:54 +02:00
Laurent Destailleur
0839a9fa4f Code comment 2016-08-20 00:54:49 +02:00
Laurent Destailleur
1fc5715040 Fix date of contract not used 2016-08-20 00:30:09 +02:00
Laurent Destailleur
f06545a3fe Fix cancel button ignored 2016-08-19 17:22:53 +02:00
philippe grand
9c22d94bd3 fix : bad sort 2016-08-19 17:12:46 +02:00
philippe grand
919b73b4c4 fix : translation 2016-08-19 16:29:54 +02:00
Laurent Destailleur
83107746ad Fix no way to fix the ref of recurring invoice when an error was done
into typing.
2016-08-19 16:18:39 +02:00
florian HENRY
137f1c4e4f Merge branch '4.0' of https://github.com/Dolibarr/dolibarr.git into 4.0
Conflicts:
	htdocs/resource/class/dolresource.class.php
2016-08-18 08:49:54 +02:00
Laurent Destailleur
fead7967f2 Merge remote-tracking branch 'origin/3.9' into 4.0
Conflicts:
	htdocs/commande/list.php
	htdocs/core/class/commonobject.class.php
	htdocs/core/class/extrafields.class.php
	htdocs/resource/class/resource.class.php
2016-08-17 16:55:39 +02:00
Laurent Destailleur
7e8b8e9462 Merge pull request #5638 from atm-florian/3.9_fix_5637
FIX : PgSQL Module Ressource list crash #5637
2016-08-17 16:34:40 +02:00
Laurent Destailleur
f9d707ff48 Merge pull request #5630 from atm-florian/3.9
FIX : #5629 PgSQL Interger string stylish error
2016-08-17 16:24:40 +02:00
Laurent Destailleur
88afc4ad5a Merge pull request #5625 from aspangaro/4.0-p42
Uniformize presentation, add button cancel everywhere
2016-08-17 16:11:59 +02:00
Laurent Destailleur
660fcacef2 Merge pull request #5619 from fappels/4.0_fix_sql_error_insert_supplier_order_line
Fix SQL error insert supplier order line
2016-08-17 16:10:38 +02:00
Laurent Destailleur
58fc64982f Merge pull request #5618 from fappels/4.0_fix_eatby_sellby_check
Fix sellby without hour check
2016-08-17 16:10:09 +02:00
Laurent Destailleur
69e6f6a489 Merge pull request #5608 from aspangaro/4.0-p40
Fix: Some problems on export with language
2016-08-17 15:54:36 +02:00
Laurent Destailleur
eea175b7e7 Merge pull request #5605 from aspangaro/4.0-p39
Uniformize presentation on opensurvey
2016-08-17 15:51:59 +02:00
Laurent Destailleur
33ceb5d626 Merge pull request #5601 from aspangaro/4.0-p37
Uniformize title presentation on product/service card
2016-08-17 15:50:42 +02:00
florian HENRY
f7bb2483d8 fix ressource for PGSQL 2016-08-17 14:53:51 +02:00
florian HENRY
ddc480b6c9 other fix for PgSQL and style 2016-08-17 14:51:25 +02:00
florian HENRY
90c918bec6 Merge branch '4.0' of https://github.com/Dolibarr/dolibarr.git into 4.0 2016-08-17 14:46:25 +02:00
florian HENRY
63c5425991 another fix for Ressource module in PgSQL 2016-08-17 14:46:15 +02:00
florian HENRY
5c51cb0f29 FIX : PgSQL Module Ressource list crash #5637 2016-08-17 14:40:05 +02:00
florian HENRY
00443dae3a Merge branch '3.9' of https://github.com/Dolibarr/dolibarr.git into 3.9 2016-08-17 14:30:15 +02:00
Laurent Destailleur
282c50ef34 Merge pull request #5631 from atm-florian/4.0
FIX #5594
2016-08-17 14:08:06 +02:00
Laurent Destailleur
0cb7440647 Merge pull request #5635 from joseplluis/patch-3
Fix Bug: delivery date value is not hide with global ORDER_DISABLE_DELIVE…
2016-08-17 14:05:56 +02:00
Laurent Destailleur
2afc567a53 Fix fiter on contract date 2016-08-17 11:58:55 +02:00
Laurent Destailleur
caa0dd75aa Fix responsive design on small smartphone 2016-08-17 11:47:39 +02:00
Laurent Destailleur
ba8c2dbf9f Fix order of module for demo. 2016-08-17 11:39:11 +02:00
Laurent Destailleur
47489265b1 Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-17 11:15:30 +02:00
Laurent Destailleur
6724901b9e Fix closing td 2016-08-17 11:15:20 +02:00
florian HENRY
a1323756a9 FIX : in PgSQL no quote "word style" is permitted around column name 2016-08-17 10:23:23 +02:00
Josep Lluís
c385b86793 Bug: delivery date value is not hide with global ORDER_DISABLE_DELIVERY_DATE
In title and in filter the delivery date column is well hidden. 
The error is only in column value,
2016-08-16 23:12:02 +02:00
florian HENRY
0ac090e959 FIX : #5629 DoliDBPgsql::query SQL Error message: ERROR: 22P02: invalid
input syntax for integer: ""
2016-08-16 09:07:08 +02:00
florian HENRY
3932a32399 FIX : #5629 PgSQL Interger string stylish error 2016-08-16 09:00:52 +02:00
florian HENRY
aa17564e93 FIX: #5594 2016-08-16 08:54:12 +02:00
aspangaro
b7420372b7 Uniformize presentation, add button cancel everywhere 2016-08-12 22:53:30 +02:00
fappels
b6f9aa4592 Fix SQL error insert supplier order line
$this->fk_multicurrency not set gives SQL error
2016-08-11 21:10:56 +02:00
fappels
f9a9d4d2d8 Fix sellby without hour check 2016-08-11 20:59:56 +02:00
Juanjo Menent
5c92cc7fa3 Merge pull request #5613 from atm-florian/40_accountancy
fix export
2016-08-11 20:47:02 +02:00
Juanjo Menent
0907465fcf Merge pull request #5615 from aspangaro/4.0-p41
Fix: Accountancy - Problem to define account_parent for an accounting account + presentation
2016-08-11 20:46:08 +02:00
Juanjo Menent
3b509db141 Merge pull request #5604 from atm-florian/FIX_createpropalfromproject
FIX : create proposal from project
2016-08-11 20:43:44 +02:00
Juanjo Menent
adc0a73e93 Merge pull request #5603 from atm-florian/4.0_FIX_Multicurrency_with_french_number_setting
FIX : MULTICURRENCY if value is 1,56 then GETPOST 'int' check return ''
2016-08-11 20:42:25 +02:00
Juanjo Menent
5ac175b7e4 Merge pull request #5602 from aspangaro/4.0-p38
FIX : Accountancy - BANK_DISABLE_DIRECT_INPUT Add an option
2016-08-11 20:40:10 +02:00
Juanjo Menent
bf2955909a Merge pull request #5600 from atm-florian/FIX_5594
Fix 5594
2016-08-11 20:38:35 +02:00
Laurent Destailleur
86c90ade3f Another fix on bank account missing when bank module enabled. 2016-08-11 18:41:31 +02:00
Laurent Destailleur
4df9af1ba0 Fix several errors with bank account module enabled on sale tax edition 2016-08-11 18:18:03 +02:00
Laurent Destailleur
7cc7ac5485 Fix translation 2016-08-11 17:41:09 +02:00
Laurent Destailleur
f674b24945 Fix look and feel 2016-08-11 17:23:42 +02:00
aspangaro
300da71b9c Replace with 0 2016-08-11 06:12:04 +02:00
aspangaro
55a83f9d8d Fix: Accountancy - Problem to define account_parent for an accounting account & presentation 2016-08-11 06:08:33 +02:00
florian HENRY
07412b2f79 force export txt for ciel and quadratus 2016-08-10 17:37:22 +02:00
florian HENRY
e9962bb887 fix export 2016-08-10 17:22:58 +02:00
aspangaro
1313ef99d5 Uniformize presentation on categories 2016-08-10 15:16:30 +02:00
aspangaro
26df66f9ac Fix: Missing language file for salaries export 2016-08-10 15:11:51 +02:00
aspangaro
4e39c41215 Fix: Typo on invoice export 2016-08-10 15:07:53 +02:00
aspangaro
b52648674d Uniformize presentation on contact 2016-08-10 15:01:43 +02:00
aspangaro
cdd84244b2 Fix: Missing Language file and key for category contact export 2016-08-10 14:48:26 +02:00
aspangaro
8028b77966 Fix: MIssing language file for category members export 2016-08-10 14:39:51 +02:00
aspangaro
b5771ebbfc Fix: Missing language key for bank export 2016-08-10 14:39:11 +02:00
aspangaro
c442ff0d2b Fix: Missing language file for user export when the module members is on 2016-08-10 14:29:19 +02:00
aspangaro
c391ca5b32 Uniformize presentation on opensurvey 2016-08-10 14:17:01 +02:00
florian HENRY
cd8585da63 fix for finche inter same problem 2016-08-10 11:54:49 +02:00
florian HENRY
d38ff5c246 FIX : create proposal from project 2016-08-10 11:34:10 +02:00
florian HENRY
5bb3b5c074 FIX : MULTICURRENCY if value is 1,56 then GETPOST 'int' check return '' 2016-08-10 09:47:25 +02:00
aspangaro
43ffb061ef FIX : Accountancy - BANK_DISABLE_DIRECT_INPUT Add an option 2016-08-10 08:07:27 +02:00
aspangaro
9a0fed93d1 Merge remote-tracking branch 'Upstream/4.0' into 4.0-p37 2016-08-10 07:42:04 +02:00
aspangaro
a1d1396919 Uniformize presentation 2016-08-10 07:40:40 +02:00
Laurent Destailleur
8c63d68083 Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-09 17:28:16 +02:00
Laurent Destailleur
a2f1291f94 Fix missing supplier proposals in project overview 2016-08-09 17:28:02 +02:00
florian HENRY
8718edc5fd Merge branch '3.9' of https://github.com/Dolibarr/dolibarr.git into FIX_5594 2016-08-09 15:17:57 +02:00
florian HENRY
321814fae3 better fix for #5594 2016-08-09 15:17:19 +02:00
Laurent Destailleur
82b14e30d7 Merge pull request #5596 from atm-florian/40_accountancy
40 accountancy
2016-08-09 13:34:46 +02:00
Laurent Destailleur
4a1fbffba3 Merge pull request #5595 from atm-florian/FIX_5594
FIX #5594
2016-08-09 13:28:07 +02:00
Laurent Destailleur
29fdebe0d9 Fix list of lot 2016-08-09 13:21:30 +02:00
Laurent Destailleur
7b6755cfcd Fix several errors in search an sorting in stock by lot view 2016-08-09 13:14:33 +02:00
aspangaro
dd905debb4 Uniformize presentation 2016-08-09 10:19:42 +02:00
Laurent Destailleur
2262c1c7dd Fix code generator 2016-08-08 21:58:47 +02:00
Laurent Destailleur
54b47d7f4f Fix edit of page in module website
Conflicts:
	htdocs/websites/class/website.class.php
2016-08-08 19:09:37 +02:00
Laurent Destailleur
fb3f6972eb Work on module website
Conflicts:
	htdocs/websites/index.php
2016-08-08 18:29:24 +02:00
florian HENRY
beadb19fea fix list 2016-08-08 15:31:06 +02:00
florian HENRY
95a66e7e63 Work on accoutancy PgSQL comptatiblity and other stuff 2016-08-08 14:52:19 +02:00
florian HENRY
90cb71f341 revert better fix 2016-08-08 13:54:51 +02:00
florian HENRY
15f187c466 better test 2016-08-08 13:54:03 +02:00
florian HENRY
94487cf411 FIX #5594 2016-08-08 13:43:44 +02:00
Laurent Destailleur
4cf01bc685 Fix code comment 2016-08-05 04:48:30 +02:00
Laurent Destailleur
e1e8254bcf Fix thumbs are using same extension than original. 2016-08-05 04:31:19 +02:00
Laurent Destailleur
1b10e27618 Fix bad link 2016-08-05 04:20:38 +02:00
Laurent Destailleur
782ab6a02b Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 4.0
Conflicts:
	htdocs/core/modules/barcode/modules_barcode.class.php
	htdocs/product/admin/product.php
2016-08-05 00:42:40 +02:00
Laurent Destailleur
40723b264a Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-05 00:37:10 +02:00
Laurent Destailleur
c2e81b6edb Fix colspan 2016-08-05 00:36:58 +02:00
Laurent Destailleur
112b945e6b Merge pull request #5583 from atm-florian/3.9
FIX : update limit stock on product stock
2016-08-05 00:34:32 +02:00
Laurent Destailleur
5555037346 Merge pull request #5580 from simnandez/4.0
NEW Add Panama datas
2016-08-05 00:34:05 +02:00
Laurent Destailleur
bdf779dfd2 Merge pull request #5578 from aspangaro/4.0-p37
Uniformize presentation
2016-08-05 00:32:49 +02:00
Laurent Destailleur
16c7d51abc Merge pull request #5576 from atm-florian/3.9_fixPHPStrict
FIX php Strict
2016-08-05 00:26:47 +02:00
Juanjo Menent
48fe3524d5 Fix #5582 Can't add or change customer ref on proposal 2016-08-04 17:34:53 +02:00
Juanjo Menent
d76c57fed9 Merge remote-tracking branch 'upstream/4.0' into 4.0 2016-08-04 17:05:18 +02:00
Laurent Destailleur
81fc86ba06 Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-04 12:10:40 +02:00
Laurent Destailleur
5247faf50f Fix align 2016-08-04 10:48:19 +02:00
Laurent Destailleur
e0b9496f9e Fix link sometimes fails because of id not defined 2016-08-04 10:44:17 +02:00
Laurent Destailleur
182338beb1 Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-04 10:27:50 +02:00
Laurent Destailleur
11ab49d85d Fix bad help 2016-08-04 10:27:19 +02:00
Laurent Destailleur
af150c35fc Fix no picto on setup pages 2016-08-04 10:19:30 +02:00
Laurent Destailleur
caa987fb61 Clean obsolete comment 2016-08-04 10:13:27 +02:00
Laurent Destailleur
f14ef7b50f Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-04 10:12:34 +02:00
Laurent Destailleur
da84fac390 Fix: data were lost if creation failed 2016-08-04 10:08:58 +02:00
Laurent Destailleur
7c97bf900f Neutral colors 2016-08-03 20:52:50 +02:00
florian HENRY
5f415478ac FIX : update limit stock on product stock 2016-08-03 17:29:04 +02:00
Juanjo Menent
965011c8bc Merge pull request #5579 from atm-florian/3.8
FIX : Weather icon is not calculated correctly
2016-08-03 10:33:29 +02:00
Juanjo Menent
51a4f9e5d7 Merge pull request #5575 from aspangaro/4.0-p36
Fix Expense report | if VAT disable in Dolibarr, traduction of code_libelle & presentation
2016-08-03 10:30:40 +02:00
Juanjo Menent
597f5dae15 Merge pull request #5551 from marcosgdf/bug-5549
FIX #5549 getNomUrl tooltips show Order info even if user has no rights to read them
2016-08-03 10:27:44 +02:00
Juanjo Menent
28efc3e50f NEW Add Panama datas 2016-08-03 09:45:12 +02:00
florian HENRY
0d536bff54 Fix dashboard 2016-08-03 09:04:24 +02:00
aspangaro
27603b966e Uniformize presentation on supplier order 2016-08-03 08:25:35 +02:00
aspangaro
21e753d510 Uniformize presentation on intervention 2016-08-03 08:00:30 +02:00
aspangaro
da274f0ca4 Uniformize presentation on contract 2016-08-03 07:28:00 +02:00
Laurent Destailleur
abbe204c97 Fix design of option PROJECT_ADD_SUBTOTAL_LINES 2016-08-03 01:42:05 +02:00
Laurent Destailleur
6ae8d26a89 Fix max width on combo of tasks 2016-08-03 00:04:38 +02:00
Laurent Destailleur
216ec6ac4b Label week too long with some language 2016-08-02 23:33:31 +02:00
Laurent Destailleur
88dcb27981 Fix option not visible when it should 2016-08-02 21:24:14 +02:00
Laurent Destailleur
176b52f305 Fix No modify trigger must be called during creation 2016-08-02 17:55:13 +02:00
Laurent Destailleur
3ea7a1fcab Fix strict mode 2016-08-02 17:36:24 +02:00
Laurent Destailleur
75b909ce93 Fix missing transaction in update_perso function 2016-08-02 16:55:32 +02:00
florian HENRY
5144f21c6c FIX php Strict 2016-08-02 15:36:00 +02:00
Laurent Destailleur
cc21909909 Fix dol_include_once could not work to get external url of a module 2016-08-02 14:33:46 +02:00
Laurent Destailleur
86f576f8d3 Fix strict sql 2016-08-02 13:45:35 +02:00
Laurent Destailleur
54df49aebe Fix strict sql 2016-08-02 13:36:16 +02:00
Laurent Destailleur
fdfe333f69 Fix strict sql 2016-08-02 13:10:09 +02:00
aspangaro
f232ae9160 Fix Expense report | VAT disable in Dolibarr, traduction of code_libelle & presentation 2016-08-02 07:47:15 +02:00
aspangaro
dd2e43754e Uniformize presentation in Thirdparty 2016-08-02 06:02:01 +02:00
Laurent Destailleur
e335ce6f45 Fix bad var declared 2016-08-01 19:54:03 +02:00
Laurent Destailleur
dfc38351ef Fix $i not initialized 2016-08-01 19:48:39 +02:00
Laurent Destailleur
a35dd9f2d1 Fix bad separation of address 2016-08-01 19:37:17 +02:00
Laurent Destailleur
5eda10e0dd Fix link 2016-08-01 16:04:49 +02:00
Laurent Destailleur
a02c539a82 FIX #5521 2016-08-01 15:53:51 +02:00
Laurent Destailleur
7dec327995 FIX #5568 2016-08-01 15:43:40 +02:00
Laurent Destailleur
1e90d0a54c Fix path using https 2016-08-01 15:22:48 +02:00
Laurent Destailleur
4410057106 Fix typo 2016-08-01 15:18:52 +02:00
Laurent Destailleur
bb99209b5e Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-08-01 15:06:22 +02:00
Laurent Destailleur
621a7d93fa Merge branch '3.8' of git@github.com:Dolibarr/dolibarr.git into 3.9 2016-08-01 15:05:57 +02:00
Laurent Destailleur
97dd1f4bbb Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 4.0
Conflicts:
	htdocs/core/modules/expedition/doc/pdf_rouget.modules.php
	htdocs/filefunc.inc.php
2016-08-01 15:03:59 +02:00
Laurent Destailleur
58c18f438c Move changelog at correct place 2016-08-01 15:02:23 +02:00
Laurent Destailleur
803fe68061 Merge remote-tracking branch 'origin/3.8' into 3.9
Conflicts:
	htdocs/compta/facture.php
	htdocs/core/modules/expedition/doc/pdf_rouget.modules.php
	htdocs/filefunc.inc.php
2016-08-01 15:01:14 +02:00
BENKE Charlie
9a0494bd64 Update bonprelevement.class.php 2016-08-01 14:11:58 +02:00
Laurent Destailleur
e998a4b8a5 Merge pull request #5572 from fmarcet/3.8
Fix: Can't set PRODUIT_LIMIT_SIZE to value 0
2016-08-01 13:40:11 +02:00
Laurent Destailleur
417dd6465c Merge pull request #5570 from aspangaro/4.0-p36
Fix Presentation & uniformize code
2016-08-01 13:39:54 +02:00
Laurent Destailleur
e0c232548e Fix theme crazy after migration 2016-08-01 10:55:41 +02:00
Ferran Marcet
fb2444c7a3 Fix: Can't set PRODUIT_LIMIT_SIZE to value 0 2016-08-01 10:20:10 +02:00
aspangaro
8ce5fcd980 Uniformize presentation salary payment 2016-08-01 07:40:05 +02:00
aspangaro
0b7a5a4af9 Uniformize presentation donation 2016-08-01 07:34:55 +02:00
aspangaro
4a0eb496fa Merge remote-tracking branch 'Upstream/4.0' into 4.0-p36
Conflicts:
	htdocs/societe/rib.php
2016-08-01 07:27:49 +02:00
aspangaro
4ee4de4a00 Uniformize presentation supplier invoice 2016-08-01 07:21:24 +02:00
aspangaro
3cdb2d45c2 Uniformize presentation customer invoice 2016-08-01 07:10:42 +02:00
aspangaro
26f98a2ab7 Presentation 2016-08-01 06:45:29 +02:00
aspangaro
30ec33f152 Missing key language 2016-08-01 06:45:00 +02:00
aspangaro
63220eae18 Presentation 2016-08-01 04:40:56 +02:00
Laurent Destailleur
ee7023422a Update dump 2016-07-31 23:19:01 +02:00
Laurent Destailleur
1e037a9b95 Fix pb of responsive design 2016-07-31 18:28:59 +02:00
Laurent Destailleur
20a2282efc Updated screenshots 2016-07-31 16:24:32 +02:00
Laurent Destailleur
ce3b01cf6a Update icons 2016-07-31 15:06:25 +02:00
Laurent Destailleur
5f0951dcda Fix for option MAIN_OPTIMIZEFORTEXTBROWSER 2016-07-31 13:20:40 +02:00
Laurent Destailleur
51e941b9b4 Fix for option MAIN_OPTIMIZEFORTEXTBROWSER 2016-07-31 13:07:55 +02:00
Laurent Destailleur
0f544919e0 git push origin 4.0Merge branch 'aspangaro-4.0-p36' into 4.0 2016-07-31 03:05:53 +02:00
Laurent Destailleur
33495847b7 Merge branch '4.0-p36' of https://github.com/aspangaro/dolibarr into
aspangaro-4.0-p36

Conflicts:
	htdocs/societe/rib.php
2016-07-31 03:05:34 +02:00
Laurent Destailleur
1b6da075f7 Fix new apache 2.4 directives 2016-07-31 02:26:06 +02:00
Laurent Destailleur
64fbff3abc Fix for 4.0 doliwamp 2016-07-31 02:18:48 +02:00
Laurent Destailleur
e3df4b81f8 Update demo 4.0 2016-07-30 21:13:16 +02:00
Laurent Destailleur
0414f09e48 Fix permissions 2016-07-30 21:09:30 +02:00
Laurent Destailleur
44b02f1d6c Hide module cron 2016-07-30 20:59:06 +02:00
Laurent Destailleur
b165a31c0d Fix old module to disable 2016-07-30 20:55:20 +02:00
Laurent Destailleur
8ada144f6e Fix demo 2016-07-30 20:53:00 +02:00
Laurent Destailleur
04e814d1a6 Update demo 2016-07-30 20:51:22 +02:00
Laurent Destailleur
5aa5c5259d demo is in mode stable 2016-07-30 20:39:25 +02:00
Laurent Destailleur
9191692bb2 More files for demo data 2016-07-30 20:33:01 +02:00
Laurent Destailleur
654ac318d4 Prepare dump for 4.0 demo 2016-07-30 20:26:05 +02:00
Laurent Destailleur
a87c2f9579 Fix several fixes on margin reports 2016-07-30 18:57:26 +02:00
Laurent Destailleur
246321cd8f Fix clean orphelins of leave request logs in repair tools
Fix date of supplier proposal missing.
2016-07-30 18:08:07 +02:00
Laurent Destailleur
e5583f1544 Fix bad translation. Confusionbetween internal tranfert and bank
tranfert for payements
2016-07-30 17:28:18 +02:00
Laurent Destailleur
857de64607 Fix multicurrency 2016-07-30 16:41:10 +02:00
Laurent Destailleur
7678940e50 Fix refresh cache value of nb of files into a dir into ECM module 2016-07-30 15:51:27 +02:00
Laurent Destailleur
a6147ee73b Miscellaneous fixes 2016-07-30 14:49:29 +02:00
Laurent Destailleur
e3f0ab9109 Fix tag was not visible 2016-07-30 14:05:39 +02:00
Laurent Destailleur
ceb6199e87 Fix default numbering module of customer code was not enabled. 2016-07-30 12:31:32 +02:00
Laurent Destailleur
b3dab8a6f7 Better translation 2016-07-30 11:56:22 +02:00
Laurent Destailleur
7a72b9bb09 Use https links 2016-07-30 11:40:55 +02:00
Laurent Destailleur
b630f0b710 Fix use https and not http 2016-07-30 11:30:19 +02:00
Laurent Destailleur
5b4c215526 Fix size of field too small and bad translation 2016-07-30 10:31:56 +02:00
aspangaro
3c3df0c4f6 Fix Presentation 2016-07-29 23:52:49 +02:00
Laurent Destailleur
ff9d6ce02a Fix missing translation 2016-07-29 23:02:40 +02:00
Laurent Destailleur
45d354ad82 Fix variable names MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN... 2016-07-29 22:58:39 +02:00
Laurent Destailleur
eafaa6f4dd Fix doxygen 2016-07-29 17:30:33 +02:00
Laurent Destailleur
69247afd06 FIX #4447 2016-07-29 17:26:24 +02:00
Laurent Destailleur
a7b21db210 Fix code is not mandatory on vat table 2016-07-29 17:22:02 +02:00
Laurent Destailleur
9a4240c292 Merge branch '3.8' of git@github.com:Dolibarr/dolibarr.git into 3.8 2016-07-29 17:20:30 +02:00
Laurent Destailleur
45e38efdfa FIX #5473 2016-07-29 17:20:14 +02:00
Laurent Destailleur
0c456add13 A more complete example of odt template 2016-07-29 16:33:31 +02:00
Laurent Destailleur
9fabfe029b Remove debug logs 2016-07-29 16:31:29 +02:00
Laurent Destailleur
45e37c82cd FIX #5539 Merge remote-tracking branch 'origin/3.9' into 4.0
Conflicts:
	htdocs/fourn/facture/list.php
2016-07-29 16:29:31 +02:00
Laurent Destailleur
b85bb8c0f8 Merge remote-tracking branch 'origin/3.9' into 4.0
Conflicts:
	htdocs/core/modules/facture/doc/pdf_crabe.modules.php
2016-07-29 16:24:02 +02:00
Laurent Destailleur
b3cdb1f163 FIX tag for date rfc in odt substitution 2016-07-29 16:21:28 +02:00
Laurent Destailleur
27243069cb FIX #5535 bad dependency.
Conflicts:
	htdocs/fourn/facture/list.php
2016-07-29 15:19:04 +02:00
Marcos García de La Fuente
86c2ced714 Missing $user variable 2016-07-29 11:53:24 +02:00
Laurent Destailleur
537a51b367 Finally, better without the test 2016-07-29 11:19:16 +02:00
Juanjo Menent
501a25e1da Merge pull request #5564 from aspangaro/4.0-p36
FIX Accountancy - Problem with the manage of the zero at the end of an accounting account in dolibarr for somes countries. Add an option.
2016-07-29 08:36:01 +02:00
Juanjo Menent
4cadf0e5a3 Merge pull request #5563 from fmarcet/3.9
FIX: Can't create withdrawal document
2016-07-29 08:35:26 +02:00
Juanjo Menent
a40ea9387b Merge pull request #5562 from atm-florian/3.9
FIX: incoterms do not output into crabe invoice PDF
2016-07-29 08:34:01 +02:00
Juanjo Menent
e4f8b9a4b0 Merge pull request #5561 from olsesacl/#5544
FIX #5544 Disabled Contact still appear in lists to send emails
2016-07-29 08:33:29 +02:00
aspangaro
20144c9883 FIX Accountancy - Problem with the manage of the zero at the end of an accounting account in dolibarr for somes countries. Add an option. 2016-07-29 07:32:55 +02:00
Laurent Destailleur
5d97ce038b Fix page break when using a large html footer. 2016-07-28 23:58:13 +02:00
Laurent Destailleur
74a9bbbf38 FIX private property can't be read when building pdf 2016-07-28 23:51:09 +02:00
Laurent Destailleur
80ac99e9b1 Fix missing field into response 2016-07-28 23:50:17 +02:00
Laurent Destailleur
25a3f8a8fd Fix condition does not match workflow described into page
https://wiki.dolibarr.org/index.php/Module_Expense_Reports
2016-07-28 20:00:56 +02:00
Ferran Marcet
5bc51a3439 FIX: Can't create withdrawal document 2016-07-28 16:56:23 +02:00
florian HENRY
7b72965315 FIX incoterms 2016-07-28 16:48:16 +02:00
florian HENRY
c13c15188b FIX: incoterms do not output into crabe invoice PDF 2016-07-28 16:44:08 +02:00
Sergio Sanchis Climent
b47e6e4520 FIX #5544 Disabled Contact still appear in lists to send emails 2016-07-28 15:58:45 +02:00
Laurent Destailleur
e8b5fc5d06 Fix css to add bold border must be forced only when not previously done 2016-07-28 14:37:36 +02:00
Laurent Destailleur
629271cf85 FIX Bad position of parameters on llxHeader (so online help not visible) 2016-07-28 12:23:07 +02:00
Laurent Destailleur
e5d0258f33 Fix missing css 2016-07-28 12:22:23 +02:00
Laurent Destailleur
463a130a60 FIX #5457 2016-07-28 11:53:06 +02:00
Laurent Destailleur
0334b58a4b Hide feature not yet validated to be ready for a stable 4.0 2016-07-27 20:24:30 +02:00
Laurent Destailleur
fb8f0ed657 FIX #5503 2016-07-27 20:05:22 +02:00
Laurent Destailleur
2a28d77eeb FIX #5465 - Fix type account_parent 2016-07-27 19:53:16 +02:00
Laurent Destailleur
889b15689b FIX #5510 2016-07-27 19:42:09 +02:00
Laurent Destailleur
972baa34e7 FIX #5512 2016-07-27 19:36:17 +02:00
Laurent Destailleur
c242e53db6 FIX #5523 2016-07-27 19:23:40 +02:00
Laurent Destailleur
7e37cbb9e3 Fix resource module can't work because mandatory data not available. 2016-07-27 19:16:21 +02:00
Laurent Destailleur
0e79cae9d4 FIX #5534 2016-07-27 18:51:33 +02:00
Laurent Destailleur
968827172d FIX #5534 2016-07-27 18:49:34 +02:00
Laurent Destailleur
799226728d Fix default rule for margin is choice 3: so cost price, then pmp if not
defined, then bestu supplier price if not defined
2016-07-27 18:05:44 +02:00
Laurent Destailleur
12514d0f81 FIX #5543 2016-07-27 17:50:38 +02:00
Laurent Destailleur
58faf94dfc Fix doxygen 2016-07-27 17:41:21 +02:00
Laurent Destailleur
5fa8a6c311 Fix to avoid pb of performances 2016-07-27 17:40:19 +02:00
Laurent Destailleur
38471f1670 Fix: use reposition 2016-07-27 17:29:27 +02:00
Laurent Destailleur
3b1d6818b8 Update ldap translation 2016-07-27 17:26:04 +02:00
Laurent Destailleur
4d1885eb59 Fix: restore logout and logged translation key 2016-07-27 17:00:14 +02:00
Laurent Destailleur
eb06f56164 Fix bad version into error message 2016-07-27 16:49:00 +02:00
Laurent Destailleur
eddac89bad FIX Fatal error if curl not installed 2016-07-27 16:45:13 +02:00
Laurent Destailleur
f71b5d0605 FIX #5524 2016-07-27 14:19:13 +02:00
Laurent Destailleur
e4f51b7f32 FIX Select new thirdparty 2016-07-27 14:15:58 +02:00
Laurent Destailleur
03767286ef Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-07-27 12:32:01 +02:00
Laurent Destailleur
7dc01fc9c1 Fix hide this api 2016-07-27 12:26:32 +02:00
Laurent Destailleur
700421179f Merge pull request #5557 from aspangaro/4.0-p36
FIX Presentation correction
2016-07-27 11:15:40 +02:00
Laurent Destailleur
c23fe43b62 Merge pull request #5556 from olsesacl/#5516
FIX #5516 PHP7 warning on supplier module's invoices configuration page
2016-07-27 11:15:21 +02:00
Laurent Destailleur
198adcf440 Merge pull request #5555 from olsesacl/#5515
FIX #5515 PHP7 warnings on project module's configuration page
2016-07-27 11:14:50 +02:00
Laurent Destailleur
51566970ce Merge pull request #5554 from olsesacl/#5514
FIX #5514 PHP7 Warning on barcode module's configuration page
2016-07-27 11:13:49 +02:00
Laurent Destailleur
8959b13bc3 Merge pull request #5553 from olsesacl/#5511
FIX #5511 Accessing Direct Printing Jobs clears left menu
2016-07-27 11:13:28 +02:00
Laurent Destailleur
a790a97009 Merge pull request #5550 from olsesacl/#5519
FIX #5519 Bug: Intervention resources tab issues fatal error
2016-07-27 11:12:05 +02:00
Laurent Destailleur
86e4340287 FIX: More robust autodetection of relative url to redirect to make
install when conf file does not exists yet.
2016-07-27 10:57:05 +02:00
aspangaro
2e4bebbaf9 FIX Presentation correction 2016-07-27 07:24:36 +02:00
Sergio Sanchis Climent
227c6906a8 FIX #5516 2016-07-26 23:26:29 +02:00
Sergio Sanchis Climent
3b57727542 PHP7 warnings on project module's configuration page 2016-07-26 22:22:55 +02:00
Sergio Sanchis Climent
c9fa12a8f9 PHP7 Warning on barcode module's configuration page 2016-07-26 22:09:06 +02:00
Sergio Sanchis Climent
7eed738fce Fix: Accessing Direct Printing Jobs clears left menu 2016-07-26 21:53:03 +02:00
Marcos García de La Fuente
1ef27913d7 FIX #5549 getNomUrl tooltips show Order info even if user has no rights to read them 2016-07-26 17:07:56 +02:00
Laurent Destailleur
a167d56d5a Hard code a warning to avoid confusion. 2016-07-26 16:40:37 +02:00
Sergio Sanchis Climent
7481cfc1a3 FIX #5519 2016-07-26 16:35:54 +02:00
Laurent Destailleur
b615b52f47 FIX html detection fails if only u tag is present 2016-07-26 16:11:38 +02:00
Laurent Destailleur
2866d60240 Revert "change jsgantt to jsGanttImproved"
This reverts commit caf963351b.
2016-07-26 13:59:08 +02:00
Juanjo Menent
b4a88ca312 Merge pull request #5547 from olsesacl/#5520
FIX #5520 Bug: JavaScript error on project Gantt view
2016-07-26 11:59:48 +02:00
Laurent Destailleur
f0fa9205a2 Sync transifex 2016-07-26 09:56:20 +02:00
Sergio Sanchis Climent
caf963351b change jsgantt to jsGanttImproved 2016-07-26 01:59:27 +02:00
Laurent Destailleur
e0f5a3cfe9 Fix send email in mass action 2016-07-25 21:51:29 +02:00
Laurent Destailleur
fc1c38420c Revert "Fix Performance improvement with many extrafields"
This reverts commit ae18178d56.
2016-07-25 19:47:07 +02:00
Juanjo Menent
8f0738f792 Merge pull request #5541 from marcosgdf/bug-5540
FIX #5540 getFormMail is not registered as addReplace hook
2016-07-25 18:23:08 +02:00
Juanjo Menent
71b8ab8336 Merge pull request #5542 from hregis/3.8_bug
Fix: missing sourcetype can create false positive
2016-07-25 18:21:44 +02:00
Regis Houssin
d8f77abf31 Fix: missing sourcetype can create fault positive 2016-07-25 14:36:20 +02:00
Marcos García de La Fuente
3029fd0fe1 FIX #5540 getFormMail is not registered as addReplace hook 2016-07-25 13:18:41 +02:00
Juanjo Menent
e59a4d510b Merge pull request #5538 from marcosgdf/bug-5537
FIX #5537 AJAX project search does not work properly
2016-07-25 12:19:29 +02:00
Marcos García de La Fuente
3ef3a038cf Merge branch '3.9' into bug-5537 2016-07-25 11:50:08 +02:00
Marcos García de La Fuente
a9d75b2c91 FIX #5537 AJAX project search does not work properly 2016-07-25 11:49:04 +02:00
Juanjo Menent
250d29542f Merge pull request #5527 from simnandez/3.9
Fix Performance improvement with many extrafields
2016-07-25 10:23:14 +02:00
Laurent Destailleur
834356b61e Fix missing opacity css 2016-07-24 22:24:18 +02:00
Laurent Destailleur
efe1cde388 More keywords in desc 2016-07-24 22:21:07 +02:00
Laurent Destailleur
4448c5e86f Removed "small" 2016-07-24 22:21:00 +02:00
Laurent Destailleur
23753d849c FIX Data not lost when error during creation of leave request.
Conflicts:
	htdocs/holiday/define_holiday.php
2016-07-24 22:20:21 +02:00
Laurent Destailleur
9661f08b38 Fix filter on dates of services 2016-07-24 22:17:46 +02:00
Laurent Destailleur
50f76cbb9c Fix bad css 2016-07-24 22:17:40 +02:00
Laurent Destailleur
60c71d88f7 Fix missing loading admin langs 2016-07-23 14:30:48 +02:00
Laurent Destailleur
59e9d7f397 Fix the repositioning works better with new system class="reposition"
compared to old system (#tag)
2016-07-23 13:41:06 +02:00
Laurent Destailleur
343561be7a Fix colspan 2016-07-23 13:37:17 +02:00
Laurent Destailleur
867a0072e3 Fix forcing on module setup was not working 2016-07-23 13:20:34 +02:00
Laurent Destailleur
1b9b4395b9 Fix lost translation keys 2016-07-23 13:07:34 +02:00
Laurent Destailleur
b085ce6916 Fix lost translation keys 2016-07-23 13:01:42 +02:00
Laurent Destailleur
07d0f457b4 Fix: files generated by mass action could not be loaded 2016-07-23 12:44:28 +02:00
Laurent Destailleur
d7f557c7ed Remove warning 2016-07-22 18:34:50 +02:00
Laurent Destailleur
5bbd8eded9 Code comment 2016-07-22 18:32:45 +02:00
Laurent Destailleur
c0d8bce2df Prepare 3.8.5 2016-07-21 19:44:25 +02:00
Laurent Destailleur
1624894346 Fix missing load 2016-07-21 19:35:45 +02:00
Laurent Destailleur
f90946dbde Fix test on eat and sell date 2016-07-21 19:12:05 +02:00
Laurent Destailleur
80d99651a4 Merge remote-tracking branch 'origin/3.9' into 4.0
Conflicts:
	htdocs/product/stock/tpl/stockcorrection.tpl.php
2016-07-21 18:49:10 +02:00
Laurent Destailleur
3a08a14d56 Merge remote-tracking branch 'origin/3.8' into 3.9 2016-07-21 18:45:53 +02:00
Laurent Destailleur
80354cd8d6 FIX Can correct stock of lot using eatby or sell by date 2016-07-21 18:43:44 +02:00
Laurent Destailleur
2d037eb34e FIX Direction of movement lost if an error occurs 2016-07-21 18:36:43 +02:00
Laurent Destailleur
441a8c4a74 FIX Can make a movement on "out of sell" products 2016-07-21 18:28:06 +02:00
Juanjo Menent
ae18178d56 Fix Performance improvement with many extrafields 2016-07-21 18:21:09 +02:00
Laurent Destailleur
42be661b1d Fix bad error message output 2016-07-21 17:36:59 +02:00
Laurent Destailleur
d71754f577 Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-07-21 13:49:32 +02:00
Laurent Destailleur
058c431483 FIX The project was lost when creating the event "sent by email". Also,
event company "create" was not tracked by default like others.
2016-07-21 13:49:10 +02:00
Laurent Destailleur
ff9b2803e7 Fix if previous percent not defined, we do not try to show previous
percent.
2016-07-21 12:15:53 +02:00
Laurent Destailleur
0428d9c887 Merge pull request #5525 from aspangaro/4.0-p36
Fix: Presentation on thirdparty card
2016-07-21 10:42:56 +02:00
Laurent Destailleur
774e327831 Merge remote-tracking branch 'origin/3.9' into 4.0
Conflicts:
	htdocs/comm/remx.php
	htdocs/compta/facture.php
	htdocs/langs/en_US/companies.lang
2016-07-21 10:30:51 +02:00
Laurent Destailleur
972d998f7e Merge remote-tracking branch 'origin/3.8' into 3.9 2016-07-21 10:25:03 +02:00
Laurent Destailleur
9ebe704506 Merge pull request #5422 from atm-alexis/FIX_3.9_bug_5128
FIX #5128 if create method return duplicated code error
2016-07-21 09:55:26 +02:00
aspangaro
52e5403660 Fix: Presentation on thirdparty card 2016-07-21 06:25:25 +02:00
Laurent Destailleur
6e1d7aebb3 Merge pull request #5504 from simnandez/4.0
Fix bad param name to test if showing selector for suppliers
2016-07-20 18:15:54 +02:00
Laurent Destailleur
918bc9cc26 Fix: If user can approve, show button to deny to. 2016-07-20 16:07:15 +02:00
Laurent Destailleur
ffa1102949 Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 3.9 2016-07-20 02:16:22 +02:00
Laurent Destailleur
01c140ecac FIX External user must not be able to edit its discounts 2016-07-20 02:16:10 +02:00
Laurent Destailleur
455add4130 Merge pull request #5505 from atm-florian/3.9_fix_editbank_invoice
FIX : cannot update bank account on invoice if module order not activated
2016-07-19 18:24:40 +02:00
florian HENRY
5ea72c8d56 FIX : cannot update bank account on invoice if module order not
activated
2016-07-19 07:46:27 +02:00
Juanjo Menent
7479933c27 Merge remote-tracking branch 'upstream/4.0' into 4.0 2016-07-18 18:44:45 +02:00
Juanjo Menent
c5ebb8f983 Fix bad param name to test if showing selector for suppliers 2016-07-18 18:44:05 +02:00
Laurent Destailleur
038526bb71 Code comment 2016-07-18 14:40:10 +02:00
Laurent Destailleur
fd7c494cb6 Add VAT for cyprus 2016-07-18 13:20:04 +02:00
Laurent Destailleur
2c77a901b3 Fix to avoid removal of trnaslation key to keep 2016-07-18 12:55:44 +02:00
Laurent Destailleur
621a29d0e0 Fix account may contains text 2016-07-18 12:01:25 +02:00
Laurent Destailleur
10cd5ba730 Fix sort of sent notification by date desc 2016-07-18 11:54:35 +02:00
Laurent Destailleur
9a0367db0d Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-07-18 11:51:51 +02:00
Laurent Destailleur
5e654e8cb3 Fix help 2016-07-18 11:49:34 +02:00
Juanjo Menent
e5235be7d0 Merge pull request #5500 from atm-florian/4.0_fix_updateline_multicurrency
FIX : class FactureLine fetch() and update() crash
2016-07-18 08:56:15 +02:00
florian HENRY
d3344f5291 sd 2016-07-18 07:48:32 +02:00
florian HENRY
bc4674bdce fix problem with call update method after fetch on invocie lines 2016-07-18 07:37:18 +02:00
Juanjo Menent
c37c3d1939 Merge pull request #5496 from olsesacl/3.8_#5450
Fix #5450 Bug: Expenses Form : SQL error on updating line
2016-07-17 15:46:03 +02:00
Laurent Destailleur
bf67cf9dc2 Update documentation 2016-07-17 13:40:14 +02:00
Laurent Destailleur
1914b98375 Merge remote-tracking branch 'origin/3.9' into 4.0 2016-07-17 12:52:20 +02:00
Laurent Destailleur
4382724b86 Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 3.9 2016-07-17 12:48:27 +02:00
Laurent Destailleur
9b47d7e05d Keep only us file 2016-07-17 12:46:09 +02:00
Sergio Sanchis Climent
e52d6db3fd Fix #5450 2016-07-17 12:18:29 +02:00
Juanjo Menent
60384f6d66 Merge pull request #5492 from simnandez/3.8
FIX #5474 Country_id of "Don" object is still empty
2016-07-17 09:45:56 +02:00
Juanjo Menent
970d088510 Merge pull request #5494 from EuskalMoneta/bug-5493
FIX #5493 The login field is ignored when doing a "search in all" for members
2016-07-17 09:45:16 +02:00
Juanjo Menent
9973f03f3b Merge pull request #5499 from aspangaro/4.0-p34
Fix: Accountancy - Problem with empty accountancy acccount in create / update mode
2016-07-17 09:37:01 +02:00
Juanjo Menent
5eeb630a14 Merge pull request #5498 from aspangaro/4.0-p35
Fix: Missing key language on home for boxes
2016-07-17 09:35:35 +02:00
aspangaro
90a84335ab Fix: Missing key language on home for boxes 2016-07-17 07:34:19 +02:00
aspangaro
e6da7c5574 Fix: Accountancy - Problem with empty accountancy acccount in create / modify mode 2016-07-17 07:09:17 +02:00
Sergio Sanchis Climent
3b56370060 Fix #5450 2016-07-17 02:48:04 +02:00
Laurent Destailleur
25d9969590 Fix watch to use orig.tar.gz on package_ubuntu directory 2016-07-16 23:47:37 +02:00
Laurent Destailleur
653bfd5d43 Fix missing orig file in upload. 2016-07-16 22:19:26 +02:00
Xebax
8a303fd4d8 FIX #5493 The login field is ignored when doing a "search in all" for
members.
2016-07-16 20:16:46 +02:00
Laurent Destailleur
587484fabb Prepare 3.9.3 2016-07-16 20:03:04 +02:00
Juanjo Menent
1232e25859 FIX #5474 Country_id of "Don" object is still empty 2016-07-16 20:00:55 +02:00
Sof
4d86291527 Fix : syntax error 2016-07-16 19:57:41 +02:00
Laurent Destailleur
d0380adc39 Merge remote-tracking branch 'origin/3.9' into 4.0
Conflicts:
	htdocs/filefunc.inc.php
	htdocs/includes/jquery/plugins/datatables/media/js/jquery.js
	htdocs/product/list.php
2016-07-16 19:54:57 +02:00
Laurent Destailleur
c3bf1b2619 Merge branch '4.0' of git@github.com:Dolibarr/dolibarr.git into 4.0 2016-07-16 19:52:53 +02:00
Laurent Destailleur
58caf89aab Fix for debian package 2016-07-16 19:52:42 +02:00
Laurent Destailleur
87c31d0761 Prepare 3.9.3 2016-07-16 19:38:58 +02:00
Laurent Destailleur
931531232c FIX duplicate jquery.js files 2016-07-16 19:38:18 +02:00
Laurent Destailleur
e299bad2b5 Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 3.9 2016-07-16 19:20:15 +02:00
Laurent Destailleur
6f489c1fbd FIX Missing original .js file (license violation if sources are not
provided)
2016-07-16 19:19:52 +02:00
Juanjo Menent
5aa63ffe73 Merge pull request #5490 from simnandez/4.0
FIX #5479 using uninitialized variable $socid and other stuffs
2016-07-16 19:15:39 +02:00
Laurent Destailleur
970c4bea75 Fix minor css 2016-07-16 15:34:09 +02:00
Laurent Destailleur
553981426e Several minor fixes in expense reports 2016-07-16 15:21:38 +02:00
Laurent Destailleur
4b854fb33d Fix better error message when possible refering objects list is empty. 2016-07-16 14:37:35 +02:00
Laurent Destailleur
68227d91d9 FIX after enabling module expense report, the document template is not
active by default.
2016-07-16 14:14:28 +02:00
Juanjo Menent
a037e2f2d6 FIX #5479 using uninitialized variable $socid and other stuffs 2016-07-15 23:14:15 +02:00
Juanjo Menent
feef5b2eff Merge pull request #5489 from simnandez/3.9
FIX Option strict mode compatibility
2016-07-15 20:04:00 +02:00
Juanjo Menent
cd0849209c FIX Failed to open file 2016-07-15 19:44:45 +02:00
Juanjo Menent
2ed446d014 FIX Option strict mode compatibility 2016-07-15 19:35:01 +02:00
Laurent Destailleur
0c5851d566 Fix CRLF 2016-07-15 14:49:48 +02:00
Laurent Destailleur
0f4f4ea61c FIX #5482 #5485 2016-07-15 14:22:49 +02:00
Laurent Destailleur
fdfe4d9ac5 Fix missing getFormMail as "addreplace" hook 2016-07-15 14:21:07 +02:00
Laurent Destailleur
258662e616 Fix: missing month of update in leave "view log" page. 2016-07-14 15:31:56 +02:00
Laurent Destailleur
241fd8db98 Fix css 2016-07-14 15:22:04 +02:00
Laurent Destailleur
9bd937a3bc Merge remote-tracking branch 'origin/3.9' into 4.0 2016-07-14 00:35:59 +02:00
Laurent Destailleur
10e7fa51fc Fix missing parameters to provide all information required for
substitution hooks
2016-07-13 23:06:41 +02:00
Laurent Destailleur
dc51eb0b75 Fix missing badge 2016-07-13 22:21:18 +02:00
Juanjo Menent
015b941966 Merge pull request #5478 from simnandez/4.0
Merge #5464 Fix: Prevent SQLiFix into 4.0
2016-07-13 12:45:17 +02:00
Laurent Destailleur
c787e7f2a1 FIX Clear of filter should also reset categories and extrafields filter
FIX Filter on categories should depends on context
2016-07-13 12:03:30 +02:00
Juanjo Menent
fc5b308605 Merge remote-tracking branch 'upstream/develop' into 4.0 2016-07-13 12:00:50 +02:00
Juanjo Menent
df74fa37de Merge pull request #5464 from AppChecker/develop
Fix: Prevent SQLi
2016-07-13 08:45:00 +02:00
Laurent Destailleur
490336b2e8 Fix bad dependency. 2016-07-12 20:07:53 +02:00
Laurent Destailleur
73f574b649 Merge remote-tracking branch 'origin/3.9' into develop
Conflicts:
	htdocs/core/class/html.form.class.php
	htdocs/fourn/class/fournisseur.commande.class.php
	htdocs/install/repair.php
2016-07-12 19:30:01 +02:00
Laurent Destailleur
baeedd3690 Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 3.9 2016-07-12 19:26:55 +02:00
Laurent Destailleur
f972b15f5f FIX #5068 2016-07-12 19:22:14 +02:00
Laurent Destailleur
f1b348da34 Merge pull request #5477 from atm-alexis/FIX_3.9_invoice_late_dashboard
FIX dasboard wrong for late invoice
2016-07-12 19:07:19 +02:00
Alexis Algoud
572b2fdec7 FIX dasboard wrong for late invoice 2016-07-12 15:01:43 +02:00
Laurent Destailleur
9c06e07f07 Code comment 2016-07-12 13:03:56 +02:00
Laurent Destailleur
dc138e20e7 FIX: Can't edit label 2016-07-12 10:58:32 +02:00
Laurent Destailleur
1756fdbc9f Popup on links not visible. 2016-07-11 12:59:07 +02:00
appchecker
f618f330b3 replace intval with GETPOST 2016-07-11 13:01:16 +03:00
appchecker
7facaac973 replace intval with GETPOST 2016-07-11 12:58:59 +03:00
appchecker
4b1dfbc2fb replace intval with GETPOST 2016-07-11 12:56:05 +03:00
Laurent Destailleur
b72123e7ec Fix custom code must be visible only for products 2016-07-11 11:43:59 +02:00
Laurent Destailleur
329bdfc9fd FIX We must take last recent price when using several level of prices 2016-07-11 11:35:38 +02:00
Laurent Destailleur
d5f221452e Merge branch '3.9' of git@github.com:Dolibarr/dolibarr.git into 3.9 2016-07-11 11:34:28 +02:00
Laurent Destailleur
0367cee671 FIX We must take the last recent defined price when using price level 2016-07-11 11:34:11 +02:00
Laurent Destailleur
7e000d4ce2 Fix missing css opacitymedium 2016-07-11 10:46:44 +02:00
Laurent Destailleur
1efedbdade Fix badge on project tab 2016-07-11 10:37:43 +02:00
Laurent Destailleur
2e372ced1e Fix missing fields 2016-07-11 10:28:57 +02:00
Laurent Destailleur
0291b6f5d7 Merge pull request #5471 from marcosgdf/bug-5470
FIX #5470 User of expense report in bank transactions page is not correct
2016-07-11 02:52:23 +02:00
Laurent Destailleur
1f7bc1d518 FIX Bad sort link on ECM module for automatic tab 2016-07-11 02:06:46 +02:00
Laurent Destailleur
914d56bb1b Fix css for last chrome versions. max-width: 0 fails on box 2016-07-09 16:54:04 +02:00
Laurent Destailleur
db7f7a420b Fix loading language 2016-07-09 16:12:35 +02:00
Marcos García de La Fuente
d01796a214 FIX #5470 User of expense report in bank transactions page is not correct 2016-07-09 14:31:41 +02:00
Laurent Destailleur
47d7ac8031 Fix the repair tool to correct corrupted stock for batch numbers 2016-07-08 23:11:55 +02:00
Laurent Destailleur
a48c79b68b Fix corrupted stock 2016-07-08 23:02:25 +02:00
Laurent Destailleur
0f23cef46c Fix warning of the repair tool. 2016-07-08 18:59:36 +02:00
appchecker
2c297bbcc8 prevent SQLi 2016-07-07 20:25:15 +03:00
appchecker
9895084627 prevent SQLi 2016-07-07 20:23:38 +03:00
appchecker
931089a924 prevent SQLi 2016-07-07 20:19:05 +03:00
Juanjo Menent
02439bed8b Merge pull request #5458 from hregis/3.8_bug
Fix: wrong multicompany filter
2016-07-07 17:12:59 +02:00
Regis Houssin
4503659cba Fix: wrong multicompany filter 2016-07-06 16:50:10 +02:00
Alexis Algoud
fa73dbe8e9 FIX #5128 if create method return duplicated code error
not use GETPOST in order to get a new code
2016-06-30 15:12:35 +02:00
1107 changed files with 22937 additions and 5814 deletions

View File

@@ -161,7 +161,41 @@ So if you included it into your module, change your code like this to be compati
if (! $res) include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php';
***** ChangeLog for 3.9.3 compared to 3.9.2 *****
FIX: #4383 $userid not defined
FIX: #4448 $filebonprev is not used, $this->filename now
FIX: #4455
FIX: #4749
FIX: #4756
FIX: #4828
FIX: #4926
FIX: #4964 buyprice in customer from shipping buyprice wasn't load in expedition::fetch_lines
FIX: #5004
FIX: #5068
FIX: #5170 tva sign with INVOICE_POSITIVE_CREDIT_NOTE option
FIX: #5338 use of not initialized var $aphour, $apmin, etc
FIX: #5343
FIX: #5380
FIX: #5383 bad object id on don delete
FIX: #5414
FIX: #5470 User of expense report in bank transactions page is not correct
FIX: a case of corrupted ODT by Word that insert <text:s> when it should not.
FIX: Can't create thirdparty or validate invoice if profid is mandatory and profid does not exists for other countries
FIX: dasboard wrong for late invoice
FIX: duplicate jquery.js files
FIX: extrafield cloned on project clone
FIX: Failed to open file
FIX: Filter on opportunity amount and budget
FIX: form_confirm to delete payment on supplier invoice
FIX: javascript error with german-switzerland language
FIX: large expense note
FIX: Missing original .js file (license violation if sources are not provided)
FIX: Option strict mode compatibility
FIX: product stats all bloc module without enbaled test
FIX: receiving link never works
FIX: task ODT company object not correctly retrieved
FIX: Translate group perms as it is done into user perms
FIX: We must take the last recent defined price when using price level
***** ChangeLog for 3.9.2 compared to 3.9.1 *****
FIX: #4813 Won translation for the key OppStatusWON instead OppStatusWIN
@@ -425,7 +459,68 @@ This is list of hooks modified:
- Remove deprecated Product::hidden property
***** ChangeLog for 3.8.5 compared to 3.8.4 *****
FIX: #3815 Call to undefined function local_by_date().
FIX: #4424 Missing email of user popup in supplier orders area
FIX: #4442 Missing translation in Banks menu
FIX: #4448 $filebonprev is not used, $this->filename now
FIX: #4455
FIX: #4737 Bank transacion type selector translation is cropped
FIX: #4742 Able to delete a supplier invoice with a registered payment
FIX: #4743 UI glitch in project summary page
FIX: #4747 Missing UI background when registering a supplier invoice payment
FIX: #4748 Supplier invoice payment confirmation amount is not translated
FIX: #4749
FIX: #4756
FIX: #4766 VAT not shown in supplier invoice popup
FIX: #4809 - Duplicate functions with different content
FIX: #4851 Project selector in supplier invoices shows the project label twice
FIX: #4870
FIX: #5008 SQL error when editing the reference of a supplier invoice that already exists
FIX: #5048 Product supplier list display only one produc
FIX: #5170 tva sign with INVOICE_POSITIVE_CREDIT_NOTE option
FIX: #5203
FIX: #5207
FIX: #5338 use of not initialized var $aphour, $apmin, etc
FIX: #5380
FIX: #5383 bad object id on don delete
FIX: #5474 Country_id of "Don" object is still empty
FIX: Accountancy - 3.8 - Chart of accounts are limited on only one country
FIX: Bad include and param for project numbering module call
FIX: Box disabled because bugged
FIX: bug on email template
FIX: Can correct stock of lot using eatby or sell by date
FIX: Can make a movement on "out of sell" products
FIX: Can't create thirdparty or validate invoice if profid is mandatory and profid does not exists for other countries
FIX: can't fetch by siret or siren because of first "if"
FIX: Check stock of product by warehouse if $entrepot_id defined on shippings
FIX: correct display of minimum buying price
FIX: Creation of thumb image for size "small" was not done.
FIX: Direction of movement lost if an error occurs
FIX: dont retrieve new buying price on margin display
FIX: Duplicate records into export
FIX: Email templates not compatible with Multicompany
FIX: end of select when no fournprice
FIX: finished parameters not used
FIX: hook on group card called but not initialized
FIX: It doesn't check if there is enough stock to update the lines of orders/invoices
FIX: large expense note
FIX: missing column when module was installed before standard integration
FIX: Missing database escaping on supplier price insert/update
FIX: Not filtering correctly when come from dashboard
FIX: PROPAL_MERGE_PDF with PRODUCT_USE_OLD_PATH
FIX: real min buying price
FIX: receiving link never works
FIX: same page added several times on mergepropal option
FIX: search on date into supplier invoice list dont work because of status -1
FIX: Search supplier ref on contract
FIX: SQL error function on getAvailableDiscounts function, on bill create mode if socid is empty
FIX: systematic rounding causes prices to be updated without reason
FIX: task ODT company object not correctly retrieved
FIX: Template email must take care of positino column
FIX: VAT rate can be negative. Example spain selling to morroco.
***** ChangeLog for 3.8.4 compared to 3.8.3 *****
FIX: #3694
FIX: #3798 #2519 Cron jobs would never be executed

View File

@@ -3,7 +3,7 @@
Dolibarr ERP & CRM est un logiciel moderne pour gérer votre activité (société, association, auto-entrepreneurs, artisans).
Il est simple d'utilisation et modulaire, vous permettant de n'activez que les fonctions dont vous avez besoin (contacts, fournisseurs, factures, commandes, stocks, agenda, ...).
![ScreenShot](http://www.dolibarr.org/images/dolibarr_screenshot1_640x480.png)
![ScreenShot](https://www.dolibarr.org/images/dolibarr_screenshot1_640x480.png)
@@ -23,7 +23,7 @@ Ubuntu) ou DoliRpm (la version tout-en-un de Dolibarr pour Fedora, Redhat,
OpenSuse, Mandriva ou Mageia).
Vous pouvez les télécharger depuis la rubrique *download* du portail officiel:
http://www.dolibarr.org/
https://www.dolibarr.org/
Si vous avez déjà installé un serveur Web avec PHP et une base de donnée (Mysql),
vous pouvez installer Dolibarr avec cette version de la manière suivante:
@@ -139,13 +139,13 @@ Suivez le projet Dolibarr project sur les réseaux francophones
- Facebook: <https://www.facebook.com/dolibarr.fr>
- Google+: <https://plus.google.com/+DolibarrFrance>
- Twitter: <http://www.twitter.com/dolibarr_france>
- Twitter: <https://www.twitter.com/dolibarr_france>
ou sur les réseaux anglophones
- [Facebook](https://www.facebook.com/dolibarr)
- [Google+](https://plus.google.com/+DolibarrOrg)
- [Twitter](http://www.twitter.com/dolibarr)
- [Twitter](https://www.twitter.com/dolibarr)
- [LinkedIn](https://www.linkedin.com/company/association-dolibarr)
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
- [GitHub](https://github.com/Dolibarr/dolibarr)

View File

@@ -2,15 +2,15 @@
![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg) ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg)
Dolibarr ERP & CRM is a modern software to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...).
Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...).
It's an Open Source software (wrote in PHP language) designed for small and medium companies, foundation and freelances.
It's an Open Source software (wrote in PHP language) designed for small, medium or large companies, foundations and freelances.
You can freely use, study, modify or distribute it according to its Free Software licence.
You can use it as a standalone application or as a web application to be able to access it from the Internet or a LAN.
![ScreenShot](http://www.dolibarr.org/images/dolibarr_screenshot1_640x400.png)
![ScreenShot](https://www.dolibarr.org/images/dolibarr_screenshot1_640x400.png)
## LICENSE
@@ -24,7 +24,7 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git
### Download
Releases can be downloaded from [official website](http://www.dolibarr.org/).
Releases can be downloaded from [official website](https://www.dolibarr.org/).
### Simple setup
@@ -133,7 +133,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
### Extending
Dolibarr can be extended with a lot of other external modules from third party developers available at the [DoliStore](http://www.dolistore.com).
Dolibarr can be extended with a lot of other external modules from third party developers available at the [DoliStore](https://www.dolistore.com).
## FUTURE
@@ -165,7 +165,7 @@ Follow Dolibarr project on:
- [Facebook](https://www.facebook.com/dolibarr)
- [Google+](https://plus.google.com/+DolibarrOrg)
- [Twitter](http://www.twitter.com/dolibarr)
- [Twitter](https://www.twitter.com/dolibarr)
- [LinkedIn](https://www.linkedin.com/company/association-dolibarr)
- [YouTube](https://www.youtube.com/user/DolibarrERPCRM)
- [GitHub](https://github.com/Dolibarr/dolibarr)

View File

@@ -13,7 +13,7 @@ Architecture: all
Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5,
php5-cli,
# Required PHP extensions
php5-mysql | php5-mysqli, php5-curl, php5-gd, php5-ldap, php5-geoip,
php5-mysql | php5-mysqli, php5-curl, php5-gd, php5-ldap,
# Required PHP libraries
php-pear, php-mail-mime,
# php-tcpdf, libfpdi-php,
@@ -31,10 +31,10 @@ Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm |
${misc:Depends},
${perl:Depends}
Recommends: apache2 | lighttpd | httpd
Suggests: www-browser
Suggests: www-browser, php5-geoip
Description: Web based software to manage a company or foundation
Dolibarr ERP & CRM is an easy to use open source/free software for small
and medium companies, foundations or freelances. It includes different
Dolibarr ERP & CRM is an easy to use open source/free software package for
companies, foundations or freelances. It includes different
features for Enterprise Resource Planning (ERP) and Customer Relationship
Management (CRM) but also for different other activities.
.

View File

@@ -1,2 +1 @@
README.md
README-FR.md

View File

@@ -1,3 +1,5 @@
# Remove warning, we want to keep both standard and minified sources.
dolibarr: source-contains-prebuilt-javascript-object htdocs/includes/jsgantt/*
dolibarr: source-contains-prebuilt-javascript-object htdocs/includes/jquery/*
dolibarr: source-contains-prebuilt-javascript-object htdocs/includes/jquery/*
# This is a textual data file
source-is-missing htdocs/includes/mobiledetect/mobiledetectlib/Mobile_Detect.json

View File

@@ -2,4 +2,4 @@
version=3
#http://sf.net/dolibarr/dolibarr-(.+)\.tgz
http://www.dolibarr.org/files/stable/standard/dolibarr-(.+)\.tgz
http://www.dolibarr.org/files/stable/package_debian-ubuntu/dolibarr_(.+)\.orig\.tar\.gz

View File

@@ -4,17 +4,14 @@ File added into doxygen generated documentation
<!-- Google analytics -->
<script type="text/javascript">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-9049390-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
ga('create', 'UA-9049390-16', 'auto');
ga('send', 'pageview');
</script>
<!-- End google analytics -->
@@ -22,7 +19,7 @@ File added into doxygen generated documentation
<hr class="footer" />
<address class="footer"><small>Generated on $datetime
for <a href="http://www.dolibarr.org">$projectname</a> by Doxygen $doxygenversion </small></address>
for <a href="https://www.dolibarr.org">$projectname</a> by Doxygen $doxygenversion </small></address>
<!-- Google AdSense -->
@@ -35,11 +32,20 @@ google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript" src="https://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div>
<!-- End google adsense -->
<br>
</div>
<!-- Twitter ad collector -->
<script src="//platform.twitter.com/oct.js" type="text/javascript"></script>
<script type="text/javascript">twttr.conversion.trackPid('ntm4n', { tw_sale_amount: 0, tw_order_quantity: 0 });</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://analytics.twitter.com/i/adsct?txn_id=ntm4n&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
<img height="1" width="1" style="display:none;" alt="" src="//t.co/i/adsct?txn_id=ntm4n&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
</noscript>
</body>
</html>

View File

@@ -1,6 +1,4 @@
<!--
File added into doxygen generated documentation
-->
<!-- File added into doxygen generated documentation -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@@ -14,7 +12,23 @@ File added into doxygen generated documentation
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<!-- End from dolibarr.org -->
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', '1998533953704960');
fbq('track', "PageView");</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1998533953704960&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
</head>
<body>
<div id="top">

View File

@@ -15,10 +15,7 @@ Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/"
# NOTE FOR APACHE 2.3:
# To restrict access to dolibarr from outside set lines
#
# <RequireAny>
# Require ip 127.0.0.1
# Require host localhost
# <RequireAny>
# Require local
#
# instead of
#

View File

@@ -42,6 +42,7 @@ SolidCompression=yes
WizardImageFile=build\exe\doliwamp\doliwamp.bmp
WizardSmallImageFile=build\exe\doliwamp\doliwampsmall.bmp
SetupIconFile=doc\images\dolibarr.ico
;To say the installer must be ran as admin
PrivilegesRequired=admin
DisableProgramGroupPage=yes
ChangesEnvironment=no
@@ -148,8 +149,12 @@ Name: "{userdesktop}\Dolibarr Help center"; Filename: "{app}\rundolihelp.bat"; W
[Registry]
; Add "run as admin" flag. Same than command line: reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<Path to your exe>" /t REG_SZ /d RUNASADMIN
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue;
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue;
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN";
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN";
Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN";
Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN";
Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN"; Check: IsWin64
Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN"; Check: IsWin64
[Code]
@@ -239,9 +244,9 @@ begin
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\MSCRM','SMTPServer', value) then
begin
if value <> '' then smtpServer:=value;
end
end
end
end;
end;
end;
end;
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp','apachePort', value) then
@@ -419,7 +424,7 @@ begin
begin
themessage := FmtMessage(CustomMessage('FailedToDeleteLock'),[pathWithSlashes]);
MsgBox(themessage,mbInformation,MB_OK);
end
end;
// Check if parameters already defined in conf.php file
@@ -592,7 +597,7 @@ begin
StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFileA,srcContents, False);
end
end;
if MsgBox(CustomMessage('DoliWampWillStartApacheMysql'),mbConfirmation,MB_YESNO) = IDYES then
@@ -615,7 +620,7 @@ begin
StringChangeEx (srcContents, 'WAMPPHPMYADMINVERSION', phpmyadminVersion, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
DeleteFile(srcFile);
@@ -648,8 +653,8 @@ begin
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
SaveStringToFile(destFile, srcContents, False);
end
end
end;
end;
DeleteFile(srcFile);
@@ -679,8 +684,8 @@ begin
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
SaveStringToFile(destFile,srcContents, False);
end
end
end;
end;
@@ -703,7 +708,7 @@ begin
StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
@@ -725,7 +730,7 @@ begin
StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
@@ -757,7 +762,7 @@ begin
StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True);
StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True);
SaveStringToFile(destFile, srcContents, False);
end
end;
@@ -780,7 +785,7 @@ begin
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
@@ -801,7 +806,7 @@ begin
StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
@@ -822,7 +827,7 @@ begin
StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
@@ -843,7 +848,7 @@ begin
StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
//----------------------------------------------
@@ -864,7 +869,7 @@ begin
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
//----------------------------------------------
@@ -885,7 +890,7 @@ begin
StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
//----------------------------------------------
@@ -904,7 +909,7 @@ begin
StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
//----------------------------------------------
@@ -921,7 +926,7 @@ begin
StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True);
StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
//----------------------------------------------
// Create file php.ini in apache (if not exists)
@@ -937,7 +942,7 @@ begin
StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True);
StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True);
SaveStringToFile(destFile,srcContents, False);
end
end;
@@ -979,7 +984,7 @@ begin
res := False;
end
end;
end
else
@@ -989,9 +994,9 @@ begin
res := False;
end
end;
end
end;
Result := res;

View File

@@ -255,6 +255,9 @@ KeepAliveTimeout 30
# Controls who can get stuff from this server.
#
# onlineoffline tag - don't remove
Require all granted
<RequireAny>
Require ip 127.0.0.1
Require host localhost

View File

@@ -19,17 +19,11 @@ Alias /phpmyadmin "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/"
#
# instead of
#
# <RequireAny>
# Require ip 127.0.0.1
# Require host localhost
# <RequireAny>
# Require local
#
<Directory "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
<RequireAny>
Require ip 127.0.0.1
Require host localhost
</RequireAny>
Require local
</Directory>

View File

@@ -173,6 +173,7 @@ $build =~ s/-.*$//g;
# now build is 0+nmu1 for example
$FILENAMEDEBNATIVE="${PROJECT}_${MAJOR}.${MINOR}.${build}";
$FILENAMEDEB="${PROJECT}_${MAJOR}.${MINOR}.${newbuild}";
$FILENAMEDEBSHORT="${PROJECT}_${MAJOR}.${MINOR}.${build}";
my $copyalreadydone=0;
@@ -389,10 +390,15 @@ if ($nboftargetok) {
{
print 'Run git tag -a -f -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n";
$ret=`git tag -a -f -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD"`;
print 'Run git push -f --tags'."\n";
$ret=`git push -f --tags`;
}
}
print 'Run git push --tags'."\n";
$ret=`git push --tags`;
else
{
print 'Run git push --tags'."\n";
$ret=`git push --tags`;
}
chdir("$olddir");
}
@@ -597,7 +603,7 @@ if ($nboftargetok) {
if ($target eq 'TGZ')
{
$NEWDESTI=$DESTI;
if ($NEWPUBLISH =~ /stable/)
if ($NEWDESTI =~ /stable/)
{
mkdir($DESTI.'/standard');
if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; }
@@ -629,7 +635,7 @@ if ($nboftargetok) {
if ($target eq 'XZ')
{
$NEWDESTI=$DESTI;
if ($NEWPUBLISH =~ /stable/)
if ($NEWDESTI =~ /stable/)
{
mkdir($DESTI.'/standard');
if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; }
@@ -666,7 +672,7 @@ if ($nboftargetok) {
if ($target eq 'ZIP')
{
$NEWDESTI=$DESTI;
if ($NEWPUBLISH =~ /stable/)
if ($NEWDESTI =~ /stable/)
{
mkdir($DESTI.'/standard');
if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; }
@@ -707,7 +713,7 @@ if ($nboftargetok) {
if ($target =~ /FEDO/i) { $subdir="package_rpm_redhat-fedora"; }
if ($target =~ /MAND/i) { $subdir="package_rpm_mandriva"; }
if ($target =~ /OPEN/i) { $subdir="package_rpm_opensuse"; }
if ($NEWPUBLISH =~ /stable/)
if ($NEWDESTI =~ /stable/)
{
mkdir($DESTI.'/'.$subdir);
if (-d $DESTI.'/'.$subdir) { $NEWDESTI=$DESTI.'/'.$subdir; }
@@ -793,7 +799,7 @@ if ($nboftargetok) {
if ($target eq 'DEB')
{
$NEWDESTI=$DESTI;
if ($NEWPUBLISH =~ /stable/)
if ($NEWDESTI =~ /stable/)
{
mkdir($DESTI.'/package_debian-ubuntu');
if (-d $DESTI.'/package_debian-ubuntu') { $NEWDESTI=$DESTI.'/package_debian-ubuntu'; }
@@ -824,7 +830,7 @@ if ($nboftargetok) {
$ret=`$cmd`;
print "Remove other files\n";
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/README-FR`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/README-FR.md`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README`;
$ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README-FR`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/aps`;
@@ -996,7 +1002,7 @@ if ($nboftargetok) {
if ($target eq 'APS')
{
$NEWDESTI=$DESTI;
if ($NEWPUBLISH =~ /stable/)
if ($NEWDESTI =~ /stable/)
{
mkdir($DESTI.'/package_aps');
if (-d $DESTI.'/package_aps') { $NEWDESTI=$DESTI.'/package_aps'; }
@@ -1082,7 +1088,7 @@ if ($nboftargetok) {
if ($target eq 'EXEDOLIWAMP')
{
$NEWDESTI=$DESTI;
if ($NEWPUBLISH =~ /stable/)
if ($NEWDESTI =~ /stable/)
{
mkdir($DESTI.'/package_windows');
if (-d $DESTI.'/package_windows') { $NEWDESTI=$DESTI.'/package_windows'; }
@@ -1111,6 +1117,7 @@ if ($nboftargetok) {
print "Move $SOURCE/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n";
$ret=`mv "$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`;
print "Remove tmp file $SOURCE/build/exe/doliwamp/doliwamp.tmp.iss\n";
$ret=`rm "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`;
next;
@@ -1127,6 +1134,7 @@ if ($nboftargetok) {
%filestoscansf=(
"$DESTI/package_rpm_generic/$FILENAMERPM"=>'Dolibarr installer for Fedora-Redhat-Mandriva-Opensuse (DoliRpm)',
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'Dolibarr installer for Debian-Ubuntu (DoliDeb)',
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'none',
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'Dolibarr installer for Windows (DoliWamp)',
"$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM',
"$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM'
@@ -1134,6 +1142,7 @@ if ($nboftargetok) {
%filestoscanstableasso=(
"$DESTI/package_rpm_generic/$FILENAMERPM"=>'package_rpm_generic',
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'package_debian-ubuntu',
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'package_debian-ubuntu',
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'package_windows',
"$DESTI/standard/$FILENAMETGZ.tgz"=>'standard',
"$DESTI/standard/$FILENAMETGZ.zip"=>'standard'
@@ -1195,7 +1204,7 @@ if ($nboftargetok) {
print "\n";
if ($target eq 'SF') {
if ($target eq 'SF' && $filestoscan{$file} ne 'none') {
$destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD;
}
elsif ($target eq 'ASSO' and $NEWPUBLISH =~ /stable/) {

View File

@@ -2,4 +2,4 @@ README
------
Scripts in this directory can be used to load or purge data of a database instance.
WARNING: This may erase data.
WARNING: Some of this script may delete definitely data.

View File

@@ -31,8 +31,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
}
// Recupere root dolibarr
$path=preg_replace('/generate-facture.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../../htdocs/master.inc.php");
//$path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]);
require (__DIR__. '/../../htdocs/master.inc.php');
require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/societe/class/societe.class.php");

View File

@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
}
// Recupere root dolibarr
$path=preg_replace('/generate-commande.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../../htdocs/master.inc.php");
//$path=preg_replace('/generate-commande.php/i','',$_SERVER["PHP_SELF"]);
require (__DIR__. '/../../htdocs/master.inc.php');
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';

View File

@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
}
// Recupere root dolibarr
$path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../../htdocs/master.inc.php");
//$path=preg_replace('/generate-produit.php/i','',$_SERVER["PHP_SELF"]);
require (__DIR__. '/../../htdocs/master.inc.php');
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';

View File

@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
}
// Recupere root dolibarr
$path=preg_replace('/generate-propale.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../../htdocs/master.inc.php");
//$path=preg_replace('/generate-propale.php/i','',$_SERVER["PHP_SELF"]);
require (__DIR__. '/../../htdocs/master.inc.php');
require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/comm/propal/class/propal.class.php");
require_once(DOL_DOCUMENT_ROOT."/commande/class/commande.class.php");

View File

@@ -32,8 +32,8 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
}
// Recupere root dolibarr
$path=preg_replace('/generate-societe.php/i','',$_SERVER["PHP_SELF"]);
require ($path."../../htdocs/master.inc.php");
//$path=preg_replace('/generate-societe.php/i','',$_SERVER["PHP_SELF"]);
require (__DIR__. '/../../htdocs/master.inc.php');
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -15,7 +15,7 @@
export mydir=`echo "$0" | sed -e 's/initdemo.sh//'`;
if [ "x$mydir" = "x" ]
if [ "x$mydir" = 'x' -o "x$mydir" = 'x./' ]
then
export mydir="."
fi
@@ -132,24 +132,7 @@ then
exit;;
esac
# ---------------------------- chemin d'acces du repertoire documents
#DIALOG=${DIALOG=dialog}
#fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
#trap "rm -f $fichtemp" 0 1 2 5 15
#$DIALOG --title "Init Dolibarr with demo values" --clear \
# --inputbox "Full path to documents directory (ex: /var/www/dolibarr/documents)- no / at end :" 16 55 2> $fichtemp
#valret=$?
#case $valret in
# 0)
#docs=`cat $fichtemp`;;
# 1)
#exit;;
# 255)
#exit;;
#esac
# ---------------------------- confirmation
DIALOG=${DIALOG=dialog}
$DIALOG --title "Init Dolibarr with demo values" --clear \
@@ -177,6 +160,25 @@ echo "mysql -P$port -u$admin -p***** $base < $mydir/$dumpfile"
mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile
export res=$?
# ---------------------------- copy demo files
export documentdir=`cat $mydir/../../htdocs/conf/conf.php | grep '^\$dolibarr_main_data_root' | sed -e 's/$dolibarr_main_data_root=//' | sed -e 's/;//' | sed -e "s/'//g" `
if [ "x$documentdir" != "x" ]
then
echo cp -pr $mydir/documents_demo/* "$documentdir/"
cp -pr $mydir/documents_demo/* "$documentdir/"
echo cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/"
cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/"
mkdir -p "$documentdir/ecm/Administrative documents"
mkdir -p "$documentdir/ecm/Images"
echo cp -pr $mydir/../../doc/images/* "$documentdir/ecm/Images"
cp -pr $mydir/../../doc/images/* "$documentdir/ecm/Images"
else
echo Detection of documents directory failed so demo files were not copied.
fi
if [ "x$res" = "x0" ]
then
echo "Success, file successfully loaded."

File diff suppressed because one or more lines are too long

View File

@@ -187,7 +187,6 @@ export list="
--ignore-table=$base.llx_bt_webseedfiles
--ignore-table=$base.llx_c_civilite
--ignore-table=$base.llx_c_dolicloud_plans
--ignore-table=$base.llx_c_lead_status
--ignore-table=$base.llx_c_source
--ignore-table=$base.llx_cabinetmed_c_banques
--ignore-table=$base.llx_cabinetmed_c_ccam

126
dev/initdemo/updatedemo.php Executable file
View File

@@ -0,0 +1,126 @@
#!/usr/bin/env php
<?php
/* Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 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/>.
* or see http://www.gnu.org/
*
* Get a distant dump file and load it into a mysql database
*/
$sapi_type = php_sapi_name();
$script_file = basename(__FILE__);
$path=dirname(__FILE__).'/';
// Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') {
echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n";
exit;
}
// Global variables
$error=0;
$confirm=isset($argv[1])?$argv[1]:'';
// Include Dolibarr environment
$res=0;
if (! $res && file_exists($path."../../master.inc.php")) $res=@include($path."../../master.inc.php");
if (! $res && file_exists($path."../../htdocs/master.inc.php")) $res=@include($path."../../htdocs/master.inc.php");
if (! $res && file_exists("../master.inc.php")) $res=@include("../master.inc.php");
if (! $res && file_exists("../../master.inc.php")) $res=@include("../../master.inc.php");
if (! $res && file_exists("../../../master.inc.php")) $res=@include("../../../master.inc.php");
if (! $res && preg_match('/\/nltechno([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include($path."../../../dolibarr".$reg[1]."/htdocs/master.inc.php"); // Used on dev env only
if (! $res && preg_match('/\/nltechno([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include("../../../dolibarr".$reg[1]."/htdocs/master.inc.php"); // Used on dev env only
if (! $res) die ("Failed to include master.inc.php file\n");
include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
/*
* Main
*/
if (empty($confirm))
{
print "Usage: $script_file confirm\n";
print "Return code: 0 if success, <>0 if error\n";
exit(-1);
}
$tmp=dol_getdate(dol_now());
$tables=array(
'propal'=>array(0=>'datep', 1=>'fin_validite', 2=>'date_valid', 3=>'date_cloture'),
'commande'=>array(0=>'date_commande', 1=>'date_valid', 2=>'date_cloture'),
'facture'=>array(0=>'datef', 1=>'date_valid', 2=>'date_lim_reglement'),
'paiement'=>array(0=>'datep'),
'bank'=>array(0=>'datev', 1=>'dateo'),
'commande_fournisseur'=>array(0=>'date_commande', 1=>'date_valid', 3=>'date_creation', 4=>'date_approve', 5=>'date_approve2', 6=>'date_livraison'),
'supplier_proposal'=>array(0=>'datec', 1=>'date_valid', 2=>'date_cloture')
);
$year=2010;
$currentyear=$tmp['year'];
while ($year <= $currentyear)
{
//$year=2021;
$delta=($currentyear - $year);
//$delta=-1;
if ($delta)
{
foreach($tables as $tablekey => $tableval)
{
print "\nCorrect ".$tablekey." for year ".$year." and move them to current year ".$currentyear." ";
$sql="select rowid from ".MAIN_DB_PREFIX.$tablekey." where ".$tableval[0]." between '".$year."-01-01' and '".$year."-12-31' and ".$tableval[0]." < DATE_ADD(NOW(), INTERVAL -1 YEAR)";
//$sql="select rowid from ".MAIN_DB_PREFIX.$tablekey." where ".$tableval[0]." between '".$year."-01-01' and '".$year."-12-31' and ".$tableval[0]." > NOW()";
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
$i=0;
while ($i < $num)
{
$obj=$db->fetch_object($resql);
if ($obj)
{
print ".";
$sql2="UPDATE ".MAIN_DB_PREFIX.$tablekey." set ";
$j=0;
foreach($tableval as $field)
{
if ($j) $sql2.=", ";
$sql2.= $field." = DATE_ADD(".$field.", INTERVAL ".$delta." YEAR)";
$j++;
}
$sql2.=" WHERE rowid = ".$obj->rowid;
//print $sql2."\n";
$resql2 = $db->query($sql2);
if (! $resql2) dol_print_error($db);
}
$i++;
}
}
else dol_print_error($db);
}
}
$year++;
}
print "\n";
exit(0);

View File

@@ -587,11 +587,10 @@ foreach ($skeletonfiles as $skeletonfile => $outfile)
{
if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime'])
{
$varprop.="if (! empty(\$arrayfields['t.".$prop['field']."']['checked'])) print_liste_field_titre(\$arrayfields['t.".$prop['field']."']['label'],\$_SERVER['PHP_SELF'],'t.".$prop['field']."','',\$param,'',\$sortfield,\$sortorder);\n";
$varprop.="if (! empty(\$arrayfields['t.".$prop['field']."']['checked'])) print_liste_field_titre(\$arrayfields['t.".$prop['field']."']['label'],\$_SERVER['PHP_SELF'],'t.".$prop['field']."','',\$params,'',\$sortfield,\$sortorder);\n";
}
}
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field1']['checked'])) print_liste_field_titre(\$langs->trans('field1'),\$_SERVER['PHP_SELF'],'t.field1','',\$param,'',\$sortfield,\$sortorder);",'/').'/', $varprop, $targetcontent);
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field2']['checked'])) print_liste_field_titre(\$langs->trans('field2'),\$_SERVER['PHP_SELF'],'t.field2','',\$param,'',\$sortfield,\$sortorder);",'/').'/', '', $targetcontent);
$targetcontent=preg_replace('/LIST_OF_TD_TITLE_FIELDS/', $varprop, $targetcontent);
// Substitute fields title search
$varprop="\n";
@@ -603,8 +602,7 @@ foreach ($skeletonfiles as $skeletonfile => $outfile)
$varprop.="if (! empty(\$arrayfields['t.".$prop['field']."']['checked'])) print '<td class=\"liste_titre\"><input type=\"text\" class=\"flat\" name=\"search_".$prop['field']."\" value=\"'.\$search_".$prop['field'].".'\" size=\"10\"></td>';\n";
}
}
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field1']['checked'])) print '<td class=\"liste_titre\"><input type=\"text\" class=\"flat\" name=\"search_field1\" value=\"'.\$search_field1.'\" size=\"10\"></td>';",'/').'/', $varprop, $targetcontent);
$targetcontent=preg_replace('/'.preg_quote("if (! empty(\$arrayfields['t.field2']['checked'])) print '<td class=\"liste_titre\"><input type=\"text\" class=\"flat\" name=\"search_field2\" value=\"'.\$search_field2.'\" size=\"10\"></td>';",'/').'/', '', $targetcontent);
$targetcontent=preg_replace('/LIST_OF_TD_TITLE_SEARCH/', $varprop, $targetcontent);
// Substitute where for <td>.fieldx.</td>
$varprop="\n";
@@ -656,6 +654,10 @@ foreach ($skeletonfiles as $skeletonfile => $outfile)
$targetcontent=preg_replace('/LIST_OF_TD_LABEL_FIELDS_VIEW/', $varprop, $targetcontent);
// LIST_OF_TD_FIELDS_LIST
// Build file
$fp=fopen($outfile,"w");
if ($fp)

View File

@@ -104,7 +104,7 @@ $arrayfields=array(
't.field1'=>array('label'=>$langs->trans("Field1"), 'checked'=>1),
't.field2'=>array('label'=>$langs->trans("Field2"), 'checked'=>1),
//'t.entity'=>array('label'=>$langs->trans("Entity"), 'checked'=>1, 'enabled'=>(! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode))),
't.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500),
't.datec'=>array('label'=>$langs->trans("DateCreationShort"), 'checked'=>0, 'position'=>500),
't.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500),
//'t.statut'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>1000),
);
@@ -188,12 +188,16 @@ if (empty($reshook))
* Put here all code to build page
****************************************************/
llxHeader('','MyPageName','');
$now=dol_now();
$form=new Form($db);
// Put here content of your page
//$help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes";
$help_url='';
$title = $langs->trans('MyModuleListTitle');
llxHeader('', $title, $help_url);
// Put here content of your page
// Example : Adding jquery code
print '<script type="text/javascript" language="javascript">
@@ -317,8 +321,9 @@ if ($resql)
// Fields title
print '<tr class="liste_titre">';
if (! empty($arrayfields['t.field1']['checked'])) print_liste_field_titre($arrayfields['t.field1']['label'],$_SERVER['PHP_SELF'],'t.field1','',$param,'',$sortfield,$sortorder);
if (! empty($arrayfields['t.field2']['checked'])) print_liste_field_titre($arrayfields['t.field2']['label'],$_SERVER['PHP_SELF'],'t.field2','',$param,'',$sortfield,$sortorder);
// LIST_OF_TD_TITLE_FIELDS
//if (! empty($arrayfields['t.field1']['checked'])) print_liste_field_titre($arrayfields['t.field1']['label'],$_SERVER['PHP_SELF'],'t.field1','',$params,'',$sortfield,$sortorder);
//if (! empty($arrayfields['t.field2']['checked'])) print_liste_field_titre($arrayfields['t.field2']['label'],$_SERVER['PHP_SELF'],'t.field2','',$params,'',$sortfield,$sortorder);
// Extra fields
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
{
@@ -343,8 +348,9 @@ if ($resql)
// Fields title search
print '<tr class="liste_titre">';
if (! empty($arrayfields['t.field1']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field1" value="'.$search_field1.'" size="10"></td>';
if (! empty($arrayfields['t.field2']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field2" value="'.$search_field2.'" size="10"></td>';
// LIST_OF_TD_TITLE_SEARCH
//if (! empty($arrayfields['t.field1']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field1" value="'.$search_field1.'" size="10"></td>';
//if (! empty($arrayfields['t.field2']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" name="search_field2" value="'.$search_field2.'" size="10"></td>';
// Extra fields
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
{
@@ -407,8 +413,12 @@ if ($resql)
$obj = $db->fetch_object($resql);
if ($obj)
{
// You can use here results
print '<tr>';
$var = !$var;
// Show here line of result
print '<tr '.$bc[$var].'>';
// LIST_OF_TD_FIELDS_LIST
/*
if (! empty($arrayfields['t.field1']['checked']))
{
print '<td>'.$obj->field1.'</td>';
@@ -418,7 +428,7 @@ if ($resql)
{
print '<td>'.$obj->field2.'</td>';
if (! $i) $totalarray['nbfield']++;
}
}*/
// Extra fields
if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label))
{

View File

@@ -294,7 +294,11 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a
if (preg_match('/^DescADHERENT_/', $value)) $qualifiedforclean=0;
if (preg_match('/^SubmitTranslation/', $value)) $qualifiedforclean=0;
if (preg_match('/^ModuleCompanyCode/', $value)) $qualifiedforclean=0;
// boxes.lang
if (preg_match('/^BoxTitleLast/', $value)) $qualifiedforclean=0;
if (preg_match('/^BoxTitleLatest/', $value)) $qualifiedforclean=0;
// install.lang
if (preg_match('/^KeepDefaultValues/', $value)) $qualifiedforclean=0;
// main.lang
if (preg_match('/^Duration/', $value)) $qualifiedforclean=0;
if (preg_match('/^FormatDate/', $value)) $qualifiedforclean=0;
@@ -339,7 +343,7 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a
}
//$search = '\'trans("'.$value.'")\'';
$search = '-e "\''.$value.'\'" -e \'"'.$value.'"\' -e "('.$value.')"';
$search = '-e "\''.$value.'\'" -e \'"'.$value.'"\' -e "('.$value.')" -e "('.$value.',"';
$string = 'grep -R -m 1 -F --exclude=includes/* --include=*.php '.$search.' '.$htdocs.'* '.$scripts.'*';
//print $string."<br>\n";
exec($string,$output);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -58,11 +58,21 @@ if ($action == 'add') {
$obj = $db->fetch_object($result);
// Clean code
$account_number = clean_account(GETPOST('account_number')); // Accounting account without zero on the right
if (GETPOST('account_category') <= 0) {
$account_parent = '';
// To manage zero or not at the end of the accounting account
if($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
{
$account_number = GETPOST('account_number');
}
else
{
$account_number = clean_account(GETPOST('account_number'));
}
if (GETPOST('account_parent') <= 0) {
$account_parent = 0;
} else {
$account_parent = GETPOST('account_category','int');
$account_parent = GETPOST('account_parent','int');
}
$object->fk_pcg_version = $obj->pcg_version;
@@ -88,7 +98,7 @@ if ($action == 'add') {
header("Location: account.php");
exit;
} else if ($action == 'edit') {
if (! GETPOST('cancel', 'alpha')) {
if (! $cancel) {
$result = $object->fetch($id);
$sql = 'SELECT pcg_version FROM ' . MAIN_DB_PREFIX . 'accounting_system WHERE rowid=' . $conf->global->CHARTOFACCOUNTS;
@@ -98,11 +108,21 @@ if ($action == 'add') {
$obj = $db->fetch_object($result2);
// Clean code
$account_number = clean_account(GETPOST('account_number')); // Accounting account without zero on the right
if (GETPOST('account_category') <= 0) {
$account_parent = '';
// To manage zero or not at the end of the accounting account
if($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
{
$account_number = GETPOST('account_number');
}
else
{
$account_number = clean_account(GETPOST('account_number'));
}
if (GETPOST('account_parent') <= 0) {
$account_parent = 0;
} else {
$account_parent = GETPOST('account_category','int');
$account_parent = GETPOST('account_parent','int');
}
$object->fk_pcg_version = $obj->pcg_version;
@@ -145,7 +165,9 @@ if ($action == 'add') {
/*
* View
*/
llxheader('', $langs->trans('AccountAccounting'));
$title = $langs->trans('AccountAccounting') ." - ". $langs->trans('Card');
$helpurl = '';
llxheader('', $title, $helpurl);
$form = new Form($db);
$htmlacc = new FormVentilation($db);
@@ -164,7 +186,7 @@ if ($action == 'create') {
print '<table class="border" width="100%">';
// Account number
print '<tr><td width="25%"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
print '<tr><td class="titlefieldcreate"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
print '<td><input name="account_number" size="30" value="' . $object->account_number . '"</td></tr>';
// Label
@@ -227,7 +249,7 @@ if ($action == 'create') {
print '<table class="border" width="100%">';
// Account number
print '<tr><td width="25%"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
print '<tr><td class="titlefieldcreate"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
print '<td><input name="account_number" size="30" value="' . $object->account_number . '"</td></tr>';
// Label
@@ -279,7 +301,7 @@ if ($action == 'create') {
print '<table class="border" width="100%">';
// Account number
print '<tr><td width="25%">' . $langs->trans("AccountNumber") . '</td>';
print '<tr><td class="titlefield">' . $langs->trans("AccountNumber") . '</td>';
print '<td>' . $object->account_number . '</td>';
print '<td align="right" width="25%">' . $linkback . '</td></tr>';

View File

@@ -81,6 +81,9 @@ if ($action == 'update') {
if (! dolibarr_set_const($db, 'ACCOUNTING_EXPORT_MODELCSV', $modelcsv, 'chaine', 0, '', $conf->entity)) {
$error ++;
}
if ($modelcsv==AccountancyExport::$EXPORT_TYPE_QUADRATUS || $modelcsv==AccountancyExport::$EXPORT_TYPE_CIEL) {
dolibarr_set_const($db, 'ACCOUNTING_EXPORT_FORMAT', 'txt', 'chaine', 0, '', $conf->entity);
}
} else {
$error ++;
}

View File

@@ -130,6 +130,7 @@ if ($action == 'update') {
}
}
// TO DO Mutualize code for yes/no constants
if ($action == 'setlistsorttodo') {
$setlistsorttodo = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_TODO", $setlistsorttodo, 'yesno', 0, '', $conf->entity);
@@ -155,6 +156,30 @@ if ($action == 'setlistsortdone') {
}
}
if ($action == 'setmanagezero') {
$setmanagezero = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_MANAGE_ZERO", $setmanagezero, 'yesno', 0, '', $conf->entity);
if (! $res > 0)
$error ++;
if (! $error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'mesgs');
}
}
if ($action == 'setdisabledirectinput') {
$setdisabledirectinput = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "BANK_DISABLE_DIRECT_INPUT", $setdisabledirectinput, 'yesno', 0, '', $conf->entity);
if (! $res > 0)
$error ++;
if (! $error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'mesgs');
}
}
/*
* View
*/
@@ -286,6 +311,7 @@ foreach ( $list_account as $key ) {
print '</td></tr>';
}
// TO DO Mutualize code for yes/no constants
$var = ! $var;
print "<tr " . $bc[$var] . ">";
print '<td width="80%">' . $langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_TODO") . '</td>';
@@ -314,6 +340,34 @@ if (! empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE)) {
}
print '</tr>';
$var = ! $var;
print "<tr " . $bc[$var] . ">";
print '<td width="80%">' . $langs->trans("ACCOUNTING_MANAGE_ZERO") . '</td>';
if (! empty($conf->global->ACCOUNTING_MANAGE_ZERO)) {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setmanagezero&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setmanagezero&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
$var = ! $var;
print "<tr " . $bc[$var] . ">";
print '<td width="80%">' . $langs->trans("BANK_DISABLE_DIRECT_INPUT") . '</td>';
if (! empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setdisabledirectinput&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td align="center" colspan="2"><a href="' . $_SERVER['PHP_SELF'] . '?action=setdisabledirectinput&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print "</table>\n";
dol_fiche_end();

View File

@@ -295,6 +295,8 @@ class AccountancyExport
public function exportCiel(&$TData) {
global $conf;
$this->end_line ="\r\n";
$i = 1;
$date_ecriture = dol_print_date(time(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be yyyymmdd
foreach ( $TData as $data ) {
@@ -333,6 +335,8 @@ class AccountancyExport
public function exportQuadratus(&$TData) {
global $conf;
$this->end_line ="\r\n";
$date_ecriture = dol_print_date(time(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be ddmmyy
foreach ( $TData as $data ) {
$code_compta = $data->numero_compte;

View File

@@ -43,7 +43,7 @@ if ($user->societe_id > 0)
accessforbidden();
if (! $user->rights->accounting->ventilation->read)
accessforbidden();
// Filter
$year = $_GET["year"];
if ($year == 0) {
@@ -57,17 +57,17 @@ if ($year == 0) {
// Validate History
$action = GETPOST('action');
if ($action == 'validatehistory') {
$error = 0;
$db->begin();
if ($db->type == 'pgsql') {
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet";
$sql1 .= " SET fk_code_ventilation = accnt.rowid";
$sql1 .= " FROM " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
$sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
$sql1 .= " WHERE " . MAIN_DB_PREFIX . "facturedet.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number";
$sql1 .= " AND fd.fk_code_ventilation = 0";
$sql1 .= " AND " . MAIN_DB_PREFIX . "facturedet.fk_code_ventilation = 0";
} else {
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
@@ -75,9 +75,9 @@ if ($action == 'validatehistory') {
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number";
$sql1 .= " AND fd.fk_code_ventilation = 0";
}
dol_syslog("htdocs/accountancy/customer/index.php sql=" . $sql, LOG_DEBUG);
$resql1 = $db->query($sql1);
if (! $resql1) {
$error ++;
@@ -90,7 +90,7 @@ if ($action == 'validatehistory') {
} elseif ($action == 'fixaccountancycode') {
$error = 0;
$db->begin();
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
$sql1 .= " SET fd.fk_code_ventilation = 0";
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
@@ -98,9 +98,9 @@ if ($action == 'validatehistory') {
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
$sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst';
$sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')';
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
$resql1 = $db->query($sql1);
if (! $resql1) {
$error ++;
@@ -113,15 +113,15 @@ if ($action == 'validatehistory') {
} elseif ($action == 'cleanaccountancycode') {
$error = 0;
$db->begin();
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
$sql1 .= " SET fd.fk_code_ventilation = 0";
$sql1 .= " WHERE fd.fk_facture IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture as f";
$sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
$sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')";
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
$resql1 = $db->query($sql1);
if (! $resql1) {
$error ++;
@@ -196,11 +196,10 @@ $sql .= " GROUP BY fd.fk_code_ventilation,aa.account_number,aa.label";
dol_syslog("htdocs/accountancy/customer/index.php sql=" . $sql, LOG_DEBUG);
$resql = $db->query($sql);
if ($resql) {
$i = 0;
$num = $db->num_rows($resql);
while ( $i < $num ) {
$row = $db->fetch_row($resql);
while ( $row = $db->fetch_row($resql)) {
$var = ! $var;
print '<tr ' . $bc[$var] . '><td>' . length_accountg($row[0]) . '</td>';
print '<td align="left">' . $row[1] . '</td>';
@@ -210,7 +209,6 @@ if ($resql) {
print '<td align="right">' . price($row[13]) . '</td>';
print '<td align="right"><b>' . price($row[14]) . '</b></td>';
print '</tr>';
$i ++;
}
$db->free($resql);
} else {
@@ -245,10 +243,8 @@ $resql = $db->query($sql);
if ($resql) {
$i = 0;
$num = $db->num_rows($resql);
while ( $i < $num ) {
$row = $db->fetch_row($resql);
while ($row = $db->fetch_row($resql)) {
print '<tr><td>' . $row[0] . '</td>';
for($i = 1; $i <= 12; $i ++) {
print '<td align="right">' . price($row[$i]) . '</td>';
@@ -271,37 +267,34 @@ if (! empty($conf->margin->enabled)) {
print '<td width="60" align="center">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
}
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
$sql = "SELECT '" . $langs->trans("Vide") . "' AS 'Marge',";
$sql = "SELECT '" . $langs->trans("Vide") . "' AS marge,";
for($i = 1; $i <= 12; $i ++) {
$sql .= " SUM(" . $db->ifsql('MONTH(f.datef)=' . $i, '(fd.total_ht-(fd.qty * fd.buy_price_ht))', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
}
$sql .= " SUM((fd.total_ht-(fd.qty * fd.buy_price_ht))) as 'Total'";
$sql .= " SUM((fd.total_ht-(fd.qty * fd.buy_price_ht))) as total";
$sql .= " FROM " . MAIN_DB_PREFIX . "facturedet as fd";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture as f ON f.rowid = fd.fk_facture";
$sql .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($y, 1, false)) . "'";
$sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'";
if (! empty($conf->multicompany->enabled)) {
$sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")";
}
dol_syslog('htdocs/accountancy/customer/index.php:: $sql=' . $sql);
$resql = $db->query($sql);
if ($resql) {
$i = 0;
$num = $db->num_rows($resql);
while ( $i < $num ) {
$row = $db->fetch_row($resql);
while ($row = $db->fetch_row($resql)) {
print '<tr><td>' . $row[0] . '</td>';
for($i = 1; $i <= 12; $i ++) {
print '<td align="right">' . price($row[$i]) . '</td>';
}
print '<td align="right"><b>' . price($row[13]) . '</b></td>';
print '</tr>';
$i ++;
}
$db->free($resql);
} else {

View File

@@ -185,7 +185,7 @@ $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = l.fk_product
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON p.accountancy_code_sell = aa.account_number";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_system as accsys ON accsys.pcg_version = aa.fk_pcg_version";
$sql .= " WHERE f.fk_statut > 0";
$sql .= " AND fk_code_ventilation <= 0";
$sql .= " AND l.fk_code_ventilation <= 0";
$sql .= " AND product_type <= 2";
$sql .= " AND (accsys.rowid='" . $conf->global->CHARTOFACCOUNTS . "' OR p.accountancy_code_sell IS NULL OR p.accountancy_code_sell ='')";
@@ -307,6 +307,7 @@ if ($result) {
// Ref Invoice
$facture_static->ref = $objp->facnumber;
$facture_static->id = $objp->facid;
$facture_static->type = $objp->ftype;
print '<td>' . $facture_static->getNomUrl(1) . '</td>';
// Ref Product
$product_static->ref = $objp->product_ref;

View File

@@ -166,7 +166,7 @@ if ($action == 'writebookkeeping') {
$now = dol_now();
$error = 0;
foreach ($tabfac as $key => $val)
foreach ($tabfac as $key => $val)
{
$companystatic = new Societe($db);
$invoicestatic = new FactureFournisseur($db);
@@ -425,7 +425,7 @@ if ($action == 'export_csv') {
'action' => ''
));
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 || $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 && $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
print '<input type="button" class="butActionRefused" style="float: right;" value="' . $langs->trans("Export") . '" disabeld="disabled" title="' . $langs->trans('ExportNotSupported') . '"/>';
} else {
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';

View File

@@ -443,7 +443,7 @@ if ($action == 'export_csv') {
'action' => ''
));
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 || $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 && $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
print '<input type="button" class="butActionRefused" style="float: right;" value="' . $langs->trans("Export") . '" disabeld="disabled" title="' . $langs->trans('ExportNotSupported') . '"/>';
} else {
print '<input type="button" class="butAction" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';

View File

@@ -41,7 +41,7 @@ if ($user->societe_id > 0)
accessforbidden();
if (! $user->rights->accounting->ventilation->read)
accessforbidden();
// Filter
$year = $_GET["year"];
if ($year == 0) {
@@ -55,17 +55,17 @@ if ($year == 0) {
// Validate History
$action = GETPOST('action');
if ($action == 'validatehistory') {
$error = 0;
$db->begin();
if ($db->type == 'pgsql') {
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det";
$sql1 .= " SET fk_code_ventilation = accnt.rowid";
$sql1 .= " FROM " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
$sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
$sql1 .= " WHERE " . MAIN_DB_PREFIX . "facture_fourn_det.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS;
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_buy=accnt.account_number";
$sql1 .= " AND fd.fk_code_ventilation = 0";
$sql1 .= " AND " . MAIN_DB_PREFIX . "facture_fourn_det.fk_code_ventilation = 0";
} else {
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst";
$sql1 .= " SET fd.fk_code_ventilation = accnt.rowid";
@@ -73,7 +73,7 @@ if ($action == 'validatehistory') {
$sql1 .= " AND accnt.active = 1 AND p.accountancy_code_buy=accnt.account_number";
$sql1 .= " AND fd.fk_code_ventilation = 0";
}
$resql1 = $db->query($sql1);
if (! $resql1) {
$error ++;
@@ -86,7 +86,7 @@ if ($action == 'validatehistory') {
} elseif ($action == 'fixaccountancycode') {
$error = 0;
$db->begin();
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
$sql1 .= " SET fd.fk_code_ventilation = 0";
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
@@ -94,9 +94,9 @@ if ($action == 'validatehistory') {
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt';
$sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst';
$sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')';
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
$resql1 = $db->query($sql1);
if (! $resql1) {
$error ++;
@@ -109,15 +109,15 @@ if ($action == 'validatehistory') {
} elseif ($action == 'cleanaccountancycode') {
$error = 0;
$db->begin();
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
$sql1 .= " SET fd.fk_code_ventilation = 0";
$sql1 .= " WHERE fd.fk_facture_fourn IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture_fourn as f";
$sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
$sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')";
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
$resql1 = $db->query($sql1);
if (! $resql1) {
$error ++;
@@ -154,35 +154,17 @@ $var = true;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td width="200" align="left">' . $langs->trans("Account") . '</td>';
print '<td width="200" align="left">' . $langs->trans("Label") . '</td>';
print '<td width="60" align="center">' . $langs->trans("JanuaryMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("FebruaryMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("MarchMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("AprilMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("MayMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("JuneMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("JulyMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("AugustMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("SeptemberMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("OctoberMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("NovemberMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("DecemberMin") . '</td>';
for($i = 1; $i <= 12; $i ++) {
print '<td width="60" align="center">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
}
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
$sql = "SELECT IF(aa.account_number IS NULL, 'Non pointe', aa.account_number) AS 'code comptable',";
$sql .= " IF(aa.label IS NULL, 'Non pointe', aa.label) AS 'Intitulé',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=1,ffd.total_ht,0)),2) AS 'Janvier',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=2,ffd.total_ht,0)),2) AS 'Fevrier',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=3,ffd.total_ht,0)),2) AS 'Mars',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=4,ffd.total_ht,0)),2) AS 'Avril',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=5,ffd.total_ht,0)),2) AS 'Mai',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=6,ffd.total_ht,0)),2) AS 'Juin',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=7,ffd.total_ht,0)),2) AS 'Juillet',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=8,ffd.total_ht,0)),2) AS 'Aout',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=9,ffd.total_ht,0)),2) AS 'Septembre',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=10,ffd.total_ht,0)),2) AS 'Octobre',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=11,ffd.total_ht,0)),2) AS 'Novembre',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=12,ffd.total_ht,0)),2) AS 'Decembre',";
$sql .= " ROUND(SUM(ffd.total_ht),2) as 'Total'";
$sql = "SELECT ".$db->ifsql('aa.account_number IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.account_number') ." AS codecomptable,";
$sql .= " " . $db->ifsql('aa.label IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.label') . " AS intitule,";
for($i = 1; $i <= 12; $i ++) {
$sql .= " SUM(" . $db->ifsql('MONTH(ff.datef)=' . $i, 'ffd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
}
$sql .= " ROUND(SUM(ffd.total_ht),2) as total";
$sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn_det as ffd";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture_fourn as ff ON ff.rowid = ffd.fk_facture_fourn";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.rowid = ffd.fk_code_ventilation";
@@ -194,35 +176,24 @@ if (! empty($conf->multicompany->enabled)) {
$sql .= " AND ff.entity IN (" . getEntity("facture_fourn", 1) . ")";
}
$sql .= " GROUP BY ffd.fk_code_ventilation";
$sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label";
dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql);
$resql = $db->query($sql);
if ($resql) {
$i = 0;
$num = $db->num_rows($resql);
while ( $i < $num ) {
$row = $db->fetch_row($resql);
while ( $row = $db->fetch_row($resql)) {
$var = ! $var;
print '<tr ' . $bc[$var] . '><td>' . length_accountg($row[0]) . '</td>';
print '<td align="left">' . $row[1] . '</td>';
print '<td align="right">' . price($row[2]) . '</td>';
print '<td align="right">' . price($row[3]) . '</td>';
print '<td align="right">' . price($row[4]) . '</td>';
print '<td align="right">' . price($row[5]) . '</td>';
print '<td align="right">' . price($row[6]) . '</td>';
print '<td align="right">' . price($row[7]) . '</td>';
print '<td align="right">' . price($row[8]) . '</td>';
print '<td align="right">' . price($row[9]) . '</td>';
print '<td align="right">' . price($row[10]) . '</td>';
print '<td align="right">' . price($row[11]) . '</td>';
print '<td align="right">' . price($row[12]) . '</td>';
for($i = 2; $i <= 12; $i ++) {
print '<td align="right">' . price($row[$i]) . '</td>';
}
print '<td align="right">' . price($row[13]) . '</td>';
print '<td align="right"><b>' . price($row[14]) . '</b></td>';
print '</tr>';
$i ++;
}
$db->free($resql);
} else {
@@ -233,34 +204,16 @@ print "</table>\n";
print "<br>\n";
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td width="400" align="left">' . $langs->trans("Total") . '</td>';
print '<td width="60" align="center">' . $langs->trans("JanuaryMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("FebruaryMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("MarchMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("AprilMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("MayMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("JuneMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("JulyMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("AugustMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("SeptemberMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("OctoberMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("NovemberMin") . '</td>';
print '<td width="60" align="center">' . $langs->trans("DecemberMin") . '</td>';
for($i = 1; $i <= 12; $i ++) {
print '<td width="60" align="center">' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '</td>';
}
print '<td width="60" align="center"><b>' . $langs->trans("Total") . '</b></td></tr>';
$sql = "SELECT '" . $langs->trans("CAHTF") . "' AS 'Total',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=1,ffd.total_ht,0)),2) AS 'Janvier',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=2,ffd.total_ht,0)),2) AS 'Fevrier',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=3,ffd.total_ht,0)),2) AS 'Mars',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=4,ffd.total_ht,0)),2) AS 'Avril',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=5,ffd.total_ht,0)),2) AS 'Mai',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=6,ffd.total_ht,0)),2) AS 'Juin',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=7,ffd.total_ht,0)),2) AS 'Juillet',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=8,ffd.total_ht,0)),2) AS 'Aout',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=9,ffd.total_ht,0)),2) AS 'Septembre',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=10,ffd.total_ht,0)),2) AS 'Octobre',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=11,ffd.total_ht,0)),2) AS 'Novembre',";
$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=12,ffd.total_ht,0)),2) AS 'Decembre',";
$sql .= " ROUND(SUM(ffd.total_ht),2) as 'Total'";
$sql = "SELECT '" . $langs->trans("CAHTF") . "' AS label,";
for($i = 1; $i <= 12; $i ++) {
$sql .= " SUM(" . $db->ifsql('MONTH(ff.datef)=' . $i, 'ffd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ",";
}
$sql .= " ROUND(SUM(ffd.total_ht),2) as total";
$sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn_det as ffd";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture_fourn as ff ON ff.rowid = ffd.fk_facture_fourn";
$sql .= " WHERE ff.datef >= '" . $db->idate(dol_get_first_day($y, 1, false)) . "'";
@@ -274,31 +227,19 @@ if (! empty($conf->multicompany->enabled)) {
dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql);
$resql = $db->query($sql);
if ($resql) {
$i = 0;
$num = $db->num_rows($resql);
while ( $i < $num ) {
$row = $db->fetch_row($resql);
while ( $row = $db->fetch_row($resql)) {
print '<tr><td>' . $row[0] . '</td>';
print '<td align="right">' . $row[1] . '</td>';
print '<td align="right">' . price($row[2]) . '</td>';
print '<td align="right">' . price($row[3]) . '</td>';
print '<td align="right">' . price($row[4]) . '</td>';
print '<td align="right">' . price($row[5]) . '</td>';
print '<td align="right">' . price($row[6]) . '</td>';
print '<td align="right">' . price($row[7]) . '</td>';
print '<td align="right">' . price($row[8]) . '</td>';
print '<td align="right">' . price($row[9]) . '</td>';
print '<td align="right">' . price($row[10]) . '</td>';
print '<td align="right">' . price($row[11]) . '</td>';
print '<td align="right">' . price($row[12]) . '</td>';
for($i = 1; $i <= 12; $i ++) {
print '<td align="right">' . price($row[$i]) . '</td>';
}
print '<td align="right"><b>' . price($row[13]) . '</b></td>';
print '</tr>';
$i ++;
}
$db->free($resql);
} else {
print $db->lasterror(); // Show last sql error

View File

@@ -5,7 +5,7 @@
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012-2016 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
*
* 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
@@ -1418,11 +1418,11 @@ else
// Login
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
{
print '<tr><td>'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.'&nbsp;</td></tr>';
print '<tr><td class="titlefield">'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.'&nbsp;</td></tr>';
}
// Type
print '<tr><td>'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
print '<tr><td class="titlefield">'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
// Morphy
print '<tr><td>'.$langs->trans("Nature").'</td><td class="valeur" >'.$object->getmorphylib().'</td>';
@@ -1463,7 +1463,7 @@ else
print '<table class="border tableforfield" width="100%">';
// Birthday
print '<tr><td>'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
print '<tr><td class="titlefield">'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
// Public
print '<tr><td>'.$langs->trans("Public").'</td><td class="valeur">'.yn($object->public).'</td></tr>';

View File

@@ -591,11 +591,11 @@ if ($rowid > 0)
// Login
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
{
print '<tr><td>'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.'&nbsp;</td></tr>';
print '<tr><td class="titlefield">'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.'&nbsp;</td></tr>';
}
// Type
print '<tr><td>'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
print '<tr><td class="titlefield">'.$langs->trans("Type").'</td><td class="valeur">'.$adht->getNomUrl(1)."</td></tr>\n";
// Morphy
print '<tr><td>'.$langs->trans("Nature").'</td><td class="valeur" >'.$object->getmorphylib().'</td>';
@@ -630,7 +630,7 @@ if ($rowid > 0)
print '<table class="border tableforfield" width="100%">';
// Birthday
print '<tr><td>'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
print '<tr><td class="titlefield">'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
// Public
print '<tr><td>'.$langs->trans("Public").'</td><td class="valeur">'.yn($object->public).'</td></tr>';

View File

@@ -83,7 +83,7 @@ $search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search
// List of fields to search into when doing a "search in all"
$fieldstosearchall = array(
'd.rowid'=>'Ref',
//'d.ref'=>'Ref',
'd.login'=>'Login',
'd.lastname'=>'Lastname',
'd.firstname'=>'Firstname',
'd.login'=>'Login',
@@ -610,6 +610,13 @@ if ($resql)
print "<td>";
print $memberstatic->getNomUrl(1);
print "</td>\n";
}
// Firstname
if (! empty($arrayfields['d.firstname']['checked']))
{
print "<td>";
print $obj->firstname;
print "</td>\n";
}
// Lastname
if (! empty($arrayfields['d.lastname']['checked']))
@@ -617,13 +624,6 @@ if ($resql)
print "<td>";
print $obj->lastname;
print "</td>\n";
}
// Firstname
if (! empty($arrayfields['d.firstname']['checked']))
{
print "<td>";
print $obj->firstname;
print "</td>\n";
}
// Company
if (! empty($arrayfields['d.company']['checked']))

View File

@@ -54,7 +54,7 @@ $langs->load("companies");
$memberstatic=new Adherent($db);
llxHeader('',$langs->trans("MembersStatisticsByProperties"),'','',0,0,array('http://www.google.com/jsapi'));
llxHeader('',$langs->trans("MembersStatisticsByProperties"),'','',0,0,array('https://www.google.com/jsapi'));
$title=$langs->trans("MembersStatisticsByProperties");

View File

@@ -53,7 +53,7 @@ $langs->load("companies");
* View
*/
$arrayjs=array('http://www.google.com/jsapi');
$arrayjs=array('https://www.google.com/jsapi');
if (! empty($conf->dol_use_jmobile)) $arrayjs=array();
$title=$langs->trans("Statistics");

View File

@@ -602,6 +602,8 @@ print "</td></tr>\n";
print '</form>';
// Shippable Icon in List
/* Kept as hidden feature for the moment, result seems bugged.
Whet is definition of "shippable" according to all different STOCK_CALCULATE_... options ?
$var=!$var;
print "<tr ".$bc[$var].">";
print '<td>'.$langs->trans("ShippableOrderIconInList").'</td>';
@@ -617,6 +619,8 @@ if (!empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) {
print '</a></td>';
print '</tr>';
/* Seems to be not so used. So kept hidden for the moment to avoid dangerous options inflation.
/*
// Ask for payment bank during order
if ($conf->banque->enabled)
{
@@ -676,6 +680,7 @@ else
print '<tr '.$bc[$var].'><td>';
print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").'</td><td>&nbsp;</td><td align="center">'.$langs->trans('NotAvailable').'</td></tr>';
}
*/
print '</table>';
print '<br>';

View File

@@ -596,7 +596,9 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
if ($value == 'color' && empty($_POST['color'])) continue;
if ($value == 'formula' && empty($_POST['formula'])) continue;
if ((! isset($_POST[$value]) || $_POST[$value]=='')
&& (! in_array($listfield[$f], array('decalage','module','accountancy_code','accountancy_code_sell','accountancy_code_buy'))) // Fields that are not mandatory
&& (! in_array($listfield[$f], array('decalage','module','accountancy_code','accountancy_code_sell','accountancy_code_buy')) // Fields that are not mandatory
&& (! ($id == 10 && $listfield[$f] == 'code')) // Code is mandatory fir table 10
)
)
{
$ok=0;

View File

@@ -372,7 +372,6 @@ else
dol_print_error($db);
}
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>';

View File

@@ -56,7 +56,7 @@ $conditions = array(
'SOCIETE' => 1,
'PRODUCTDESC' => (! empty($conf->product->enabled) || ! empty($conf->service->enabled)),
'MAILING' => ! empty($conf->mailing->enabled),
'DETAILS' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled)),
'DETAILS' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled) || ! empty($conf->supplier_proposal->enabled) || ! empty($conf->fournisseur->enabled)),
'USERSIGN' => 1,
'MAIL' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled))
);

View File

@@ -167,7 +167,7 @@ if ($action == 'edit') // Edit
print '<td width="20">&nbsp;</td>';
print '</tr>';
// Multilangual GUI
// Multilingual GUI
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("EnableMultilangInterface").'</td><td>';
print $form->selectyesno('main_multilangs',$conf->global->MAIN_MULTILANGS,1);
@@ -181,7 +181,7 @@ if ($action == 'edit') // Edit
show_theme(null,1);
print '<br>';
// Liste des zone de recherche permanantes supportees
// List of permanent supported search box
if (! empty($searchform))
{
print '<table summary="search" class="noborder" width="100%">';

View File

@@ -237,7 +237,7 @@ else
{
print '<input size="25" type="text" name="pass" value="'.$conf->global->LDAP_ADMIN_PASS.'">';
}
print '</td><td>secret</td></tr>';
print '</td><td>'.$langs->trans('Password').' (ex: secret)</td></tr>';
print '</table>';

View File

@@ -243,7 +243,7 @@ if ($action == 'confirm_delete' && $_POST["confirm"] == 'yes')
{
$this->db->begin();
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu WHERE rowid = ".$_GET['menuId'];
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu WHERE rowid = ".GETPOST('menuId', 'int');
$db->query($sql);
if ($result == 0)
@@ -312,7 +312,7 @@ if ($action == 'create')
$parent_rowid = $_GET['menuId'];
if ($_GET['menuId'])
{
$sql = "SELECT m.rowid, m.mainmenu, m.leftmenu, m.level, m.langs FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".$_GET['menuId'];
$sql = "SELECT m.rowid, m.mainmenu, m.leftmenu, m.level, m.langs FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".GETPOST('menuId', 'int');
$res = $db->query($sql);
if ($res)
{

View File

@@ -304,7 +304,7 @@ $h++;
print "<br>\n";
dol_fiche_head($head, $mode, $langs->trans("Modules"));
dol_fiche_head($head, $mode, '');
$var=true;
@@ -443,11 +443,11 @@ if ($mode != 'marketplace')
if ($familykey!=$oldfamily)
{
print '<tr class="liste_titre">'."\n";
print '<td colspan="6">';
print '<td colspan="5">';
$familytext=empty($familyinfo[$familykey]['label'])?$familykey:$familyinfo[$familykey]['label'];
print $familytext;
print "</td>\n";
print '<td align="right">'.$langs->trans("SetupShort").'</td>'."\n";
print '<td colspan="2" align="right">'.$langs->trans("SetupShort").'</td>'."\n";
print "</tr>\n";
$atleastoneforfamily=0;
//print "<tr><td>yy".$oldfamily."-".$familykey."-".$atleastoneforfamily."<br></td><tr>";

View File

@@ -200,13 +200,13 @@ if ($result)
{
print img_picto($langs->trans("Active"),'tick');
print '</td><td>';
print '<a href="perms.php?pid='.$obj->id.'&amp;action=remove#'.$objMod->getName().'">'.img_edit_remove().'</a>';
print '<a class="reposition" href="perms.php?pid='.$obj->id.'&amp;action=remove">'.img_edit_remove().'</a>';
}
else
{
print '&nbsp;';
print '</td><td>';
print '<a href="perms.php?pid='.$obj->id.'&amp;action=add#'.$objMod->getName().'">'.img_edit_add().'</a>';
print '<a class="reposition" href="perms.php?pid='.$obj->id.'&amp;action=add">'.img_edit_add().'</a>';
}
print '</td></tr>';

View File

@@ -48,11 +48,11 @@ if ($action == "set")
$id=GETPOST('PRELEVEMENT_ID_BANKACCOUNT','int');
$account = new Account($db);
if($account->fetch($id)>0)
{
$res = dolibarr_set_const($db, "PRELEVEMENT_ID_BANKACCOUNT", $id,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
/*
$res = dolibarr_set_const($db, "PRELEVEMENT_CODE_BANQUE", $account->code_banque,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
$res = dolibarr_set_const($db, "PRELEVEMENT_CODE_GUICHET", $account->code_guichet,'chaine',0,'',$conf->entity);
@@ -67,6 +67,7 @@ if ($action == "set")
if (! $res > 0) $error++;
$res = dolibarr_set_const($db, "PRELEVEMENT_RAISON_SOCIALE", $account->proprio,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
*/
}
else $error++;
@@ -141,7 +142,7 @@ print '</td></tr>';
// ICS
print '<tr class="pair"><td class="fieldrequired">'.$langs->trans("ICS").'</td>';
print '<td align="left">';
print '<input type="text" name="PRELEVEMENT_ICS" value="'.$conf->global->PRELEVEMENT_ICS.'" size="9" ></td>';
print '<input type="text" name="PRELEVEMENT_ICS" value="'.$conf->global->PRELEVEMENT_ICS.'" size="15" ></td>';
print '</td></tr>';
//User

View File

@@ -606,6 +606,7 @@ print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">'
print "</td></tr>\n";
print '</form>';
/* Seems to be not so used. So kept hidden for the moment to avoid dangerous options inflation.
if ($conf->banque->enabled)
{
$var=!$var;
@@ -634,6 +635,7 @@ else
print '<tr '.$bc[$var].'><td>';
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL").'</td><td>&nbsp;</td><td align="center">'.$langs->trans('NotAvailable').'</td></tr>';
}
*/
print '</table>';

View File

@@ -176,7 +176,7 @@ if (ini_get('safe_mode') && ! empty($conf->global->MAIN_ANTIVIRUS_COMMAND))
dol_syslog("safe_mode is on, basedir is ".$basedir.", safe_mode_exec_dir is ".ini_get('safe_mode_exec_dir'), LOG_WARNING);
}
}
print '<input type="text" name="MAIN_ANTIVIRUS_COMMAND" size="72" value="'.(! empty($conf->global->MAIN_ANTIVIRUS_COMMAND)?dol_htmlentities($conf->global->MAIN_ANTIVIRUS_COMMAND):'').'">';
print '<input type="text" name="MAIN_ANTIVIRUS_COMMAND" class="minwidth500imp" value="'.(! empty($conf->global->MAIN_ANTIVIRUS_COMMAND)?dol_htmlentities($conf->global->MAIN_ANTIVIRUS_COMMAND):'').'">';
print "</td>";
print '</tr>';
@@ -187,7 +187,7 @@ print '<td colspan="2">'.$langs->trans("AntiVirusParam").'<br>';
print $langs->trans("AntiVirusParamExample");
print '</td>';
print '<td>';
print '<input type="text" name="MAIN_ANTIVIRUS_PARAM" size="72" value="'.(! empty($conf->global->MAIN_ANTIVIRUS_PARAM)?dol_htmlentities($conf->global->MAIN_ANTIVIRUS_PARAM):'').'">';
print '<input type="text" name="MAIN_ANTIVIRUS_PARAM" class="minwidth500imp" value="'.(! empty($conf->global->MAIN_ANTIVIRUS_PARAM)?dol_htmlentities($conf->global->MAIN_ANTIVIRUS_PARAM):'').'">';
print "</td>";
print '</tr>';

View File

@@ -94,7 +94,7 @@ dol_fiche_head($head, 'supplierpayment', $langs->trans("Suppliers"), 0, 'company
if (empty($conf->global->SUPPLIER_PAYMENT_ADDON)) $conf->global->SUPPLIER_PAYMENT_ADDON = 'mod_supplier_payment_bronan';
print load_fiche_titre($langs->trans("PaymentsNumberingModule"));
print load_fiche_titre($langs->trans("PaymentsNumberingModule"), '', '');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';

View File

@@ -168,36 +168,39 @@ print load_fiche_titre($langs->trans("Upgrade"),'','title_setup');
print $langs->trans("CurrentVersion").' : <b>'.DOL_VERSION.'</b><br>';
$result = getURLContent('http://sourceforge.net/projects/dolibarr/rss');
//var_dump($result['content']);
$sfurl = simplexml_load_string($result['content']);
if ($sfurl)
if (function_exists('curl_init'))
{
$i=0;
$version='0.0';
while (! empty($sfurl->channel[0]->item[$i]->title) && $i < 10000)
$result = getURLContent('http://sourceforge.net/projects/dolibarr/rss');
//var_dump($result['content']);
$sfurl = simplexml_load_string($result['content']);
if ($sfurl)
{
$title=$sfurl->channel[0]->item[$i]->title;
if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg))
$i=0;
$version='0.0';
while (! empty($sfurl->channel[0]->item[$i]->title) && $i < 10000)
{
$newversion=$reg[1];
$newversionarray=explode('.',$newversion);
$versionarray=explode('.',$version);
//var_dump($newversionarray);var_dump($versionarray);
if (versioncompare($newversionarray, $versionarray) > 0) $version=$newversion;
$title=$sfurl->channel[0]->item[$i]->title;
if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg))
{
$newversion=$reg[1];
$newversionarray=explode('.',$newversion);
$versionarray=explode('.',$version);
//var_dump($newversionarray);var_dump($versionarray);
if (versioncompare($newversionarray, $versionarray) > 0) $version=$newversion;
}
$i++;
}
$i++;
// Show version
print $langs->trans("LastStableVersion").' : <b>'. (($version != '0.0')?$version:$langs->trans("Unknown")) .'</b><br>';
}
else
{
print $langs->trans("LastStableVersion").' : <b>' .$langs->trans("UpdateServerOffline").'</b><br>';
}
// Show version
print $langs->trans("LastStableVersion").' : <b>'. (($version != '0.0')?$version:$langs->trans("Unknown")) .'</b><br>';
}
else
{
print $langs->trans("LastStableVersion").' : <b>' .$langs->trans("UpdateServerOffline").'</b><br>';
}
print '<br>';
print '<br>';
// Upgrade
print $langs->trans("Upgrade").'<br>';

View File

@@ -28,6 +28,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
require_once DOL_DOCUMENT_ROOT.'/api/class/api.class.php';
require_once DOL_DOCUMENT_ROOT.'/api/class/api_access.class.php';
$langs->load("admin");
/*
* View
@@ -36,7 +38,6 @@ require_once DOL_DOCUMENT_ROOT.'/api/class/api_access.class.php';
// Enable and test if module Api is enabled
if (empty($conf->global->MAIN_MODULE_API))
{
$langs->load("admin");
dol_syslog("Call Dolibarr API interfaces with module REST disabled");
print $langs->trans("WarningModuleNotActive",'Api').'.<br><br>';
print $langs->trans("ToActivateModule");
@@ -165,6 +166,7 @@ print $langs->trans("ListOfAvailableAPIs").':<br>';
foreach($listofapis['v1'] as $key => $val)
{
if ($key == 'login') continue;
if ($key == 'index') continue;
if ($key)
{

View File

@@ -72,7 +72,7 @@ function printBookmarksList($aDb, $aLangs)
while ($i < $conf->global->BOOKMARKS_SHOW_IN_MENU && $obj = $db->fetch_object($resql))
{
$ret.='<div class="menu_contenu"><a class="vsmenu" title="'.$obj->title.'" href="'.$obj->url.'"'.($obj->target == 1?' target="_blank"':'').'>';
$ret.=' '.img_object('','bookmark').' ';
if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $ret.=' '.img_object('','bookmark').' ';
$ret.= dol_trunc($obj->title, 20).'</a><br></div>';
$i++;
}

View File

@@ -215,7 +215,8 @@ if (($action == 'add' || $action == 'confirmed') && $user->rights->categorie->cr
$form = new Form($db);
$formother = new FormOther($db);
llxHeader("","",$langs->trans("Categories"));
$helpurl='';
llxHeader("",$langs->trans("Categories"),$helpurl);
if ($user->rights->categorie->creer)
{
@@ -244,7 +245,7 @@ if ($user->rights->categorie->creer)
// Ref
print '<tr>';
print '<td width="20%" class="fieldrequired">'.$langs->trans("Ref").'</td><td><input id="label" class="flat" name="label" size="25" value="'.$label.'">';
print '<td class="titlefieldcreate fieldrequired">'.$langs->trans("Ref").'</td><td><input id="label" class="flat" name="label" size="25" value="'.$label.'">';
print'</td></tr>';
// Description

View File

@@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2005 Matthieu Valleton <mv@seeschloss.org>
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2006-2015 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2006-2016 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
@@ -118,9 +118,14 @@ if ($catname || $id > 0)
$categstatic->ref=$cat->label;
$categstatic->label=$cat->label;
$categstatic->type=$cat->type;
$categstatic->color=$cat->color;
print '<span class="noborderoncategories" '.($categstatic->color?' style="background: #'.$categstatic->color.';"':' style="background: #aaa"').'>';
print $categstatic->getNomUrl(1,'');
print '</span>';
print "</td>\n";
print "\t\t<td>";
print $cat->description;
print "</td>\n";
print "\t\t<td>".$cat->description."</td>\n";
print "\t</tr>\n";
}
print "</table>";

View File

@@ -169,7 +169,8 @@ if ($type == Categorie::TYPE_PRODUCT && $elemid && $action == 'addintocategory'
$form = new Form($db);
$formother = new FormOther($db);
llxHeader("","",$langs->trans("Categories"));
$helpurl='';
llxHeader("",$langs->trans("Categories"),$helpurl);
if ($type == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductsCategoryShort");
elseif ($type == Categorie::TYPE_SUPPLIER) $title=$langs->trans("SuppliersCategoryShort");

View File

@@ -996,7 +996,7 @@ class ActionComm extends CommonObject
}
$this->date_creation = $this->db->jdate($obj->datec);
$this->date_modification = $this->db->jdate($obj->datem);
if (! empty($obj->fk_user_mod)) $this->date_modification = $this->db->jdate($obj->datem);
}
$this->db->free($result);
}

View File

@@ -197,7 +197,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
else
{
$var=!$var;
print '<tr '.$bc[$var].'><td colspan="3">'.$langs->trans("NoProposal").'</td></tr>';
print '<tr '.$bc[$var].'><td colspan="3" class="opacitymedium">'.$langs->trans("NoProposal").'</td></tr>';
}
print "</table><br>";
@@ -277,7 +277,7 @@ if (! empty($conf->supplier_proposal->enabled) && $user->rights->supplier_propos
else
{
$var=!$var;
print '<tr '.$bc[$var].'><td colspan="3">'.$langs->trans("NoProposal").'</td></tr>';
print '<tr '.$bc[$var].'><td colspan="3" class="opacitymedium">'.$langs->trans("NoProposal").'</td></tr>';
}
print "</table><br>";
@@ -357,7 +357,7 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire)
else
{
$var=!$var;
print '<tr '.$bc[$var].'><td colspan="3">'.$langs->trans("NoOrder").'</td></tr>';
print '<tr '.$bc[$var].'><td colspan="3" class="opacitymedium">'.$langs->trans("NoOrder").'</td></tr>';
}
print "</table><br>";
@@ -438,7 +438,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande
else
{
$var=!$var;
print '<tr '.$bc[$var].'><td colspan="3">'.$langs->trans("NoSupplierOrder").'</td></tr>';
print '<tr '.$bc[$var].'><td colspan="3" class="opacitymedium">'.$langs->trans("NoSupplierOrder").'</td></tr>';
}
print "</table><br>";

View File

@@ -876,7 +876,7 @@ else
{
print "\n\n<div class=\"tabsAction\">\n";
if (($object->statut == 0) && $user->rights->mailing->creer)
if (($object->statut == 0 || $object->statut == 1) && $user->rights->mailing->creer)
{
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=edit&amp;id='.$object->id.'">'.$langs->trans("EditMailing").'</a>';
}

View File

@@ -5,7 +5,7 @@
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
* Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2015 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
@@ -279,7 +279,7 @@ if (empty($reshook))
if ($socid < 1) {
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Customer")), null, 'errors');
$action = 'create';
$error ++;
}
@@ -345,7 +345,7 @@ if (empty($reshook))
$object->origin = GETPOST('origin');
$object->origin_id = GETPOST('originid');
// Multicurrency
if (!empty($conf->multicurrency->enabled))
{
@@ -718,7 +718,7 @@ if (empty($reshook))
$tva_tx = get_default_tva($mysoc, $object->thirdparty, $prod->id);
$tva_npr = get_default_npr($mysoc, $object->thirdparty, $prod->id);
if (empty($tva_tx)) $tva_npr=0;
$pu_ht = $prod->price;
$pu_ttc = $prod->price_ttc;
$price_min = $prod->price_min;
@@ -932,7 +932,7 @@ if (empty($reshook))
// Add buying price
$fournprice = price2num(GETPOST('fournprice') ? GETPOST('fournprice') : '');
$buyingprice = price2num(GETPOST('buying_price') != '' ? GETPOST('buying_price') : ''); // If buying_price is '0', we muste keep this value
$buyingprice = price2num(GETPOST('buying_price') != '' ? GETPOST('buying_price') : ''); // If buying_price is '0', we muste keep this value
$date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear'));
$date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear'));
@@ -1082,7 +1082,7 @@ if (empty($reshook))
// Multicurrency rate
else if ($action == 'setmulticurrencyrate' && $user->rights->propal->creer) {
$result = $object->setMulticurrencyRate(GETPOST('multicurrency_tx', 'int'));
$result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx')));
}
// bank account
@@ -1167,12 +1167,12 @@ if (empty($reshook))
}
}
}
// Actions to build doc
$upload_dir = $conf->propal->dir_output;
$permissioncreate=$user->rights->propal->creer;
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
}
@@ -1266,6 +1266,8 @@ if ($action == 'create')
if ($origin != 'project' && $originid) {
print '<input type="hidden" name="origin" value="' . $origin . '">';
print '<input type="hidden" name="originid" value="' . $originid . '">';
} elseif ($origin == 'project' && !empty($projectid)) {
print '<input type="hidden" name="projectid" value="' . $projectid . '">';
}
dol_fiche_head();
@@ -1356,7 +1358,7 @@ if ($action == 'create')
print '</td></tr>';
// Bank Account
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled) {
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && ! empty($conf->banque->enabled)) {
print '<tr><td>' . $langs->trans('BankAccount') . '</td><td colspan="2">';
$form->select_comptes($fk_account, 'fk_account', 0, '', 1);
print '</td></tr>';
@@ -1432,11 +1434,11 @@ if ($action == 'create')
print '<tr>';
print '<td>'.fieldLabel('Currency','multicurrency_code').'</td>';
print '<td colspan="3" class="maxwidthonsmartphone">';
$currency_code = (!empty($soc->multicurrency_code) ? $soc->multicurrency_code : ($object->multicurrency_code ? $object->multicurrency_code : $conf->currency));
$currency_code = (!empty($soc->multicurrency_code) ? $soc->multicurrency_code : ($object->multicurrency_code ? $object->multicurrency_code : $conf->currency));
print $form->selectMultiCurrency($currency_code, 'multicurrency_code', 0);
print '</td></tr>';
}
// Public note
print '<tr>';
print '<td class="border" valign="top">' . $langs->trans('NotePublic') . '</td>';
@@ -1717,7 +1719,7 @@ if ($action == 'create')
print '</tr></table>';
print '</td><td colspan="5">';
if ($user->rights->propal->creer && $action == 'refclient') {
print '<form action="propal.php?id=' . $object->id . '" method="post">';
print '<form action="'.$_SERVER["PHP_SELF"].'?id=' . $object->id . '" method="post">';
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
print '<input type="hidden" name="action" value="set_ref_client">';
print '<input type="text" class="flat" size="20" name="ref_client" value="' . $object->ref_client . '">';
@@ -1934,12 +1936,12 @@ if ($action == 'create')
$form->form_multicurrency_code($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->multicurrency_code, 'none');
}
print '</td></tr>';
// Multicurrency rate
print '<tr>';
print '<td width="25%">';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print fieldLabel('Rate','multicurrency_tx');
print fieldLabel('CurrencyRate','multicurrency_tx');
print '</td>';
if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon))
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editmulticurrencyrate&amp;id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '</a></td>';
@@ -2001,7 +2003,7 @@ if ($action == 'create')
print '</tr>';
}
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled)
if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && ! empty($conf->banque->enabled))
{
// Bank Account
print '<tr><td>';
@@ -2053,7 +2055,7 @@ if ($action == 'create')
print '<td class="nowrap" colspan="2">' . price($object->total_ht, '', $langs, 0, - 1, - 1, $conf->currency) . '</td>';
// Margin Infos
if (! empty($conf->margin->enabled))
if (! empty($conf->margin->enabled))
{
$rowspan=4;
if ($mysoc->localtax1_assuj == "1" || $object->total_localtax1 != 0) $rowspan++;
@@ -2087,25 +2089,25 @@ if ($action == 'create')
print '<tr><td height="10">' . $langs->trans('AmountTTC') . '</td>';
print '<td class="nowrap" colspan="2">' . price($object->total_ttc, '', $langs, 0, - 1, - 1, $conf->currency) . '</td>';
print '</tr>';
if (!empty($conf->multicurrency->enabled))
{
// Multicurrency Amount HT
print '<tr><td height="10">' . fieldLabel('MulticurrencyAmountHT','multicurrency_total_ht') . '</td>';
print '<td class="nowrap" colspan="2">' . price($object->multicurrency_total_ht, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
print '</tr>';
// Multicurrency Amount VAT
print '<tr><td height="10">' . fieldLabel('MulticurrencyAmountVAT','multicurrency_total_tva') . '</td>';
print '<td class="nowrap" colspan="2">' . price($object->multicurrency_total_tva, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
print '</tr>';
// Multicurrency Amount TTC
print '<tr><td height="10">' . fieldLabel('MulticurrencyAmountTTC','multicurrency_total_ttc') . '</td>';
print '<td class="nowrap" colspan="2">' . price($object->multicurrency_total_ttc, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
print '</tr>';
print '</tr>';
}
// Statut
print '<tr><td height="10">' . $langs->trans('Status') . '</td><td align="left" colspan="2">' . $object->getLibStatut(4) . '</td></tr>';
@@ -2397,7 +2399,7 @@ if ($action == 'create')
{
include DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
$formmail->frommail=dolAddEmailTrackId($formmail->frommail, 'pro'.$object->id);
}
}
$formmail->withfrom = 1;
$liste = array();
foreach ($object->thirdparty->thirdparty_and_contact_email_array(1) as $key => $value)
@@ -2417,7 +2419,7 @@ if ($action == 'create')
// Tableau des substitutions
$formmail->setSubstitFromObject($object);
$formmail->substit['__PROPREF__'] = $object->ref;
$formmail->substit['__PROPREF__'] = $object->ref; // For backward compatibility
// Find the good contact adress
$custcontact = '';

View File

@@ -135,7 +135,7 @@ if ($action == 'confirm_split' && GETPOST("confirm") == 'yes')
}
}
if ($action == 'setremise')
if ($action == 'setremise' && $user->rights->societe->creer)
{
//if ($user->rights->societe->creer)
//if ($user->rights->facture->creer)
@@ -266,39 +266,48 @@ if ($socid > 0)
print '<tr><td class="titlefield">'.$langs->trans("CustomerAbsoluteDiscountAllUsers").'</td>';
print '<td>'.$remise_all.'&nbsp;'.$langs->trans("Currency".$conf->currency).' '.$langs->trans("HT").'</td></tr>';
print '<tr><td>'.$langs->trans("CustomerAbsoluteDiscountMy").'</td>';
print '<td>'.$remise_user.'&nbsp;'.$langs->trans("Currency".$conf->currency).' '.$langs->trans("HT").'</td></tr>';
if (! empty($user->fk_soc)) // No need to show this for external users
{
print '<tr><td>'.$langs->trans("CustomerAbsoluteDiscountMy").'</td>';
print '<td>'.$remise_user.'&nbsp;'.$langs->trans("Currency".$conf->currency).' '.$langs->trans("HT").'</td></tr>';
}
print '</table>';
print '<br>';
print load_fiche_titre($langs->trans("NewGlobalDiscount"),'','');
print '<table class="border" width="100%">';
print '<tr><td width="38%" class="fieldrequired">'.$langs->trans("AmountHT").'</td>';
print '<td><input type="text" size="5" name="amount_ht" value="'.$_POST["amount_ht"].'">';
print '<span class="hideonsmartphone">&nbsp;'.$langs->trans("Currency".$conf->currency).'</span></td></tr>';
print '<tr><td width="38%">'.$langs->trans("VAT").'</td>';
print '<td>';
print $form->load_tva('tva_tx',GETPOST('tva_tx'),$mysoc,$object);
print '</td></tr>';
print '<tr><td class="fieldrequired" >'.$langs->trans("NoteReason").'</td>';
print '<td><input type="text" size="60" name="desc" value="'.GETPOST('desc').'"></td></tr>';
print "</table>";
if ($user->rights->societe->creer)
{
print '<br>';
print load_fiche_titre($langs->trans("NewGlobalDiscount"),'','');
print '<table class="border" width="100%">';
print '<tr><td width="38%" class="fieldrequired">'.$langs->trans("AmountHT").'</td>';
print '<td><input type="text" size="5" name="amount_ht" value="'.$_POST["amount_ht"].'">';
print '<span class="hideonsmartphone">&nbsp;'.$langs->trans("Currency".$conf->currency).'</span></td></tr>';
print '<tr><td width="38%">'.$langs->trans("VAT").'</td>';
print '<td>';
print $form->load_tva('tva_tx',GETPOST('tva_tx'),$mysoc,$object);
print '</td></tr>';
print '<tr><td class="fieldrequired" >'.$langs->trans("NoteReason").'</td>';
print '<td><input type="text" size="60" name="desc" value="'.GETPOST('desc').'"></td></tr>';
print "</table>";
}
print '</div>';
dol_fiche_end();
print '<div class="center">';
print '<input type="submit" class="button" name="submit" value="'.$langs->trans("AddGlobalDiscount").'">';
if (! empty($backtopage))
{
print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
if ($user->rights->societe->creer)
{
print '<div class="center">';
print '<input type="submit" class="button" name="submit" value="'.$langs->trans("AddGlobalDiscount").'">';
if (! empty($backtopage))
{
print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
}
print '</div>';
}
print '</div>';
print '</form>';
print '</form>';
print '<br>';
@@ -423,7 +432,7 @@ if ($socid > 0)
print '<br>';
/*
* Liste ristournes appliquees (=liees a une ligne de facture ou facture)
* List discount consumed (=liees a une ligne de facture ou facture)
*/
// Remises liees a lignes de factures

View File

@@ -262,14 +262,14 @@ if (empty($reshook))
$object->location_incoterms = GETPOST('location_incoterms', 'alpha');
$object->multicurrency_code = GETPOST('multicurrency_code', 'alpha');
$object->multicurrency_tx = GETPOST('originmulticurrency_tx', 'int');
// Fill array 'array_options' with data from add form
if (! $error)
{
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
if ($ret < 0) $error++;
}
// If creation from another object of another module (Example: origin=propal, originid=1)
if (! empty($origin) && ! empty($originid))
{
@@ -388,7 +388,7 @@ if (empty($reshook))
}
$sqlcontact = "SELECT code, fk_socpeople FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as ctc";
$sqlcontact.= " WHERE element_id = ".$originidforcontact." AND ec.fk_c_type_contact = ctc.rowid AND ctc.element = '".$originforcontact."'";
$resqlcontact = $db->query($sqlcontact);
if ($resqlcontact)
{
@@ -400,14 +400,14 @@ if (empty($reshook))
}
else dol_print_error($resqlcontact);
}
// Hooks
$parameters = array('objFrom' => $srcobject);
$reshook = $hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been
// modified by hook
if ($reshook < 0)
$error++;
} else {
setEventMessages($object->error, $object->errors, 'errors');
$error++;
@@ -475,12 +475,12 @@ if (empty($reshook))
else if ($action == 'classifyunbilled' && $user->rights->commande->creer)
{
$ret=$object->classifyUnBilled();
if ($ret < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
}
// Positionne ref commande client
else if ($action == 'set_ref_client' && $user->rights->commande->creer) {
$object->set_ref_client($user, GETPOST('ref_client'));
@@ -523,9 +523,9 @@ if (empty($reshook))
else if ($action == 'setmode' && $user->rights->commande->creer) {
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int'));
if ($result < 0)
dol_print_error($db, $object->error);
setEventMessages($object->error, $object->errors, 'errors');
}
// Multicurrency Code
else if ($action == 'setmulticurrencycode' && $user->rights->commande->creer) {
$result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha'));
@@ -533,19 +533,19 @@ if (empty($reshook))
// Multicurrency rate
else if ($action == 'setmulticurrencyrate' && $user->rights->commande->creer) {
$result = $object->setMulticurrencyRate(GETPOST('multicurrency_tx', 'int'));
$result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx')));
}
else if ($action == 'setavailability' && $user->rights->commande->creer) {
$result = $object->availability(GETPOST('availability_id'));
if ($result < 0)
dol_print_error($db, $object->error);
setEventMessages($object->error, $object->errors, 'errors');
}
else if ($action == 'setdemandreason' && $user->rights->commande->creer) {
$result = $object->demand_reason(GETPOST('demand_reason_id'));
if ($result < 0)
dol_print_error($db, $object->error);
setEventMessages($object->error, $object->errors, 'errors');
}
else if ($action == 'setconditions' && $user->rights->commande->creer) {
@@ -1334,7 +1334,7 @@ if ($action == 'create' && $user->rights->commande->creer)
$remise_absolue = 0;
$currency_code = $conf->currency;
if (! empty($origin) && ! empty($originid)) {
// Parse element/subelement (ex: project_task)
$element = $subelement = $origin;
@@ -1405,7 +1405,7 @@ if ($action == 'create' && $user->rights->commande->creer)
if (!empty($conf->multicurrency->enabled))
{
if (!empty($objectsrc->multicurrency_code)) $currency_code = $objectsrc->multicurrency_code;
if (!empty($conf->global->MULTICURRENCY_USE_ORIGIN_TX) && !empty($objectsrc->multicurrency_tx)) $currency_tx = $objectsrc->multicurrency_tx;
if (!empty($conf->global->MULTICURRENCY_USE_ORIGIN_TX) && !empty($objectsrc->multicurrency_tx)) $currency_tx = $objectsrc->multicurrency_tx;
}
$note_private = $object->getDefaultCreateValueFor('note_private', (! empty($objectsrc->note_private) ? $objectsrc->note_private : null));
@@ -1428,7 +1428,7 @@ if ($action == 'create' && $user->rights->commande->creer)
$remise_absolue = 0;
$dateorder = empty($conf->global->MAIN_AUTOFILL_DATE_ORDER)?-1:'';
$projectid = 0;
if (!empty($conf->multicurrency->enabled) && !empty($soc->multicurrency_code)) $currency_code = $soc->multicurrency_code;
$note_private = $object->getDefaultCreateValueFor('note_private');
@@ -1472,7 +1472,7 @@ if ($action == 'create' && $user->rights->commande->creer)
print '</td>';
} else {
print '<td colspan="2">';
print $form->select_company('', 'socid', 's.client = 1 OR s.client = 3', 1);
print $form->select_company('', 'socid', 's.client = 1 OR s.client = 3', 'SelectThirdParty');
// reload page to retrieve customer informations
if (!empty($conf->global->RELOAD_PAGE_ON_CUSTOMER_CHANGE))
{
@@ -1696,12 +1696,12 @@ if ($action == 'create' && $user->rights->commande->creer)
}
print '<tr><td>' . $langs->trans('TotalTTC') . '</td><td colspan="2">' . price($objectsrc->total_ttc) . "</td></tr>";
if (!empty($conf->multicurrency->enabled))
{
print '<tr><td>' . $langs->trans('MulticurrencyTotalHT') . '</td><td colspan="2">' . price($objectsrc->multicurrency_total_ht) . '</td></tr>';
print '<tr><td>' . $langs->trans('MulticurrencyTotalVAT') . '</td><td colspan="2">' . price($objectsrc->multicurrency_total_tva) . "</td></tr>";
print '<tr><td>' . $langs->trans('MulticurrencyTotalTTC') . '</td><td colspan="2">' . price($objectsrc->multicurrency_total_ttc) . "</td></tr>";
print '<tr><td>' . $langs->trans('MulticurrencyTotalTTC') . '</td><td colspan="2">' . price($objectsrc->multicurrency_total_ttc) . "</td></tr>";
}
}
else
@@ -1747,7 +1747,7 @@ if ($action == 'create' && $user->rights->commande->creer)
print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
print '<input type="button" class="button" value="' . $langs->trans("Cancel") . '" onClick="javascript:history.go(-1)">';
print '</div>';
print '</form>';
// Show origin lines
@@ -2018,7 +2018,7 @@ if ($action == 'create' && $user->rights->commande->creer)
print '</td>';
print '</tr>';
}
// Relative and absolute discounts
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
$filterabsolutediscount = "fk_facture_source IS NULL"; // If we want deposit to be substracted to payments only and not to total of final
@@ -2203,12 +2203,12 @@ if ($action == 'create' && $user->rights->commande->creer)
$form->form_multicurrency_code($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->multicurrency_code, 'none');
}
print '</td></tr>';
// Multicurrency rate
print '<tr>';
print '<td width="25%">';
print '<table class="nobordernopadding" width="100%"><tr><td>';
print fieldLabel('Rate','multicurrency_tx');
print fieldLabel('CurrencyRate','multicurrency_tx');
print '</td>';
if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon))
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editmulticurrencyrate&amp;id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '</a></td>';
@@ -2269,8 +2269,8 @@ if ($action == 'create' && $user->rights->commande->creer)
print ' / ';
print showDimensionInBestUnit($totalVolume, 0, "volume", $langs, isset($conf->global->MAIN_VOLUME_DEFAULT_ROUND)?$conf->global->MAIN_VOLUME_DEFAULT_ROUND:-1, isset($conf->global->MAIN_VOLUME_DEFAULT_UNIT)?$conf->global->MAIN_VOLUME_DEFAULT_UNIT:'no');
print '</td></tr>';
}
}
// TODO How record was recorded OrderMode (llx_c_input_method)
// Project
@@ -2385,16 +2385,16 @@ if ($action == 'create' && $user->rights->commande->creer)
print '<tr><td height="10">' . fieldLabel('MulticurrencyAmountHT','multicurrency_total_ht') . '</td>';
print '<td class="nowrap" colspan="2">' . price($object->multicurrency_total_ht, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
print '</tr>';
// Multicurrency Amount VAT
print '<tr><td height="10">' . fieldLabel('MulticurrencyAmountVAT','multicurrency_total_tva') . '</td>';
print '<td class="nowrap" colspan="2">' . price($object->multicurrency_total_tva, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
print '</tr>';
// Multicurrency Amount TTC
print '<tr><td height="10">' . fieldLabel('MulticurrencyAmountTTC','multicurrency_total_ttc') . '</td>';
print '<td class="nowrap" colspan="2">' . price($object->multicurrency_total_ttc, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
print '</tr>';
print '</tr>';
}
// Statut

View File

@@ -160,6 +160,7 @@ class CommandeApi extends DolibarrApi
if ($result)
{
$i=0;
$num = $db->num_rows($result);
while ($i < $num)
{

View File

@@ -3144,7 +3144,7 @@ class Commande extends CommonOrder
*/
function getNomUrl($withpicto=0,$option=0,$max=0,$short=0)
{
global $conf, $langs;
global $conf, $langs, $user;
$result='';
@@ -3154,17 +3154,29 @@ class Commande extends CommonOrder
if ($short) return $url;
$picto = 'order';
$label = '<u>' . $langs->trans("ShowOrder") . '</u>';
if (! empty($this->ref))
$label .= '<br><b>' . $langs->trans('Ref') . ':</b> ' . $this->ref;
if (! empty($this->ref_client))
$label.= '<br><b>' . $langs->trans('RefCustomer') . ':</b> ' . $this->ref_client;
if (! empty($this->total_ht))
$label.= '<br><b>' . $langs->trans('AmountHT') . ':</b> ' . price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency);
if (! empty($this->total_tva))
$label.= '<br><b>' . $langs->trans('VAT') . ':</b> ' . price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency);
if (! empty($this->total_ttc))
$label.= '<br><b>' . $langs->trans('AmountTTC') . ':</b> ' . price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency);
$label = '';
if ($user->rights->commande->lire) {
$label = '<u>'.$langs->trans("ShowOrder").'</u>';
if (!empty($this->ref)) {
$label .= '<br><b>'.$langs->trans('Ref').':</b> '.$this->ref;
}
if (!empty($this->ref_client)) {
$label .= '<br><b>'.$langs->trans('RefCustomer').':</b> '.$this->ref_client;
}
if (!empty($this->total_ht)) {
$label .= '<br><b>'.$langs->trans('AmountHT').':</b> '.price($this->total_ht, 0, $langs, 0, -1, -1,
$conf->currency);
}
if (!empty($this->total_tva)) {
$label .= '<br><b>'.$langs->trans('VAT').':</b> '.price($this->total_tva, 0, $langs, 0, -1, -1,
$conf->currency);
}
if (!empty($this->total_ttc)) {
$label .= '<br><b>'.$langs->trans('AmountTTC').':</b> '.price($this->total_ttc, 0, $langs, 0, -1, -1,
$conf->currency);
}
}
$linkstart = '<a href="'.$url.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
$linkend='</a>';

View File

@@ -665,7 +665,7 @@ if (($action != 'create' && $action != 'add') || ($action == 'create' && $error)
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
print '<td class="nobordernopadding nowrap">';
print $generic_commande->getNomUrl(1,$objp->fk_statut);
print $generic_commande->getNomUrl(1,0);
print '</td>';
print '<td width="20" class="nobordernopadding nowrap">';

Some files were not shown because too many files have changed in this diff Show More