Compare commits

...

3468 Commits

Author SHA1 Message Date
stickler-ci
9d719324b7 Fixing style errors. 2020-10-31 17:52:10 +00:00
Scrutinizer Auto-Fixer
ab25e047c0 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-10-31 17:51:30 +00:00
Laurent Destailleur
fb107c3195 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-31 18:45:25 +01:00
Laurent Destailleur
7e835c4eda Set country to unkown in ping if not defined 2020-10-31 18:45:12 +01:00
Laurent Destailleur
939f5ce095 Fix escaping of data on ping 2020-10-31 18:44:28 +01:00
Laurent Destailleur
f00cdd3e04
Merge pull request #15239 from frederic34/patch-8
fix init auguria menu
2020-10-31 17:30:24 +01:00
Laurent Destailleur
950f779777
Merge pull request #15238 from frederic34/patch-6
Update auguria.lib.php
2020-10-31 17:29:36 +01:00
Frédéric FRANCE
24cbb6db5f
fix init auguria menu 2020-10-31 17:24:30 +01:00
Frédéric FRANCE
de0f115cbd
Update auguria.lib.php
The variable $classname does not seem to be defined for all execution paths leading up to this point.
2020-10-31 16:56:43 +01:00
Laurent Destailleur
25aa301bc7
Merge pull request #15237 from frederic34/patch-10
remove deprecated
2020-10-31 16:54:39 +01:00
Laurent Destailleur
a27fc22728 Fix phpunit 2020-10-31 16:53:40 +01:00
Laurent Destailleur
fce9fea099 Fix params 2020-10-31 15:13:03 +01:00
Laurent Destailleur
e5a5f37b3f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/functions.lib.php
	htdocs/langs/en_US/bills.lang
2020-10-31 15:09:26 +01:00
Laurent Destailleur
522a3f9919 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-31 15:06:11 +01:00
Laurent Destailleur
b7dde7599b More complete scrutinizer file 2020-10-31 15:06:00 +01:00
Laurent Destailleur
125b94d749
Merge pull request #15234 from frederic34/patch-8
doxygen
2020-10-31 15:05:41 +01:00
Laurent Destailleur
bb4bde4d5b
Merge pull request #15233 from frederic34/patch-6
doxygen
2020-10-31 15:02:32 +01:00
Laurent Destailleur
fcdd1b4169
Merge pull request #15236 from Dolibarr/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2020-10-31 15:01:59 +01:00
Laurent Destailleur
ce59e8e35b Fix phpcs 2020-10-31 14:58:13 +01:00
Frédéric FRANCE
8e82f0d5b9
remove deprecated 2020-10-31 14:42:47 +01:00
stickler-ci
284c9bc6a8 Fixing style errors. 2020-10-31 13:34:01 +00:00
Scrutinizer Auto-Fixer
7f52920716 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-10-31 13:32:18 +00:00
Laurent Destailleur
92bdcd017d Fix 2020-10-31 14:26:11 +01:00
Laurent Destailleur
5ab90eeb16 Update doc 2020-10-31 14:25:03 +01:00
Laurent Destailleur
80efdcf260 Debug multicurrency editor 2020-10-31 14:24:00 +01:00
Frédéric FRANCE
78b94c775b
Update commonobject.class.php 2020-10-31 13:59:46 +01:00
Frédéric FRANCE
ffb8c91dc4
doxygen 2020-10-31 13:58:07 +01:00
Laurent Destailleur
11f9c4cfbd
Merge pull request #15117 from atm-jpb/develop_editorRate
# New multi-currency exchange rate editor
2020-10-31 13:55:42 +01:00
Laurent Destailleur
24df254e92
Update multicurrency.class.php 2020-10-31 13:54:23 +01:00
Laurent Destailleur
1af3709793
Merge pull request #15232 from frederic34/patch-6
doxygen
2020-10-31 13:50:28 +01:00
Laurent Destailleur
2b47d74baf
Merge pull request #15231 from frederic34/patch-15
fix result is a resource
2020-10-31 13:49:40 +01:00
Laurent Destailleur
2b09b7be8e Fix css 2020-10-31 13:47:50 +01:00
Frédéric FRANCE
d122238439
Update supplier_proposal.class.php 2020-10-31 13:29:08 +01:00
Frédéric FRANCE
8daf0c168c
Update facture.class.php 2020-10-31 13:27:29 +01:00
Frédéric FRANCE
7b6bc3de63
Update propal.class.php 2020-10-31 13:25:19 +01:00
Frédéric FRANCE
85b3b5de36
Update commonobject.class.php 2020-10-31 13:24:09 +01:00
Frédéric FRANCE
c4a7e58435
Update societe.class.php 2020-10-31 13:22:04 +01:00
Laurent Destailleur
499069ae51 Fix position of fields in MO list 2020-10-31 13:19:00 +01:00
Frédéric FRANCE
ae351a5659
doxygen 2020-10-31 13:13:55 +01:00
Laurent Destailleur
f485ebc2cf Removed dead code 2020-10-31 12:56:30 +01:00
Laurent Destailleur
cea61d3b52 Fix var 2020-10-31 12:44:14 +01:00
Laurent Destailleur
8d6fa350b9 Clean code 2020-10-31 12:41:26 +01:00
Laurent Destailleur
df7218b6a4 Fix for multicompany 2020-10-31 12:39:14 +01:00
Laurent Destailleur
b42361022d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-31 12:13:56 +01:00
Laurent Destailleur
fcb3245295 Fix for #15016 2020-10-31 12:11:41 +01:00
Laurent Destailleur
ee444f38f7
Merge pull request #15226 from frederic34/patch-6
fix update api_boms.class.php
2020-10-31 11:58:12 +01:00
Laurent Destailleur
9b9ee2c4e4
Merge pull request #15229 from frederic34/patch-13
fix undefined variable
2020-10-31 11:57:50 +01:00
Laurent Destailleur
b029ae5b6f
Merge pull request #15230 from frederic34/patch-14
fix undefined variable
2020-10-31 11:57:38 +01:00
Frédéric FRANCE
72c443868c
Update api_thirdparties.class.php 2020-10-31 11:57:35 +01:00
Laurent Destailleur
bdfc723750
Merge pull request #15228 from frederic34/patch-10
fix undefined variable
2020-10-31 11:54:03 +01:00
Laurent Destailleur
fb1013229e
Merge pull request #15227 from frederic34/patch-8
fix undefined variable
2020-10-31 11:53:50 +01:00
Frédéric FRANCE
25741a618e
fix result is a resource 2020-10-31 09:50:50 +01:00
Frédéric FRANCE
a64e676dad
fix undefined variable 2020-10-31 09:40:15 +01:00
Frédéric FRANCE
21a933f15c
fix undefined variable 2020-10-31 09:37:56 +01:00
Frédéric FRANCE
c6433ef58b
fix undefined variable 2020-10-31 09:32:00 +01:00
Frédéric FRANCE
f1beca0471
fix undefined variable 2020-10-31 09:27:58 +01:00
Frédéric FRANCE
9b10de3a8c
Update api_boms.class.php
public function update(User $user, $notrigger = false)
2020-10-31 09:22:02 +01:00
Laurent Destailleur
f7172a9a3c css 2020-10-31 04:50:26 +01:00
Laurent Destailleur
f53483f983 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-31 04:26:23 +01:00
Laurent Destailleur
fe3c00188e
Merge pull request #15225 from frederic34/patch-8
typo
2020-10-31 04:25:23 +01:00
Laurent Destailleur
e42dee3c8e
Merge pull request #15224 from frederic34/apiclean
doxygen
2020-10-31 04:24:53 +01:00
Laurent Destailleur
e35e4e6ee0
Merge pull request #15223 from frederic34/patch-6
doxygen
2020-10-31 04:24:12 +01:00
Laurent Destailleur
0a9c7fc577 Look and feel v13 2020-10-31 04:19:22 +01:00
Laurent Destailleur
44f532e1da Fix look and feel v13 2020-10-31 03:50:16 +01:00
Frédéric FRANCE
460af58134
typo 2020-10-30 22:09:15 +01:00
Laurent Destailleur
aafac6f989 Fix box of events 2020-10-30 18:58:40 +01:00
Laurent Destailleur
23d0d4635a Trans 2020-10-30 18:16:19 +01:00
Laurent Destailleur
4dbac98d8c
Merge pull request #15197 from aspangaro/14a2
NEW: Accountancy - Add a ledger for subaccount
2020-10-30 18:12:11 +01:00
Frédéric FRANCE
bdfc164130
Merge remote-tracking branch 'upstream/develop' into apiclean 2020-10-30 18:02:58 +01:00
Frédéric FRANCE
8190711342
doxygen 2020-10-30 18:01:01 +01:00
Laurent Destailleur
3cefb5f336
Update listbyaccount.php 2020-10-30 17:59:33 +01:00
Frédéric FRANCE
406cb5a2c9
Update api_boms.class.php 2020-10-30 17:49:16 +01:00
Laurent Destailleur
1ffb7eb2f4
Merge pull request #15222 from frederic34/patch-6
doxygen
2020-10-30 17:43:05 +01:00
Frédéric FRANCE
28adc985b0
Update api_setup.class.php 2020-10-30 17:31:57 +01:00
Frédéric FRANCE
b431d99996
Update api_memberstypes.class.php 2020-10-30 16:10:23 +01:00
Frédéric FRANCE
782e062ec7
Update api_thirdparties.class.php 2020-10-30 15:24:29 +01:00
Frédéric FRANCE
a317d71413
Update api_users.class.php 2020-10-30 15:23:05 +01:00
Frédéric FRANCE
38c2fea849
Update api_members.class.php 2020-10-30 15:21:28 +01:00
Laurent Destailleur
2614a951cd
Merge pull request #15220 from frederic34/patch-6
doxygen
2020-10-30 14:35:38 +01:00
Laurent Destailleur
64b9afc509 Fix bad column name 2020-10-30 14:33:16 +01:00
Laurent Destailleur
e5c683ebb7 Comment 2020-10-30 14:29:41 +01:00
Laurent Destailleur
cb3e204281 Fix use of dolibarr_main_distrib 2020-10-30 13:06:55 +01:00
Laurent Destailleur
2668efa132 Fix missing global 2020-10-30 12:44:29 +01:00
Frédéric FRANCE
412077ab51
doxygen 2020-10-30 08:24:02 +01:00
Laurent Destailleur
d4daf8b9ce Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/security2.lib.php
2020-10-30 05:59:45 +01:00
Laurent Destailleur
a24071492e Start fix for php8 compatibility 2020-10-30 05:56:07 +01:00
Laurent Destailleur
b3333da5c1 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/security2.lib.php
	htdocs/core/modules/livraison/doc/pdf_typhon.modules.php
	htdocs/main.inc.php
2020-10-30 04:39:41 +01:00
Laurent Destailleur
d4db10a9e5
Merge pull request #15219 from frederic34/patch-8
phpcs
2020-10-30 02:55:12 +01:00
Laurent Destailleur
35224a673b
Merge pull request #15218 from frederic34/patch-6
fix undefined variable
2020-10-30 02:48:07 +01:00
Frédéric FRANCE
0507e71586
phpcs 2020-10-29 18:44:15 +01:00
Frédéric FRANCE
9e70d7ca65
fix undefined variable 2020-10-29 18:37:52 +01:00
Laurent Destailleur
8c646cdf4f
Merge pull request #15207 from frederic34/patch-11
Mutualise code, introduce MAIN_ALL_TOWN_TO_UPPER
2020-10-29 17:49:16 +01:00
Laurent Destailleur
4071a3cfc2
Merge pull request #15205 from frederic34/patch-8
Update index.php
2020-10-29 17:46:51 +01:00
Laurent Destailleur
f9713a5752
Merge pull request #15206 from frederic34/patch-10
The constant MissingIds was not found.
2020-10-29 17:46:16 +01:00
Laurent Destailleur
628b318613
Merge pull request #15211 from hregis/develop_bug2
FIX wrong check operator (create wrong $contextpage)
2020-10-29 17:45:56 +01:00
Laurent Destailleur
75cc5a210e
Merge pull request #15209 from frederic34/patch-13
doxygen
2020-10-29 17:45:36 +01:00
Laurent Destailleur
391224d221
Merge pull request #15214 from hregis/fix_date_not_recover_in_edit_mode
FIX extrafield date not recover in create/edit mode
2020-10-29 17:42:13 +01:00
Laurent Destailleur
45477aba0d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-29 13:10:50 +01:00
Laurent Destailleur
c187b41714 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-29 13:10:39 +01:00
Regis Houssin
032813fa19 FIX extrafield date not recover in create/edit mode 2020-10-29 11:05:45 +01:00
Regis Houssin
1c7d293a93 FIX wrong check operator 2020-10-29 10:10:10 +01:00
Frédéric FRANCE
f5673fd08a
doxygen 2020-10-28 22:47:29 +01:00
Frédéric FRANCE
7ef2aaf8af
Update user.class.php 2020-10-28 20:57:36 +01:00
Frédéric FRANCE
fcb343e891
Update societe.class.php 2020-10-28 20:53:29 +01:00
Frédéric FRANCE
e546e56b22
Update contact.class.php 2020-10-28 20:50:33 +01:00
Frédéric FRANCE
79941a8dde
Update adherent.class.php 2020-10-28 19:10:54 +01:00
Frédéric FRANCE
4d716e74bd
Mutualise code, introduce MAIN_ALL_TOWN_TO_UPPER 2020-10-28 19:06:45 +01:00
Frédéric FRANCE
09b8d166dd
The constant MissingIds was not found.
The constant MissingIds was not found. Maybe you did not declare it correctly or list all dependencies?
2020-10-28 18:21:45 +01:00
Frédéric FRANCE
cd7cee061a
Update index.php 2020-10-28 17:56:26 +01:00
Laurent Destailleur
cb0f1bc6d4
Merge pull request #15203 from Dolibarr/scrutinizer-patch-2
Scrutinizer Auto-Fixes
2020-10-28 17:51:11 +01:00
Scrutinizer Auto-Fixer
208740c9c4 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-10-28 16:49:52 +00:00
Laurent Destailleur
f760b20bde Fix double semi colon 2020-10-28 17:48:20 +01:00
Laurent Destailleur
8a58471aeb
Merge pull request #15191 from frederic34/patch-10
Fix print extrafield on pdf lines
2020-10-28 17:35:58 +01:00
Laurent Destailleur
d4459367ab
Merge pull request #15193 from frederic34/patch-13
Update delivery.class.php
2020-10-28 17:17:45 +01:00
Laurent Destailleur
4cf32824bf
Merge pull request #15187 from frederic34/patch-6
Make MAIN_ALL_TO_UPPER utf8 compliant
2020-10-28 17:17:18 +01:00
Laurent Destailleur
6a76946f99
Merge pull request #15189 from frederic34/patch-8
doxygen
2020-10-28 17:13:50 +01:00
Laurent Destailleur
b23a4e1025
Merge pull request #15190 from FHenry/dev_finaly_maildev_in_docker
new maildev work in docker compose
2020-10-28 17:13:01 +01:00
Laurent Destailleur
6ed781c7c4
Merge pull request #15192 from frederic34/patch-11
Update fichinter.class.php
2020-10-28 17:11:02 +01:00
Laurent Destailleur
77dfda1a2d
Merge pull request #15194 from ptibogxiv/patch-391
FIX display variants card
2020-10-28 17:10:34 +01:00
Laurent Destailleur
e3f848238d
Merge pull request #15195 from frederic34/cachecompanylib
add cache
2020-10-28 17:09:27 +01:00
Laurent Destailleur
07da283707
Merge pull request #15188 from frederic34/20201027_phpcs
fix phpcs
2020-10-28 17:08:25 +01:00
Laurent Destailleur
5f3596ef3e
Merge branch 'develop' into 20201027_phpcs 2020-10-28 17:08:15 +01:00
Laurent Destailleur
393efed01f
Merge pull request #15196 from ppenelon/develop
New Handle proposals upload in documents API
2020-10-28 17:07:21 +01:00
Laurent Destailleur
9a85441c61 Fix phpcs 2020-10-28 17:06:30 +01:00
Laurent Destailleur
ef59b71cdf Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/product/class/product.class.php
	htdocs/product/stats/card.php
2020-10-28 17:02:20 +01:00
jpb
f0baa0f788 fix : input type number , getpost type , hook 2020-10-28 12:12:29 +01:00
Alexandre SPANGARO
86ee75363a NEW: Accountancy - Add a ledger for subaccount 2020-10-28 09:49:38 +01:00
Pierre Penelon
63c5c41a7b
ADD Handle proposals upload in documents API 2020-10-28 01:47:25 +01:00
Pierre Penelon
8532135630
Merge pull request #2 from Dolibarr/develop
Update from master
2020-10-28 01:44:58 +01:00
Frédéric FRANCE
0d65ab0c96
add cache 2020-10-28 00:34:59 +01:00
ptibogxiv
6fd996381e
FIX display variant card 2020-10-27 23:07:05 +01:00
Frédéric FRANCE
a1af0f11c1
Update delivery.class.php 2020-10-27 23:01:28 +01:00
Frédéric FRANCE
bc7c1540cc
Update fichinter.class.php 2020-10-27 22:57:06 +01:00
Frédéric FRANCE
e8659469b9
Update expedition.class.php 2020-10-27 22:49:30 +01:00
Florian HENRY
5d38d01a27 add new container 2020-10-27 22:49:20 +01:00
Florian HENRY
e4dfed53c2 new maildev work in docker compose 2020-10-27 22:42:48 +01:00
Frédéric FRANCE
9ba22d2813
doxygen 2020-10-27 22:07:31 +01:00
Frédéric FRANCE
7a7a6f8018
fix phpcs 2020-10-27 21:28:26 +01:00
Frédéric FRANCE
19ff2ef19e
Update user.class.php 2020-10-27 20:52:37 +01:00
Laurent Destailleur
f7c90d7e90 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-27 20:50:48 +01:00
Laurent Destailleur
039bc3c412 Fix phpunit 2020-10-27 20:50:33 +01:00
Frédéric FRANCE
0ff32c7074
Update societe.class.php 2020-10-27 20:50:11 +01:00
Frédéric FRANCE
5a01d91492
Update contact.class.php 2020-10-27 20:48:13 +01:00
Frédéric FRANCE
b9f593b73a
Update adherent.class.php 2020-10-27 20:46:32 +01:00
Frédéric FRANCE
991273bd10
Update functions.lib.php 2020-10-27 20:44:17 +01:00
Frédéric FRANCE
584373af55
Update user.class.php 2020-10-27 20:15:46 +01:00
Frédéric FRANCE
4f3b732ed5
Update societe.class.php 2020-10-27 20:14:42 +01:00
Frédéric FRANCE
0a024f285d
Update contact.class.php 2020-10-27 20:13:01 +01:00
Frédéric FRANCE
6d6b143011
Update adherent.class.php 2020-10-27 20:11:18 +01:00
Frédéric FRANCE
7d30a11a26
Update functions.lib.php 2020-10-27 20:06:49 +01:00
Laurent Destailleur
9595d56235
Merge pull request #15186 from fappels/13_fix_delete_product_ajax
Fix delete product using ajax
2020-10-27 20:03:00 +01:00
Laurent Destailleur
6e0ae82048 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-27 19:57:52 +01:00
Laurent Destailleur
33e56a2d7c Fix decimal qty for #14666 2020-10-27 19:56:36 +01:00
Laurent Destailleur
d7a9e0f61a
Merge pull request #15185 from Dolibarr/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2020-10-27 19:47:20 +01:00
Scrutinizer Auto-Fixer
a2a9c51e50 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-10-27 18:46:07 +00:00
Francis Appels
828df6c134 Fix delete product using ajax 2020-10-27 19:45:12 +01:00
Laurent Destailleur
ec6c735d89 Clean code 2020-10-27 19:44:15 +01:00
Laurent Destailleur
ebdc1f7457 Fix scrutinizer 2020-10-27 19:34:52 +01:00
Laurent Destailleur
f7de9333bb Doxygen 2020-10-27 19:29:42 +01:00
Laurent Destailleur
f670f71df9 Fix scrutinizer 2020-10-27 19:14:03 +01:00
Laurent Destailleur
e10051800d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-27 19:06:58 +01:00
Laurent Destailleur
f54f67cae3 Fix sanitizing 2020-10-27 19:06:41 +01:00
Laurent Destailleur
7d291d075e
Merge pull request #15184 from frederic34/formcolor
formcolor parameter is deprecated
2020-10-27 19:03:29 +01:00
Laurent Destailleur
1b939ab8f4
Merge pull request #15183 from frederic34/dol_fiche_end
end of dol_fiche_end
2020-10-27 19:00:32 +01:00
Laurent Destailleur
358ac4cd36 Fix scrutinizer 2020-10-27 18:55:55 +01:00
Laurent Destailleur
e099507594 Fix regression 2020-10-27 18:53:03 +01:00
Frédéric FRANCE
900452a47d
formcolor parameter is deprecated 2020-10-27 18:46:42 +01:00
Laurent Destailleur
e10033143a Fix bad var 2020-10-27 18:40:44 +01:00
Laurent Destailleur
2559489920 Fix 2020-10-27 18:38:13 +01:00
Laurent Destailleur
50cf7704fe Log 2020-10-27 18:30:03 +01:00
Frédéric FRANCE
5a3780e062
end of dol_fiche_end 2020-10-27 18:19:31 +01:00
Laurent Destailleur
80d13e711c More secured getURLContent method. Add PHPUnit on getURLContent 2020-10-27 18:02:05 +01:00
Laurent Destailleur
d750dc48a1 More secured getURLContent method. Add PHPUnit on getURLContent 2020-10-27 15:06:16 +01:00
Laurent Destailleur
7efbab88a8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-27 12:49:30 +01:00
Laurent Destailleur
c6216eddd1 CSS 2020-10-27 12:49:14 +01:00
Laurent Destailleur
92f3137c3e
Merge pull request #15179 from frederic34/boxmembers
add small photo in box members
2020-10-27 11:55:32 +01:00
Laurent Destailleur
4adaf67d47 Hide setup we don't need if email are disabled globally
CSS
2020-10-27 11:40:30 +01:00
Laurent Destailleur
fe357e17e8 Fix for ja 2020-10-27 11:00:50 +01:00
Laurent Destailleur
56903d3677 Fix trans 2020-10-27 10:35:22 +01:00
Laurent Destailleur
16ac8a9d52 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-27 10:33:46 +01:00
Laurent Destailleur
8bcd704d9b Disable notif as it is used as a frame 2020-10-27 10:32:25 +01:00
Laurent Destailleur
19b82047f0 Fix sql 2020-10-27 10:00:35 +01:00
jpb
26e3637e22 remove ['newtoken'] to newtoken() function 2020-10-27 09:58:32 +01:00
Frédéric FRANCE
6fc4b1b839
add small photo in box members 2020-10-27 08:17:12 +01:00
Laurent Destailleur
c81c3ec71a Fix translation 2020-10-27 03:20:33 +01:00
Laurent Destailleur
e637b60b4b Fix regression in language files 2020-10-27 03:04:53 +01:00
Laurent Destailleur
d2a2d74f7e Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/product.lib.php
	htdocs/langs/am_ET/mrp.lang
	htdocs/langs/ar_SA/mrp.lang
	htdocs/langs/az_AZ/mrp.lang
	htdocs/langs/bg_BG/mrp.lang
	htdocs/langs/bn_BD/mrp.lang
	htdocs/langs/bn_IN/mrp.lang
	htdocs/langs/bs_BA/mrp.lang
	htdocs/langs/ca_ES/mrp.lang
	htdocs/langs/cs_CZ/mrp.lang
	htdocs/langs/da_DK/mrp.lang
	htdocs/langs/de_DE/mrp.lang
	htdocs/langs/el_GR/mrp.lang
	htdocs/langs/en_US/mrp.lang
	htdocs/langs/es_ES/mrp.lang
	htdocs/langs/et_EE/mrp.lang
	htdocs/langs/eu_ES/mrp.lang
	htdocs/langs/fa_IR/mrp.lang
	htdocs/langs/fi_FI/mrp.lang
	htdocs/langs/fr_FR/mrp.lang
	htdocs/langs/gl_ES/mrp.lang
	htdocs/langs/he_IL/mrp.lang
	htdocs/langs/hi_IN/mrp.lang
	htdocs/langs/hr_HR/mrp.lang
	htdocs/langs/hu_HU/mrp.lang
	htdocs/langs/id_ID/mrp.lang
	htdocs/langs/is_IS/mrp.lang
	htdocs/langs/it_IT/mrp.lang
	htdocs/langs/ja_JP/mrp.lang
	htdocs/langs/ka_GE/mrp.lang
	htdocs/langs/km_KH/mrp.lang
	htdocs/langs/kn_IN/mrp.lang
	htdocs/langs/ko_KR/mrp.lang
	htdocs/langs/lo_LA/mrp.lang
	htdocs/langs/lt_LT/mrp.lang
	htdocs/langs/lv_LV/mrp.lang
	htdocs/langs/mk_MK/mrp.lang
	htdocs/langs/mn_MN/mrp.lang
	htdocs/langs/nb_NO/mrp.lang
	htdocs/langs/ne_NP/mrp.lang
	htdocs/langs/nl_NL/mrp.lang
	htdocs/langs/pl_PL/mrp.lang
	htdocs/langs/pt_PT/mrp.lang
	htdocs/langs/ro_RO/mrp.lang
	htdocs/langs/ru_RU/mrp.lang
	htdocs/langs/sk_SK/mrp.lang
	htdocs/langs/sl_SI/mrp.lang
	htdocs/langs/sq_AL/mrp.lang
	htdocs/langs/sr_RS/mrp.lang
	htdocs/langs/sv_SE/mrp.lang
	htdocs/langs/sw_SW/mrp.lang
	htdocs/langs/th_TH/mrp.lang
	htdocs/langs/tr_TR/mrp.lang
	htdocs/langs/uk_UA/mrp.lang
	htdocs/langs/uz_UZ/mrp.lang
	htdocs/langs/vi_VN/mrp.lang
	htdocs/langs/zh_CN/mrp.lang
	htdocs/langs/zh_HK/mrp.lang
	htdocs/langs/zh_TW/mrp.lang
	htdocs/mrp/class/mo.class.php
	htdocs/mrp/mo_agenda.php
	htdocs/mrp/mo_card.php
	htdocs/mrp/mo_document.php
	htdocs/mrp/mo_movements.php
	htdocs/mrp/mo_note.php
	htdocs/mrp/mo_production.php
2020-10-27 02:55:22 +01:00
Laurent Destailleur
313273f462 Doc 2020-10-27 02:19:43 +01:00
Laurent Destailleur
3f0a9cfce9 Fix var not defined 2020-10-27 02:03:13 +01:00
Laurent Destailleur
bb64d1a67f Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-27 01:50:36 +01:00
Laurent Destailleur
32ff76178e FIX #15168 2020-10-27 01:44:00 +01:00
Laurent Destailleur
77841b8889
Merge pull request #15155 from javierybar/develop
NEW Credit note in TakePOS
2020-10-27 01:26:10 +01:00
Laurent Destailleur
96ad9d27fa
Merge pull request #15174 from frederic34/patch-8
clean code interface_99_modZapier_ZapierTriggers.class.php
2020-10-27 01:25:43 +01:00
Laurent Destailleur
f801bc65c8
Merge pull request #15173 from frederic34/patch-6
Clean code interface_20_all_Logevents.class.php
2020-10-27 01:25:16 +01:00
Laurent Destailleur
1940d008a0
Merge pull request #15175 from frederic34/indexmembers
display last members like on list
2020-10-27 01:24:54 +01:00
Laurent Destailleur
624e116ecb
Merge pull request #15176 from frederic34/patch-10
add small photo in picto link
2020-10-27 01:23:57 +01:00
Frédéric FRANCE
4a0dd3b4bc
add small photo in picto link 2020-10-26 22:05:40 +01:00
Frédéric FRANCE
d3c87dabab
display members 2020-10-26 21:51:17 +01:00
Frédéric FRANCE
42f5fd7d5f
display last members like on list 2020-10-26 21:38:16 +01:00
Frédéric FRANCE
0bdd6abca9
Update interface_99_modZapier_ZapierTriggers.class.php 2020-10-26 20:14:45 +01:00
Frédéric FRANCE
557a0caa91
Update interface_20_all_Logevents.class.php 2020-10-26 20:10:19 +01:00
Laurent Destailleur
c918acaadc Doc 2020-10-26 19:37:30 +01:00
Laurent Destailleur
fc66e01be8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-26 19:35:09 +01:00
Laurent Destailleur
a352c2d82a Doc 2020-10-26 19:34:57 +01:00
Laurent Destailleur
3732c45702
Merge pull request #15169 from lyra/develop
NEW Add hooks to allow external payment modules
2020-10-26 19:34:23 +01:00
Laurent Destailleur
2340cb654d
Merge pull request #15149 from defrance/patch-160
Display application Title if filled on login page
2020-10-26 19:32:42 +01:00
Laurent Destailleur
680f4f9fee
Update login.tpl.php 2020-10-26 19:32:21 +01:00
Laurent Destailleur
07729ec431
Merge pull request #15150 from FHenry/dev_fix_migration_livraison_to_delivery
fix migration livraison to delivery
2020-10-26 19:28:59 +01:00
Laurent Destailleur
a8fccc67ba
Merge pull request #15148 from frederic34/patch-6
doxygen
2020-10-26 19:28:11 +01:00
Laurent Destailleur
c1cd25fb6b
Merge pull request #15151 from frederic34/patch-8
selectTypeContact return void
2020-10-26 19:27:52 +01:00
Laurent Destailleur
a079cbe353
Merge pull request #15152 from frederic34/patch-10
doxygen and clean code
2020-10-26 19:27:28 +01:00
Laurent Destailleur
5e19483c99
Update don.class.php 2020-10-26 19:26:55 +01:00
Laurent Destailleur
58a5585d0e
Merge pull request #15154 from frederic34/categories
clean code
2020-10-26 19:25:13 +01:00
Laurent Destailleur
b2f08e5762
Update categorie.class.php 2020-10-26 19:23:23 +01:00
Laurent Destailleur
87f65d2487
Merge pull request #15156 from frederic34/patch-11
set unknown variables
2020-10-26 19:22:43 +01:00
Laurent Destailleur
e39adbdcb5
Merge pull request #15157 from frederic34/patch-13
doxygen
2020-10-26 19:22:13 +01:00
Laurent Destailleur
6926610e9e
Merge pull request #15158 from frederic34/patch-14
undefined variable
2020-10-26 19:21:57 +01:00
Laurent Destailleur
244f74ddfe
Merge pull request #15162 from FHenry/develop
fix bad link index thirdparty
2020-10-26 19:12:23 +01:00
Laurent Destailleur
8051db9ad8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-26 19:09:16 +01:00
Laurent Destailleur
0abce469e9 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-26 19:09:08 +01:00
Laurent Destailleur
5e2b0a98cc
Merge pull request #15170 from fappels/13_set_date_livraison
Re-add set_date_livraison as a deprecated function.
2020-10-26 18:57:17 +01:00
Laurent Destailleur
130591480a
Merge pull request #15171 from frederic34/cleantriggers
clean triggers
2020-10-26 18:54:54 +01:00
Laurent Destailleur
3e050eba8c
Merge pull request #15172 from fappels/13_fix_reception
Fix reception fetch_lines
2020-10-26 18:53:15 +01:00
Frédéric FRANCE
9c51d467b5
clean triggers 2020-10-26 18:49:38 +01:00
Frédéric FRANCE
360ea91be5
clean triggers 2020-10-26 18:46:03 +01:00
Francis Appels
b6142dded6 Remove phpcs disable enable from setDeliveryDate in delivery class 2020-10-26 18:40:24 +01:00
Frédéric FRANCE
66fbddb892
clean triggers 2020-10-26 18:35:27 +01:00
Frédéric FRANCE
3e686e167c
clean triggers 2020-10-26 18:31:45 +01:00
Francis Appels
1ba0e92c41 Fix reception fetch_lines 2020-10-26 18:30:32 +01:00
Francis Appels
93ab281d81 Fix tab indent 2020-10-26 18:21:47 +01:00
Laurent Destailleur
efce53abd1 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/boxes/box_services_contracts.php
	htdocs/expensereport/class/expensereport.class.php
2020-10-26 18:17:23 +01:00
Francis Appels
91496682fb Merge branch '13_set_date_livraison' of github.com:fappels/dolibarr into 13_set_date_livraison 2020-10-26 18:13:36 +01:00
Francis Appels
3ff6f6a04a Move phpcs enable to correct location @frederic34 2020-10-26 18:13:25 +01:00
stickler-ci
d803c7f429 Fixing style errors. 2020-10-26 16:06:05 +00:00
Francis Appels
fa8e4a9bb0 No trigger for supplier proposal 2020-10-26 17:02:33 +01:00
Francis Appels
d6839ddca6 No trigger for expedition 2020-10-26 16:59:25 +01:00
Francis Appels
7fa7f0a390 Re-add set_date_livraison as a deprecated function.
Use correct naming convention for new method naming.
2020-10-26 16:50:52 +01:00
CHABANE HADJER
e7e8a91b13
Adding Payzen payment module hooks. 2020-10-26 16:38:11 +01:00
Frédéric FRANCE
1dab6570ed
Merge branch 'develop' into patch-11 2020-10-26 13:36:33 +01:00
Laurent Destailleur
82db2636f0 Fix phpcs 2020-10-26 13:22:03 +01:00
Florian HENRY
457f8b9766 fix bad link index thirdparty 2020-10-26 10:49:07 +01:00
Florian HENRY
cae2bc6024 Merge github.com:Dolibarr/dolibarr into dev_fix_migration_livraison_to_delivery 2020-10-26 10:36:08 +01:00
Frédéric FRANCE
c2b6ff969a
Update datapolicy.class.php 2020-10-26 00:05:43 +01:00
Frédéric FRANCE
44152c9343
undefined variable 2020-10-26 00:00:37 +01:00
Frédéric FRANCE
ab0d5514c7
doxygen 2020-10-25 23:55:08 +01:00
Frédéric FRANCE
f2c0e3765d
Update card.php 2020-10-25 23:29:51 +01:00
Frédéric FRANCE
10ff359889
set unknow variables 2020-10-25 22:39:12 +01:00
Laurent Destailleur
858c48bd15 Fix 2020-10-25 22:12:16 +01:00
Laurent Destailleur
2026705045 Start beta 2020-10-25 21:47:50 +01:00
Laurent Destailleur
2638d4596a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/facture/card.php
	htdocs/core/actions_sendmails.inc.php
	htdocs/core/class/commonobject.class.php
	htdocs/fourn/class/fournisseur.facture.class.php
	htdocs/fourn/facture/card.php
2020-10-25 21:33:13 +01:00
javierybar
d23b6e145a
Fixes 2020-10-25 20:24:17 +01:00
Frédéric FRANCE
a031adf99e
clean code 2020-10-25 20:07:22 +01:00
javierybar
a66be11e71
Update index.php 2020-10-25 20:06:50 +01:00
javierybar
81ed97c9ba
NEW Credit invoice in TakePOS 2020-10-25 20:03:25 +01:00
Frédéric FRANCE
772661c6ba
clean code 2020-10-25 19:44:01 +01:00
Frédéric FRANCE
3257e65d09
Update don.class.php 2020-10-25 18:51:05 +01:00
Frédéric FRANCE
f2d21d68d6
selectTypeContact return void 2020-10-25 18:23:00 +01:00
Florian HENRY
949be12e19 fix migration livraison to delivery 2020-10-25 17:26:15 +01:00
Laurent Destailleur
6c1f60f6c0 Fix regression 2020-10-25 17:19:15 +01:00
Laurent Destailleur
8578a7cd7c Fix regressions 2020-10-25 17:02:25 +01:00
BENKE Charlene
3efcb0dfeb
Display application Title if filled on login page 2020-10-25 16:19:16 +01:00
Laurent Destailleur
cd4d738a56 Merge branch 'translateModLivraison2ModDelivery' of
https://github.com/orebd/dolibarr into develop

# Conflicts:
#	htdocs/install/mysql/migration/12.0.0-13.0.0.sql
2020-10-25 16:01:18 +01:00
Frédéric FRANCE
1f4bd8476b
doxygen 2020-10-25 15:42:15 +01:00
Laurent Destailleur
70082d17b4 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-25 15:22:35 +01:00
Laurent Destailleur
859fea626d Use more generic domain 2020-10-25 15:22:23 +01:00
Laurent Destailleur
f7e1071e8e
Merge pull request #15073 from SwikritiT/develop
[Tests-only] Added API tests for list users feature
2020-10-25 15:19:01 +01:00
Laurent Destailleur
6fa174d13f
Merge pull request #15051 from laudeco/feature/11878_select_bank_account
11878 - select the only bank account
2020-10-25 14:56:08 +01:00
Laurent Destailleur
dbf626b92b
Update html.form.class.php 2020-10-25 14:55:52 +01:00
Laurent Destailleur
36854b0af4
Merge pull request #15123 from frederic34/patch-8
fix unknown function
2020-10-25 14:51:42 +01:00
Laurent Destailleur
80bbec7aeb
Merge pull request #15122 from frederic34/publicmember
add hook on public new member card
2020-10-25 14:51:14 +01:00
Laurent Destailleur
e7743948cb
Merge pull request #15120 from frederic34/patch-6
Update commonobject.class.php
2020-10-25 14:50:56 +01:00
Laurent Destailleur
7a85f5a9ab
Merge pull request #15118 from hregis/develop_bug2
FIX avoid warning
2020-10-25 14:49:06 +01:00
Laurent Destailleur
4d9c8e2225
Merge pull request #15124 from frederic34/retrieve
retrieve the spelling
2020-10-25 14:48:51 +01:00
Laurent Destailleur
f1cab5aa23
Merge pull request #15125 from frederic34/statcard
replace & by &&
2020-10-25 14:47:07 +01:00
Laurent Destailleur
a2f785e8aa
Merge pull request #15126 from frederic34/patch-10
doxygen
2020-10-25 14:46:01 +01:00
Laurent Destailleur
cc17f08409
Merge pull request #15131 from frederic34/patch-13
doxygen
2020-10-25 14:45:24 +01:00
Laurent Destailleur
21d26c008a
Merge pull request #15130 from bafbes/abb120351
fix:rowid is string in currencies table
2020-10-25 14:45:12 +01:00
Laurent Destailleur
335d1db3a6
Update dict.php 2020-10-25 14:43:33 +01:00
Laurent Destailleur
f31b4ee49d
Merge pull request #15127 from frederic34/task_universal
fix unknown property db
2020-10-25 14:35:03 +01:00
Laurent Destailleur
c6cee2f96f
Merge pull request #15128 from frederic34/patch-11
doxygen
2020-10-25 14:34:15 +01:00
Laurent Destailleur
180d01e76e
Merge pull request #15132 from frederic34/patch-14
doxygen
2020-10-25 14:34:04 +01:00
Laurent Destailleur
167430137f
Merge pull request #15134 from frederic34/public_ticket
add hook on public new ticket
2020-10-25 14:33:46 +01:00
Laurent Destailleur
9ccafcb651
Merge pull request #15133 from ptibogxiv/patch-390
Fix takeposlist thirdparty
2020-10-25 14:33:08 +01:00
Laurent Destailleur
bb6a71c534
Merge pull request #15135 from frederic34/loanlib
fix variable
2020-10-25 14:15:18 +01:00
Laurent Destailleur
495d8e711a
Merge pull request #15137 from frederic34/patch-16
Update chargesociales.class.php
2020-10-25 14:15:06 +01:00
Laurent Destailleur
a7b23dc4f6
Update chargesociales.class.php 2020-10-25 14:14:50 +01:00
Laurent Destailleur
dfc8606114
Merge pull request #15136 from frederic34/patch-15
doxygen
2020-10-25 14:13:54 +01:00
Laurent Destailleur
13beeb0a61
Merge pull request #15138 from frederic34/patch-17
Update asset.class.php
2020-10-25 14:13:28 +01:00
Laurent Destailleur
182de28d74 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-25 14:12:51 +01:00
Laurent Destailleur
bb147d2599 FIX #15140 2020-10-25 14:12:34 +01:00
Laurent Destailleur
42a8f75245
Merge pull request #15145 from frederic34/2020_zappier
add zapier readme
2020-10-25 13:53:46 +01:00
Laurent Destailleur
d042562996 Disable browser notification on public pages 2020-10-25 13:48:08 +01:00
Frédéric FRANCE
729a6aa364
hook list 2020-10-25 12:17:43 +01:00
Frédéric FRANCE
8d08157018
add zapier readme 2020-10-25 09:26:48 +01:00
Frédéric FRANCE
ec033ff101
add zapier readme 2020-10-25 09:22:51 +01:00
Laurent De Coninck
1d62834b2c
use the second version for default bank account 2020-10-24 17:15:48 +02:00
Frédéric FRANCE
af6629a427
Update asset.class.php 2020-10-24 14:11:28 +02:00
Frédéric FRANCE
5c1fac0f82
Update recruitmentjobposition.class.php 2020-10-24 14:02:34 +02:00
Frédéric FRANCE
f4181a77cd
Update chargesociales.class.php 2020-10-24 13:53:00 +02:00
Frédéric FRANCE
9e9a5efd08
doxygen 2020-10-24 13:47:00 +02:00
Frédéric FRANCE
000fa91235
fix variable 2020-10-24 13:39:59 +02:00
Frédéric FRANCE
8e77ac4eb0
fix empty array 2020-10-24 13:28:38 +02:00
Frédéric FRANCE
302fb6defa
add hook on public new ticket 2020-10-24 13:17:23 +02:00
ptibogxiv
ac800473c3
Update list.php 2020-10-24 12:46:13 +02:00
ptibogxiv
14e67b6536
Fix takeposlist thirdparty
exclude only supplier thirdparties for more efficient search
2020-10-24 11:16:36 +02:00
Frédéric FRANCE
adf1cd1fb7
doxygen 2020-10-24 09:42:52 +02:00
Frédéric FRANCE
e476678a54
doxygen 2020-10-24 09:32:39 +02:00
bahfir abbes
3f03b678e9 fix:rowid is string in currencies table 2020-10-24 03:47:10 +01:00
Frédéric FRANCE
3d3b530357
doxygen 2020-10-23 22:24:20 +02:00
Frédéric FRANCE
96e80f116a
fix unknown property db 2020-10-23 22:06:23 +02:00
Frédéric FRANCE
797a553609
Update paypal.lib.php 2020-10-23 22:01:23 +02:00
Frédéric FRANCE
7cfa710d48
replace & by && 2020-10-23 21:53:18 +02:00
Frédéric FRANCE
ae3228b9e0
retrieve the spelling 🎉 2020-10-23 20:08:35 +02:00
Frédéric FRANCE
345015ece2
fix unknown function 2020-10-23 19:54:45 +02:00
Frédéric FRANCE
76a0eba1a0
add hook on public new member card 2020-10-23 18:49:06 +02:00
Frédéric FRANCE
c3863aeed8
Update commonobject.class.php 2020-10-23 18:18:01 +02:00
Laurent Destailleur
ae4020c9fe Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/class/extrafields.class.php
2020-10-23 17:38:01 +02:00
Laurent Destailleur
f00fa93903 FIX check on required field when updating 1 extrafields. 2020-10-23 17:31:17 +02:00
Regis Houssin
3fbeea15c0 FIX avoid warning 2020-10-23 15:43:48 +02:00
Laurent Destailleur
cddbbc76c9 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-23 15:31:35 +02:00
Laurent Destailleur
572637b726 Enhance update of 1 extrafield (simple update instead of delete+insert) 2020-10-23 15:31:13 +02:00
Laurent Destailleur
58597bc8fe
Merge pull request #15058 from Hystepik/develop
FIX pb of duplicate event on command
2020-10-23 14:12:42 +02:00
Laurent Destailleur
d3b024a08b
Merge pull request #15115 from frederic34/patch-7
fix phpcs
2020-10-23 14:10:46 +02:00
Laurent Destailleur
8d5d7f801c
Merge branch 'develop' into patch-7 2020-10-23 14:10:33 +02:00
Laurent Destailleur
7875082032
Merge pull request #15114 from frederic34/patch-6
fix phpcs
2020-10-23 14:09:08 +02:00
Laurent Destailleur
d21ad72e4a Fix phpcs 2020-10-23 13:58:19 +02:00
jpb
47351c3cb3 Fix : stickler-ci 2020-10-23 13:55:55 +02:00
Laurent Destailleur
ffcf8edd19 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-23 13:55:42 +02:00
jpb
63c82b47fe Merge branch '11.0_currencyRateEditor' of github.com:atm-jpb/dolibarr into develop_editorRate 2020-10-23 12:27:14 +02:00
jpb
1ecff0a608 add list and crud 2020-10-23 11:58:25 +02:00
lmarcouiller
42aafeb8b5 FIX pb of duplicate event on command with eldy's recommendations 2020-10-23 09:56:35 +02:00
Frédéric FRANCE
0f1996759f
fix phpcs 2020-10-23 08:12:19 +02:00
Frédéric FRANCE
57064a7976
fix phpcs 2020-10-23 08:07:00 +02:00
SwikritiT
f7dab981c7 add user api feature file updated 2020-10-23 11:06:56 +05:45
SwikritiT
a248921d73 List user feature file using api
Co-authored-by:Yamuna Adhikari<adhikariamuna4444@gmail.com>
2020-10-23 11:06:56 +05:45
Laurent Destailleur
81543df5e4 Fix warnings 2020-10-23 04:24:54 +02:00
Laurent Destailleur
d517f26bd5 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-23 04:18:44 +02:00
Laurent Destailleur
1c1a418963 Update php-parallel-lint 2020-10-23 04:18:30 +02:00
Laurent Destailleur
e22760e8d5
Merge pull request #15113 from frederic34/patch-8
code field for product nature must be numeric
2020-10-23 04:08:39 +02:00
Laurent Destailleur
517c8e862f
Merge pull request #15112 from frederic34/patch-7
Update intracommreport.class.php
2020-10-23 04:08:12 +02:00
Laurent Destailleur
6b6ce568c7
Merge pull request #15109 from frederic34/patch-6
doxygen
2020-10-23 04:07:29 +02:00
Laurent Destailleur
0a1e49447d
Merge pull request #15108 from frederic34/patch-4
Update cproductnature.class.php
2020-10-23 04:07:03 +02:00
Laurent Destailleur
3bab0a322d
Merge pull request #15110 from frederic34/dol_fiche_head
replace deprecated
2020-10-23 04:03:46 +02:00
Laurent Destailleur
254da6923b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/line.php
2020-10-23 04:00:45 +02:00
stickler-ci
5638a49774 Fixing style errors. 2020-10-22 22:23:03 +00:00
Frédéric FRANCE
43bb812260
Update cproductnature.class.php 2020-10-23 00:22:34 +02:00
Frédéric FRANCE
78ec68e2cf
code field for product nature must be numeric 2020-10-23 00:04:55 +02:00
Frédéric FRANCE
c2ea4f063b
Update intracommreport.class.php 2020-10-22 23:50:20 +02:00
Frédéric FRANCE
2146ce2dee
Update intracommreport.class.php 2020-10-22 23:37:29 +02:00
Frédéric FRANCE
0db7847ba7
Update intracommreport.class.php 2020-10-22 23:24:11 +02:00
Frédéric FRANCE
82c3f63c5c
replace deprecated 2020-10-22 22:54:29 +02:00
Frédéric FRANCE
9a470fa42d
replace deprecated 2020-10-22 22:50:03 +02:00
Laurent Destailleur
1bb2fc0db4 css 2020-10-22 22:45:27 +02:00
Frédéric FRANCE
ae1adfb2d7
Update product.class.php 2020-10-22 22:33:35 +02:00
Frédéric FRANCE
ed8bfa26fb
Update cproductnature.class.php 2020-10-22 22:20:48 +02:00
Laurent Destailleur
f94e20c8ce Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-22 22:15:22 +02:00
Laurent Destailleur
7d7af43183 Typo 2020-10-22 22:15:08 +02:00
Laurent Destailleur
19efd633e9
Merge pull request #15107 from frederic34/patch-4
Update api_contracts.class.php
2020-10-22 21:59:47 +02:00
Laurent Destailleur
c77184c848 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-22 21:57:24 +02:00
Laurent Destailleur
0e442abd36 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/filefunc.inc.php
2020-10-22 21:57:13 +02:00
Frédéric FRANCE
12dc82c340
Update api_contracts.class.php 2020-10-22 21:51:42 +02:00
Laurent Destailleur
a5e2ab2822
Merge pull request #15106 from frederic34/rejet
add type
2020-10-22 21:36:36 +02:00
Laurent Destailleur
42963f3059
Merge pull request #15105 from frederic34/patch-6
Update product.class.php
2020-10-22 21:36:11 +02:00
Laurent Destailleur
4917fb187e
Merge pull request #15104 from ptibogxiv/patch-389
FIX lang to #15055
2020-10-22 21:35:37 +02:00
Laurent Destailleur
8505810f90
Merge pull request #15103 from hregis/develop_bug2
FIX sql syntax error
2020-10-22 21:35:14 +02:00
Frédéric FRANCE
f4b42234ec
add space 2020-10-22 21:32:12 +02:00
Laurent Destailleur
9699bdc0fa Fix phpcs 2020-10-22 21:31:34 +02:00
Frédéric FRANCE
02403ba640
add type 2020-10-22 21:29:33 +02:00
Frédéric FRANCE
36ad3bfbc9
Update product.class.php 2020-10-22 21:11:49 +02:00
ptibogxiv
f3848dac1e
FIX lang to #15055 2020-10-22 20:06:56 +02:00
Laurent Destailleur
b61e5dc9eb Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-22 20:03:41 +02:00
Laurent Destailleur
8074d2cc1d NEW Add validation of MX domain for emails 2020-10-22 20:01:59 +02:00
Regis Houssin
cbb6e4effe FIX sql syntax error 2020-10-22 19:32:32 +02:00
Laurent Destailleur
62d3d1690e
Merge pull request #15102 from fappels/develop_fix_user_list
Fix user list SQL error when user module has extrafields
2020-10-22 18:35:28 +02:00
Laurent Destailleur
c05b96f58e
Merge pull request #15099 from joseplluis/patch-10
NEW form to add customer/supplier into categories
2020-10-22 18:33:29 +02:00
Laurent Destailleur
a6484e933b Css 2020-10-22 18:28:47 +02:00
Laurent Destailleur
fb7202b7f8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-22 17:55:47 +02:00
Laurent Destailleur
0616b9bc9b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/card.php
	htdocs/compta/prelevement/line.php
	htdocs/core/class/commonobject.class.php
	htdocs/core/lib/functions2.lib.php
	htdocs/core/tpl/card_presend.tpl.php
	htdocs/expensereport/class/expensereport.class.php
	htdocs/fourn/class/fournisseur.commande.class.php
2020-10-22 17:55:38 +02:00
Francis Appels
89f00b9114 Fix user list when user module has extrafields 2020-10-22 17:54:33 +02:00
Laurent Destailleur
f04dc4de15
Merge pull request #15050 from frederic34/patch-4
Fix upload photo
2020-10-22 17:24:06 +02:00
Laurent Destailleur
30d39f890c
Merge pull request #15054 from ptibogxiv/patch-387
NEW display date range if exist in takepos
2020-10-22 17:16:46 +02:00
Laurent Destailleur
7816e5d757
Merge pull request #15055 from ptibogxiv/patch-388
NEW add alert before change thirdparty in takepos
2020-10-22 17:16:19 +02:00
Laurent Destailleur
0bb6c8dda9
Merge pull request #15100 from grandoc/new_branch_22_10_2020
fix : deprecated
2020-10-22 16:59:22 +02:00
Philippe GRAND
a2b3dbd8f8 fix : deprecated 2020-10-22 16:47:35 +02:00
Philippe GRAND
dc0d9e46b8 fix : deprecated 2020-10-22 16:46:45 +02:00
Philippe GRAND
74fc38395c fix : deprecated 2020-10-22 16:44:26 +02:00
Philippe GRAND
e0639209a7 fix : deprecated 2020-10-22 16:43:35 +02:00
Philippe GRAND
0fc054a624 fix : deprecated 2020-10-22 16:43:02 +02:00
Philippe GRAND
3ee7cfc1b7 fix : deprecated 2020-10-22 16:42:32 +02:00
Philippe GRAND
a8b25e32f0 fix : deprecated 2020-10-22 16:40:58 +02:00
Philippe GRAND
d5e456fd36 fix : deprecated 2020-10-22 16:40:03 +02:00
Philippe GRAND
3854808d21 fix : deprecated 2020-10-22 16:39:21 +02:00
Philippe GRAND
9dc93b0e29 fix : deprecated 2020-10-22 16:38:43 +02:00
Philippe GRAND
52b602b1ce fix : deprecated 2020-10-22 16:38:02 +02:00
Philippe GRAND
9260eed12a fix : deprecated 2020-10-22 16:37:06 +02:00
Philippe GRAND
1319765a4f fix : deprecated 2020-10-22 16:35:47 +02:00
Philippe GRAND
1ca6068a41 fix : deprecated 2020-10-22 16:34:12 +02:00
Philippe GRAND
fae572d43a fix : deprecated 2020-10-22 16:29:17 +02:00
Laurent Destailleur
ec2a91471e
Merge pull request #15096 from dvasseur/patch-1
NEW Allow to edit "demand reason" field though API
2020-10-22 16:19:11 +02:00
Laurent Destailleur
fec8e5a0b8
Merge pull request #15022 from bafbes/abb120350
new:handle new type reference in add and update actions
2020-10-22 16:16:52 +02:00
Laurent Destailleur
81bfbbac26
Update actions_addupdatedelete.inc.php 2020-10-22 16:16:37 +02:00
Laurent Destailleur
0c3f8d2daa
Update actions_addupdatedelete.inc.php 2020-10-22 16:16:14 +02:00
stickler-ci
b5c2c6b755 Fixing style errors. 2020-10-22 14:15:16 +00:00
Laurent Destailleur
b88a9fc94d
Update actions_addupdatedelete.inc.php 2020-10-22 16:15:11 +02:00
Laurent Destailleur
2702bd023f
Merge pull request #15059 from frederic34/patch-6
Add ref instead id in bank check remittance
2020-10-22 16:12:31 +02:00
Josep Lluís
31ae2f2a21
NEW form to add customer/supplier into categories
Form to add customers and suppliers into categories, as in products
2020-10-22 16:12:01 +02:00
Laurent Destailleur
c09e71962e
Merge pull request #15060 from grandoc/new_branch_19_10_2020
fix : Warning: A non-numeric value encountered in /home/httpd/vhosts/…
2020-10-22 16:11:47 +02:00
Laurent Destailleur
9c9d468a18
Merge pull request #15052 from andreubisquerra/master
TakePOS connector compatibility with templates
2020-10-22 16:11:16 +02:00
Laurent Destailleur
db06dc54a5
Merge pull request #15061 from hregis/develop_bug2
FIX wrong object name
2020-10-22 16:10:15 +02:00
Laurent Destailleur
315f125f28
Merge pull request #15068 from OPEN-DSI/calculate_virtual_stock_transverse_mode
NEW : Calculate the virtual stock in transverse mode
2020-10-22 15:56:03 +02:00
David
12a599d1c7
Allow "demand reason" field update though API 2020-10-22 15:53:55 +02:00
Laurent Destailleur
763d0baa14
Merge pull request #15066 from louiscarrese/develop
CLOSE #15065 Put the product label in bold in the PDF templates if co…
2020-10-22 15:53:43 +02:00
Laurent Destailleur
272caceab9
Merge pull request #15071 from joseplluis/patch-8
Add customer country information in popup
2020-10-22 15:53:12 +02:00
Laurent Destailleur
a83131276d
Merge pull request #15079 from FHenry/dev_addtranslationkeyPDFInvoiceSituation
new: add PDFInvoiceSituation translation key for PDF title
2020-10-22 15:49:25 +02:00
Laurent Destailleur
1a70c016c5
Merge pull request #15093 from OPEN-DSI/new-invoice-list-margin-info-rights
Add rights on margin info on invoice list
2020-10-22 15:49:05 +02:00
Laurent Destailleur
bf6ec35478
Merge pull request #15095 from joseplluis/patch-9
FIX input name in MRP mask const
2020-10-22 15:45:36 +02:00
Laurent Destailleur
b96a59b089
Merge pull request #15086 from ppenelon/develop
NEW Retrieve discount from invoice from API
2020-10-22 15:45:09 +02:00
Laurent Destailleur
d7b7e1e386
Merge pull request #15083 from frederic34/printing_module
can add a driver for printing in module
2020-10-22 15:43:55 +02:00
Josep Lluís
1221cc854d
FIX input name in MRP mask const
input name in MRP mask const was wrong
2020-10-22 15:23:45 +02:00
Laurent Destailleur
a5d52baa05
Merge pull request #15089 from frederic34/patch-7
fill incoterms with company parameters
2020-10-22 15:09:47 +02:00
Laurent Destailleur
b45c99faec Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-22 15:03:34 +02:00
Laurent Destailleur
92c6152ad5 FIX #14995 2020-10-22 15:03:12 +02:00
lvessiller
b13ef34804 NEW add rights on margin info on invoice list 2020-10-22 14:56:53 +02:00
Frédéric FRANCE
7d8df07253
Update card.php 2020-10-22 11:46:12 +02:00
Pierre Penelon
1d218b3260
Linting api_invoices.class.php 2020-10-22 09:56:13 +02:00
Pierre Penelon
b8cb080f0d
ADD Retrieve discount from invoice from API
As I was unable to retrieve discount ID of created discount from invoice with API.
This commit add a route to get discount from a specific invoice ID.
2020-10-22 09:26:46 +02:00
Frédéric FRANCE
f54164bd10
modify action 2020-10-21 21:33:23 +02:00
Frédéric FRANCE
f500076247
remove warning 2020-10-21 21:21:30 +02:00
Frédéric FRANCE
4873794dc0
doxygen 2020-10-21 21:08:33 +02:00
Frédéric FRANCE
06325f9422
doxygen 2020-10-21 21:00:50 +02:00
Frédéric FRANCE
81f6a7abb6
can add a driver for printing in module 2020-10-21 20:18:06 +02:00
Laurent Destailleur
351c8a5a2d Merge branch 'develop' of https://github.com/dolibarr/dolibarr into develop 2020-10-21 20:10:43 +02:00
Pierre Penelon
cd1f8dd1da
Merge pull request #1 from Dolibarr/develop
Update from master
2020-10-21 20:01:29 +02:00
Laurent Destailleur
30f8dbad59
Merge pull request #15081 from OPEN-DSI/new-invoice-list-margin-info
NEW add margin info in invoice list
2020-10-21 19:53:07 +02:00
Laurent Destailleur
5a9aa38cd1
Merge pull request #15082 from frederic34/patch-7
add missing parameter
2020-10-21 19:51:33 +02:00
Laurent Destailleur
409f8f9866 Update doc 2020-10-21 19:50:40 +02:00
Frédéric FRANCE
672797aa65
add missing parameter 2020-10-21 17:09:40 +02:00
lvessiller
9b423106dc NEW add margin info in invoice list 2020-10-21 16:10:48 +02:00
Florian HENRY
d347af385b new: add PDFInvoiceSituation translation key for PDF title 2020-10-21 13:47:40 +02:00
Laurent Destailleur
a729bff062 Fix trans 2020-10-21 11:54:18 +02:00
Laurent Destailleur
2a31d43938 FIX Show errors in session on login page 2020-10-20 18:41:26 +02:00
stickler-ci
ff02bba5bf Fixing style errors. 2020-10-20 15:18:29 +00:00
Josep Lluís
e51dd2919e
Add customer country information in popup
Add customer country information in popup of draft invoices.
In other boxes it's ok.
2020-10-20 17:15:03 +02:00
Laurent Destailleur
4ec4801c77 FIX Only template of enabled modules visible 2020-10-20 15:54:08 +02:00
kamel
134994882c NEW : Calculate the virtual stock in transverse mode ( not on getEntity('commande'), ... but on getEntity('stock') ) 2020-10-20 15:52:29 +02:00
Louis Carrese
693e345cab CLOSE #15065 Fix formatting
Had spaces instead of tabs...
2020-10-20 14:34:17 +02:00
Louis Carrese
f377456132 CLOSE #15065 Put the product label in bold in the PDF templates if configured
The global configuration variable PDF_BOLD_PRODUCT_LABEL is checked to put the product label in bold in the PDF
templates.
This modification is based on the same behaviour for the product reference, found at line 1373 of the same file.

The products table of the invoices / commercial propositions is produced in the PDF library, hence we have to modify
this library to style the invoices.
Producing a new template would mean duplicating code from the library with the maintenace implications.
2020-10-20 14:19:37 +02:00
Philippe Grand
85513318d0
Update functions.lib.php 2020-10-20 09:30:41 +02:00
Regis Houssin
c0981128ff FIX wrong object name 2020-10-19 17:10:38 +02:00
Philippe GRAND
5233c6064f fix : Warning: A non-numeric value encountered in /home/httpd/vhosts/.../domains/httpdocs/core/lib/functions.lib.php on line 4379 2020-10-19 16:30:12 +02:00
lmarcouiller
1ee8c34bf5 FIX pb of duplicate event on command when refreshing the page after command classification as billed or closed 2020-10-19 14:20:49 +02:00
lmarcouiller
90b2d41b02 FIX pb of duplicate event on command when refreshing the page after command classification as billed or closed 2020-10-19 14:19:34 +02:00
lmarcouiller
64d8d5334c FIX pb of duplicate event on command when refreshing the page after command classification as billed or closed 2020-10-19 14:12:32 +02:00
Frédéric FRANCE
78bc3ecbfd
Add ref instead id in bank check remittance 2020-10-19 14:10:48 +02:00
lmarcouiller
edd391da3a FIX pb of duplicate event on command when refreshing the page after command classification as billed or closed 2020-10-19 14:09:55 +02:00
lmarcouiller
511943c052 FIX pb of duplicate event on command when refreshing the page after command classification as billed or closed 2020-10-19 14:05:32 +02:00
lmarcouiller
71db2603e1 FIX pb of duplicate event on command when refreshing the page after command classification as billed or closed 2020-10-19 13:52:12 +02:00
stickler-ci
18b71e2fa6 Fixing style errors. 2020-10-18 13:38:00 +00:00
ptibogxiv
e1a7de32e1
NEW add alert before change thirdparty in takepos
With some prices rules, change thirdparty should only done before add products to draft invoice.
We can't block it but display an alert can be done for users
2020-10-18 15:36:04 +02:00
Laurent Destailleur
ef182bed07 Fix browser reminder 2020-10-18 14:00:47 +02:00
ptibogxiv
7e8891bef9
NEW display date range if exist in takepos
usefull for membership via POS (ie use in adherentsplus before pushing in core)
2020-10-18 12:40:10 +02:00
jove@bisquerra.com
1283c6e095 TakePOS connector compatibility with templates 2020-10-18 09:29:33 +02:00
Laurent De Coninck
d2e2cad028
select by default, remove the show empty everywhere the field is required 2020-10-17 21:15:52 +02:00
Laurent Destailleur
547b3602cc FIX refresh of tasks combo must use an ajax page not a full html page 2020-10-17 21:14:19 +02:00
Laurent De Coninck
cea7fd6894
select the only bank account
When there is only one bank account in the dropdown of the bank account,
select it by default.

[see: #11878]
2020-10-17 20:45:37 +02:00
Frédéric FRANCE
8fd4101876
Fix upload photo 2020-10-17 20:43:34 +02:00
Laurent Destailleur
53eef48596 Doc 2020-10-17 20:06:30 +02:00
Laurent Destailleur
a9521b13f9 FIX Assignement of event to create when created from view per user. 2020-10-17 19:52:23 +02:00
Laurent Destailleur
8432a2a0dd Fix phpcs 2020-10-17 19:05:08 +02:00
Laurent Destailleur
4fe857f5d2 Change picto to close a widget 2020-10-17 17:54:09 +02:00
Laurent Destailleur
05535556c7 css 2020-10-17 16:39:47 +02:00
Laurent Destailleur
1a1e23bf5d Clean code 2020-10-17 16:01:43 +02:00
Laurent Destailleur
7b20e703ee Clean code 2020-10-17 15:53:31 +02:00
Laurent Destailleur
27698ab5c7 Protect page for module management with token even for GET action 2020-10-17 14:01:09 +02:00
Laurent Destailleur
20b6d3828e NEW Show image of user in the combo select of users 2020-10-17 13:27:39 +02:00
Laurent Destailleur
5df1218d9f Enhance page to setup email templates 2020-10-17 12:59:22 +02:00
Laurent Destailleur
dfb5c78a68 FIX bad concat when generating desription of event on email sent 2020-10-17 11:51:17 +02:00
Laurent Destailleur
3d215048d0 Update Stripe API use to 2020-08-27 2020-10-17 11:16:30 +02:00
Laurent Destailleur
e3552e7e02 Clean code 2020-10-16 20:17:54 +02:00
Laurent Destailleur
f737e01a31 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-16 17:40:35 +02:00
Laurent Destailleur
4a3dc6ecb3 Fix syntax error 2020-10-16 17:40:19 +02:00
Laurent Destailleur
67785887fd
Merge pull request #15035 from andreubisquerra/master
Change the tag char for security reasons in 'Receipt Printer' module
2020-10-16 17:20:04 +02:00
Laurent Destailleur
b69d178436
Merge pull request #15038 from aspangaro/13a25
FIX Binding on expense report (Double rowid)
2020-10-16 17:15:17 +02:00
Laurent Destailleur
52a5ac965b
Merge pull request #15042 from ndrosis/patch-27
Add & Update tva for Greece
2020-10-16 17:13:46 +02:00
Laurent Destailleur
27282d7e3d FIX Include the ticket and mo table in merge process of thirdparty 2020-10-16 17:08:23 +02:00
Laurent Destailleur
885e6caaa1 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/pdf.lib.php
2020-10-16 15:53:31 +02:00
Laurent Destailleur
e74b833d7f Look and feel v13 2020-10-16 15:40:52 +02:00
Laurent Destailleur
3e75cbbeb5 Fix for smartphone 2020-10-16 14:50:36 +02:00
Drosis Nikos
6ea9befb48
Add & Update tva for Greece 2020-10-16 15:20:12 +03:00
Laurent Destailleur
4dea8c4bb7 Fix missing token 2020-10-16 13:36:05 +02:00
Laurent Destailleur
7504f92a41 Standardize code and look and feel 2020-10-16 13:30:20 +02:00
Alexandre SPANGARO
67cf917f7b FIX Binding on expense report (Double rowid) 2020-10-16 11:57:36 +02:00
Laurent Destailleur
7a7e1ad7cf CSS 2020-10-16 00:29:35 +02:00
Laurent Destailleur
5905d3be64 Fix phpcs 2020-10-16 00:06:26 +02:00
jove@bisquerra.com
f90b236e0f Change the tag char for security reasons in 'Receipt Printer' module 2020-10-15 23:44:13 +02:00
Laurent Destailleur
64b1a31e45
Merge pull request #15018 from FHenry/dev_add_dict_NatureOfProductType
NEW : Nature of product is now a dictionay
2020-10-15 21:07:42 +02:00
Laurent Destailleur
a1913995df Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/boxes/box_services_contracts.php
	htdocs/core/modules/expensereport/doc/pdf_standard.modules.php
	htdocs/expensereport/class/expensereport.class.php
2020-10-15 21:05:00 +02:00
Laurent Destailleur
cd9acd02a1 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-15 20:51:46 +02:00
Laurent Destailleur
9bbb471b4f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/stats/cabyprodserv.php
	htdocs/fourn/class/fournisseur.commande.class.php
	htdocs/loan/card.php
2020-10-15 20:51:30 +02:00
Laurent Destailleur
24f7a8aeed
Merge pull request #15028 from FHenry/fix_intracom
fix table creation for intracom and change reserved name column name
2020-10-15 20:19:05 +02:00
Laurent Destailleur
86887fc650
Update intracommreport.php 2020-10-15 20:18:00 +02:00
Laurent Destailleur
4c684536d1
Merge pull request #15031 from FHenry/dev_add_lateOutsatndingAmount_into_customer_tab
NEW: Thirdparty module : box on customer/supplier tab for invoice outsantding amount late
2020-10-15 20:16:45 +02:00
Laurent Destailleur
2155c0123d
Merge pull request #15021 from Givriz/dev
Fix : correction de commentaires
2020-10-15 20:15:12 +02:00
Laurent Destailleur
14a26c499f
Merge pull request #15027 from ATM-Nicolas/fix_ecm_src_object_type
FIX : Use table_element instead of element
2020-10-15 20:14:39 +02:00
Laurent Destailleur
5044d7a808
Merge pull request #15032 from gnovaro/patch-1
Improve README.md adding 2 more shields
2020-10-15 20:14:10 +02:00
Laurent Destailleur
4662402a40
Merge pull request #15033 from jasson99/resizeBrowserSizeForTests
Specify window size for tests run
2020-10-15 20:12:20 +02:00
Laurent Destailleur
5b37ff0bfd Html entities use now HTML5. Enhance the Dolibarr WAF. More PHPUnit
tests.
2020-10-15 19:36:08 +02:00
jasson99
741700db7a admin login stepdefinition moved from addUsersContext file to loginContext file 2020-10-15 19:41:49 +05:45
jasson99
15dfcdb8e3 window-size is kept fixed for acceptance tests run 2020-10-15 19:26:10 +05:45
Gustavo Novaro
4727aee211
Improve README.md adding 2 more shields
- Add minimum php version
- Latest release
2020-10-15 13:44:54 +02:00
Laurent Destailleur
844c4dec4d css 2020-10-15 13:16:17 +02:00
stickler-ci
cd5201e40a Fixing style errors. 2020-10-15 10:24:00 +00:00
Florian HENRY
0cb04d14d7 NEW: Thirdparty module : box on customer/supplier tab for outsantding amount late 2020-10-15 12:20:37 +02:00
Florian HENRY
a0d1e96bfd fix table creation for intracom and change reserved name column name 2020-10-15 11:37:44 +02:00
Laurent Destailleur
c271761212 Update doc 2020-10-15 11:36:19 +02:00
ATM-Nicolas
20aee01fd8 FIX : Use table_element instead of element 2020-10-15 11:14:20 +02:00
Laurent Destailleur
f33688bd0c Update doc 2020-10-15 11:01:37 +02:00
Laurent Destailleur
d21578d759 Update doc 2020-10-15 10:47:44 +02:00
Laurent Destailleur
5b091c01db Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-15 10:42:08 +02:00
Laurent Destailleur
6ad069a883 Enhance doc 2020-10-15 10:41:57 +02:00
Laurent Destailleur
7ba513f569
Merge pull request #15024 from amunaadh/develop
ReadMe file inside Acceptance test edited
2020-10-15 10:30:17 +02:00
Laurent Destailleur
520645a02c Renamed all methods valide() into validate() 2020-10-15 10:15:37 +02:00
Florian HENRY
6a4e01de1d fix review 2020-10-15 08:36:04 +02:00
Florian HENRY
0597768ea8 fix review 2020-10-15 08:28:38 +02:00
Florian HENRY
109d1ab801 Merge github.com:Dolibarr/dolibarr into dev_add_dict_NatureOfProductType 2020-10-15 08:25:46 +02:00
Yamuna Adhikari
6779b85094
Merge pull request #7 from amunaadh/EditAcceptance-ReadMe
ReadMe file inside Acceptance test edited
2020-10-15 10:34:00 +05:45
amunaadh
baddd7741e ReadMe file edited
Co-authored-by: Swikriti Tripathi <swikriti808@gmail.com>
2020-10-15 10:20:13 +05:45
bahfir abbes
db5292e647 new:handle new type reference in add and update actions 2020-10-15 01:19:05 +01:00
Laurent Destailleur
9cc8e6ac99 Fix intracommreport 2020-10-14 20:25:02 +02:00
Laurent Destailleur
0908ac5867 Fix phpcs 2020-10-14 20:18:07 +02:00
Laurent Destailleur
20d5098ce2 Fix regression in dol_getdate() 2020-10-14 19:42:17 +02:00
Laurent Destailleur
bc1ad96ad1 FIX #14993 2020-10-14 19:28:59 +02:00
Laurent Destailleur
a8eeb7099a Fix style of online help when page available. 2020-10-14 19:01:37 +02:00
Laurent Destailleur
9162e1fe96
Merge pull request #15020 from defrance/patch-159
NEW If specific help page is available, we change color of icon
2020-10-14 18:53:44 +02:00
Laurent Destailleur
f4ef8a3285
Use class instead of hard coded style 2020-10-14 18:52:41 +02:00
Givriz
c50e288a07 Correction de commentaires
Correction de commentaires (passage de français à anglais ou correction d'un mauvais anglais).
2020-10-14 18:26:05 +02:00
stickler-ci
05ac7c91c7 Fixing style errors. 2020-10-14 16:25:23 +00:00
Florian HENRY
174bc67744 Merge branch 'dev_add_dict_NatureOfProductType' of github.com:FHenry/dolibarr into dev_add_dict_NatureOfProductType 2020-10-14 18:23:11 +02:00
Florian HENRY
4fd32325d6 cast int 2020-10-14 18:22:55 +02:00
stickler-ci
ee631e629f Fixing style errors. 2020-10-14 16:22:11 +00:00
Florian HENRY
9c3988da5c add show empty 2020-10-14 18:19:41 +02:00
Florian HENRY
bcb98d1d67 Merge github.com:Dolibarr/dolibarr into dev_add_dict_NatureOfProductType 2020-10-14 18:16:34 +02:00
Florian HENRY
dfa2625de7 Merge branch 'dev_add_dict_NatureOfProductType' of github.com:FHenry/dolibarr into dev_add_dict_NatureOfProductType 2020-10-14 18:16:19 +02:00
Florian HENRY
50a9bd368c review 2020-10-14 18:15:48 +02:00
BENKE Charlene
1af3881796
If specific help present we change color of icon 2020-10-14 18:08:31 +02:00
Laurent Destailleur
1e2fd359ac Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-14 18:03:19 +02:00
Laurent Destailleur
fc69b88923 Update doc 2020-10-14 18:03:02 +02:00
Laurent Destailleur
034d3d7072
Merge pull request #15014 from amunaadh/develop
[Tests-only] Added API tests for add users feature
2020-10-14 17:54:51 +02:00
Laurent Destailleur
bb367a4489
Update dict.php 2020-10-14 17:40:27 +02:00
Laurent Destailleur
c079076488
Merge pull request #15010 from bafbes/abb120147
fix:allow const files loading from modules inside custom folders
2020-10-14 17:39:08 +02:00
Laurent Destailleur
a2a6ddaa66
Merge pull request #15008 from TobiasSekan/SelectableColumnsOnSalesTaxesList
NEW Selectable columns on sales tax list
2020-10-14 17:37:23 +02:00
Laurent Destailleur
afc0460a7f
Merge pull request #15006 from davidNDU/clone/develop
Model Builder template/class/myobject.class.php faulty SQL statement
2020-10-14 17:36:13 +02:00
Laurent Destailleur
a0f7aad591
Merge pull request #15019 from ATM-Nicolas/new_ecm_src_object_fields
NEW : Fill ECM src object fields in dol_add_file_process
2020-10-14 17:35:29 +02:00
Laurent Destailleur
ba001803ed
Update files.lib.php 2020-10-14 17:35:14 +02:00
Laurent Destailleur
820bf5b393
Merge pull request #15011 from bafbes/abb120348
fix:boolean values in showinputfield function are 1 and 0 not 'on' and 'off'
2020-10-14 17:18:02 +02:00
Laurent Destailleur
ee19f3fc94
Update actions_addupdatedelete.inc.php 2020-10-14 17:16:35 +02:00
Laurent Destailleur
bfe760ffcb
Merge pull request #15012 from bafbes/abb120349
fix:two fields with same ids
2020-10-14 17:15:24 +02:00
Laurent Destailleur
57aabfb3c5
Merge pull request #15013 from FHenry/dev_objectrefferent_for_BOM
NEW display stat for BOM on "object referent"/linked Object product tab
2020-10-14 17:14:47 +02:00
Laurent Destailleur
e423bbf823 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-14 17:11:58 +02:00
Laurent Destailleur
e8ea7125e5 Removed the FIXME. The dol_getdate can now use a timezone. 2020-10-14 17:11:22 +02:00
ATM-Nicolas
98eb11be62 NEW : Fill ECM src object fields in dol_add_file_process 2020-10-14 16:59:05 +02:00
Florian HENRY
fd1fa1c777 Merge github.com:Dolibarr/dolibarr into dev_add_dict_NatureOfProductType 2020-10-14 16:39:54 +02:00
Florian HENRY
7d09f22afa add correct import and dict edition 2020-10-14 16:39:42 +02:00
Florian HENRY
940d478aec UI and db OK 2020-10-14 15:54:48 +02:00
Laurent Destailleur
3cf2b6b5eb Doc comment. 2020-10-14 15:01:50 +02:00
Laurent Destailleur
fe19eea540
Merge pull request #15007 from hregis/develop_bug2
FIX avoid spaces in file name
2020-10-14 14:45:40 +02:00
Florian HENRY
90df353f0c fix number of lines 2020-10-14 14:30:07 +02:00
Florian HENRY
a2ef7bc61e add select 2020-10-14 14:26:40 +02:00
Laurent Destailleur
a0b17635fd NEW When creating a user from a member linked to a thirdparty, you can
decide if it is an internal or external (default) user.
2020-10-14 14:02:07 +02:00
Florian HENRY
fdf81b2458 Merge github.com:Dolibarr/dolibarr into dev_objectrefferent_for_BOM 2020-10-14 12:26:18 +02:00
Florian HENRY
2d1d76b5a3 add credentials 2020-10-14 12:26:10 +02:00
Florian HENRY
77de8c242c commit add table 2020-10-14 12:24:35 +02:00
Laurent Destailleur
02fcee5d94 Fix make the default sender email mandatory into setup (if not defined,
no emails can be sent).
2020-10-14 12:21:31 +02:00
Florian HENRY
ca37827e72 Merge branch 'dev_objectrefferent_for_BOM' of github.com:FHenry/dolibarr into dev_objectrefferent_for_BOM 2020-10-14 11:20:48 +02:00
Florian HENRY
14a3e30270 fix travis 2020-10-14 11:20:27 +02:00
stickler-ci
8bfb04ea7f Fixing style errors. 2020-10-14 08:34:30 +00:00
Florian HENRY
08379cbfc6 Merge branch 'dev_objectrefferent_for_BOM' of github.com:FHenry/dolibarr into dev_objectrefferent_for_BOM 2020-10-14 10:32:07 +02:00
Florian HENRY
ee67d2b1a8 fixnhish bom product stats 2020-10-14 10:30:39 +02:00
Yamuna Adhikari
f46c0de35e
Merge pull request #6 from amunaadh/APItest_branch
API test added for addUsers
2020-10-14 13:04:27 +05:45
amunaadh
5d33761b13 API test added for addUsers
Co-authored-by: Swikriti Tripathi <swikriti808@gmail.com>
2020-10-14 13:03:38 +05:45
stickler-ci
7abb0caf91 Fixing style errors. 2020-10-14 06:47:16 +00:00
Florian HENRY
6ff58aafdc Merge github.com:Dolibarr/dolibarr into dev_objectrefferent_for_BOM 2020-10-14 08:43:07 +02:00
Florian HENRY
74155a49be finish BOM stat referent object 2020-10-14 08:42:57 +02:00
Laurent Destailleur
7838ca32ba Fix sql injection reported by Jason Nordenstam 2020-10-14 01:52:53 +02:00
Laurent Destailleur
4a3a3190ea Standardize pdf templates 2020-10-14 01:46:49 +02:00
bahfir abbes
8b0a6d7f40 fix:two fields with same ids is incorrect html 2020-10-14 00:21:12 +01:00
bahfir abbes
ad21f1e293 fix:boolean values in showinputfield are 1 and 0 not 'on' and 'off' 2020-10-14 00:15:51 +01:00
Laurent Destailleur
85825a0104 Init page for security info 2020-10-14 00:57:39 +02:00
bahfir abbes
4ee6cedbe6 Option d’Activation du fichier global de configuration. 2020-10-13 23:33:25 +01:00
Laurent Destailleur
c539c6d00d Responsive 2020-10-13 17:36:45 +02:00
stickler-ci
dcd8a88e72 Fixing style errors. 2020-10-13 13:28:23 +00:00
Sekan, Tobias
f28e1dc4fb cleanup 2020-10-13 15:27:42 +02:00
Regis Houssin
0407ab013c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop_bug2 2020-10-13 15:09:54 +02:00
Sekan, Tobias
dfff32f239 Selectable columns on sales tax list 2020-10-13 15:09:25 +02:00
Laurent Destailleur
805fa00422 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-13 15:09:24 +02:00
Regis Houssin
00ee1a7433 FIX compatibility with LF (Line Feed) 2020-10-13 15:08:43 +02:00
Laurent Destailleur
029cc3734a
Merge pull request #15004 from hregis/develop_timestamp
FIX update dolibarr.pl for Virtualmin
2020-10-13 15:03:39 +02:00
Laurent Destailleur
98a4356e7c
Merge pull request #15005 from orebd/develop
FIX unkwown column tms in llx_ecm_files.sql #14947
2020-10-13 15:02:29 +02:00
Laurent Destailleur
035325152f Fix migration 2020-10-13 15:02:05 +02:00
davidNDU
43a029ef2f Model Builder template/class/myobject.class.php faulty SQL statement 2020-10-13 15:59:50 +03:00
Regis Houssin
1348c03ca0 FIX avoid spaces in file name 2020-10-13 14:46:17 +02:00
Aurélien
abfcb73a45
FIX unkwown columm tms #14947 2020-10-13 12:10:06 +02:00
Regis Houssin
dded02ebbf FIX update dolibarr.pl for Virtualmin 2020-10-13 12:06:28 +02:00
Laurent Destailleur
85f15b5f69 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-13 11:52:34 +02:00
Laurent Destailleur
969ed4acc1 Better label for status schedule of cron tasks. 2020-10-13 11:52:20 +02:00
Laurent Destailleur
32fe8a37b4
Merge pull request #14992 from TobiasSekan/SelectableColumnsOnSocialTaxesList
NEW Select-able columns on social taxes list
2020-10-13 11:11:06 +02:00
Laurent Destailleur
69432284d0
Merge pull request #14999 from andreubisquerra/master
NEW: Add third order printer to TakePOS
2020-10-13 11:03:41 +02:00
Laurent Destailleur
4f28b3e7ff
Merge pull request #15003 from grandoc/new_branch_13_10_2020
fix Call to undefined method Form::formTransportMode()
2020-10-13 11:03:11 +02:00
Laurent Destailleur
64e20959f6 Fix bad link 2020-10-13 11:00:56 +02:00
Laurent Destailleur
bc6b5d919a Better responsive 2020-10-13 10:51:51 +02:00
Laurent Destailleur
7c67dbf6d5 Better responsive 2020-10-13 10:05:47 +02:00
Philippe GRAND
d66a1ac350 fix Call to undefined method Form::formTransportMode() 2020-10-13 10:05:44 +02:00
Florian HENRY
4bf428fbf8 Merge github.com:Dolibarr/dolibarr into dev_objectrefferent_for_BOM 2020-10-13 08:13:54 +02:00
andreubisquerra
d80931429e
Fix travis 2020-10-12 22:34:05 +02:00
jove@bisquerra.com
54f9ed6346 NEW: Add third order printer to TakePOS 2020-10-12 22:07:05 +02:00
Laurent Destailleur
e00cf0d37c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-12 19:40:13 +02:00
Laurent Destailleur
042a9f3efe Fix missing newtoken() 2020-10-12 19:39:54 +02:00
Laurent Destailleur
66a6415230
Merge pull request #14994 from grandoc/new_branch_12_10_2020
fix : undefined index
2020-10-12 19:37:37 +02:00
Laurent Destailleur
ff8f4c46d9
Merge pull request #14996 from Givriz/dev
Fix : correction de commentaires
2020-10-12 19:37:03 +02:00
Laurent Destailleur
fcd4645509 Standardize code: Property product_libelle renamed into product_label
Move common vars declaration into parent class.
2020-10-12 19:33:00 +02:00
Damien BENOIT
276783a709
Essai de revalidation
Une ligne n'était pas synchronisée avec le projet upstream.
2020-10-12 18:36:13 +02:00
Givriz
d158716ccc Fix : correction de commentaires
Correction de commentaires (passage de français à anglais ou correction d'un mauvais anglais). Il reste beaucoup à faire, mais je fais un premier PR pour vérifier que cela marche.
2020-10-12 17:41:03 +02:00
Philippe GRAND
4da75c4251 fix : undefined index 2020-10-12 16:11:56 +02:00
Laurent Destailleur
ad461a098b Fix look and feel 2020-10-12 14:06:19 +02:00
stickler-ci
675b1e613b Fixing style errors. 2020-10-12 12:05:38 +00:00
Laurent Destailleur
f468c61df3 Fix More powerfull detection of bad use of newToken 2020-10-12 14:04:34 +02:00
Laurent Destailleur
75997bb8f5 Minor fixes 2020-10-12 14:01:15 +02:00
Sekan, Tobias
3b905bdcd5 Selectable columns on social taxes list 2020-10-12 14:00:33 +02:00
Florian HENRY
739de365c0 load stat_bom 2020-10-12 13:52:50 +02:00
Laurent Destailleur
726fd1b631
Merge pull request #11227 from aspangaro/10.0_intracommreport
NEW module Intracomm report
2020-10-12 13:35:58 +02:00
Laurent Destailleur
9d2b383864
Merge pull request #14987 from FHenry/develop
fix : add missing Autocomplete payment amount "arrow" donnation payment
2020-10-12 13:07:09 +02:00
Laurent Destailleur
9eb45c500f
Merge pull request #14988 from aspangaro/13a24
FIX Show accounting account in supplier invoice when line is binded
2020-10-12 13:06:34 +02:00
Laurent Destailleur
b27c95bab0
Merge pull request #14989 from FHenry/dev_finish_packingfeature
fix : finish packging feature (allow to edit packaging quantity)
2020-10-12 13:05:34 +02:00
Laurent Destailleur
3805a7877b
Update fournisseurs.php 2020-10-12 13:05:18 +02:00
Laurent Destailleur
a1dd922394
Update modProduct.class.php 2020-10-12 13:04:10 +02:00
Laurent Destailleur
a1c01b6408
Merge pull request #14991 from FHenry/dev_fixBOM_withunit_feature
Dev fix bom with PRODUCT USE UNIT feature
2020-10-12 12:55:00 +02:00
Laurent Destailleur
a514c20183 Add warning if we try to add a task on a draft project 2020-10-12 12:53:57 +02:00
Laurent Destailleur
1538823b4c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-12 12:34:18 +02:00
Laurent Destailleur
d831edb481 Fix bad popup 2020-10-12 12:33:58 +02:00
Florian HENRY
a054a27090 fix unit usage into BOM line 2020-10-12 12:23:47 +02:00
Laurent Destailleur
77bdbb01ee
Merge pull request #14986 from Dolibarr/12.0
Non admin account can create an email template for other user
2020-10-12 12:16:31 +02:00
Laurent Destailleur
bf458215c1
Merge branch 'develop' into 12.0 2020-10-12 12:14:39 +02:00
Florian HENRY
c3a900a41c need to update packaging quantity 2020-10-12 11:44:12 +02:00
Laurent Destailleur
45e2a6409e Missing field 2020-10-12 11:30:53 +02:00
Florian HENRY
cea6eb279f add immport packaging supplier quantity 2020-10-12 11:26:09 +02:00
Florian HENRY
1f6a99e361 Merge github.com:Dolibarr/dolibarr into dev_finish_packingfeature 2020-10-12 11:11:23 +02:00
Florian HENRY
df4b208de1 fix: add missing edit field with pakaging option on 2020-10-12 11:10:49 +02:00
Alexandre SPANGARO
dd7415c937 Revert dol_fiche_head 2020-10-12 11:00:04 +02:00
Alexandre SPANGARO
873cf24641 FIX Show accounting account in supplier invoice when line is binded 2020-10-12 10:39:37 +02:00
Florian HENRY
371edd3052 Merge github.com:Dolibarr/dolibarr into develop 2020-10-12 09:43:01 +02:00
Florian HENRY
042b3f1843 fix donation payment with autocomplete 2020-10-12 09:42:35 +02:00
Laurent Destailleur
e2848fd229
Merge pull request #14980 from aspangaro/13a22
FIX #14956 Add a possibility to modify date on credit note invoice
2020-10-11 13:35:31 +02:00
Laurent Destailleur
920b31140b Fix exclude of backup files when path are for Windows 2020-10-11 13:32:50 +02:00
Laurent Destailleur
86c46bbb97 Fix backup - Exclude existing backup when path is uppercase. 2020-10-11 13:18:16 +02:00
Laurent Destailleur
ced91d049d Show admin star on audit page list 2020-10-10 16:43:15 +02:00
Laurent Destailleur
0b619f63f3 Fix error management on HR modules 2020-10-10 16:35:30 +02:00
Laurent Destailleur
b36b9170b2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-10 15:45:22 +02:00
Laurent Destailleur
437eead694 Fix bad permission 2020-10-10 15:45:04 +02:00
Laurent Destailleur
29f19d9550
Merge pull request #14964 from TobiasSekan/MoreFilterOnLeaveLog
NEW More filter for "View change logs"
2020-10-10 15:35:55 +02:00
Laurent Destailleur
7fb871d830
Merge pull request #14982 from FHenry/develop
fix return on filtered page when modify accountancy code and docker port expose
2020-10-10 15:22:48 +02:00
Laurent Destailleur
e512beeac5
Merge pull request #14984 from grandoc/new_branch_10_10_2020
add some translations
2020-10-10 15:09:46 +02:00
Philippe GRAND
ba674d09d3 add some translations 2020-10-10 14:45:58 +02:00
Philippe GRAND
094dbc1265 add some translations 2020-10-10 14:38:57 +02:00
Philippe GRAND
37b6a43c5c add some translations 2020-10-10 14:30:22 +02:00
Florian HENRY
0fee06139a Merge github.com:Dolibarr/dolibarr into develop 2020-10-10 10:23:17 +02:00
Florian HENRY
705b029608 fix return on filtered page when modify accountancy code 2020-10-10 10:22:58 +02:00
Florian HENRY
47e6ebcb8f expose mariaddb port on docker-compose 2020-10-10 08:31:07 +02:00
Alexandre SPANGARO
ae64e513a8 FIX #14956 Add a possibility to modify date on credit note invoice 2020-10-10 07:19:13 +02:00
Alexandre SPANGARO
5ffba68bee Fix 2020-10-10 06:50:28 +02:00
Alexandre SPANGARO
8876457b54 Merge remote-tracking branch 'upstream/develop' into 10.0_intracommreport 2020-10-10 06:47:05 +02:00
Laurent Destailleur
7b036f26fc
Merge pull request #14977 from davidNDU/clone/develop
Fix: Module Builder creation and listing of events
2020-10-09 19:50:58 +02:00
Laurent Destailleur
b1a838f19f
Update myobject_agenda.php 2020-10-09 19:48:35 +02:00
Laurent Destailleur
136e0da1c1
Merge pull request #14976 from fappels/develop_fix_migration
Develop fix migration
2020-10-09 19:45:14 +02:00
Laurent Destailleur
967e7997e6 Trans and clean code 2020-10-09 19:34:57 +02:00
Laurent Destailleur
cc82a15688 css 2020-10-09 18:43:24 +02:00
Laurent Destailleur
327ca5f595 css 2020-10-09 18:18:18 +02:00
Laurent Destailleur
4188a21c6b css 2020-10-09 17:59:22 +02:00
Laurent Destailleur
a3e3e0e45c Navigation in chart of account 2020-10-09 17:55:26 +02:00
Laurent Destailleur
5e3df9442f css 2020-10-09 16:57:00 +02:00
Laurent Destailleur
9ba22b97b6 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-09 16:49:38 +02:00
Laurent Destailleur
28e462e507 Debug a box with sql and performance errors 2020-10-09 16:49:23 +02:00
davidNDU
78654376ca Fix: Module Builder creation and listing of events 2020-10-09 16:54:13 +03:00
Alexandre SPANGARO
3728ab5ded Fix Travis 2020-10-09 15:37:27 +02:00
Francis Appels
4fb83a0dd6 Fix migration 2020-10-09 15:35:09 +02:00
Alexandre SPANGARO
b938cc92f2 Fix Travis 2020-10-09 15:19:09 +02:00
Francis Appels
6f5720b5b3 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-10-09 15:00:25 +02:00
Alexandre SPANGARO
473702487d Fix Travis 2020-10-09 14:44:28 +02:00
Laurent Destailleur
5b4c32ff84
Merge pull request #14930 from FHenry/develop
fix bad test syntax
2020-10-09 13:59:27 +02:00
Laurent Destailleur
501adf8151
Merge pull request #14975 from code-chicken/patch-9
Fix for #14239 / Method printObjectLine was called on an object and object->fetch_thirdparty was not done before
2020-10-09 13:58:42 +02:00
Alexandre SPANGARO
4dcd2bfcda Fix Travis 2020-10-09 13:58:35 +02:00
Laurent Destailleur
a23a91a4b9
Merge pull request #14971 from TobiasSekan/GlobalPaymentSearch
NEW: Add global search for customer payments and vendor payments
2020-10-09 13:56:52 +02:00
Laurent Destailleur
85a9714d07
Merge pull request #14972 from code-chicken/patch-7
Fix for #14957 and probably a lot of other issues
2020-10-09 13:55:29 +02:00
Laurent Destailleur
a4e8773c30
Merge pull request #14973 from hregis/develop_timestamp
FIX avoid warning "Parameter must be an array or an object that implements Countable"
2020-10-09 13:55:10 +02:00
Laurent Destailleur
1239152368
Update dolgraph.class.php 2020-10-09 13:54:47 +02:00
Laurent Destailleur
efc5dedab4 Fix format number on screen 2020-10-09 12:52:42 +02:00
Florian HENRY
29bf3d0439 Merge github.com:Dolibarr/dolibarr into develop 2020-10-09 12:20:29 +02:00
Florian HENRY
bbdf304f1e fix 2020-10-09 12:20:20 +02:00
Alexandre SPANGARO
38732914ad Fix sticklerCI 2020-10-09 11:59:27 +02:00
Laurent Destailleur
e24ec99c8f Fix regression 2020-10-09 11:51:34 +02:00
Laurent Destailleur
4eaf2c0350 Fix regression 2020-10-09 11:49:45 +02:00
Rüdiger Hahn
d789aaad7f
Fix for #14239
Message: Error: Method printObjectLine was called on an object and object->fetch_thirdparty was not done before
2020-10-09 11:29:39 +02:00
Laurent Destailleur
b6fc33c454 Fix avoid error when we sumbit form to change page on conciliation 2020-10-09 11:13:02 +02:00
Regis Houssin
5ffeb5d639 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop_timestamp 2020-10-09 11:04:23 +02:00
Regis Houssin
b591e6510b FIX avoid warning "Parameter must be an array" 2020-10-09 11:03:44 +02:00
Rüdiger Hahn
5510f1feef
Fix for #14957 and probably a lot of other issues
Convert special characters for a valid use in xml documents
2020-10-09 10:59:06 +02:00
Laurent Destailleur
fe2e41527a Fix sql error 2020-10-09 10:28:26 +02:00
Laurent Destailleur
ec28a4fcdc More info on tooltip 2020-10-09 10:21:07 +02:00
Laurent Destailleur
5ac7d4dbac Show last 12 bank receipts instead of 15 2020-10-09 10:02:13 +02:00
Alexandre SPANGARO
b3b37dd9ee Fix sticklerCI 2020-10-09 09:32:50 +02:00
stickler-ci
6b3f20dc65 Fixing style errors. 2020-10-09 07:29:25 +00:00
Sekan, Tobias
35fbc602ee Add global payment search 2020-10-09 09:22:26 +02:00
Alexandre SPANGARO
ca7ad35342 Merge remote-tracking branch 'upstream/develop' into 10.0_intracommreport 2020-10-09 06:39:42 +02:00
Laurent Destailleur
fbd9229f9b
Fix: no formatting when storing into memory. Formatting when forging sql 2020-10-08 20:03:16 +02:00
Laurent Destailleur
7766676f00 Move readme position 2020-10-08 19:45:53 +02:00
Laurent Destailleur
e53309fdf3
Merge pull request #14950 from SwikritiT/develop
[Tests-Only] Added end-to-end tests
2020-10-08 19:43:22 +02:00
Laurent Destailleur
5352eb6734
Merge pull request #14967 from hregis/develop_timestamp
FIX add default value of timestamp for avoid error
2020-10-08 19:40:59 +02:00
Laurent Destailleur
605948345c
Merge pull request #14959 from frederic34/patch-4
Deprecated: The key sudo has no effect anymore.
2020-10-08 19:31:48 +02:00
Laurent Destailleur
1b92e03f47
Merge pull request #14921 from ptibogxiv/patch-383
NEW set entity when creating invoice on takepos
2020-10-08 19:30:37 +02:00
Laurent Destailleur
0628c92bdb
Merge pull request #14960 from rabib-metroworks/import-po
NEW ADDED IMPORT TOOL FOR PO
2020-10-08 19:29:53 +02:00
Laurent Destailleur
01ab066b7b
Merge pull request #14963 from atm-quentin/NEW_helper_functions
NEW helper functions for export with phpspreadsheet
2020-10-08 19:29:16 +02:00
Laurent Destailleur
66744658a2
Merge pull request #14966 from hregis/12_bug
FIX Multicompany compatibility (missing entity value)
2020-10-08 19:26:49 +02:00
Laurent Destailleur
e7c456f6f2 NEW Add column payment term into list of supplier invoices. 2020-10-08 19:22:21 +02:00
Aurélien
3daf530a92
Revert "update dependencies migration12->13.sql #14697"
This reverts commit 5fa481422a.
2020-10-08 18:52:17 +02:00
Laurent Destailleur
047d6f78e7 Fix status disabled of task intocombo list 2020-10-08 17:49:26 +02:00
Laurent Destailleur
925f240340 Fix user 2020-10-08 17:13:51 +02:00
Aurélien
b6283c1a5d
Merge remote-tracking branch 'upstream/develop' into translateModLivraison2ModDelivery 2020-10-08 16:19:10 +02:00
Regis Houssin
0dc24c87b8 FIX nuke DEFAULT CURRENT_TIMESTAMP in pgsql 2020-10-08 16:16:49 +02:00
Aurélien
5fa481422a
update dependencies migration12->13.sql #14697 2020-10-08 15:56:44 +02:00
Regis Houssin
09e7420936 FIX missing entity in href 2020-10-08 15:51:46 +02:00
Laurent Destailleur
ed3a4de438 Fix security hole 2020-10-08 14:30:59 +02:00
Regis Houssin
111f73bd86 FIX add default value of timestamp for avoid error 2020-10-08 12:29:01 +02:00
Laurent Destailleur
b8681c0b41 css 2020-10-08 11:59:33 +02:00
Laurent Destailleur
24d35ff9b5 CSS 2020-10-08 11:52:58 +02:00
Regis Houssin
aa84b76b6a FIX Multicompany compatibility (missing entity value) 2020-10-08 11:43:12 +02:00
Laurent Destailleur
3cd953bc41 Fix colspan 2020-10-08 11:40:05 +02:00
quentin
77552c6508 Merge branch 'NEW_helper_functions' of github.com:atm-quentin/dolibarr into NEW_helper_functions 2020-10-08 10:50:08 +02:00
quentin
7591ec6cf6 FIX style 2020-10-08 10:49:29 +02:00
stickler-ci
f4c3d9d7bb Fixing style errors. 2020-10-08 08:38:28 +00:00
stickler-ci
f5b34370b6 Fixing style errors. 2020-10-08 08:34:40 +00:00
quentin
fe8d7f7f1b missing public parameter 2020-10-08 10:32:16 +02:00
Sekan, Tobias
7e3a3a4cf3 Add more filter for leave log view 2020-10-08 10:30:09 +02:00
quentin
bf97d2a50f NEW helper functions for export with phpspreadsheet 2020-10-08 10:26:30 +02:00
Laurent Destailleur
4674eda45a Standardize columns comment 2020-10-08 10:13:44 +02:00
Laurent Destailleur
688d915cca CSS 2020-10-08 10:04:36 +02:00
Laurent Destailleur
70fa262293 CSS 2020-10-08 09:30:15 +02:00
SwikritiT
475893f4de READ ME added
Co-authored-by: Yamuna Adhikari <adhikariamuna4444@gmail.com>
2020-10-08 12:59:56 +05:45
SwikritiT
7b4123cb78 git ignore
Co-authored-by: Yamuna Adhikari <adhikariamuna4444@gmail.com>
2020-10-08 12:59:56 +05:45
SwikritiT
f343fbb55e travis setup
Co-authored-by: Yamuna Adhikari <adhikariamuna4444@gmail.com>
2020-10-08 12:59:56 +05:45
SwikritiT
1ef46d082c Feature files created to login, add users and logout
Co-authored-by: Yamuna Adhikari <adhikariamuna4444@gmail.com>
2020-10-08 12:59:56 +05:45
Aurélien
9c02390066
fix migration12->13.sql #14697
fix drop constraint
fix error on update extrafields
2020-10-07 21:50:54 +02:00
Aurélien
16e076d182
fix UPDATE llx_extrafields.elementtype = livraison to delivery #14697 2020-10-07 20:54:56 +02:00
Ahmad Jamaly Rabib
40e16cc840 NEW ADDED IMPORT TOOL FOR PO
Added Purchase Order import functionality
2020-10-08 00:34:53 +06:00
Frédéric FRANCE
666ae81b4c
Deprecated: The key sudo has no effect anymore.
https://config.travis-ci.com/ref/sudo
2020-10-07 20:16:16 +02:00
Laurent Destailleur
ff739dcbd2 Increase size of small image (used by PDF) 2020-10-07 19:39:17 +02:00
Laurent Destailleur
1a39e963a5 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-07 17:41:55 +02:00
Laurent Destailleur
eb41a72e27 Properties ->titre have been renamed into ->title 2020-10-07 17:41:36 +02:00
Laurent Destailleur
532cdd639f
Merge pull request #14955 from Dolisupport/develop
Improved emailconfirmation of ticket module when you create a new ticket
2020-10-07 17:19:56 +02:00
Laurent Destailleur
561ca757d7 phpcs 2020-10-07 17:17:13 +02:00
Hans
57acfb738f
Update card.php 2020-10-07 16:48:50 +02:00
Hans
f6f164893e
Update ticket.class.php 2020-10-07 16:45:06 +02:00
Laurent Destailleur
24295b309d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-07 15:38:24 +02:00
Laurent Destailleur
c7ca99accb Fix default value of enabled property of menu entry 2020-10-07 15:38:07 +02:00
Laurent Destailleur
213cefb570
Merge pull request #14941 from aspangaro/13a22
WIP NEW Add clone functionality on miscellaneous payment
2020-10-07 15:31:09 +02:00
Laurent Destailleur
45762ecccb Use ajax select2 beautifier in select component of type of holiday 2020-10-07 15:28:19 +02:00
Laurent Destailleur
85f38f7504 css 2020-10-07 15:27:50 +02:00
Laurent Destailleur
400146bed4
Merge pull request #14953 from TobiasSekan/MoreFilterOnMonthlyStatementList
NEW Add more filters on monthly statement list
2020-10-07 15:23:47 +02:00
Laurent Destailleur
ad5641dc76
Merge pull request #14951 from TobiasSekan/SelectableColumnsOnSupplierInvoicePaymentList
NEW Select-able columns on supplier invoice payment list
2020-10-07 15:19:19 +02:00
Laurent Destailleur
415840e346
Merge pull request #14952 from TobiasSekan/AllowZeroQualityOnSupplierOrderLines
NEW Allow zero quality on supplier/vendor order line
2020-10-07 15:07:53 +02:00
Laurent Destailleur
5ce75ae538
Merge pull request #14954 from Dolibarr/scrutinizer-patch-2
Scrutinizer Auto-Fixes
2020-10-07 15:05:04 +02:00
Scrutinizer Auto-Fixer
1512521d91 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-10-07 13:01:28 +00:00
Laurent Destailleur
96ab66ea5a Add function 2020-10-07 14:58:54 +02:00
Laurent Destailleur
4c87949be0 Fix scrutinizer 2020-10-07 14:53:10 +02:00
Sekan, Tobias
a119a75fe0 add more filter on monthly statement list 2020-10-07 14:00:32 +02:00
Laurent Destailleur
5da923c80d phpcs 2020-10-07 13:42:46 +02:00
Laurent Destailleur
3ace9f638a Clean code 2020-10-07 13:20:38 +02:00
Sekan, Tobias
3f39766064 Allow zero quality on supplier order line 2020-10-07 13:10:04 +02:00
Laurent Destailleur
33fe5eb85f Fix sql request 2020-10-07 12:53:17 +02:00
Laurent Destailleur
e369610538 Fix 2020-10-07 12:48:05 +02:00
Laurent Destailleur
59e89fd53a Fix 2020-10-07 12:42:41 +02:00
Laurent Destailleur
145b1e97ca Fix sql 2020-10-07 12:41:25 +02:00
Laurent Destailleur
d1c2772ee7 NEW Add function dolButtonToOpenUrlInDialogPopup() to be able to open
any url into a dialog popup.
2020-10-07 12:31:15 +02:00
Florian HENRY
36353f7c9b Merge github.com:Dolibarr/dolibarr into develop 2020-10-07 12:04:18 +02:00
stickler-ci
85b7458b02 Fixing style errors. 2020-10-07 09:24:37 +00:00
Sekan, Tobias
e26ab93179 missing code remove from last commit 2020-10-07 11:22:23 +02:00
Sekan, Tobias
29ee420f3e Selectable columns on sup. invoice payment list 2020-10-07 11:18:31 +02:00
Alexandre SPANGARO
973502bb1e Fix 2020-10-07 09:36:29 +02:00
Laurent Destailleur
8febb19b50 Translation 2020-10-07 01:12:27 +02:00
Laurent Destailleur
294688891d CSS 2020-10-07 01:10:26 +02:00
Laurent Destailleur
ea8ec4ea90 Clean code 2020-10-07 00:59:05 +02:00
Laurent Destailleur
31f4d99e19 css 2020-10-07 00:53:01 +02:00
Laurent Destailleur
e9bcd95c39 Add information column on page to export source of accounting document 2020-10-07 00:49:19 +02:00
Laurent Destailleur
77788a0591 Clean code 2020-10-07 00:26:03 +02:00
Laurent Destailleur
f16a58a62c Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/modules/modSocialNetworks.class.php
2020-10-06 23:36:15 +02:00
Laurent Destailleur
47c80f0d14
Merge pull request #14942 from TobiasSekan/ShowProjectOverviewCount
Show count on project overview tab
2020-10-06 23:34:43 +02:00
Laurent Destailleur
13ec304b79
Update project.lib.php 2020-10-06 23:30:51 +02:00
Laurent Destailleur
79e94e3a2c Removed unexpected file 2020-10-06 21:59:38 +02:00
Francis Appels
3be95d778c Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-10-06 20:13:39 +02:00
Laurent Destailleur
2c5d396546 Fix upload file 2020-10-06 17:45:08 +02:00
Laurent Destailleur
459ebe2e56 css 2020-10-06 17:26:55 +02:00
Laurent Destailleur
00e9a9a509 Sanitize color 2020-10-06 17:10:00 +02:00
Laurent Destailleur
ca189099dd Look and feel v13 2020-10-06 17:00:17 +02:00
Laurent Destailleur
663f149982 Better error management 2020-10-06 16:48:48 +02:00
Laurent Destailleur
a744abce94 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-06 16:30:12 +02:00
AurelienBinard
39d538befc
Merge branch 'develop' into translateModLivraison2ModDelivery 2020-10-06 16:20:25 +02:00
Aurélien
f954e8b173
:mod livraison rename user acces right #14697 2020-10-06 16:10:48 +02:00
Aurélien
c8cd55e158
debug access right after rename class #14697 2020-10-06 15:57:50 +02:00
Laurent Destailleur
4ea102f1de css 2020-10-06 15:18:32 +02:00
Laurent Destailleur
95f67309e2 Clean code 2020-10-06 15:11:45 +02:00
Alexandre SPANGARO
503f190fd4 Fix 2020-10-06 14:39:10 +02:00
Aurélien
d103a9aede
rename table on migration #14697 2020-10-06 14:35:27 +02:00
Aurélien
1af42b313c
rename livraison pdf and dependencies #14697 2020-10-06 13:32:02 +02:00
Laurent Destailleur
254d9edbb9 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-06 13:18:58 +02:00
Laurent Destailleur
3f5db927bc Fix phpcs 2020-10-06 13:13:07 +02:00
Laurent Destailleur
c3b2371c6d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-06 13:08:34 +02:00
Laurent Destailleur
4701656d95 Fix look and field v13 2020-10-06 13:08:20 +02:00
Sekan, Tobias
3ceb5c217f Show count on project overview tab 2020-10-06 12:56:28 +02:00
Laurent Destailleur
222b49b3cf
Merge pull request #14799 from atm-greg/New_trigger_handler_in_modulebuilder
new handle trigger method
2020-10-06 12:36:51 +02:00
Laurent Destailleur
a32456afc5
Update interface_99_modMyModule_MyModuleTriggers.class.php 2020-10-06 12:35:18 +02:00
Laurent Destailleur
e3542c6d4f
Merge pull request #14848 from TobiasSekan/ShowCategoryInListOnlyWithRights
NEW Show category filter on lists only when user have rights to read categories
2020-10-06 12:29:10 +02:00
Laurent Destailleur
ef2e531d34
Merge pull request #14928 from TobiasSekan/SelectableColumnsOnCustomerInvoicePaymentList
NEW Select-able columns on customer invoice paymnet list
2020-10-06 12:28:20 +02:00
Laurent Destailleur
1c38379622 Better message 2020-10-06 12:22:58 +02:00
Laurent Destailleur
38acd83f4d Review some titles and tooltip help to be more clear. 2020-10-06 12:17:33 +02:00
Aurélien
af7c23b2ac
rename folder admin/livraison.php and dependencies #14697 2020-10-06 12:05:24 +02:00
Aurélien
5571a166c6
change variable #14697 2020-10-06 11:37:55 +02:00
Aurélien
140200213e
change table into DB and ref #14697 2020-10-06 11:04:31 +02:00
Laurent Destailleur
c5c8bd7838
Merge pull request #14937 from aspangaro/13a21
NEW Accountancy - Move to real ledger, real journals, menu disposition
2020-10-06 10:04:41 +02:00
Alexandre SPANGARO
050a4770d3 WIP NEW Add clone functionality on miscellaneous payment 2020-10-06 10:04:15 +02:00
Laurent Destailleur
8d0b9169bc
Merge pull request #14936 from aspangaro/13a20
NEW Vat report - Invert constant to show by default zero vat in reports
2020-10-06 10:00:00 +02:00
Laurent Destailleur
4ca3957349
Merge pull request #14934 from frederic34/patch-4
fix typo
2020-10-06 09:58:13 +02:00
Laurent Destailleur
48ed3f5783
Merge pull request #14933 from ptibogxiv/patch-386
FIX php error in takepos
2020-10-06 09:57:40 +02:00
Laurent Destailleur
351f80c540
Update index.php 2020-10-06 09:57:04 +02:00
Laurent Destailleur
9ad75b46d9
Merge pull request #14935 from frederic34/patch-6
doxygen
2020-10-06 09:55:51 +02:00
Laurent Destailleur
9ada5c7427
Merge pull request #14938 from ppenelon/ppenelon-patch-1
FIX Require Discount class on markAsCreditAvailable API method
2020-10-06 09:55:28 +02:00
Laurent Destailleur
054c58df16 Add currency into the select 2020-10-06 09:53:29 +02:00
Laurent Destailleur
4290395375 Fix according to PR #14939 2020-10-06 09:53:10 +02:00
Laurent Destailleur
7c6c319607 Trans 2020-10-06 09:31:54 +02:00
stickler-ci
8f542a8572 Fixing style errors. 2020-10-06 06:56:08 +00:00
Sekan, Tobias
33b7d06bb9 address feedback + tooltip + reduce indent 2020-10-06 08:46:53 +02:00
stickler-ci
b9cc780c3c Fixing style errors. 2020-10-05 21:58:00 +00:00
Pierre Penelon
609a29219d
FIX|Missing require in API : markAsCreditAvailable
Quick fix of a problem I encountered earlier when using `markAsCreditAvailable` API method for invoice routes.
The method was using the `DiscountAbsolute` class without importing it resulting in a 500 HTTP error.
2020-10-05 23:54:37 +02:00
Alexandre SPANGARO
6745c377a6 Double line 2020-10-05 22:35:12 +02:00
Alexandre SPANGARO
6a0f2233a6 NEW Accountancy - Move to real ledger, real journals, menu disposition 2020-10-05 21:44:39 +02:00
Alexandre SPANGARO
d83d9895e0 NEW Vat report - Invert constant to show by default zero vat in reports 2020-10-05 20:52:31 +02:00
Frédéric FRANCE
83eb7a8d8d
doxygen 2020-10-05 20:16:18 +02:00
Frédéric FRANCE
005cc093b9
fix typo 2020-10-05 20:02:23 +02:00
ptibogxiv
bb0b9dc128
FIX php error in takepos 2020-10-05 18:16:32 +02:00
Laurent Destailleur
73b40828c8 Trans 2020-10-05 18:15:37 +02:00
Laurent Destailleur
25b9460521 Look and feel v12 2020-10-05 18:05:26 +02:00
Laurent Destailleur
ad087ac360 Use color of RH module for type "employee" 2020-10-05 17:24:47 +02:00
Laurent Destailleur
9b768b5eab
Merge pull request #14926 from aspangaro/13a17
NEW Accountancy - Add chart of sub accounts
2020-10-05 17:20:14 +02:00
Laurent Destailleur
03226ad2a5
Merge pull request #14810 from TobiasSekan/FixAdminCanRemoveAllHisUserRights
FIX that a admin can remove all his user rights
2020-10-05 17:18:24 +02:00
Laurent Destailleur
9309048bda
Merge pull request #14923 from ptibogxiv/patch-385
New display currency in takepos payment
2020-10-05 16:45:17 +02:00
Laurent Destailleur
23f1137c84
Merge pull request #14920 from rabib-metroworks/import-vendor-invoice
NEW Can import Supplier invoice
2020-10-05 16:44:49 +02:00
Laurent Destailleur
bb39d7b205
Merge pull request #14916 from ptibogxiv/patch-382
Fix  and save change of currency in invoice (takepos)
2020-10-05 16:44:28 +02:00
Laurent Destailleur
44ecc15a07
Merge pull request #14915 from ptibogxiv/patch-380
Fix reload display when invoice deleting in takepos
2020-10-05 16:43:55 +02:00
Laurent Destailleur
196cb9c7f6
Merge pull request #14929 from rabib-metroworks/import-order-module
NEW Can import sales order
2020-10-05 16:43:29 +02:00
Laurent Destailleur
0fdad1b63d
Merge pull request #14914 from ptibogxiv/patch-379
Fix better display print/send button on takepos
2020-10-05 16:43:11 +02:00
Laurent Destailleur
10d21eee03
Merge pull request #14911 from ptibogxiv/patch-376
Fix display stock rights in takepos
2020-10-05 16:42:31 +02:00
Laurent Destailleur
24527c973d
Merge pull request #14910 from ptibogxiv/patch-375
Fix multicompany in activity box
2020-10-05 16:42:14 +02:00
Laurent Destailleur
ffc0f51827
Merge pull request #14909 from ptibogxiv/patch-374
Fix multicurrency modal in takepos
2020-10-05 16:41:56 +02:00
Laurent Destailleur
099c19cefb
Merge pull request #14912 from ptibogxiv/patch-378
NEW multicurrency total in takepos
2020-10-05 16:40:59 +02:00
Laurent Destailleur
a26f9b66f6
Merge pull request #14919 from frederic34/patch-4
doxygen
2020-10-05 16:39:14 +02:00
Laurent Destailleur
e5cdffcdec
Merge pull request #14922 from andreubisquerra/develop
TakePOS connector compatibility with RECEIPT PRINTERS module
2020-10-05 16:38:56 +02:00
Laurent Destailleur
243d576f83
Update invoice.php
Log for debug
2020-10-05 16:38:40 +02:00
Laurent Destailleur
1b9b04db87
Merge pull request #14925 from zedzedtop/develop
Enable TPL overriding for document_actions_post_headers.tpl.php
2020-10-05 16:36:35 +02:00
Laurent Destailleur
120d2cf89f
Merge pull request #14931 from cfoellmann/optimize-mail-templates-screen
optimize mail templates edit screen
2020-10-05 16:31:42 +02:00
Aurélien
c1b0c1f6a2
rename folder ref to Module Delivery 2020-10-05 15:32:29 +02:00
stickler-ci
0e7d429991 Fixing style errors. 2020-10-05 13:24:17 +00:00
Christian Foellmann
fb7ed3afc1 optimize mail templates edit screen 2020-10-05 15:20:27 +02:00
Florian HENRY
4e711d4e30 fix bad test syntax 2020-10-05 15:15:15 +02:00
Laurent Destailleur
afd6da3b94 Better error management 2020-10-05 14:51:28 +02:00
Laurent Destailleur
5c3b83b82e Show small image in setup page 2020-10-05 14:06:14 +02:00
Aurélien
bdd095f6bb
translate livraison2delivery => change folder, filename and class ref into all dependencies #14697 2020-10-05 13:59:59 +02:00
Ahmad Jamaly Rabib
4a6000c750 NEW ADDED IMPORT TOOL FOR CUSTOMER ORDER
Added Order import functionality in import module
2020-10-05 16:39:26 +06:00
Laurent Destailleur
ee40aeecce Standardize API 2020-10-05 12:21:54 +02:00
Laurent Destailleur
cfc3c01815 Factorize code to know if a parameter is used to store a secret 2020-10-05 12:13:06 +02:00
Francis Appels
00ebb7fc97 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-10-05 12:10:30 +02:00
Sekan, Tobias
8447817f8c fix swapped array entries 2020-10-05 11:38:07 +02:00
Sekan, Tobias
3984d8c2b8 Add selectable columns on cust. invoice pay. list 2020-10-05 11:27:44 +02:00
Alexandre SPANGARO
8d4fe7567a Merge branch '13a17' of https://github.com/aspangaro/dolibarr into 13a17 2020-10-05 10:11:32 +02:00
Alexandre SPANGARO
8ee7861276 Typo 2020-10-05 10:11:19 +02:00
stickler-ci
cf76a67712 Fixing style errors. 2020-10-05 08:10:39 +00:00
Alexandre SPANGARO
cab6ef092f NEW Accountancy - Add chart of sub accounts 2020-10-05 10:05:21 +02:00
Laurent Destailleur
8a079cf716 Code comment 2020-10-05 09:31:12 +02:00
Sébastien
6c11f7823a
Enable TPL overriding for document_actions_post_headers.tpl.php
Currently it is not possible to override the "document_actions_post_headers.tpl.php" template via a third party module. This addition of code adds this possibility
2020-10-05 10:16:30 +04:00
Laurent Destailleur
62177edab1 NEW Can force the antivirus from conf file or autoprepend ini setup. 2020-10-05 05:00:59 +02:00
Laurent Destailleur
800c0d2b00 Fix method must return a string not print on output 2020-10-05 02:24:45 +02:00
Laurent Destailleur
fb15277c15 Better tooltip 2020-10-04 23:53:15 +02:00
ptibogxiv
078459fc44
New display currency in takepos payment
to do in next PR (payment with multicurrency in other currency that principal)
2020-10-04 23:35:19 +02:00
Laurent Destailleur
a6fe03bd14 Fix doc 2020-10-04 23:30:41 +02:00
andreubisquerra
1c34a7acda
NEW: TakePOS connector compatibility with RECEIPT PRINTERS module 2020-10-04 22:50:27 +02:00
andreubisquerra
65c6881fc9
NEW: TakePOS connector compatibility with RECEIPT PRINTERS module 2020-10-04 22:49:47 +02:00
ptibogxiv
1a407e4c22
NEW set entity when creating invoice on takepos
usefull for marketplace, coworking, multibranding shop
2020-10-04 22:09:40 +02:00
Ahmad Jamaly Rabib
66a1aa9a86 NEW ADDED IMPORT TOOL FOR SUPPLIER INVOICE
Added supplier invoice import functionality in import module
2020-10-05 00:39:35 +06:00
Frédéric FRANCE
4aa47d14b4
Update bookkeeping.class.php 2020-10-04 20:29:57 +02:00
Laurent Destailleur
07e1646b3a Minor fixes 2020-10-04 19:09:25 +02:00
Laurent Destailleur
aeb895b1c6 CSS 2020-10-04 18:43:56 +02:00
ptibogxiv
55764779c4
Update invoice.php 2020-10-04 17:12:01 +02:00
ptibogxiv
e280fc3ad1
Fix and save change of currency in invoice (takepos) 2020-10-04 16:53:31 +02:00
stickler-ci
32a882e83c Fixing style errors. 2020-10-04 13:56:36 +00:00
ptibogxiv
fac60bdf24
Fix reload display when invoice deleting 2020-10-04 15:54:23 +02:00
ptibogxiv
eaedcff2a8
Fix better display print/send button on takepos 2020-10-04 15:01:22 +02:00
ptibogxiv
1e6ad59856
Update invoice.php 2020-10-04 14:42:16 +02:00
stickler-ci
d25c5bf36a Fixing style errors. 2020-10-04 12:40:52 +00:00
ptibogxiv
31dd9885e6
NEW multicurrency total in takepos 2020-10-04 14:39:02 +02:00
ptibogxiv
415deb1500
Fix display stock rights in takepos
only display if user have read right
2020-10-04 14:27:03 +02:00
ptibogxiv
4aafe72bf2
Fix multicompany in activity box 2020-10-04 14:19:53 +02:00
ptibogxiv
36fc987f1e
Fix multicurrency modal
+ avoid loud page if not used
2020-10-04 14:04:44 +02:00
Laurent Destailleur
257012aa19 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-04 11:31:46 +02:00
Laurent Destailleur
04e5d47d24 Doc 2020-10-04 11:31:34 +02:00
Laurent Destailleur
2ca28c37b6
Merge pull request #14790 from c3do/patch-14
FIX API paymentsdistributed accept multicurrency part payment
2020-10-04 11:28:33 +02:00
Laurent Destailleur
f09258713e
Merge pull request #14907 from andreubisquerra/master
NEW: TakePOS Multicurrency compatibility
2020-10-04 11:26:58 +02:00
Laurent Destailleur
354364da9d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-04 11:21:12 +02:00
Laurent Destailleur
d3add1b718 Remove false postivie exakat error 2020-10-04 11:20:53 +02:00
andreubisquerra
4c64b99235
Lang fix 2020-10-03 23:16:13 +02:00
andreubisquerra
d43d1e8519
Clean 2020-10-03 23:03:08 +02:00
andreubisquerra
18cd870307
Fix travis 2020-10-03 22:31:55 +02:00
jove@bisquerra.com
017d4946fe NEW: TakePOS Multicurrency compatibility 2020-10-03 22:13:32 +02:00
Laurent Destailleur
3f600a5aa6
Merge pull request #13637 from mapiolca/patch-43
FIX Directory Issue with Multicompany
2020-10-03 15:52:05 +02:00
Laurent Destailleur
cab2c24e27
Merge branch 'develop' into patch-43 2020-10-03 15:51:38 +02:00
Laurent Destailleur
c806ae2654
Merge pull request #14792 from c3do/patch-15
FIX API Order unlink contact did not work like expected
2020-10-03 15:30:07 +02:00
Laurent Destailleur
9b3cd421ee Fix doc 2020-10-03 14:56:04 +02:00
Laurent Destailleur
f764b36a64 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-03 14:53:22 +02:00
Laurent Destailleur
3b34c496cc Code 2020-10-03 14:11:47 +02:00
Laurent Destailleur
581a3d8808 FIX Add a better message when file size is too large 2020-10-03 14:02:53 +02:00
Laurent Destailleur
3de6fd8918 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-03 11:32:40 +02:00
Laurent Destailleur
1c34868028 Fix field must be null because there is no numbering ref module yet 2020-10-03 11:16:31 +02:00
Laurent Destailleur
c2fed95dc4 FIX #14877 2020-10-02 19:54:06 +02:00
Laurent Destailleur
50ca9f4145 Clean code 2020-10-02 19:10:30 +02:00
Laurent Destailleur
1a535dc77b Clean code 2020-10-02 19:00:15 +02:00
Laurent Destailleur
e7ce888cef Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-02 16:15:38 +02:00
Laurent Destailleur
03ede71989 Clean code 2020-10-02 16:15:24 +02:00
Francis Appels
2073b38766 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-10-02 16:02:41 +02:00
Laurent Destailleur
b90f912099
Merge pull request #14898 from bb2a/Droit-for-Download-vcad-user
Restric for download vcar user
2020-10-02 15:43:07 +02:00
Laurent Destailleur
b15d862f36
Merge pull request #14870 from atm-john/12.0_add_filters_on_tab_soc_price
ADD : Filters more filters on customer price tab
2020-10-02 15:40:52 +02:00
Anthony Berton
533fdda848 Update vcard.php 2020-10-02 15:11:02 +02:00
stickler-ci
2ea6c092a4 Fixing style errors. 2020-10-02 13:05:50 +00:00
Laurent Destailleur
bede4040f6
Update productcustomerprice.class.php 2020-10-02 15:04:03 +02:00
Laurent Destailleur
331f751905
Merge pull request #14866 from defrance/patch-156
NEW add two hooks printFieldListFrom and printFieldSearchParam
2020-10-02 15:01:12 +02:00
Laurent Destailleur
9ea7e26458 Complete #14866 2020-10-02 15:00:39 +02:00
Laurent Destailleur
31710479dc
Update list.php 2020-10-02 14:59:18 +02:00
Laurent Destailleur
399258cc86
Update list.php 2020-10-02 14:55:02 +02:00
Laurent Destailleur
5cf738381f Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-02 14:45:29 +02:00
Laurent Destailleur
d482594499 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-02 14:45:20 +02:00
Laurent Destailleur
500ef243e2
Merge pull request #14815 from ptibogxiv/patch-365
NEW restrict thirdparty to customer in takepos
2020-10-02 14:41:11 +02:00
Laurent Destailleur
954a6b5b3b CSS 2020-10-02 14:26:16 +02:00
Laurent Destailleur
bc308fc662 Look and feel v13 - Disabled users are greyed 2020-10-02 14:19:44 +02:00
Laurent Destailleur
5256229089 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-10-02 13:51:47 +02:00
Laurent Destailleur
10deb1baad Clean code - Removed no more used files orderstoinvoice.php 2020-10-02 13:51:32 +02:00
Laurent Destailleur
230edd5b67
Merge pull request #14890 from inoveaconseil/NEWHookPropalcard
New hook propalcard
2020-10-02 13:46:53 +02:00
Laurent Destailleur
d297e0b05a
Update card.php 2020-10-02 13:46:44 +02:00
Laurent Destailleur
00cb3277ec
Merge pull request #14891 from inoveaconseil/Newhidelabelvariant
NEW hide label in pdf for variants
2020-10-02 13:45:52 +02:00
Laurent Destailleur
7e414fe9da
Merge pull request #14889 from frederic34/ecm_extrafields
NEW Add extrafields support on ECM module
2020-10-02 13:44:45 +02:00
Laurent Destailleur
193c9ac803
Merge pull request #14892 from atm-john/develop_new_search_param_for_order_close_date
NEW Add search param for close date on order list
2020-10-02 13:42:02 +02:00
Laurent Destailleur
440ad2035e
Merge pull request #14893 from FHenry/develop
Add missing lang file (if order is billed the status icon "billed" is not translated
2020-10-02 13:41:23 +02:00
Laurent Destailleur
3c6fcced8e Clean code 2020-10-02 13:38:35 +02:00
Laurent Destailleur
86c9c28e7c
Merge pull request #14895 from hregis/12.0_ldap
FIX missing hook 'formConfirm' in 'addreplace' $hooktype
2020-10-02 13:33:35 +02:00
Regis Houssin
f67189aaa8 FIX missing hook 'formConfirm' in 'addreplace' $hooktype 2020-10-02 13:16:42 +02:00
Laurent Destailleur
0893f0250a Minor bug fixes 2020-10-02 12:54:56 +02:00
Florian HENRY
18c946dc75 add missing translation 2020-10-02 10:37:02 +02:00
Florian HENRY
1bbd4da0fe add missing translation 2020-10-02 10:36:16 +02:00
stickler-ci
a7b4f0ec49 Fixing style errors. 2020-10-02 07:43:29 +00:00
John Botella
f31e689480 Fix new look and feel 2020-10-02 09:39:54 +02:00
Nicolas
9e4e027495 Hide label 2020-10-02 09:39:42 +02:00
Nicolas
85dfb5bf3c Hide the label into pdf document for variants 2020-10-02 09:27:01 +02:00
Nicolas
e72fbbfe17 Hide the label into pdf document for variants 2020-10-02 09:21:44 +02:00
John Botella
ac7a747004 Merge branch '12.0_new_search_param_for_order_close_date' into develop 2020-10-02 09:19:25 +02:00
stickler-ci
4707ea2a27 Fixing style errors. 2020-10-02 06:48:14 +00:00
Nicolas
d976d474df NEW Hook on propal card 2020-10-02 08:42:48 +02:00
Inovea Conseil
b8b9b73714 Merge remote-tracking branch 'origin/develop' into develop 2020-10-02 08:38:47 +02:00
Laurent Destailleur
ce0fa53cb0 Fix delete of file from file manager 2020-10-02 03:07:31 +02:00
Laurent Destailleur
4e49461143 code comment 2020-10-02 02:11:04 +02:00
Laurent Destailleur
e1d156973b phpcs 2020-10-02 02:08:04 +02:00
Laurent Destailleur
813deee4a5 Fix phpcs 2020-10-02 01:14:43 +02:00
Frédéric FRANCE
16ff15b48c
fix 2020-10-02 00:29:36 +02:00
Frédéric FRANCE
b78e506e39
add files 2020-10-02 00:25:44 +02:00
Frédéric FRANCE
7afb62c55d
Merge remote-tracking branch 'upstream/develop' into ecm_extrafields 2020-10-02 00:24:48 +02:00
Frédéric FRANCE
f057488ae3
add extrafields on ecm 2020-10-02 00:21:13 +02:00
Laurent Destailleur
ce1c5c6873 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/stripe/class/stripe.class.php
	htdocs/takepos/invoice.php
2020-10-01 19:43:23 +02:00
Laurent Destailleur
14736bee63
Merge pull request #14852 from inovea-conseil/newfieldwebsite
NEW website page fields
2020-10-01 19:31:14 +02:00
Laurent Destailleur
ab68d3febe
Merge pull request #14864 from aspangaro/13a20
FIX If salaries subledger account not defined, put only in the general account
2020-10-01 19:29:29 +02:00
Laurent Destailleur
a0722f2a30
Merge pull request #14862 from TobiasSekan/UseObjectFieldsOnContactList
NEW Use object field of contact in contact list (internal)
2020-10-01 19:27:49 +02:00
Laurent Destailleur
04bad37564
Merge pull request #14858 from TobiasSekan/UseObjectFieldsOnProjectList
NEW Use object field of project in project list (internal)
2020-10-01 19:26:42 +02:00
Laurent Destailleur
ed69b6ad15
Merge pull request #14863 from bomuux/patch-2
Bug: ActionComm::ref_ext is not saved properly
2020-10-01 19:21:28 +02:00
Laurent Destailleur
445e0971ac
Merge pull request #14871 from davidNDU/develop
FIX #13979 Module builder: pdf_standard_myobject.modules.php changed specific code (Facture::STATUS_DRAFT), myboject.class.php added $last_main_doc
2020-10-01 19:20:15 +02:00
Laurent Destailleur
f79bce638a
Merge pull request #14872 from FHenry/develop
fix remove php warning non-numeric value
2020-10-01 19:18:11 +02:00
Laurent Destailleur
0ef182216f
Merge pull request #14875 from ptibogxiv/patch-366
FIX date and user cloture / closing display
2020-10-01 19:15:46 +02:00
Laurent Destailleur
89dfb9baf8
Merge pull request #14887 from cfoellmann/fix-origin-user
handle fk_origin for stock movement for users the core way
2020-10-01 19:15:01 +02:00
Laurent Destailleur
26be972b71
Merge pull request #14874 from defrance/patch-157
fix typo error
2020-10-01 19:12:53 +02:00
Laurent Destailleur
3fca84eab7
Merge pull request #14878 from Dushyantsingh-ds/develop
Improve Docs.
2020-10-01 19:09:48 +02:00
Laurent Destailleur
580df3d503
Merge pull request #14880 from rabib-metroworks/import-proposal
NEW Can import proposals
2020-10-01 19:09:14 +02:00
Laurent Destailleur
d912908aef NEW Can build vendor invoice from vendor orders 2020-10-01 19:05:20 +02:00
Laurent Destailleur
ece8037f42 The button "Invoice orders" switch to page with lines autoselected. 2020-10-01 18:08:46 +02:00
Laurent Destailleur
58de8c9149 Close #14885 Merge manualy the PR to solve a conflict. 2020-10-01 17:04:24 +02:00
Laurent Destailleur
8bfc2bed3e Fix navigation into user list 2020-10-01 16:27:17 +02:00
Laurent Destailleur
b258a848e2 NEW Can enable/disable users in bulk actions 2020-10-01 16:21:07 +02:00
Florian
c89f8b323b Rename fk_typeobject to type_object 2020-10-01 15:18:19 +02:00
Florian
71f49c643a Merge remote-tracking branch 'refs/remotes/origin/newfieldwebsite'
Conflicts:
	htdocs/install/mysql/migration/11.0.0-12.0.0.sql
	htdocs/install/mysql/tables/llx_website_page.sql
	htdocs/website/class/websitepage.class.php
	htdocs/website/index.php
2020-10-01 15:08:01 +02:00
Christian Foellmann
a890b2d7ad handle fk_origin for stock movement for users the core way 2020-10-01 12:31:00 +02:00
Laurent Destailleur
298e94e574 Typo 2020-10-01 11:16:43 +02:00
Laurent Destailleur
c1bb03e56d Doc 2020-10-01 10:58:43 +02:00
Laurent Destailleur
7b3a7c9921 Add token on all url with action=delete 2020-10-01 10:50:54 +02:00
Laurent Destailleur
9447eb2873 Typo 2020-10-01 09:50:09 +02:00
Laurent Destailleur
75ff2eb642 Typo 2020-10-01 09:39:18 +02:00
Laurent Destailleur
91f0429bd2 Fix mention for france, only for FR country 2020-10-01 09:34:10 +02:00
Ahmad Jamaly Rabib
0b35a07290 NEW ADDED IMPORT TOOL FOR PROPOSAL MODULE
Added proposal import functionality in import module
2020-10-01 11:52:56 +06:00
Dushyant Singh
3460a3486c
Update README.md 2020-09-30 22:24:21 -07:00
Dushyant Singh
0355e03f52
Update README.md 2020-09-30 22:22:27 -07:00
Laurent Destailleur
3f1c9999db urlencode 2020-09-30 18:44:26 +02:00
Laurent Destailleur
1690468da5 Fix delete of profiles 2020-09-30 18:39:23 +02:00
stickler-ci
e14c971b69 Fixing style errors. 2020-09-30 13:29:20 +00:00
ptibogxiv
9624a33e53
FIX date and user cloture / closing display
temporary fix while convert french to english term in dolibarr
2020-09-30 15:27:16 +02:00
John Botella
afbe5f6017 Add search param for close date 2020-09-30 15:26:13 +02:00
BENKE Charlene
8ab627e768
fix typo error 2020-09-30 15:17:44 +02:00
Laurent Destailleur
f442dac2c9 Add token on most GET url for admin action 2020-09-30 15:13:28 +02:00
stickler-ci
fd8e7fdfe3 Fixing style errors. 2020-09-30 12:57:36 +00:00
Sekan, Tobias
27c90abc0b address feedback 2020-09-30 14:54:24 +02:00
Florian HENRY
4602ffa990 Merge github.com:Dolibarr/dolibarr into develop 2020-09-30 13:53:42 +02:00
Florian HENRY
6b539dfad0 fix remove php warning non-numeric value 2020-09-30 13:53:27 +02:00
davidNDU
3187c38ba3 Add object Methods with module builder, add/modify user rights and left side menu 2020-09-30 14:37:47 +03:00
John Botella
1131eb240d Fix lang trans 2020-09-30 13:36:03 +02:00
geoffrey.girard
8c017ad422 ADD : Filters more filters on customer price tab 2020-09-30 13:33:05 +02:00
Laurent Destailleur
805f06fe31 Add token for GET on page to setup journal. 2020-09-30 12:54:05 +02:00
Laurent Destailleur
a3da2afe7a Add option MAIN_LIST_ALLOW_PUBLIC_NOTES + MAIN_LIST_ALLOW_PRIVATE_NOTES 2020-09-30 11:58:40 +02:00
Sekan, Tobias
8d2cd144ce fix removed fields 2020-09-30 11:52:22 +02:00
Sekan, Tobias
6c46b2e8de Address feedback 2020-09-30 11:45:29 +02:00
Francis Appels
8d02f53451 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-09-30 11:29:46 +02:00
BENKE Charlene
10f8ccd7ed
New : add two hook for more feature on list
New hook are : 
printFieldListTable : allow to add more table on sql query (from another modules)
printFieldListSearchParam : allow to keep search on new filter

If ok, i add it on all native list
2020-09-30 10:55:55 +02:00
Alexandre SPANGARO
ed26f07783 FIX If salaries subledger account not defined, put only in the general account 2020-09-30 06:46:23 +02:00
Alexandre SPANGARO
fc62ca57b5 Remove old code 2020-09-30 06:37:48 +02:00
Laurent Destailleur
f063a144c1 NEW Can add event to log into blockedlog module with a constant. 2020-09-29 21:51:39 +02:00
Laurent Destailleur
1e176fad8f Fix GETPOST on array 2020-09-29 21:28:07 +02:00
Laurent Destailleur
879d041398 Can force the typeof check of GETPOST into $fields for type text. 2020-09-29 20:48:40 +02:00
Laurent Destailleur
82da38df65 Removed dead code 2020-09-29 19:57:10 +02:00
bomuux
9ed6092ed8
Bug: ActionComm::ref_ext is not saved properly
ActionComm::ref_ext is considered to be a timestamp in ActionComm::create(), (but not in ActionComm::create()).
Correction to consider it a string.
2020-09-29 19:56:22 +02:00
ptibogxiv
09f7220470
Update index.php 2020-09-29 17:10:08 +02:00
ptibogxiv
8bef390d60
Update list.php 2020-09-29 17:09:45 +02:00
Laurent Destailleur
ac897b5b4d Fix css 2020-09-29 17:06:08 +02:00
Laurent Destailleur
e86bbe346a
Merge pull request #14837 from andreubisquerra/master
NEW: Introducing new modal boxes in TakePOS
2020-09-29 16:51:48 +02:00
Laurent Destailleur
fba8fdae6e
Merge pull request #14856 from bafbes/abb120146
new:bankline_prepare_head for bank lines
2020-09-29 16:40:51 +02:00
Laurent Destailleur
babcc3bc91
Update line.php 2020-09-29 16:39:47 +02:00
stickler-ci
ce8d240d8f Fixing style errors. 2020-09-29 13:06:23 +00:00
Sekan, Tobias
c8e11f9eae Use object fileds on contact list 2020-09-29 14:59:16 +02:00
Laurent Destailleur
708ac91a39
Merge pull request #14825 from atm-greg/fix_notification_system
Fix notification system
2020-09-29 14:13:33 +02:00
Laurent Destailleur
14e6d38fe8
Merge pull request #14860 from Tim-Otte/fix-missing-styles-in-lines
FIX: Added support for styling in lines in odt documents
2020-09-29 14:11:25 +02:00
atm-greg
a61f79c039 only update reminders if event is not past 2020-09-29 14:10:24 +02:00
atm-greg
1ed6312f4b add modification of the notifications 2020-09-29 14:08:49 +02:00
Laurent Destailleur
e08d7254e2
Merge pull request #14849 from aspangaro/13a20
NEW Add column vat rate in page to define accounting account on product/service
2020-09-29 14:02:39 +02:00
Laurent Destailleur
4e93fb1e5e
Merge pull request #14853 from c3do/patch-16
Fix API $includeparentid when get product
2020-09-29 13:34:42 +02:00
Laurent Destailleur
8b2ba8cbba Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/adherents/card.php
	htdocs/bom/bom_card.php
	htdocs/core/class/ldap.class.php
	htdocs/core/lib/files.lib.php
	htdocs/fichinter/class/fichinterrec.class.php
	htdocs/filefunc.inc.php
	htdocs/langs/en_US/admin.lang
2020-09-29 13:28:22 +02:00
Laurent Destailleur
1f8f2c0cc3 NEW Add 2 rules for emailcollector: Message send/not sent from Dolibarr 2020-09-29 13:13:47 +02:00
Tim Otte
82b3b5612d
Update extrafields.class.php
That change should not be included in the PR
2020-09-29 12:19:19 +02:00
Tim Otte
bdaf41d008 Merge branch 'fix-missing-styles-in-lines' of https://github.com/Tim-Otte/dolibarr into fix-missing-styles-in-lines 2020-09-29 12:17:45 +02:00
Tim Otte
4611333ee6 Added support for styling in lines 2020-09-29 12:17:25 +02:00
Tim Otte
3e612d2a94 Added support for styling in lines 2020-09-29 12:13:41 +02:00
Sekan, Tobias
c0a3aa2b5b add mising elements from last commit 2020-09-29 12:00:54 +02:00
Sekan, Tobias
2d4e2ee378 Use object field for list fields (project) 2020-09-29 10:00:14 +02:00
Francis Appels
bac4c0acc0 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-09-29 09:27:22 +02:00
Alexandre SPANGARO
d8cad89dee Merge remote-tracking branch 'upstream/develop' into 13a20 2020-09-29 04:55:33 +02:00
bahfir abbes
9662c4110a new:bankline_prepare_head for bank lines 2020-09-29 01:28:39 +01:00
Cédric
572b012344
Fix API $includeparentid when get product 2020-09-28 22:06:15 +02:00
Nicolas
e58d0d4af4 FIX Stickler error 2020-09-28 20:56:19 +02:00
Nicolas
848ee9decf FIX Stickler error 2020-09-28 20:49:51 +02:00
Nicolas
dfba9a06ad NEW Field to link website page to an other object 2020-09-28 20:39:02 +02:00
Inovea Conseil
789defa46f Merge remote-tracking branch 'Dolibarr/develop' into newfieldwebsite 2020-09-28 20:08:22 +02:00
Inovea Conseil
c813193017 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-09-28 20:07:06 +02:00
Laurent Destailleur
236c9bf1d2 Fix regression making export feature not working 2020-09-28 20:05:58 +02:00
Laurent Destailleur
bd11154bfc NEW Can filter on accounting system ref in export of chart of account 2020-09-28 18:56:53 +02:00
Laurent Destailleur
4cf6e483ca Fix export of various payments. 2020-09-28 18:49:20 +02:00
Florian
bdb38da9d3 Add 2 new field typeObject and ObjectId to website 2020-09-28 18:17:23 +02:00
Laurent Destailleur
0093671a04
Merge pull request #14846 from aspangaro/13a19
NEW Add export for various payment
2020-09-28 17:40:18 +02:00
Laurent Destailleur
0c64b01ae9
Merge pull request #14847 from OPEN-DSI/new-emailcollector-mail-header-remove
NEW MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER const in email collector
2020-09-28 17:25:49 +02:00
Laurent Destailleur
53b9866d20
Merge pull request #14845 from TobiasSekan/FixWrongExpectedTypeInViewcat
FIX wrong expected type for "dol_print_error" in "viewcat.php"
2020-09-28 17:23:28 +02:00
Laurent Destailleur
6b4a05cf06
Merge pull request #14843 from TobiasSekan/FixContractAlwaysZeroOnStatisticsBoard
FIX Contratcs count are always zero on statistics board
2020-09-28 17:21:19 +02:00
Laurent Destailleur
8ae3cabbac
Merge pull request #14842 from aspangaro/13a18
Fix - Accountancy - select date on periodicity by default & some fix
2020-09-28 17:20:56 +02:00
Laurent Destailleur
2cbec87ddc
Update accountancy.lang 2020-09-28 17:20:41 +02:00
Laurent Destailleur
c6c2dc53cb
Merge pull request #14844 from TobiasSekan/FixCountErrorOnUserCatgories
FIX count error on user categories
2020-09-28 17:17:49 +02:00
Florian
de5e6cf546 Add 2 new field typeObject and ObjectId to website 2020-09-28 17:04:45 +02:00
Cédric
3bc9c49307
Update api_orders.class.php 2020-09-28 16:57:30 +02:00
atm-greg
988a532bed fix br 2020-09-28 16:37:17 +02:00
Laurent Destailleur
1a28d7f641 Fix missing token 2020-09-28 16:33:27 +02:00
Laurent Destailleur
b61815e95f Typo in action test 2020-09-28 16:22:15 +02:00
Laurent Destailleur
9973ffab01 Fix sanitizing 2020-09-28 13:05:12 +02:00
Laurent Destailleur
a2ad1e2fc9 Fix #yogosha4544 2020-09-28 12:49:51 +02:00
Alexandre SPANGARO
17347bf575 New Add column vat rate in page to define accounting account on product/service 2020-09-28 11:08:27 +02:00
Laurent Destailleur
2e79064098 Clean code 2020-09-28 11:07:53 +02:00
Sekan, Tobias
2bf15b3a92 Show category filter only on rights to read it 2020-09-28 10:42:49 +02:00
lvessiller
7eaf26b09e NEW add MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER const to remove header in email collector 2020-09-28 10:14:10 +02:00
Alexandre SPANGARO
bf167ca91d Fix unused variable 2020-09-28 09:40:55 +02:00
Alexandre SPANGARO
88772726d7 New Add export for various payment 2020-09-28 09:32:49 +02:00
Sekan, Tobias
f810f2c8e4 Fix wrong expected type in viewcat.php 2020-09-28 09:13:15 +02:00
Sekan, Tobias
e3591a767e fix count error on user categories 2020-09-28 08:31:39 +02:00
Sekan, Tobias
10c034efdf Fix contratcs are always zero on statistics board 2020-09-28 08:12:12 +02:00
Alexandre SPANGARO
d50932499f Fix select date on periodicity by default 2020-09-28 07:03:22 +02:00
Alexandre SPANGARO
347537a205 Accountancy - Some fix 2020-09-28 06:44:01 +02:00
andreubisquerra
12b2c33895
Footer removed 2020-09-27 22:22:56 +02:00
andreubisquerra
80641e54c9
Footer removed 2020-09-27 22:19:49 +02:00
Laurent Destailleur
e7c044cc05 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-27 21:20:51 +02:00
Laurent Destailleur
51d0856f50 Remove bad exakat rules 2020-09-27 21:20:39 +02:00
Laurent Destailleur
1aaf1fe357 Try catch on eval 2020-09-27 21:10:27 +02:00
Laurent Destailleur
f851ce2f0f
Merge pull request #14741 from Tim-Otte/fix-zero-price-lines
FIX: Allow product price equal zero in new lines
2020-09-27 20:46:36 +02:00
Laurent Destailleur
44549bbb3b
Merge pull request #14802 from FHenry/fix_eventcreation
fix event creation bad redirection from thirdparty/event tab if on first attempt you badly fill the form
2020-09-27 18:36:32 +02:00
Laurent Destailleur
d53e7266d2
Update agenda.php 2020-09-27 18:34:35 +02:00
Laurent Destailleur
8e59d0528e
Update html.formactions.class.php 2020-09-27 18:33:13 +02:00
Laurent Destailleur
4ca481335b
Merge pull request #14812 from atm-john/13.0_new_pdf_storm_for_delivery
NEW PDF model storm for delivery
2020-09-27 18:28:22 +02:00
Laurent Destailleur
80b9fa0834
Merge pull request #14839 from Dolibarr/revert-14820-new/develop/currency_rate_editor
Revert "NEW Better currency rate editor"
2020-09-27 18:20:38 +02:00
Laurent Destailleur
96ae9c11f6
Revert "NEW Better currency rate editor" 2020-09-27 18:03:56 +02:00
Florian HENRY
f9d4a4d2ba Merge branch 'develop' into fix_eventcreation 2020-09-27 17:58:05 +02:00
Laurent Destailleur
cdc54a9f4a
Merge pull request #14820 from ATM-Consulting/new/develop/currency_rate_editor
NEW Better currency rate editor
2020-09-27 17:57:16 +02:00
Laurent Destailleur
e495d0459e Look and feel v13 2020-09-27 17:53:17 +02:00
Laurent Destailleur
c659379307 Try a more complete fix than #14821 2020-09-27 17:21:49 +02:00
Laurent Destailleur
cb6e4d131f Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-27 17:13:41 +02:00
Laurent Destailleur
ca8d9613ce
Merge pull request #14821 from cfoellmann/fix-pricestable
fix selectbox for table columns supplier prices
2020-09-27 17:12:37 +02:00
Laurent Destailleur
8157526778
Merge pull request #14822 from TobiasSekan/FixUnbeautifulErrorOnIntervention
FIX Unbeautiful error messages on intervention
2020-09-27 17:08:36 +02:00
Laurent Destailleur
52d1f57276
Merge pull request #14828 from TobiasSekan/NewAllowReopenIntervention
NEW Allow to reopen interventions (green button)
2020-09-27 17:07:45 +02:00
Laurent Destailleur
dcca79e368 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-27 16:59:39 +02:00
Laurent Destailleur
d60ab93783 Typo 2020-09-27 16:59:27 +02:00
Laurent Destailleur
164af8bdea
Merge pull request #14829 from TobiasSekan/NewShowLineNumberOnInterventionCard
NEW Show line number on intervention card (via MAIN_VIEW_LINE_NUMBER)
2020-09-27 16:58:08 +02:00
Laurent Destailleur
43cc009b54 Typo 2020-09-27 16:27:42 +02:00
Laurent Destailleur
3ee2459dc7 Enhancement for #14835: Can filter on expiration date, add list of
members without subscriptions
2020-09-27 16:03:20 +02:00
Laurent Destailleur
5d0c40c658 FIX for #14835 2020-09-27 15:08:15 +02:00
andreubisquerra
494348356a
Fix travis 2020-09-27 11:35:07 +02:00
jove@bisquerra.com
ec54e33d81 NEW: Introducing new modal boxes in TakePOS 2020-09-27 11:11:31 +02:00
Laurent Destailleur
ba311e2cfd Fix phpcs 2020-09-26 21:24:28 +02:00
Laurent Destailleur
da4362c492 Make notification by browser popup working. 2020-09-26 21:18:09 +02:00
Laurent Destailleur
3a6b8ae202 Work on browser notification 2020-09-26 20:29:01 +02:00
Laurent Destailleur
7865381434 Clean code 2020-09-26 12:19:08 +02:00
Laurent Destailleur
9d6e3be5d1 Fix #yogosha4463 2020-09-26 05:20:33 +02:00
Laurent Destailleur
68a6239322 Clean code 2020-09-26 04:25:14 +02:00
Laurent Destailleur
33d578a660 Fix bad management of default value in database on create form 2020-09-26 04:25:06 +02:00
Laurent Destailleur
611684a9a7 FIX Substitution for member subscription was not done 2020-09-26 02:39:19 +02:00
Laurent Destailleur
e2b0c4bc41 css 2020-09-26 02:27:27 +02:00
Laurent Destailleur
d3e9815cfa Fix phpunit 2020-09-25 17:48:04 +02:00
Laurent Destailleur
48632bbb3f Clean code 2020-09-25 17:23:42 +02:00
Laurent Destailleur
1b83b55995 Fix to exclude possible sql injection 2020-09-25 17:11:54 +02:00
Francis Appels
81229b4b4d Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-09-25 17:10:27 +02:00
Laurent Destailleur
0d797a793a On technical error, return http code 500 2020-09-25 15:01:15 +02:00
Laurent Destailleur
d9e7cacc84 Fix search 2020-09-25 14:16:59 +02:00
Laurent Destailleur
88b4c1e766 Fix calculation of nb of top menu in CSS files. 2020-09-25 14:09:51 +02:00
Laurent Destailleur
3c6dda9dd5 Clean code 2020-09-25 10:27:30 +02:00
Laurent Destailleur
83bdd530cd Fix sql error in menu edition, column too short 2020-09-25 10:13:45 +02:00
Laurent Destailleur
d6ce6bb47f Standardize code 2020-09-25 10:05:59 +02:00
Sekan, Tobias
4210a2cfa1 New Show line number on intervention card 2020-09-25 08:25:24 +02:00
stickler-ci
6e2d12413c Fixing style errors. 2020-09-25 06:17:52 +00:00
Sekan, Tobias
6fbc536061 Remoeve double lang entry 2020-09-25 08:15:20 +02:00
Sekan, Tobias
00951a8144 New allow to reopen interventions 2020-09-25 08:10:48 +02:00
Laurent Destailleur
4fe0300701 phpcs 2020-09-24 22:17:09 +02:00
Laurent Destailleur
ed2dd3f55f Clean code 2020-09-24 22:02:10 +02:00
Laurent Destailleur
6e2a9dc0c9 Fix error management in Stripe 2020-09-24 21:54:21 +02:00
Laurent Destailleur
bc7b5b1468 Update website templates for v13 2020-09-24 21:37:21 +02:00
Laurent Destailleur
64c8053b67 Fix restrict extension of files 2020-09-24 21:09:58 +02:00
Francis Appels
ad77569a15 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-09-24 21:00:40 +02:00
Laurent Destailleur
72e9e1b387 Fix asset module 2020-09-24 17:37:57 +02:00
Laurent Destailleur
9a831e3249 Fix permission test 2020-09-24 17:24:23 +02:00
Laurent Destailleur
ca7b9efec2 Add missing token 2020-09-24 17:08:31 +02:00
Laurent Destailleur
c268f07a80 Doc 2020-09-24 16:55:55 +02:00
Inovea Conseil
eb7a8ccb73 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-09-24 16:44:35 +02:00
Laurent Destailleur
f066da1811 Minor security fixes 2020-09-24 16:19:24 +02:00
Laurent Destailleur
43783008c1 Doc 2020-09-24 15:45:52 +02:00
Laurent Destailleur
2404856409 Fix sql inj 2020-09-24 15:38:27 +02:00
atm-greg
554948d3e2 bad user for getNomUrl 2020-09-24 15:34:52 +02:00
atm-greg
5244c05abb reminders in the future can be displayed too 2020-09-24 15:30:29 +02:00
atm-greg
6aad3b47f5 remove fields size modification 2020-09-24 15:28:41 +02:00
atm-greg
b269af5bf6 delete reminders on ActionComm::delete 2020-09-24 15:26:35 +02:00
atm-greg
e6eff6511e fix reminder offsetunit and display problems 2020-09-24 15:20:30 +02:00
Laurent Destailleur
48da6483e6 Add doc 2020-09-24 13:41:26 +02:00
stickler-ci
efd8ffe390 Fixing style errors. 2020-09-24 11:29:30 +00:00
Sekan, Tobias
56dd28ca78 fix wrong color 2020-09-24 13:25:40 +02:00
Sekan, Tobias
3c879ddd34 Fix unbeautiful error message on intervention 2020-09-24 13:15:51 +02:00
Laurent Destailleur
0e820d4c2b FIX link to home in takepos 2020-09-24 13:00:56 +02:00
atm-greg
101405b052 fix notification creation => must create for every user linked to the event 2020-09-24 12:31:28 +02:00
Christian Foellmann
be05a44860 fix selectbox for table columns supplier prices 2020-09-24 11:49:59 +02:00
atm-greg
732bb70826 fix sql 2020-09-24 11:47:41 +02:00
stickler-ci
3c48d2933c Fixing style errors. 2020-09-24 08:08:15 +00:00
ptibogxiv
6a85fdbd7f
Update list.php 2020-09-24 10:06:35 +02:00
Laurent Destailleur
becf91904f css 2020-09-24 08:55:33 +02:00
Laurent Destailleur
1d6a4f528a Fix css 2020-09-24 00:07:55 +02:00
Laurent Destailleur
a16788f753 Fix syntax error 2020-09-24 00:06:02 +02:00
Laurent Destailleur
ece46511f2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-23 23:02:52 +02:00
Laurent Destailleur
95cf3d2f51 NEW Can use desired stock of a given warehouse for replenishment 2020-09-23 23:02:31 +02:00
ptibogxiv
ca07b19796
Update list.php 2020-09-23 22:39:24 +02:00
ptibogxiv
5f8f9c6a4a
NEW restrict thirdparty to customer in takepos
only display customer (better when long list and avoid supplier)
2020-09-23 22:38:06 +02:00
Laurent Destailleur
28d25f596b
Merge pull request #14671 from Tim-Otte/feature-add-incoterms-to-odt
NEW: Added incoterms to substitution array
2020-09-23 20:10:22 +02:00
Laurent Destailleur
6f06648fa2
Merge pull request #14777 from TobiasSekan/PreselectThirpartyOnNewFromList
NEW Use preselect third-party from list on new card
2020-09-23 20:07:09 +02:00
Laurent Destailleur
6f919f1dd0
Merge branch 'develop' into PreselectThirpartyOnNewFromList 2020-09-23 20:02:48 +02:00
Laurent Destailleur
fb68a71f77
Merge pull request #14808 from TobiasSekan/FixFicinterGlobalSearch
FIX Not working global search on interventions by description
2020-09-23 19:53:12 +02:00
Laurent Destailleur
c4145b7922
Merge pull request #14798 from andreubisquerra/master
NEW Show available stock in TakePOS
2020-09-23 19:50:49 +02:00
Laurent Destailleur
32a93eb067
Update invoice.php 2020-09-23 19:50:39 +02:00
Laurent Destailleur
306f61d04d
Merge pull request #14811 from zecsn/patch-1
Fix SQL Error
2020-09-23 19:25:32 +02:00
Laurent Destailleur
0cced26e46 fix phpunit 2020-09-23 19:23:33 +02:00
Laurent Destailleur
3437d54e8c Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	ChangeLog
	htdocs/filefunc.inc.php
2020-09-23 19:20:25 +02:00
Laurent Destailleur
bb10379768 NEW Can change a product in line of recurring invoice or contract 2020-09-23 18:45:19 +02:00
Laurent Destailleur
72b5c3253b Clean code 2020-09-23 18:01:17 +02:00
Laurent Destailleur
06da242200 css 2020-09-23 16:43:25 +02:00
Laurent Destailleur
09c6761dae NEW Include the tag editor of page as a popup into website editor 2020-09-23 16:36:19 +02:00
Florian Mortgat
70a0b6b90f Merge branch 'new/11.0_multicurrency_rate_editor' into new/develop/currency_rate_editor 2020-09-23 16:03:10 +02:00
stickler-ci
f6513b898d Fixing style errors. 2020-09-23 13:37:35 +00:00
John Botella
a374ffd03a Merge branch '13.0_new_pdf_storm_for_delivery' of github.com:atm-john/dolibarr into 13.0_new_pdf_storm_for_delivery 2020-09-23 15:35:37 +02:00
John Botella
4a65b23bbf Fix missing fetch optionals 2020-09-23 15:35:17 +02:00
stickler-ci
9cc87e8a0c Fixing style errors. 2020-09-23 13:23:19 +00:00
John Botella
d3c9a035e9 Add new PDF model storm for delivery 2020-09-23 15:18:53 +02:00
Florian Mortgat
f98ea5b8ad +token for _actionDelete 2020-09-23 15:13:33 +02:00
Florian Mortgat
7822dacbb8 cleanup: remove commented code 2020-09-23 14:23:17 +02:00
Florian Mortgat
f97e9e4330 FIX: URL parameters vs. POST, tokens, use class CurrencyRate for CRUD 2020-09-23 14:22:27 +02:00
zecsn
98dc0bbb6e
Reformat comments 2020-09-23 16:53:04 +05:00
zecsn
a4c8a5a69d
Fix SQL Error
Fix SQL Error DB_ERROR_SYNTAX on Installation
2020-09-23 16:43:53 +05:00
stickler-ci
a88c0b97a8 Fixing style errors. 2020-09-23 11:31:17 +00:00
Sekan, Tobias
815d0c2589 Fix that a admin can remove all his user rights 2020-09-23 13:18:09 +02:00
Laurent Destailleur
d9dce98185 css 2020-09-23 12:36:37 +02:00
Sekan, Tobias
16e23797da Fix not working global search on fichinter by desc 2020-09-23 09:51:16 +02:00
stickler-ci
e037f2e5c7 Fixing style errors. 2020-09-23 07:11:59 +00:00
Tobias Sekan
a72519f353
Merge branch 'develop' into PreselectThirpartyOnNewFromList 2020-09-23 09:09:42 +02:00
Sekan, Tobias
638c586a05 Merge branch 'PreselectThirpartyOnNewFromList' of https://github.com/TobiasSekan/dolibarr into PreselectThirpartyOnNewFromList 2020-09-23 08:59:45 +02:00
Sekan, Tobias
ce6758657a Fix visiblity when came from Extended POS + doc 2020-09-23 08:59:30 +02:00
Florian Mortgat
69385e6fbf FIXME: conflits params URL et POST 2020-09-22 18:44:45 +02:00
Florian Mortgat
592789c597 Exchange rate editor: +filters 2020-09-22 18:34:59 +02:00
Laurent Destailleur
85fc471d3d Fix phpunit 2020-09-22 18:15:49 +02:00
stickler-ci
06d41c029d Fixing style errors. 2020-09-22 14:41:28 +00:00
Cédric
2dc148eae0
$accepthigherpayment (tested and work)
Accept higher payments that it remains to be paid
2020-09-22 16:38:59 +02:00
Laurent Destailleur
e4bd75dbdc Enhancement for #14589 2020-09-22 16:26:53 +02:00
Florian Mortgat
b3f911f810 WIP: rate editor 2020-09-22 16:10:28 +02:00
Laurent Destailleur
72a9cf8820 FIX #14751 2020-09-22 16:03:36 +02:00
Laurent Destailleur
288fd5566f FIX #14776 2020-09-22 16:02:00 +02:00
Laurent Destailleur
5a1c05735f Fix phpcs 2020-09-22 15:55:30 +02:00
Laurent Destailleur
fea6fca7d1 Fix phpunit 2020-09-22 15:31:09 +02:00
Laurent Destailleur
6c06d2f0aa Look and feel v13 2020-09-22 15:26:29 +02:00
Laurent Destailleur
d21ee07afc NEW Can define date range of validity of a login during creation 2020-09-22 14:45:19 +02:00
Tim Otte
d0a7ddcbeb Merge branch 'fix-zero-price-lines' of https://github.com/Tim-Otte/dolibarr into fix-zero-price-lines 2020-09-22 14:44:23 +02:00
Tim Otte
e373de91d9 Fixed a bug where a price equal zero would be replaced with the product price 2020-09-22 14:43:09 +02:00
Laurent Destailleur
5f4547bf7c Prepare table for future features 2020-09-22 10:38:16 +02:00
Laurent Destailleur
830bc7d871 Look and feel v13 2020-09-22 09:42:44 +02:00
Laurent Destailleur
c61e8f052b NEW Add property cssview when declaring fields of an object 2020-09-22 08:54:40 +02:00
Laurent Destailleur
aee6bc173f WIP Add start/end date of validity for user/logins 2020-09-21 18:44:20 +02:00
Florian Mortgat
bd4db13f90 NEW: rate editor for multicurrency 2020-09-21 17:42:20 +02:00
Laurent Destailleur
718497915c Enhance the IK module 2020-09-21 16:31:51 +02:00
Laurent Destailleur
84cc04a2c6 Increase timeout delay for install 2020-09-21 14:04:07 +02:00
Laurent Destailleur
e52559783f Look and feel v13 2020-09-21 13:54:26 +02:00
Laurent Destailleur
3e977bc5d6 Fix css 2020-09-21 12:55:06 +02:00
Laurent Destailleur
43ed2c6c20 Fix phpunit 2020-09-21 12:35:20 +02:00
Laurent Destailleur
6380a294fc FIX Restore multiselect (selection of prospect level) 2020-09-21 12:16:22 +02:00
Florian HENRY
1efec17228 remove commented code since 3 years 2020-09-21 11:53:09 +02:00
Florian HENRY
0adca0a660 fix event creation same on all page 2020-09-21 11:43:08 +02:00
stickler-ci
4cbe8d8623 Fixing style errors. 2020-09-21 07:34:00 +00:00
x
2fbb6b1125 new handle trigger method 2020-09-21 09:29:52 +02:00
Tim Otte
05275a2b67 Added check if method exists 2020-09-21 08:50:39 +02:00
Laurent Destailleur
d5d187c793 Fix phpunit 2020-09-21 01:31:35 +02:00
Laurent Destailleur
9f41f90eeb Fix responsive 2020-09-21 01:28:26 +02:00
jove@bisquerra.com
c596f80fd5 NEW Show available stock in TakePOS 2020-09-20 23:29:59 +02:00
Laurent Destailleur
cde7df8b48 Fix phpunit 2020-09-20 21:33:00 +02:00
Laurent Destailleur
43376b3abc Removed warning 2020-09-20 21:27:11 +02:00
Laurent Destailleur
906e030bfb Removed warning 2020-09-20 21:25:18 +02:00
Laurent Destailleur
cda101238d Fix #yogosha4543 2020-09-20 21:17:27 +02:00
Laurent Destailleur
2137901b0b Fix sanitizing 2020-09-20 20:49:26 +02:00
Laurent Destailleur
b4b0d682b8 css 2020-09-20 20:35:22 +02:00
Laurent Destailleur
5f6dc40d6b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-20 19:56:03 +02:00
Laurent Destailleur
2fcc0791ac Fix regression on backtopage 2020-09-20 19:55:44 +02:00
Laurent Destailleur
19141b3eb9
Merge pull request #14633 from c3do/patch-6
NEW Improve Product API for variant products
2020-09-20 19:34:12 +02:00
Laurent Destailleur
9522b12da1
Update api_products.class.php 2020-09-20 19:33:18 +02:00
Laurent Destailleur
b2f8c4c6b8 Escape output 2020-09-20 19:21:04 +02:00
Laurent Destailleur
e6fc9d3b5e NEW Add message in error_log after detection of SQL or script injection 2020-09-20 19:20:34 +02:00
Laurent Destailleur
d5e6273b45 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-20 18:06:04 +02:00
Laurent Destailleur
ad1d60740b Fix string 2020-09-20 18:05:49 +02:00
Laurent Destailleur
acf28e28af Label 2020-09-20 18:01:17 +02:00
Laurent Destailleur
ab94224d0c
Merge pull request #14668 from OPEN-DSI/email_smtp_allow_auto_signed
NEW : Email configuration - Allow auto signed certificat when smtp ssl activated
2020-09-20 17:56:23 +02:00
Laurent Destailleur
c5aff1769a
Merge pull request #14631 from c3do/patch-3
NEW ref_ext for Attributes and Combinations
2020-09-20 17:50:51 +02:00
Laurent Destailleur
a6a2c6cfe1
Merge pull request #14748 from andreubisquerra/master
Show buttons on products when 'Hide Product Images' is enabled
2020-09-20 17:43:35 +02:00
Laurent Destailleur
a3defd621c
Merge pull request #14726 from aspangaro/13a15
Fix display on quickadd dropdown menu
2020-09-20 17:30:35 +02:00
Laurent Destailleur
a211e3aa93
Merge pull request #14774 from TobiasSekan/FixWrongVisibilityOfCommercialMainMenu
FIX wrong visibility of commercial main menu
2020-09-20 17:21:14 +02:00
Laurent Destailleur
dccdfd3a53
Merge pull request #14766 from ptibogxiv/patch-361
FIx  product list
2020-09-20 17:18:29 +02:00
Laurent Destailleur
40d894a610
Merge pull request #14768 from atm-gauthier/develop_new_hooks_in_stats_pages
NEW : add hooks on stats pages
2020-09-20 17:17:44 +02:00
Laurent Destailleur
ba69fab76a
Merge pull request #14780 from ptibogxiv/patch-363
NEW fetch contact by email with REST API
2020-09-20 17:17:03 +02:00
Laurent Destailleur
4f2623ee81
Merge pull request #14779 from ptibogxiv/patch-362
NEW create thirdparty customer from TAKEPOS
2020-09-20 17:16:38 +02:00
Laurent Destailleur
b024ce799c
Merge pull request #14782 from b92/patch-1
FIX: Members substitution variable not substituted if empty
2020-09-20 17:13:29 +02:00
Laurent Destailleur
aba6fbb306
Merge pull request #14791 from andreubisquerra/develop
Avoid errors when Weighing Scale from the cloud in TakePOS
2020-09-20 17:12:48 +02:00
Laurent Destailleur
b4137392ea
Merge pull request #14789 from bafbes/abb120144
fix:remove deleted user params
2020-09-20 17:12:15 +02:00
Laurent Destailleur
27e81ed40c
Merge pull request #14793 from daraelmin/add-daraelmin-search_categ
Fix Category is lost on sorting member list
2020-09-20 17:10:00 +02:00
Laurent Destailleur
4ce7507518 Fix warnings 2020-09-20 17:06:53 +02:00
Laurent Destailleur
cd8ebd9500 Fix warnings 2020-09-20 16:57:53 +02:00
Laurent Destailleur
b3dd51b790 Fix warnings 2020-09-20 16:46:29 +02:00
Laurent Destailleur
2fca5e928b Fix comment 2020-09-20 16:13:20 +02:00
Laurent Destailleur
a3d0835c37 Fix param 2020-09-20 16:11:02 +02:00
Laurent Destailleur
667fb1098c Fix 2020-09-20 16:06:53 +02:00
Laurent Destailleur
1a494542c6 Fix static 2020-09-20 14:40:49 +02:00
Laurent Destailleur
3f2220bd6f Fix 2020-09-20 14:34:19 +02:00
daraelmin
b3d386fa54
Fix Category is lost on sorting member list
When sorting member list filter by tag/category the criteria is lost because of one missing GET parameter

Just adding a GET parameter to keep the category/tag parameter when sorting the list
2020-09-20 08:42:25 +02:00
Laurent Destailleur
2eb46b4900 Enhance antiXSS by excluding non printable chars used to obfuscate hack 2020-09-20 04:56:45 +02:00
Laurent Destailleur
85aa1ab402 Fix sanitizing 2020-09-20 03:37:05 +02:00
Laurent Destailleur
233aa58161 Fix sanitizing 2020-09-20 03:36:02 +02:00
Laurent Destailleur
e5cca13ea0 Fix escaping 2020-09-20 03:32:43 +02:00
Laurent Destailleur
0e4d3c19dd Fix escaping 2020-09-20 02:57:15 +02:00
Laurent Destailleur
f57b4fd2fd Fix escaping 2020-09-20 02:30:53 +02:00
Laurent Destailleur
fa86b62198 Fix escaping 2020-09-20 01:53:24 +02:00
Laurent Destailleur
216b3c885d Fix escaping 2020-09-20 01:30:36 +02:00
Laurent Destailleur
c191dd1a34 Fix escaping 2020-09-19 23:27:11 +02:00
Laurent Destailleur
2c660504bb Fix escape 2020-09-19 23:11:38 +02:00
Laurent Destailleur
d38168f49e Fix escape 2020-09-19 22:59:04 +02:00
Laurent Destailleur
b5703350da Fix escape 2020-09-19 22:41:05 +02:00
Cédric
a0313fdc52
Update api_invoices.class.php 2020-09-19 22:39:39 +02:00
Cédric
68ccbac49c
Update api_orders.class.php 2020-09-19 22:35:33 +02:00
stickler-ci
3deed42671 Fixing style errors. 2020-09-19 20:05:08 +00:00
Cédric
7306a949e3
Update api_invoices.class.php 2020-09-19 22:02:52 +02:00
Cédric
90d2dfcca7
FIX deleteContact 2020-09-19 22:01:48 +02:00
Laurent Destailleur
54c0f742b1 Fix escape 2020-09-19 21:19:04 +02:00
Laurent Destailleur
7dd69a2b2b Fix escape 2020-09-19 20:11:04 +02:00
Laurent Destailleur
14aa9c01da Neutral message if login / email exists #yohosha4542 2020-09-19 18:40:00 +02:00
Laurent Destailleur
673e1fe5aa Fix #yogosha4539 2020-09-19 18:01:06 +02:00
andreubisquerra
55a0e5f2e7
Avoid errors when Weighing Scale from the cloud in TakePOS 2020-09-19 17:12:41 +02:00
Laurent Destailleur
c6e66d1651 Fixes 2020-09-19 16:05:55 +02:00
Laurent Destailleur
7c50cc9c72 css 2020-09-19 15:17:50 +02:00
Laurent Destailleur
3bd94d52a1 Fix css 2020-09-19 15:15:49 +02:00
Cédric
fbc8fe1e0c
Update api_invoices.class.php 2020-09-19 15:14:29 +02:00
Cédric
a0efd47cce
Update api_invoices.class.php 2020-09-19 15:12:57 +02:00
Cédric
9f22882417
Update api_invoices.class.php 2020-09-19 15:05:28 +02:00
stickler-ci
e1751d4bfb Fixing style errors. 2020-09-19 12:23:53 +00:00
Cédric
720a113125
Update api_invoices.class.php 2020-09-19 14:16:17 +02:00
bahfir abbes
09f23c1d84 fix:remove deleted user params 2020-09-19 13:14:46 +01:00
Laurent Destailleur
0355dc03d8 More secured constantonoff.php 2020-09-19 13:04:23 +02:00
Laurent Destailleur
b1985950a6 Use POST to make the ajax set/del constant 2020-09-19 12:50:47 +02:00
Laurent Destailleur
46eb78cd41 Fix escape 2020-09-19 04:18:51 +02:00
Laurent Destailleur
e142b42f19 Clean code 2020-09-19 04:14:49 +02:00
Laurent Destailleur
4a5ee7f04d Better testSqlAndScriptInject (deal htmlentities encoded signatures)
More phpunits on GETPOST
2020-09-19 03:25:25 +02:00
Laurent Destailleur
eb36c3f144 Fix must use GETPOST 2020-09-19 02:27:32 +02:00
Laurent Destailleur
93b7956156 Fix sanitizing of backtopage 2020-09-19 02:12:08 +02:00
Laurent Destailleur
a0b230fa46 Fix #yogosha4534 2020-09-19 01:58:46 +02:00
Laurent Destailleur
6a45545ec1 Prepare for fix 2020-09-19 01:53:22 +02:00
Laurent Destailleur
b7a97b2c81 Prepare for fix 2020-09-19 01:45:40 +02:00
Laurent Destailleur
99c05f0923 Fix rss 2020-09-19 00:51:09 +02:00
Laurent Destailleur
f62d52f89a Fix tooltip for linkto object.
Fix security of ajax selectobject.php
2020-09-19 00:44:47 +02:00
Laurent Destailleur
63bc3aa48a Better sanitizing 2020-09-19 00:05:29 +02:00
Laurent Destailleur
6d2d5d7cae Fix #yogosha4529 2020-09-19 00:02:38 +02:00
Laurent Destailleur
d21c2f0d61 Better sanitizing 2020-09-18 23:38:45 +02:00
Laurent Destailleur
4f2d3176f5 Fix #yogosha4533 2020-09-18 23:26:05 +02:00
Laurent Destailleur
4710fedda6 Try another fix for #yogosha4514 2020-09-18 23:06:08 +02:00
Bernard Saulme
d86f541b35
FIX|members substitution variable not substituted if empty
Members substitution variables not substituted if empty for the __MEMBER_ ... variables, the variable is showed instead.
Change to display '' instead
2020-09-18 18:29:52 +02:00
stickler-ci
f9b4a0f68b Fixing style errors. 2020-09-18 15:54:37 +00:00
ptibogxiv
206b1189c9
NEW fetch contact by email with REST API 2020-09-18 17:52:48 +02:00
Laurent Destailleur
11bf662c38 Fix regression 2020-09-18 17:49:51 +02:00
Laurent Destailleur
b6c6473cce Fix sql injection when forging requests with IN 2020-09-18 17:47:40 +02:00
Laurent Destailleur
4e2aff2cdc Fix sql injection when forging requests with IN 2020-09-18 17:28:02 +02:00
Laurent Destailleur
2d38644ae1 Sanitize sortfield 2020-09-18 17:13:01 +02:00
Laurent Destailleur
d75e1e5771 Fix #yogosha4525 2020-09-18 16:10:11 +02:00
Laurent Destailleur
72d5850a5f Fix regression 2020-09-18 15:45:26 +02:00
Laurent Destailleur
2697f604d5 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/document.php
2020-09-18 14:58:16 +02:00
Laurent Destailleur
cf8e8ee68b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/contact/card.php
	htdocs/core/lib/functions.lib.php
	htdocs/document.php
2020-09-18 14:54:20 +02:00
stickler-ci
b41bfd502a Fixing style errors. 2020-09-18 12:50:53 +00:00
ptibogxiv
1c65fa0c5d
NEW create thirdparty customer from TAKEPOS
avoid to switch to backend dolibarr then return to takepos (not really ergonomic and userfriendly)
2020-09-18 14:48:47 +02:00
Laurent Destailleur
4e56115d2d Fix No CSRF for install module using GET 2020-09-18 14:35:30 +02:00
Laurent Destailleur
2fe9514b6b Doc 2020-09-18 14:01:00 +02:00
Laurent Destailleur
9134892c71 Fix remove useless code 2020-09-18 13:58:09 +02:00
Laurent Destailleur
cc5d648888 Enhance the anti injection layer 2020-09-18 13:41:50 +02:00
Laurent Destailleur
cddec2f4dc Fix XSS 2020-09-18 13:25:56 +02:00
stickler-ci
ccb570d87d Fixing style errors. 2020-09-18 10:23:47 +00:00
Tobias Sekan
b2a953ed5b
Merge branch 'develop' into PreselectThirpartyOnNewFromList 2020-09-18 12:21:41 +02:00
Sekan, Tobias
eac9e54e0b fix more different button visibility 2020-09-18 11:48:53 +02:00
Sekan, Tobias
ae8c302c19 merge variable declaration 2020-09-18 10:52:17 +02:00
Sekan, Tobias
dc4250aed7 Make button visiblity identical on most lists 2020-09-18 10:46:23 +02:00
Sekan, Tobias
1b04ef8aad Add function to all list that support $socid 2020-09-18 10:36:40 +02:00
Sekan, Tobias
b879b365c3 bette code style 2020-09-18 08:30:28 +02:00
Sekan, Tobias
c82992714b Fix wrong visibility of commercial mein menu 2020-09-18 08:00:43 +02:00
Sekan, Tobias
d1f70a37df Preselect thirparty on new from list (part 1) 2020-09-18 07:56:13 +02:00
Laurent Destailleur
1ad6461ade Fix #yogosha4500 2020-09-18 06:10:41 +02:00
Laurent Destailleur
a7a8ca0a6b Fix phpcs 2020-09-18 06:03:59 +02:00
Laurent Destailleur
b35db6b9dd Clean code managing canvas 2020-09-18 06:02:52 +02:00
Laurent Destailleur
b49211b278 Phpcs 2020-09-18 05:37:20 +02:00
Laurent Destailleur
ca2e79395c typo 2020-09-18 05:35:37 +02:00
Laurent Destailleur
05d85ee4c1 Update scope 2020-09-18 05:34:50 +02:00
Laurent Destailleur
bb55572abf Update scope of security 2020-09-18 05:11:29 +02:00
Laurent Destailleur
234b9f1f57 Fix CSRF 2020-09-18 05:07:58 +02:00
Laurent Destailleur
aa3f906370 Standardize code 2020-09-18 04:53:43 +02:00
Laurent Destailleur
534846c5c7 NEW Framework is ready for CSRF token protection on explicit GET URLs. 2020-09-18 04:30:24 +02:00
Laurent Destailleur
8d77bfacd2 Fix #yogosha4490 2020-09-18 03:07:13 +02:00
Laurent Destailleur
c94b3f6584 Fix transversal URL #yogosha4513 2020-09-18 01:57:23 +02:00
Laurent Destailleur
801712b423 Fix phpcs 2020-09-18 01:41:42 +02:00
Laurent Destailleur
11b1e0b420 Escape output 2020-09-18 01:39:32 +02:00
Laurent Destailleur
7704375ccd Fix GETPOST 2020-09-18 01:36:06 +02:00
Laurent Destailleur
dc22f3ca19 Fix phpcs 2020-09-18 01:30:36 +02:00
Laurent Destailleur
c4b5f5a249 Maxi clean of code 2020-09-18 01:29:17 +02:00
Laurent Destailleur
fa1d14fc7d More complete phpunit 2020-09-18 01:01:01 +02:00
Laurent Destailleur
27d03a2034 Better support of SFTP for the FTP module 2020-09-18 00:36:24 +02:00
Laurent Destailleur
57ff4784b1 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-17 23:17:33 +02:00
Laurent Destailleur
13646ff41e Fix #yogosha4516 2020-09-17 23:16:48 +02:00
Laurent Destailleur
f55ad8a51c
Merge pull request #14767 from Tim-Otte/fix-missing-hash-in-html-to-odt-converter
FIX: HTML to ODT converter
2020-09-17 23:07:10 +02:00
Laurent Destailleur
937d656f46 Fix #yogosha4515 2020-09-17 23:02:09 +02:00
Laurent Destailleur
7056c19cd2 css 2020-09-17 22:35:05 +02:00
Laurent Destailleur
9eaf2be9ab Prepare code for fix 2020-09-17 22:26:54 +02:00
Laurent Destailleur
9f0ca6f6fc Add file 2020-09-17 22:12:59 +02:00
ptibogxiv
08d7973b4a
Update list.php 2020-09-17 22:10:22 +02:00
Laurent Destailleur
5744b1e0a3 Fix #yogosha4512 2020-09-17 21:34:31 +02:00
Laurent Destailleur
a895cdcdf8 Fix dol_string_nohtmltag: the decode of entity must be done before split 2020-09-17 21:09:16 +02:00
Laurent Destailleur
f5908c29da Fix regression in website module to get javascript files 2020-09-17 20:55:20 +02:00
Laurent Destailleur
0f0e4feeaf Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/modules/modSociete.class.php
2020-09-17 19:33:29 +02:00
Laurent Destailleur
caaf0d370a Fix #yogosha4474 2020-09-17 19:01:01 +02:00
Laurent Destailleur
28fad93fb7 Typo 2020-09-17 17:30:44 +02:00
Laurent Destailleur
08f4b4f64a Typo 2020-09-17 17:05:03 +02:00
Got2be
03f37f3c1f NEW : add hooks on stats pages 2020-09-17 17:00:58 +02:00
Laurent Destailleur
eae5410ced Protect md file 2020-09-17 16:57:39 +02:00
ptibogxiv
cbd511fbb4
Update list.php 2020-09-17 16:16:35 +02:00
Laurent Destailleur
d04d1d1499 Use note_private instead of note 2020-09-17 16:13:57 +02:00
Laurent Destailleur
d73642559c Fix 2020-09-17 15:31:16 +02:00
Laurent Destailleur
5a22a07637 css 2020-09-17 15:30:20 +02:00
Laurent Destailleur
dbf8ed2fec Fix output 2020-09-17 15:29:13 +02:00
Laurent Destailleur
6bcc1d65eb Always hide hash 2020-09-17 15:28:16 +02:00
Laurent Destailleur
f575c503f1 Fix css 2020-09-17 15:21:59 +02:00
Laurent Destailleur
e123a4cb84 Fix help on minimum nb of chars 2020-09-17 15:09:29 +02:00
Laurent Destailleur
7cc75ac873 Fix: removing also &quot; when removing " from a received parameter. 2020-09-17 14:43:58 +02:00
Laurent Destailleur
9a758b7edd FIX #yogosha4483 2020-09-17 14:31:25 +02:00
Laurent Destailleur
31a68cfc18 FIX #yogosha4483 2020-09-17 14:30:10 +02:00
Laurent Destailleur
16b9e62866 FIX #yogosha4456 2020-09-17 14:20:37 +02:00
Tim Otte
f5c0cd25e2 Fixed html to odt converter 2020-09-17 13:19:31 +02:00
Laurent Destailleur
8029b80f08 Fix install hangs 2020-09-17 13:03:34 +02:00
Laurent Destailleur
4b0dbbc5fb GETPOST(..., 'alpha') has now the same behaviour than GETPOST(...,
'alpahnohtml');
2020-09-17 12:55:03 +02:00
Laurent Destailleur
2f100fdf79 Fix alpha into alphanohtml 2020-09-17 12:53:58 +02:00
Cédric
75b46dd535
Update api_products.class.php 2020-09-17 12:45:20 +02:00
Cédric
2b6a6e12e3
Update api_products.class.php 2020-09-17 12:43:04 +02:00
Cédric
0d20b6645d
Update ProductCombination.class.php 2020-09-17 12:37:20 +02:00
Cédric
67b565df6b
Update card.php 2020-09-17 12:34:47 +02:00
Cédric
e711ab3aa3
Update product.lib.php 2020-09-17 12:31:56 +02:00
Laurent Destailleur
0bf0312d50 FIX #yogosha4448 2020-09-17 12:30:14 +02:00
Laurent Destailleur
33cefacf91 Fix missing global 2020-09-17 12:17:14 +02:00
Laurent Destailleur
380fe1acb7 Fix doc 2020-09-17 12:13:32 +02:00
Laurent Destailleur
8a10617c0c Update script 2020-09-17 12:12:49 +02:00
Laurent Destailleur
bdc30cc50b Update script 2020-09-17 12:10:54 +02:00
Laurent Destailleur
d41a813e0e Add script to reinit pass of the demo 2020-09-17 12:05:52 +02:00
ptibogxiv
8284d0ee06
FIx product list
fix mistake if fk_state empty
2020-09-17 11:41:53 +02:00
Laurent Destailleur
05636c39bd Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-17 11:39:58 +02:00
Laurent Destailleur
ab5ac6a629 Update security scope 2020-09-17 11:39:41 +02:00
Laurent Destailleur
939433706b FIX #yogosha4465 2020-09-17 11:37:41 +02:00
Laurent Destailleur
5daba4b0ed
Merge pull request #14752 from ptibogxiv/patch-360
NEW filter product list by country and/or state/province
2020-09-17 11:21:23 +02:00
Laurent Destailleur
5e3f6ce736
Merge pull request #14749 from TobiasSekan/UseNewTableFunctionAndCleanup
Use new table function for comm/propal + cleanup
2020-09-17 11:20:31 +02:00
Laurent Destailleur
d92e482841 FIX #yogosha transversal path when unzipping file 2020-09-17 11:09:43 +02:00
Laurent Destailleur
004ba33695 Fix cach call of useNPR() 2020-09-17 10:11:06 +02:00
Laurent Destailleur
a2591bafa0 Enhance scope 2020-09-17 09:51:28 +02:00
Laurent Destailleur
241ce8c3b7 More complete security 2020-09-17 09:24:11 +02:00
Laurent Destailleur
a074c4cb62 Update security 2020-09-17 09:20:49 +02:00
Laurent Destailleur
b02725832b Fix typo 2020-09-16 20:20:56 +02:00
Laurent Destailleur
4630887591 Fix css 2020-09-16 20:09:40 +02:00
Laurent Destailleur
bfbb217607 Fix GETPOST on 'action' 2020-09-16 19:39:50 +02:00
Laurent Destailleur
47031cb656 Fix phpcs 2020-09-16 18:51:19 +02:00
Laurent Destailleur
295c2b1d17 FIX #yogosha4435 2020-09-16 17:56:26 +02:00
Laurent Destailleur
7b8a206730 FIX #yogosha 2020-09-16 17:48:59 +02:00
Laurent Destailleur
1fd633ed21 FIX #yogosha4433 2020-09-16 16:34:19 +02:00
Laurent Destailleur
dec73da206 FIX #yogosha4430 2020-09-16 16:17:02 +02:00
Laurent Destailleur
d0c02f3714 FIX #yogosha4426 2020-09-16 14:51:46 +02:00
Laurent Destailleur
d7aa376c3c FIX Yogosha report 4425 2020-09-16 14:37:05 +02:00
Sekan, Tobias
91641e593f MAIN_DASHBOARD_USE_TOTAL_HT + more clean 2020-09-16 14:03:41 +02:00
ptibogxiv
6f564c1937
NEW filter product list by country and/or state/province 2020-09-16 12:34:07 +02:00
stickler-ci
be27617e68 Fixing style errors. 2020-09-16 09:11:01 +00:00
Sekan, Tobias
ac1fdb4a59 Use new table function for comm/propal + cleanup 2020-09-16 10:51:19 +02:00
andreubisquerra
ffb1b5c2ca
Fix travis 2020-09-16 07:59:36 +02:00
andreubisquerra
9bb41e949d
Fix travis 2020-09-16 07:39:48 +02:00
jove@bisquerra.com
31eecae2a6 Show buttons on products when 'Hide Product Images' is enabled 2020-09-16 06:54:01 +02:00
Laurent Destailleur
382a4552eb Fix css 2020-09-16 03:39:03 +02:00
Laurent Destailleur
41660000f7 Filter for exakat 2020-09-16 03:29:03 +02:00
Laurent Destailleur
a3492dfb5b Clean code 2020-09-16 03:15:31 +02:00
Laurent Destailleur
adeed1464d Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-16 02:56:09 +02:00
Laurent Destailleur
baa46cd502 Fix syntax error 2020-09-16 02:53:44 +02:00
Laurent Destailleur
ffa91451eb Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-16 02:50:36 +02:00
Laurent Destailleur
e5191cad24 Move code of incoterm into the Incoterm Trait. 2020-09-16 02:50:18 +02:00
Laurent Destailleur
4224e5da41
Merge pull request #14729 from bafbes/abb120143
allow access to adherent_extrafields table fields in printFieldListWhere hook
2020-09-16 01:14:01 +02:00
Laurent Destailleur
2da4838141
Merge pull request #14730 from ptibogxiv/patch-358
NEW get state dictionnary by REST API
2020-09-16 01:12:08 +02:00
Laurent Destailleur
584a02bc9a
Update api_setup.class.php 2020-09-16 01:11:47 +02:00
Laurent Destailleur
b7d56cbfbf Fix syntax error 2020-09-16 01:09:54 +02:00
Laurent Destailleur
ed8b4100c8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-16 01:07:08 +02:00
Laurent Destailleur
b690bab1a8 Fix regression: missing column 2020-09-16 01:06:54 +02:00
Laurent Destailleur
d954de2d35
Merge pull request #14732 from ptibogxiv/patch-359
NEW add State/Province origin for products
2020-09-16 01:02:00 +02:00
stickler-ci
b3f78100bf Fixing style errors. 2020-09-15 23:01:00 +00:00
Laurent Destailleur
9e494d0bb3
Update card.php 2020-09-16 00:59:23 +02:00
Laurent Destailleur
52c9e7230f
Merge pull request #14734 from inoveaconseil/NEW_Scope_Oauth_Google
New scope oauth google
2020-09-16 00:55:10 +02:00
Laurent Destailleur
b5cac258bf
Merge pull request #14739 from defrance/patch-155
Users can now have non-binary gender
2020-09-16 00:54:07 +02:00
Laurent Destailleur
81d71589d9
Merge pull request #14743 from cfoellmann/minor-fix-bydates
fix for broken table on dispatch when hiding sellby/eatby dates
2020-09-16 00:53:03 +02:00
Laurent Destailleur
7fcaf79576
Merge pull request #14744 from frederic34/patch-4
uniformise scan_dir to scandir in admin supplier payments
2020-09-16 00:52:27 +02:00
Laurent Destailleur
c152f8d76f
Merge branch 'develop' into patch-4 2020-09-16 00:52:16 +02:00
Laurent Destailleur
6a0c924fa8
Merge pull request #14738 from aspangaro/13a18
Debugbar - Move to Font Awesome 5 Free
2020-09-16 00:50:36 +02:00
Laurent Destailleur
7e941ff5ac
Merge pull request #14747 from daraelmin/develop
FIX #14746 Historical list of subscription shows empty member type
2020-09-16 00:49:41 +02:00
Laurent Destailleur
5c31593d43 Add date of birth in candidatures 2020-09-16 00:47:44 +02:00
daraelmin
8b928a110e
FIX #14746
Historical list of subscription shows empty member type if not recorded
2020-09-15 22:23:22 +02:00
Alexandre SPANGARO
e0c3977728 Debugbar - Move to Font Awesome 5 Free 2020-09-15 22:21:00 +02:00
Alexandre SPANGARO
c474484262 Revert "Debugbar - Move to Font Awesome 5 Free"
This reverts commit 1b5873af1f.
2020-09-15 22:10:24 +02:00
Frédéric FRANCE
070f9a0c89
uniformise scan_dir to scandir in admin supplier payments 2020-09-15 16:32:32 +02:00
Laurent Destailleur
7bcf2c9089 css 2020-09-15 14:45:51 +02:00
Christian Foellmann
c869f8fe5f fix for broken table on dispatch when hiding sellby/eatby dates 2020-09-15 14:19:02 +02:00
Laurent Destailleur
51963f4c2a css 2020-09-15 13:48:48 +02:00
Laurent Destailleur
cc24e9b155 Look and feel v13 2020-09-15 13:27:48 +02:00
Laurent Destailleur
5ca8141cd8 Typo 2020-09-15 12:09:48 +02:00
Laurent Destailleur
9a9b7ecb95 CSS 2020-09-15 12:07:15 +02:00
Tim Otte
8dc6110c45 Fixed a bug where a price equal zero would be replaced with the product price 2020-09-15 11:33:22 +02:00
BENKE Charlene
1d0dc7cab0
Update list.php 2020-09-15 11:31:29 +02:00
BENKE Charlene
b01a68abef
Update card.php 2020-09-15 11:30:47 +02:00
Laurent Destailleur
522676d745
Merge pull request #14737 from aspangaro/13a17
Time to enable fontawesome icons on weather feature
2020-09-15 11:29:28 +02:00
Laurent Destailleur
3fd041e861
Update functions.lib.php 2020-09-15 11:28:49 +02:00
Laurent Destailleur
3dfa9acbef CSS 2020-09-15 11:18:57 +02:00
Laurent Destailleur
7a28972c8a FIX sign of amount of invoice lines for credit note with multicurrency
FIX Add INVOICE_POSITIVE_CREDIT_NOTE_SCREEN to solve PT requirement
2020-09-15 11:18:21 +02:00
BENKE Charlene
0aa97a8b02
Update main.lang 2020-09-15 10:59:07 +02:00
BENKE Charlene
be704ef5e8
Update list.php 2020-09-15 10:57:48 +02:00
BENKE Charlene
0765fff355
Update card.php 2020-09-15 10:51:09 +02:00
Laurent Destailleur
cb5afc1842 CSS 2020-09-15 10:18:54 +02:00
Alexandre SPANGARO
1b5873af1f Debugbar - Move to Font Awesome 5 Free 2020-09-15 04:05:26 +02:00
Alexandre SPANGARO
4137e92430 Time to enable fontawesome icons on weather feature 2020-09-15 03:42:35 +02:00
Alexandre SPANGARO
a8c1b835db Fix display on quickadd dropdown menu 2020-09-15 03:08:06 +02:00
Laurent Destailleur
b7b1de4580 Fix position of GPAO must be after Product.
CSS
2020-09-15 02:41:08 +02:00
Laurent Destailleur
bd577e253a Fix phpcs 2020-09-14 22:31:57 +02:00
Laurent Destailleur
6dd1f522eb CSS 2020-09-14 22:30:22 +02:00
Laurent Destailleur
7712b277a6 Look and feel v13 2020-09-14 21:55:25 +02:00
Laurent Destailleur
cf423add2e Reminders visible on edit page too 2020-09-14 21:09:48 +02:00
Laurent Destailleur
59c10235b5 Show reminders on the event page 2020-09-14 21:06:40 +02:00
Laurent Destailleur
f626bd70d0 Look and feel v13 2020-09-14 20:53:42 +02:00
Laurent Destailleur
7cbc621f6b css 2020-09-14 19:00:18 +02:00
Laurent Destailleur
cc37f4b29c Clean code. <input name="token" value="$_SESSION['newtoken']" is now
forbidden by CI. You must use newToken().
2020-09-14 16:24:02 +02:00
Laurent Destailleur
4b3a2066a6 Test 2020-09-14 15:38:40 +02:00
stickler-ci
b39b9e4227 Fixing style errors. 2020-09-14 13:19:26 +00:00
Nicolas
ee4e209e7c NEW Oauth SCOPE for Admin SDK 2020-09-14 15:12:57 +02:00
Laurent Destailleur
8afd448def Add warning if a hidden option is on to encourage to remove it. 2020-09-14 15:05:35 +02:00
Inovea Conseil
b35f1e5b25 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-09-14 15:01:00 +02:00
Laurent Destailleur
f6555a9077 Look and feel v12 2020-09-14 14:46:38 +02:00
Laurent Destailleur
550cec06a4 Look and feel v12 2020-09-14 14:41:11 +02:00
Laurent Destailleur
33d61333b1 Fix picto 2020-09-14 12:50:07 +02:00
Laurent Destailleur
604a807ac0 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-14 12:48:00 +02:00
Laurent Destailleur
6117e0d8d7 Fix tooltip into tooltip 2020-09-14 12:47:43 +02:00
stickler-ci
ad84aaacc6 Fixing style errors. 2020-09-14 09:01:11 +00:00
ptibogxiv
92aab677e9
Update product.class.php 2020-09-14 10:59:09 +02:00
ptibogxiv
de31920f28
NEW add state origin for product
usefull for food, fruits or vegetables  or regional product

soon in other PR i will push filter by state or country in product list
2020-09-14 10:57:51 +02:00
ptibogxiv
f09655ec6c
Update api_setup.class.php 2020-09-14 10:53:38 +02:00
stickler-ci
75a9678086 Fixing style errors. 2020-09-14 08:48:04 +00:00
ptibogxiv
e98ae029e3
Update cstate.class.php 2020-09-14 10:46:19 +02:00
ptibogxiv
557a6863ba
NEW get state by REST API 2020-09-14 10:45:20 +02:00
kkhelifa-opendsi
1f5f784b75
Merge branch 'develop' into email_smtp_allow_auto_signed 2020-09-14 10:25:15 +02:00
kamel
2a5b31da2d CORE smtps: Corrections 2020-09-14 10:22:05 +02:00
Laurent Destailleur
cde58c6908
Merge pull request #14727 from Dolibarr/scrutinizer-patch-16
Scrutinizer Auto-Fixes
2020-09-14 04:32:59 +02:00
stickler-ci
3de5e0f957 Fixing style errors. 2020-09-14 02:30:37 +00:00
Scrutinizer Auto-Fixer
73915d51c8 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-09-14 02:30:04 +00:00
Laurent Destailleur
22edd650d3 Fix phpcs 2020-09-14 04:24:35 +02:00
Laurent Destailleur
c0ef7e8f13 fix phpcs 2020-09-14 04:23:14 +02:00
Laurent Destailleur
814f07d316 Missing picto property 2020-09-14 04:11:12 +02:00
Laurent Destailleur
b20be7074e phpcs 2020-09-14 04:08:11 +02:00
Laurent Destailleur
7ca9fd9dce Fix merge 2020-09-14 03:49:31 +02:00
Laurent Destailleur
dd06ff3a0d Label 2020-09-14 03:41:18 +02:00
Laurent Destailleur
419ac91a7a FIX #14538 2020-09-14 03:34:03 +02:00
Laurent Destailleur
78a999e6f3 css 2020-09-14 02:57:43 +02:00
Laurent Destailleur
bd8185fb49 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-14 02:49:35 +02:00
Laurent Destailleur
59bc8ee07c Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/adherents/stats/byproperties.php
	htdocs/adherents/stats/geo.php
	htdocs/admin/system/dolibarr.php
	htdocs/core/class/commonobjectline.class.php
	htdocs/core/tpl/objectline_title.tpl.php
	htdocs/langs/en_US/admin.lang
	htdocs/product/class/product.class.php
2020-09-14 02:49:19 +02:00
Laurent Destailleur
3cb77d2e75
Merge pull request #14704 from aspangaro/13a12
New Accountancy - Add default account for customer deposit
2020-09-14 01:13:17 +02:00
Laurent Destailleur
dad02afa22
Update accountancy.lang 2020-09-14 01:13:07 +02:00
Laurent Destailleur
442fef207c Doc 2020-09-14 01:04:29 +02:00
Laurent Destailleur
970995d728 Clean code. Replace num_paiement with num_payment everywhere. 2020-09-14 01:03:51 +02:00
Laurent Destailleur
a2df666d34 Standardize code 2020-09-14 00:41:31 +02:00
Laurent Destailleur
62b7a90ea3
Merge pull request #14723 from c3do/patch-13
NEW API Can update a payment
2020-09-14 00:29:10 +02:00
Laurent Destailleur
e9d0869383
Update api_invoices.class.php 2020-09-14 00:28:43 +02:00
Laurent Destailleur
dcdce246b1
Update api_invoices.class.php 2020-09-14 00:26:16 +02:00
Laurent Destailleur
cdf071ea10
Merge pull request #14717 from bafbes/abb120142
allow external users to see thirdparties with printFieldListWhere hook.
2020-09-14 00:23:26 +02:00
Laurent Destailleur
26b4fb3e68
Update list.php 2020-09-14 00:22:58 +02:00
Laurent Destailleur
1015d3c026
Merge pull request #14716 from 99Deon/develop
fix bug  in "llx_c_ticket_category.sql"  table .
2020-09-14 00:17:16 +02:00
Laurent Destailleur
7b13730a84
Merge pull request #14718 from c3do/patch-12
NEW ref_ext for llx_paiement
2020-09-14 00:07:39 +02:00
Laurent Destailleur
e941212ab9
Merge pull request #14725 from andreubisquerra/master
NEW Weighing Scale compatibility with TakePOS
2020-09-14 00:05:56 +02:00
Alexandre SPANGARO
2ae91b131f Fix display on quickadd dropdown menu 2020-09-13 22:17:24 +02:00
bahfir abbes
c5fa6eac58 allow access to adherent_extrafields table fields in printFieldListWhere hook; 2020-09-13 21:02:04 +01:00
jove@bisquerra.com
e55c16c039 NEW Weighing Scale compatibility with TakePOS connector 2020-09-13 21:12:14 +02:00
Laurent Destailleur
3585d3d52f css 2020-09-13 15:21:45 +02:00
stickler-ci
8d3bc3ee6f Fixing style errors. 2020-09-13 13:18:42 +00:00
Cédric
929804f4d2
Update api_invoices.class.php 2020-09-13 15:12:22 +02:00
Laurent Destailleur
f9af7bc114 Fix phpcs 2020-09-13 14:42:56 +02:00
Laurent Destailleur
ca4716dfb7 Fix for wampserver3_64 2020-09-13 13:45:28 +02:00
Laurent Destailleur
5e2494a82c Update doc 2020-09-13 13:17:21 +02:00
Laurent Destailleur
3aff66bc89 Doc 2020-09-13 13:08:28 +02:00
Laurent Destailleur
8a561c644f Doc 2020-09-13 13:03:33 +02:00
stickler-ci
2cfe740d85 Fixing style errors. 2020-09-12 17:08:44 +00:00
Cédric
acc995a553
Update commoninvoice.class.php 2020-09-12 19:05:33 +02:00
Cédric
29931bbded
Update 12.0.0-13.0.0.sql 2020-09-12 18:55:26 +02:00
Cédric
1f5419c883
Update llx_paiement.sql 2020-09-12 18:53:02 +02:00
Cédric
d728d268ca
Update paiement.class.php 2020-09-12 18:49:52 +02:00
bahfir abbes
ef0b84a507 allow external users to see thirdparties with printFieldListWhere hook; 2020-09-12 16:40:18 +01:00
chkernit
7252022afe
fix problem in table "llx_c_ticket_category.sql"
when install dolibarr project  the step of creation tables does not completed because there are a bug in create llx_c_ticket_category.sql table .
2020-09-12 16:33:07 +01:00
Laurent Destailleur
48e34c2069 Add int 2020-09-12 15:53:18 +02:00
Laurent Destailleur
7d25de5713 Enhance setup page for email setup 2020-09-12 15:39:14 +02:00
Laurent Destailleur
1f8278c8ca Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/accountancy/bookkeeping/balance.php
	htdocs/core/class/html.formmail.class.php
	htdocs/fourn/class/fournisseur.commande.class.php
	htdocs/fourn/class/fournisseur.facture.class.php
	htdocs/langs/en_US/other.lang
	htdocs/product/class/product.class.php
	htdocs/supplier_proposal/class/supplier_proposal.class.php
2020-09-12 04:42:59 +02:00
Laurent Destailleur
4b525f6826 Debug notifications on browser 2020-09-12 04:12:39 +02:00
Laurent Destailleur
2ffe84b5f5 Debug notifications on browser 2020-09-12 04:08:05 +02:00
Laurent Destailleur
9dad8f0fb7 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-12 03:02:27 +02:00
Laurent Destailleur
f45054df06 Close #14604 Merge manually change to get notification to show
Remains: support call of the action=closereminderid done by browser once
notif has be thrown.
2020-09-12 03:02:08 +02:00
Laurent Destailleur
ce2de0187d
Merge pull request #14711 from OPEN-DSI/new-emailcollector-ticket-classification-create
NEW ticket classification on create from email collector
2020-09-12 01:31:27 +02:00
Laurent Destailleur
5ea37a534c
Merge pull request #14710 from TobiasSekan/cleanup-workflow-module-page-+-bugfixes
FIX Fix missing translation and missing gap in workflow setup page (+ cleanup)
2020-09-12 01:26:34 +02:00
Laurent Destailleur
fab3a774d2
Merge pull request #14636 from TobiasSekan/AddTableHelperMethod
NEW Add helper function for table headers with numbers
2020-09-12 01:21:24 +02:00
Laurent Destailleur
1bdd4cae9b
Merge pull request #14699 from atm-adrien/NEW_add_widget_empty_tasks
New add widget empty tasks
2020-09-12 01:18:50 +02:00
Laurent Destailleur
c633e9dc6f
Merge pull request #14702 from ptibogxiv/patch-357
FIX API variable error code return
2020-09-12 01:14:28 +02:00
Laurent Destailleur
5c776ccf3f
Merge pull request #14708 from TobiasSekan/AddGlobalMiscPaymentSearch
NEW Add global search for miscellaneous payments
2020-09-12 01:13:26 +02:00
Laurent Destailleur
95fb79c749
Merge pull request #14714 from bafbes/abb120141
fix: unuseful truncations in extrafield select lists
2020-09-12 01:08:08 +02:00
Laurent Destailleur
ead320642e Fix removed some non used sql requests on widgets 2020-09-12 00:58:06 +02:00
bahfir abbes
e89bfe5ac1 fix: unuseful truncations in extrafield select lists 2020-09-11 22:44:08 +01:00
Laurent Destailleur
009c7eaf31 Standardize code with module builder 2020-09-11 16:16:04 +02:00
lvessiller
5118f1c821 NEW ticket classification on create from email collector 2020-09-11 15:47:46 +02:00
Laurent Destailleur
0f9b61c33c Test fix phpunit 2020-09-11 14:42:43 +02:00
Laurent Destailleur
3930b00e4d Debug a not used page to show agenda per type of event 2020-09-11 14:35:52 +02:00
stickler-ci
97e74642ce Fixing style errors. 2020-09-11 12:26:14 +00:00
Sekan, Tobias
0a0eed289e cleanup workflow page + bugfixes 2020-09-11 14:15:10 +02:00
Laurent Destailleur
58e0dd0d05 Look and feel v13 2020-09-11 14:08:41 +02:00
Laurent Destailleur
c4383747a1 Look and feel v13 2020-09-11 13:57:16 +02:00
Laurent Destailleur
64b28020c8 Look and feel v13 2020-09-11 13:14:14 +02:00
Laurent Destailleur
7e989c8902 Remove TODO: Button Close possible only if production has started. 2020-09-11 12:36:31 +02:00
Laurent Destailleur
753396ec20 Look and feel v13 2020-09-11 12:19:40 +02:00
Laurent Destailleur
7cd437b2d7 CSS 2020-09-11 12:16:54 +02:00
Laurent Destailleur
3b7b7b8ed3 css 2020-09-11 11:58:16 +02:00
Laurent Destailleur
5ab5419349 Doc 2020-09-11 11:18:01 +02:00
Sekan, Tobias
8a6c6c9333 removeempty line 2020-09-11 10:01:25 +02:00
Sekan, Tobias
25d6af2b86 Add global search for misc payments +TODO 2020-09-11 09:55:34 +02:00
Alexandre SPANGARO
5b364fc5fa New Accountancy - Add default account for customer deposit 2020-09-10 21:56:55 +02:00
Laurent Destailleur
0d124730a8 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/commande/list.php
2020-09-10 18:05:18 +02:00
Laurent Destailleur
7e7dec9306 FIX Look and feel v12 2020-09-10 18:02:06 +02:00
Laurent Destailleur
8d93b76258 Clean code 2020-09-10 17:49:05 +02:00
Laurent Destailleur
bd54033975 Look and feel v13 2020-09-10 17:35:18 +02:00
Laurent Destailleur
ed6a16a3c7 FIX look and feel v12 2020-09-10 17:17:31 +02:00
Laurent Destailleur
3eba707e0f Trans 2020-09-10 17:09:32 +02:00
Laurent Destailleur
8c9f2b8458 Fix trans, add log 2020-09-10 17:08:51 +02:00
Laurent Destailleur
f06737097f Look and feel v13 2020-09-10 16:37:42 +02:00
Laurent Destailleur
bcab13c395 Fix typo 2020-09-10 15:52:47 +02:00
Laurent Destailleur
ed3f1c29ef more log 2020-09-10 15:52:09 +02:00
Laurent Destailleur
1da99a8fcd Add log to debug travis error 2020-09-10 15:49:13 +02:00
Laurent Destailleur
753330e499 Fix sort order of import profiles. 2020-09-10 15:43:50 +02:00
ptibogxiv
9f475a3f93
FIX API variable error return
Some modules, when there is no value, delete the variables so don't find variable can be normal.

Error 404 is better than 500 with error servor (same as other object when not found)
ie thirdparties, contacts invoices...)
2020-09-10 14:01:00 +02:00
Cédric
3209708e30
Update ProductCombination.class.php 2020-09-10 13:56:58 +02:00
Sekan, Tobias
747d8c32e2 Fix Sticker CI (again :'-( ) 2020-09-10 12:29:01 +02:00
stickler-ci
0fc24366e1 Fixing style errors. 2020-09-10 09:28:05 +00:00
Sekan, Tobias
2292f83258 fix sticker ci 2020-09-10 11:26:17 +02:00
Sekan, Tobias
0cc9cc9bb7 Merge branch 'AddTableHelperMethod' of https://github.com/TobiasSekan/dolibarr into AddTableHelperMethod 2020-09-10 11:25:41 +02:00
Sekan, Tobias
3f8b2153ea fix sticker Ci and add missing doc 2020-09-10 11:25:35 +02:00
Adrien Raze
b4942707bb EN_US Traductions 2020-09-10 11:23:45 +02:00
Adrien Raze
419b2b71a9 FIX : modif requete SQL, prise en compte user connecté pour saisie des temps 2020-09-10 11:16:52 +02:00
Adrien Raze
acfae190c3 FIX : suppression lien nbTâche 2020-09-10 11:15:56 +02:00
Adrien Raze
5a30165947 FIX : correction redirection pour nbTache 2020-09-10 11:15:12 +02:00
Adrien Raze
343b39e31f FIX : lien cliquable tiers 2020-09-10 11:14:27 +02:00
Adrien Raze
281b52db75 lien cliquable nbTache vers liste tache filtrée 2020-09-10 11:13:46 +02:00
Adrien Raze
76d5ce18ca Titres + lien cliquable client + traductions 2020-09-10 11:12:04 +02:00
Adrien Raze
c9833c501d SQL + insertion champs dans box 2020-09-10 11:10:06 +02:00
Adrien Raze
912999a6b6 Creation box 2020-09-10 11:09:49 +02:00
Laurent Destailleur
6a9cadd9d4 Removed warning 2020-09-10 11:09:20 +02:00
stickler-ci
be32a24eed Fixing style errors. 2020-09-10 09:07:10 +00:00
Sekan, Tobias
d2903c5de6 adress feedback + massive cleanup 2020-09-10 11:04:41 +02:00
Laurent Destailleur
0e606b5f36 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-10 03:30:42 +02:00
Laurent Destailleur
6ec89afe8b Fix phpcs 2020-09-10 03:30:24 +02:00
Laurent Destailleur
b3fe61e77b Start fix for #14689 2020-09-10 03:28:41 +02:00
Laurent Destailleur
e9deb8d927
Merge pull request #14694 from bafbes/abb120140
fix: name mismatch
2020-09-10 01:50:11 +02:00
Laurent Destailleur
f78cbdefe8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-10 01:49:31 +02:00
Laurent Destailleur
b8fe2188a6 Standardize code around model_pdf 2020-09-10 01:49:09 +02:00
bahfir abbes
e322bc5194 fix: name mismatch 2020-09-10 00:07:18 +01:00
Laurent Destailleur
a492cabc13
Merge pull request #14617 from TobiasSekan/ShipmentAreaCountsAndClick
NEW Show header numbers and make it clickable in shipment area
2020-09-09 19:40:24 +02:00
Laurent Destailleur
069242e7bc
Update index.php 2020-09-09 19:38:48 +02:00
Laurent Destailleur
efb59754d7
Update 12.0.0-13.0.0.sql 2020-09-09 19:32:14 +02:00
Laurent Destailleur
fb51fe1087 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-09 19:25:36 +02:00
Laurent Destailleur
177ec5eb39 Fix mandatory field 2020-09-09 19:25:16 +02:00
Laurent Destailleur
aebbb7df39
Merge pull request #14663 from aspangaro/13a11
NEW Link on balance to the ledger
2020-09-09 19:13:15 +02:00
Laurent Destailleur
08ab4855f2
Merge branch 'develop' into 13a11 2020-09-09 19:12:08 +02:00
Laurent Destailleur
a5c0aa06bc
Merge pull request #14692 from RomainDeschamps/patch-3
Fix ToSell/ToBuy tag in supplier products list
2020-09-09 19:09:19 +02:00
Romain DESCHAMPS
476cb642f4
Fix ToSell/ToBuy tag in supplier products list
#14691
2020-09-09 19:01:45 +02:00
Laurent Destailleur
c761b829b4
Merge pull request #14659 from Tim-Otte/feature-filterable-purchase-price-table-columns
NEW Purchase price table: Added filterable table columns
2020-09-09 18:55:55 +02:00
Laurent Destailleur
803efa7acc Add hidden constant until feature is reliable 2020-09-09 15:39:47 +02:00
Laurent Destailleur
3aa921fd0a
Merge pull request #14665 from TobiasSekan/NewCommonFilterForModuleOverview
NEW Add common list function for available app/module page
2020-09-09 15:36:46 +02:00
Laurent Destailleur
b7dcd88192
Merge pull request #14667 from TobiasSekan/FixWrongVisibleTaxMenuEntry
FIX wrong visible of tax menu entry
2020-09-09 15:34:41 +02:00
Laurent Destailleur
abd1b1b4a9
Merge pull request #14657 from TobiasSekan/AddMissingTranslationsForPermissions
FIX Add missing translations for permissions
2020-09-09 15:27:22 +02:00
Laurent Destailleur
13a5ff362e
Merge pull request #14664 from ptibogxiv/patch-356
FIX error on update invoice line
2020-09-09 15:26:23 +02:00
Laurent Destailleur
e439eb636e
Merge pull request #14660 from FHenry/dev_updatedocker
Update Docker build to new standard (version 3 of docker-compose)
2020-09-09 15:26:06 +02:00
Laurent Destailleur
4314f65053
Merge pull request #14669 from TobiasSekan/FixWrongVisiblityOfBankMenuEntry
FIX wrong visibility of bank menu entry
2020-09-09 15:20:46 +02:00
Laurent Destailleur
12fba9e679 Fix label 2020-09-09 15:19:12 +02:00
Laurent Destailleur
1c8e02df3b Doc 2020-09-09 15:16:03 +02:00
Laurent Destailleur
e70f27046e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-09 15:15:07 +02:00
Laurent Destailleur
230b6cdfd4 Add method isLoaded($domain) 2020-09-09 15:14:52 +02:00
Laurent Destailleur
97ee96e0dc
Merge pull request #14683 from TobiasSekan/SelectableColumnsOnExtraPayments
NEW Select-able columns on miscellaneous payments + more data columns
2020-09-09 14:54:04 +02:00
Laurent Destailleur
80573532e3
Merge pull request #14684 from OPEN-DSI/new-ticket-edit-and-update-action
NEW edit and update a ticket
2020-09-09 14:48:47 +02:00
Laurent Destailleur
e418046ce5
Merge pull request #14681 from bafbes/abb120139
FIX replace values of __YEAR__, __MONTH__ and __DAY__ in member docs
2020-09-09 14:47:08 +02:00
Laurent Destailleur
b99192bdb2
Update pdf_standard.class.php 2020-09-09 14:46:42 +02:00
stickler-ci
221c54c16f Fixing style errors. 2020-09-09 12:46:25 +00:00
Laurent Destailleur
4b783d203e
Update pdf_standard.class.php 2020-09-09 14:44:09 +02:00
Laurent Destailleur
229aa14a97
Update pdf_standard.class.php 2020-09-09 14:43:24 +02:00
Laurent Destailleur
a28928413b
Merge pull request #14688 from c3do/patch-11
FIX ref_ext for invoice lines from API
2020-09-09 14:41:45 +02:00
Laurent Destailleur
097c5ffaf5 Test 2020-09-09 14:41:04 +02:00
Cédric
1d894f4b7c
FIX ref_ext for invoice lines from API
Add and update ref_ext in invoice lines
2020-09-09 13:38:42 +02:00
Sekan, Tobias
849a5ed865 Merge branch 'SelectableColumnsOnExtraPayments' of https://github.com/TobiasSekan/dolibarr into SelectableColumnsOnExtraPayments 2020-09-09 13:27:47 +02:00
Sekan, Tobias
8fa001d98d Fix to short summary line 2020-09-09 13:27:41 +02:00
Laurent Destailleur
d236e21639 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/compta/facture/class/facture.class.php
2020-09-09 12:51:55 +02:00
Laurent Destailleur
05912b3b55 Fix sql error 2020-09-09 12:50:07 +02:00
lvessiller
0c5bf5012e NEW Ticket title 2020-09-09 12:09:17 +02:00
lvessiller
be2fa82396 FIX stickler error comma in argument list 2020-09-09 11:54:50 +02:00
lvessiller
059624e936 NEW edit and update a ticket 2020-09-09 11:46:56 +02:00
stickler-ci
32d77cc143 Fixing style errors. 2020-09-09 09:46:46 +00:00
Sekan, Tobias
870443a099 Add selectable columns for extra payments 2020-09-09 11:34:47 +02:00
bahfir abbes
f08c91fcc6 fix: replace values of __YEAR__, __MONTH__ and __DAY__ in member docs 2020-09-09 09:29:19 +01:00
Sekan, Tobias
37141b577a fix sticker CI, better names, add missing comapres 2020-09-09 08:34:13 +02:00
Sekan, Tobias
49d009502c fix sticker CI 2020-09-09 08:16:26 +02:00
Laurent Destailleur
b90a5f2b76
Merge pull request #14676 from Dolibarr/scrutinizer-patch-15
Scrutinizer Auto-Fixes
2020-09-08 21:39:48 +02:00
stickler-ci
ef0078cbb2 Fixing style errors. 2020-09-08 19:29:01 +00:00
Scrutinizer Auto-Fixer
c263c8a76c Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-09-08 19:27:28 +00:00
Laurent Destailleur
c9451c0940 Try fix for php 8 2020-09-08 21:25:35 +02:00
Tim Otte
c68928b8d0 Added incoterms to substitution array 2020-09-08 15:53:47 +02:00
kamel
ed13a9fce2 Correction stickler-ci 2020-09-08 14:53:22 +02:00
kamel
ccff18e2a5 NEW : Email configuration - Allow auto signed certificat when ssl activated 2020-09-08 14:48:50 +02:00
Sekan, Tobias
78ac5f03e1 Fix wrong visibility of bank menu entry 2020-09-08 14:44:29 +02:00
Tobias Sekan
f7ea3dba70
Merge branch 'develop' into FixWrongVisibleTaxMenuEntry 2020-09-08 14:19:29 +02:00
Sekan, Tobias
c08c6c6529 Fix wrong visible tax menu entry 2020-09-08 14:09:56 +02:00
Laurent Destailleur
d438116c1e Try fix for php 8 2020-09-08 13:31:05 +02:00
Laurent Destailleur
54c0f673c1 Debug hidden option MAIN_USE_EXPENSE_IK 2020-09-08 12:00:14 +02:00
Laurent Destailleur
86ed4dfa2b Debug hidden option MAIN_USE_EXPENSE_IK 2020-09-08 11:51:36 +02:00
stickler-ci
d6206b49df Fixing style errors. 2020-09-08 09:26:39 +00:00
Sekan, Tobias
a15de8467c fix wrong placed close table tag 2020-09-08 11:25:21 +02:00
stickler-ci
413bb10913 Fixing style errors. 2020-09-08 09:22:02 +00:00
Sekan, Tobias
bd96e0fe42 finished helper method and usage of it 2020-09-08 11:15:33 +02:00
stickler-ci
2569c792e7 Fixing style errors. 2020-09-08 08:13:56 +00:00
ptibogxiv
387dcd2fa2
FIX error on update invoice line 2020-09-08 10:10:45 +02:00
Sekan, Tobias
650bb54051 add common list function for module overview 2020-09-08 10:07:34 +02:00
Alexandre SPANGARO
9165ea9e67 Merge remote-tracking branch 'upstream/develop' into 13a11 2020-09-08 08:35:42 +02:00
Laurent Destailleur
f567d41055 Fix php8 2020-09-08 05:16:37 +02:00
Laurent Destailleur
fab24e8c55 Fix phpcs 2020-09-08 05:12:08 +02:00
Laurent Destailleur
051be517f2 Fix travis 2020-09-08 05:10:48 +02:00
Laurent Destailleur
175276c504 Fix travis 2020-09-08 05:07:35 +02:00
Alexandre SPANGARO
d1ba6b9476 Merge remote-tracking branch 'upstream/develop' into 13a11 2020-09-08 05:01:36 +02:00
Alexandre SPANGARO
6a04f39fbe Wrong language key 2020-09-08 04:58:42 +02:00
Alexandre SPANGARO
df7ca14b2c Security access 2020-09-08 04:58:25 +02:00
Alexandre SPANGARO
a4c581b34d Modify link on chart of accounts 2020-09-08 04:44:04 +02:00
Alexandre SPANGARO
a050ee8385 Typo 2020-09-08 04:24:27 +02:00
Laurent Destailleur
3e4f096eec Travis 2020-09-08 04:24:20 +02:00
Alexandre SPANGARO
939933f4f7 Add some language key 2020-09-08 04:24:18 +02:00
Laurent Destailleur
f5eb8b0108 Look and feel v13 2020-09-08 04:21:35 +02:00
Laurent Destailleur
198b8d8d2b debugbar ok with php5.6 2020-09-08 02:59:49 +02:00
Laurent Destailleur
4db561656e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-08 02:11:23 +02:00
Laurent Destailleur
1a67b4efeb Debug 2020-09-08 02:11:09 +02:00
Laurent Destailleur
c91338198d Add some fields in candidature
Look and feel v13
2020-09-08 01:53:37 +02:00
Laurent Destailleur
1df0bea05d
Merge pull request #14603 from aspangaro/13a8
NEW Accountancy - On transfers, select the periodicity by default
2020-09-07 22:11:18 +02:00
Alexandre SPANGARO
ca32a93c0b NEW Link on balance to bookkeeping 2020-09-07 22:03:41 +02:00
Alexandre SPANGARO
8c75f0b95b Code optimize 2020-09-07 21:38:39 +02:00
Alexandre SPANGARO
871826d023 Merge remote-tracking branch 'upstream/develop' into 13a8 2020-09-07 21:22:14 +02:00
Laurent Destailleur
b5376d3322 Upgrade lib for phpdebugbar 2020-09-07 21:18:26 +02:00
Laurent Destailleur
fa22b09630 Removed deprecated code 2020-09-07 21:06:13 +02:00
Laurent Destailleur
c95e54843c Update lib debugbar
Update php-parallel-lint
2020-09-07 21:00:40 +02:00
Laurent Destailleur
7facb1db47 Update security scope 2020-09-07 20:59:29 +02:00
Laurent Destailleur
8e5e75882e Exclude dir 2020-09-07 19:20:13 +02:00
Laurent Destailleur
b6e537a7e5 phpcs 2020-09-07 19:09:19 +02:00
Laurent Destailleur
de2f97ab4e Update gitignore 2020-09-07 19:01:04 +02:00
stickler-ci
61903a1079 Fixing style errors. 2020-09-07 15:24:35 +00:00
Cédric
5992641360
Merge branch 'develop' into patch-3 2020-09-07 17:22:18 +02:00
Laurent Destailleur
db879c3f30 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-07 16:32:05 +02:00
Laurent Destailleur
ef6f0d5f11 Update php-parallel-lint 2020-09-07 16:31:35 +02:00
Laurent Destailleur
5b62ddc456 Update php-parallel-lint 2020-09-07 16:11:57 +02:00
Florian HENRY
1dc84c5715 update docker to new standard 2020-09-07 16:04:06 +02:00
stickler-ci
a9a95c8a83 Fixing style errors. 2020-09-07 13:47:26 +00:00
Tim Otte
c6cb179447 Added filterable table columns 2020-09-07 15:43:36 +02:00
Florian HENRY
07242a1c5d Merge branch 'develop' into dev_updatedocker 2020-09-07 15:43:03 +02:00
Laurent Destailleur
e8b4b2e279 Try v1 of php-parallel-lint 2020-09-07 15:06:52 +02:00
Laurent Destailleur
26cb294b2e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-07 14:47:37 +02:00
Laurent Destailleur
e7ad8ef3a7 Translation missing 2020-09-07 14:47:25 +02:00
Sekan, Tobias
16bb33b619 Add missing translations for permissions 2020-09-07 14:29:36 +02:00
Laurent Destailleur
e8c5a1c3d6
Merge pull request #14651 from TobiasSekan/NewPermissonsIds
NEW Show module and permission ids on user/group rights (only admin)
2020-09-07 12:48:12 +02:00
Laurent Destailleur
865e97d8ca
Merge pull request #14653 from Dolibarr/scrutinizer-patch-14
Scrutinizer Auto-Fixes
2020-09-07 12:45:19 +02:00
Scrutinizer Auto-Fixer
8aceab802f Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-09-07 10:29:37 +00:00
stickler-ci
84ccc91a9c Fixing style errors. 2020-09-07 10:23:15 +00:00
Laurent Destailleur
753e68b5d9 Fix phpcs 2020-09-07 12:18:00 +02:00
Laurent Destailleur
5a471d38c2
Merge pull request #14611 from atm-adrien/NEW_propal_massAction_validate_sign
New : add massActions "Validate" and "Sign"
2020-09-07 12:13:29 +02:00
Laurent Destailleur
570c72f6c9
Update list.php 2020-09-07 12:12:28 +02:00
Sekan, Tobias
fb93b179c1 Show ids on user/group rights (only admin) 2020-09-07 12:09:58 +02:00
Laurent Destailleur
850d776edc Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-07 12:05:04 +02:00
Laurent Destailleur
b1e45aef46 Debug opensurvey. Look and feel v13. Removed deprecated properties. 2020-09-07 12:04:50 +02:00
Laurent Destailleur
bfdc380958
Merge pull request #14648 from Dolibarr/scrutinizer-patch-13
Scrutinizer Auto-Fixes
2020-09-07 10:58:26 +02:00
Laurent Destailleur
1f58942e11 Fix phpcs 2020-09-07 10:57:41 +02:00
Adrien Raze
c8c6be2038 Retours PR 2020-09-07 10:50:01 +02:00
Laurent Destailleur
c538dfb5b2 FIX #14646 2020-09-07 10:34:44 +02:00
stickler-ci
efdfc2b682 Fixing style errors. 2020-09-07 08:23:12 +00:00
Scrutinizer Auto-Fixer
4e08f493da Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-09-07 08:22:01 +00:00
Laurent Destailleur
7c1bcfe66a
Merge pull request #14647 from Dolibarr/scrutinizer-patch-12
Scrutinizer Auto-Fixes
2020-09-07 10:18:51 +02:00
Scrutinizer Auto-Fixer
b78ff67d7e Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-09-07 08:18:17 +00:00
Laurent Destailleur
3c7dbedecd Fix property 2020-09-07 03:05:17 +02:00
Laurent Destailleur
c589c27b78 Fix var init 2020-09-07 02:57:19 +02:00
Laurent Destailleur
be1460e3eb Fix doxygen 2020-09-07 02:49:39 +02:00
Laurent Destailleur
2a952a5307 Fix phpcs 2020-09-07 02:35:04 +02:00
Laurent Destailleur
ba2a9d831f Enhance fetchAll() method 2020-09-07 01:55:13 +02:00
Laurent Destailleur
8679d1e929 Fix phpcs 2020-09-07 01:34:04 +02:00
Laurent Destailleur
1f6c0997f4 Add info when job is closed 2020-09-06 20:48:13 +02:00
Laurent Destailleur
d700649fb9 The deprecated subsitution key __SIGNATURE__ has been removed. Replace
with __USER_SIGNATURE__ if you still use old syntax in your email
templates.
2020-09-06 19:25:25 +02:00
Laurent Destailleur
84efd70dcb FIX Clean tooltip of help for substition for long notes 2020-09-06 19:19:55 +02:00
stickler-ci
af91013506 Fixing style errors. 2020-09-06 15:52:02 +00:00
Cédric
03e9e17be4
Merge branch 'develop' into patch-3 2020-09-06 17:50:54 +02:00
Laurent Destailleur
2f3022287e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-05 14:15:33 +02:00
Laurent Destailleur
837697b234 Try to merge manually PR #12500 2020-09-05 14:14:56 +02:00
Laurent Destailleur
52fe2a4d96
Merge pull request #14642 from nlouahedj/develop
NEW Algeria data (tva and forme_juridique)
2020-09-05 11:36:47 +02:00
Noureddine LOUAHEDJ
8d7bbe3dcb NEW tva Algerie 2020-09-05 08:58:51 +01:00
Noureddine LOUAHEDJ
ebf718fdae NEW forme_juridique Algerie 2020-09-05 08:58:29 +01:00
Laurent Destailleur
d6f1aa8451
Merge pull request #14639 from c3do/patch-8
NEW ref_ext in llx_facturedet
2020-09-04 23:12:26 +02:00
Laurent Destailleur
84f4020f49
Update llx_facturedet.sql 2020-09-04 23:12:12 +02:00
Laurent Destailleur
02e07c13c8
Merge branch 'develop' into patch-8 2020-09-04 23:11:00 +02:00
Laurent Destailleur
263989019c
Merge pull request #14493 from aspangaro/13a4
NEW Accountancy - Add options to disable accounting on sales, purchases & expense reports
2020-09-04 23:10:15 +02:00
Laurent Destailleur
f04b5c48ea
Update accountancy.lang 2020-09-04 23:09:34 +02:00
Cédric
806cfa84e2
Update llx_product_attribute_combination.sql 2020-09-04 23:08:02 +02:00
Cédric
76a5a42191
Update llx_product_attribute.sql 2020-09-04 23:07:10 +02:00
Cédric
c5fda967c7
add field ref_ext in llx_facturedet 2020-09-04 22:57:21 +02:00
Laurent Destailleur
7e879a8012 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-04 22:44:49 +02:00
Laurent Destailleur
b2c20c3dfd Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-04 22:42:48 +02:00
Laurent Destailleur
451c878cfc Fix add missing field 2020-09-04 22:42:37 +02:00
Laurent Destailleur
fba0fd0bed
Merge pull request #14641 from c3do/patch-9
NEW ref_ext field for Commande lines
2020-09-04 22:41:24 +02:00
Laurent Destailleur
ca29cc0c77
Merge pull request #14632 from OPEN-DSI/new-ticket-type-severity-group-translated-labels
NEW translate classification labels in ticket
2020-09-04 22:39:12 +02:00
Laurent Destailleur
9803da3ac1
Merge pull request #14637 from bafbes/abb120138
fix : unuseful truncation of list name elements
2020-09-04 22:38:08 +02:00
Laurent Destailleur
7cc1e30748
Merge pull request #14638 from OPEN-DSI/new-ticket-public-mail-format
NEW format tickets sent by mail in public interface
2020-09-04 22:37:18 +02:00
Laurent Destailleur
714c86ce54 Typo 2020-09-04 22:33:16 +02:00
Laurent Destailleur
972b95232e Fix typo 2020-09-04 22:30:53 +02:00
stickler-ci
ebb69e9d6e Fixing style errors. 2020-09-04 19:38:49 +00:00
Cédric
e9d6e04c25
NEW field ref_ext in llx_commandedet 2020-09-04 21:36:01 +02:00
Cédric
0a09284b8f
FIX one time is enough 2020-09-04 21:32:12 +02:00
Cédric
e84a2ab07c
Fix addline commande.class.php 2020-09-04 21:26:57 +02:00
Cédric
c06cb1eff3
NEW ref_ext for order lines 2020-09-04 21:25:20 +02:00
Cédric
1f82fcc1f0
NEW ref_ext field for order lines 2020-09-04 21:11:58 +02:00
Alexandre SPANGARO
247cc71ef4 Merge remote-tracking branch 'upstream/develop' into 13a8 2020-09-04 20:26:05 +02:00
Laurent Destailleur
c8da9f97a8 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/facture/class/facture.class.php
2020-09-04 19:51:22 +02:00
Cédric
38bc98cf7d
ADD ref_ext field in llx_facturedet 2020-09-04 19:38:24 +02:00
Laurent Destailleur
0c1a5d9e25 FIX using decimal on stock correction 2020-09-04 19:34:20 +02:00
stickler-ci
1cff5e0e03 Fixing style errors. 2020-09-04 17:33:58 +00:00
Cédric
5f4ad2a9fa
NEW ref_ext for Facture lines 2020-09-04 19:32:42 +02:00
Cédric
b60f82966c
Update facture.class.php 2020-09-04 17:54:25 +02:00
lvessiller
123d33b47c NEW format tickets sent by mail in public interface 2020-09-04 17:50:49 +02:00
bahfir abbes
77afbd4412 fix : unuseful truncation of list name elements 2020-09-04 15:58:21 +01:00
Laurent Destailleur
4fdbfa8224 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-04 16:30:55 +02:00
Sekan, Tobias
0375f5fd37 Add helper function for table headers with numbers 2020-09-04 15:24:45 +02:00
Laurent Destailleur
7094cec42a Fix use same duration code 'on 1 letter' than the production duration
record, also than tha sprintf.
2020-09-04 14:37:55 +02:00
lvessiller
4f68c694b8 NEW fetch object useless on create ticket trigger 2020-09-04 14:25:13 +02:00
Laurent Destailleur
f2a16d860e Enhance method fetchByFkProductChild() 2020-09-04 14:05:35 +02:00
Laurent Destailleur
4383f1d00c
Update ProductCombination.class.php 2020-09-04 13:50:22 +02:00
Laurent Destailleur
0ee40402b9 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-04 13:35:31 +02:00
Laurent Destailleur
092b66a7f1 Add variation_ref_ext field 2020-09-04 13:35:16 +02:00
Laurent Destailleur
aa031606b9
Merge pull request #14635 from c3do/patch-7
NEW endpoint getContacts and Clean results
2020-09-04 13:25:36 +02:00
stickler-ci
d743cb6ac2 Fixing style errors. 2020-09-04 11:22:22 +00:00
Laurent Destailleur
35c0bc81e2
Update api_products.class.php 2020-09-04 13:21:10 +02:00
Laurent Destailleur
8e2001a09b
Update api_products.class.php 2020-09-04 13:20:03 +02:00
Laurent Destailleur
9cafd3b97f
Update api_products.class.php 2020-09-04 13:10:30 +02:00
stickler-ci
52c057b9dd Fixing style errors. 2020-09-04 11:06:43 +00:00
Laurent Destailleur
a98c5b9841
Update api_products.class.php 2020-09-04 13:05:30 +02:00
stickler-ci
962bb0c698 Fixing style errors. 2020-09-04 10:59:38 +00:00
Laurent Destailleur
a93cbafe58
Update api_products.class.php 2020-09-04 12:58:30 +02:00
stickler-ci
d6bf70300a Fixing style errors. 2020-09-04 10:57:21 +00:00
Laurent Destailleur
a6f6db6b54
Update api_products.class.php 2020-09-04 12:56:06 +02:00
stickler-ci
334224cd2d Fixing style errors. 2020-09-04 10:55:34 +00:00
Laurent Destailleur
606217fefc
Debug 2020-09-04 12:54:23 +02:00
stickler-ci
8026ee15df Fixing style errors. 2020-09-04 10:52:55 +00:00
Laurent Destailleur
8ca08de5e6
Debug 2020-09-04 12:51:44 +02:00
Laurent Destailleur
b329a9d886
Update api_products.class.php 2020-09-04 12:45:09 +02:00
Laurent Destailleur
1ceb7c8677 Add ref_ext to product_attribute. 2020-09-04 12:41:56 +02:00
Cédric
9141b6b092
NEW endpoint getContacts and Clean results
NEW Get contacts list of a given order
FIX bad function used to unlink a contact
FIX Result for link contact and unlink contact
2020-09-04 12:36:03 +02:00
Laurent Destailleur
e5633e07a2
Update api_products.class.php 2020-09-04 12:28:47 +02:00
Laurent Destailleur
6eb1be02ad
Merge pull request #14630 from OPEN-DSI/new-ticket-card-extrafields-errors
NEW manage errors on update extra fields in ticket card
2020-09-04 12:27:25 +02:00
Laurent Destailleur
257bb87c53 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-04 12:25:32 +02:00
Laurent Destailleur
07fc85c222 Fix minor 2020-09-04 12:25:16 +02:00
Cédric
704b83c79a
Multiple fix and features
NEW ref_ext for Attributes and Combinations
Clean and improved results for ::getAttributeValues ::getAttributes ::getAttributesById ::getAttributesByRef
FIX delete subproduct endpoint url
2020-09-04 12:24:57 +02:00
lvessiller
85575fd604 NEW translate classification labels in ticket 2020-09-04 12:18:32 +02:00
stickler-ci
8d6c19a432 Fixing style errors. 2020-09-04 10:10:37 +00:00
Laurent Destailleur
ef0c9df5ff
Merge pull request #14224 from cfoellmann/disable-eatby-sellby
NEW Can hide eatby, sellby dates with option PRODUCT_DISABLE_SELLBY and PRODUCT_DISABLE_EATBY
2020-09-04 12:09:30 +02:00
Laurent Destailleur
564a47e41c
Update productlot_list.php 2020-09-04 12:08:10 +02:00
Cédric
b841a4354e
NEW ref_ext for Attributes 2020-09-04 12:06:09 +02:00
Cédric
93959d34c8
NEW fields ref_ext for Attributes and Combinations 2020-09-04 12:01:01 +02:00
Cédric
3a232796d8
Use new function fetchAllByFkProductChild 2020-09-04 11:43:56 +02:00
Cédric
3d926ff3a1
use function getFkProductParentByFkProductChild 2020-09-04 11:38:40 +02:00
Cédric
0f1c3643d7
Use function getFkProductParentByFkProductChild 2020-09-04 11:21:29 +02:00
Cédric
925a1475a1
add ref_ext to ProductCombination.class.php 2020-09-04 11:01:47 +02:00
lvessiller
eb83941e61 NEW manage errors on update extra fields in ticket card 2020-09-04 10:46:05 +02:00
Laurent Destailleur
e7088810aa
Merge pull request #14626 from OPEN-DSI/new-ticket-extrafields-labels-in-mail
NEW add extra fields labels and values in mail on create ticket
2020-09-04 10:21:04 +02:00
lvessiller
22d4382b83 NEW add extra fields labels and values in mail on create ticket 2020-09-04 09:38:33 +02:00
Laurent Destailleur
1408c862f6 css 2020-09-03 21:23:58 +02:00
Laurent Destailleur
614c188486 css 2020-09-03 19:29:00 +02:00
Laurent Destailleur
aafe323405 css 2020-09-03 19:11:56 +02:00
Laurent Destailleur
3f243aa457
Merge pull request #14622 from kev-73/develop
NEW: add week number for month view in agenda
2020-09-03 19:02:59 +02:00
Laurent Destailleur
6ecd566697
Merge pull request #14624 from OPEN-DSI/new-ticket-create-send-trackid-and-context
NEW send context and remove new lines on create ticket
2020-09-03 18:58:50 +02:00
Laurent Destailleur
a87797ed66 Debug recruitment module 2020-09-03 18:52:09 +02:00
lvessiller
a4f1ddaad0 NEW send context and remove new lines on create ticket 2020-09-03 17:22:27 +02:00
Laurent Destailleur
3ea9266732 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-03 15:29:14 +02:00
Laurent Destailleur
9a232b6164 Fix menu 2020-09-03 15:29:00 +02:00
stickler-ci
43590587e5 Fixing style errors. 2020-09-03 12:30:04 +00:00
Adrien Raze
bcd9a0b29f Retours PR 2020-09-03 14:25:17 +02:00
kev-73
38ed033b8a
New: add week number for month view in agenda
Agenda, view by month : add a column on left side of agenda, which containt the week number for each line, so for each week. Column width at 2%, no change for width of others columns, because with 14% by defalut, so 14*7=98, the 2% for new column is available. For get date and week number, use fonctions and variables already define in file.
2020-09-03 14:03:40 +02:00
Laurent Destailleur
457342ee95
Merge pull request #14541 from TobiasSekan/FixSinglePayWithMultiOnPaymentForun
FIX non-numeric value on multicurrency payment (part 2)
2020-09-03 13:26:43 +02:00
Laurent Destailleur
f7f42f7680 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-03 13:19:53 +02:00
Laurent Destailleur
661e3c7a11
Merge pull request #14576 from TobiasSekan/ShowBankOnlyWhenActive
FIX: Show bank account only when bank module is active (on invoices)
2020-09-03 13:19:32 +02:00
Laurent Destailleur
fe6d42f9e2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-03 12:56:34 +02:00
Laurent Destailleur
ac8c6954bf
Merge pull request #14607 from aspangaro/13a9
New Accountancy - Balance - Move to getNomUrl on accounting account
2020-09-03 12:44:31 +02:00
Laurent Destailleur
2fe9000286
Merge pull request #14612 from atm-john/develop_fix_and_factor_price_level
Fix and factor fetch combination price level
2020-09-03 12:39:06 +02:00
Laurent Destailleur
9293d1917a
Update ProductCombination.class.php 2020-09-03 12:37:30 +02:00
Laurent Destailleur
1d3c54dd64
Update ProductCombination.class.php 2020-09-03 12:36:57 +02:00
Laurent Destailleur
4da10b5f63
Merge pull request #14614 from aspangaro/13a10
New Accountancy Add predefined url in getNomUrl
2020-09-03 12:34:24 +02:00
Laurent Destailleur
87113a77b4
Update accountingaccount.class.php 2020-09-03 12:32:51 +02:00
Laurent Destailleur
67e58f639f
Merge pull request #14615 from atm-lena/FIX_selectModelMailFunction
selectModelMail() : if default and no mail models select default model
2020-09-03 12:29:59 +02:00
Laurent Destailleur
f88d2bdbbf
Merge pull request #14618 from TobiasSekan/ShowNumAndClickWarehouseArea
NEW Show header number and make it clickable in warehouse area
2020-09-03 12:23:45 +02:00
Laurent Destailleur
03d0ccc1cc
Merge pull request #14621 from TobiasSekan/ShowNumAndClickOnPaymentArea
NEW Show header number and make it clickable on payment area
2020-09-03 12:20:38 +02:00
Laurent Destailleur
1a33cd91c9
Update index.php 2020-09-03 12:20:20 +02:00
stickler-ci
06e8e62d38 Fixing style errors. 2020-09-03 09:49:35 +00:00
Sekan, Tobias
8f37f66470 Show number and allow click on payment area 2020-09-03 11:36:11 +02:00
Laurent Destailleur
77d15c9382 Fix long name overlap date 2020-09-03 11:34:20 +02:00
Laurent Destailleur
5af1eff2d9 Fix phpcs 2020-09-03 10:46:46 +02:00
Sekan, Tobias
38da331a8b Show number and clickable on warehouse area 2020-09-03 10:41:42 +02:00
stickler-ci
8c514c8025 Fixing style errors. 2020-09-03 08:24:12 +00:00
Adrien Raze
c043501ee5 Retours PR standard 2020-09-03 10:19:57 +02:00
Adrien Raze
0898a1e28a Merge branch 'NEW_propal_massAction_validate_sign' of https://github.com/atm-adrien/dolibarr into NEW_propal_massAction_validate_sign 2020-09-03 10:06:13 +02:00
Sekan, Tobias
f6b902ad36 Show counts and add links in shipment area 2020-09-03 09:58:28 +02:00
Adrien Raze
675fe05808 Retours PR Standard 2020-09-03 09:51:49 +02:00
atm-lena
197d03f9d9 FIX selectModelMail() : if default and no mail models select default model 2020-09-03 09:23:10 +02:00
Alexandre SPANGARO
b3cd9688d5 Typo 2020-09-02 23:43:47 +02:00
Alexandre SPANGARO
853bacd545 New Accountancy Add predefined url in getNomUrl 2020-09-02 23:43:36 +02:00
Laurent Destailleur
31548c6fbb Better error message 2020-09-02 21:42:29 +02:00
Laurent Destailleur
f642fc9ad9 Fix 2020-09-02 21:40:17 +02:00
Laurent Destailleur
ed743c9dbb Fix phpcs
More secured sendEmailsReminder()
2020-09-02 21:39:22 +02:00
Laurent Destailleur
9868140693 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-02 19:20:12 +02:00
Laurent Destailleur
4dca1929e0 Can close a recruitment job 2020-09-02 19:19:47 +02:00
Laurent Destailleur
80f824569a Use english 2020-09-02 19:15:03 +02:00
Laurent Destailleur
a58dcc3886 Doc 2020-09-02 19:10:07 +02:00
Laurent Destailleur
a984c8e969 Use english 2020-09-02 18:57:56 +02:00
Laurent Destailleur
0572d2e46d
Merge pull request #14385 from egils-consulting/translate-variable-name-and-add-hints
Update api_supplier_invoices.class.php
2020-09-02 18:22:50 +02:00
Laurent Destailleur
ab938f2299
Merge pull request #14606 from bafbes/abb120137
new : option to hide complementary actions on member subscription
2020-09-02 18:10:30 +02:00
Laurent Destailleur
6ccec31fa0
Merge pull request #14605 from Tim-Otte/fix-contact-type-translation
FIX: Contact type translation
2020-09-02 18:09:37 +02:00
Laurent Destailleur
6d52721246
Merge pull request #14609 from atm-lena/NEW_AddDefaultMailModelToSelect_EventReminder
Event Reminder : Add "Default Mail Model" to select Mail Model
2020-09-02 18:08:40 +02:00
Laurent Destailleur
de3e818ccf
Update html.form.class.php 2020-09-02 18:08:08 +02:00
Laurent Destailleur
31acaf4b4b
Merge pull request #14610 from OPEN-DSI/new-ticket-mail-smtp-config
NEW can set a dedicated SMTP config for sending email from public ticket interface
2020-09-02 18:06:37 +02:00
Laurent Destailleur
d913736bd1
Update list.php 2020-09-02 17:59:21 +02:00
Laurent Destailleur
ee003ed499
Update list.php 2020-09-02 17:57:09 +02:00
Laurent Destailleur
2a4f0fc034 Fix backto link 2020-09-02 16:37:02 +02:00
John Botella
cd952f7427 Fix and factor fetch combination price level 2020-09-02 16:24:22 +02:00
stickler-ci
a713286579 Fixing style errors. 2020-09-02 13:58:04 +00:00
lvessiller
27c754e6c8 NEW add send context for ticket 2020-09-02 15:33:18 +02:00
Adrien Raze
d6113acfc8 action presign/prevalidate + action sign/validate + Traductions 2020-09-02 15:20:10 +02:00
atm-lena
7b91c8efc8 Event Reminder : Add "Default Mail Model" to select Mail Model 2020-09-02 09:58:55 +02:00
Alexandre SPANGARO
fb88c68ddb New Accountancy - Balance - Move to getNomUrl on accounting account 2020-09-02 05:15:58 +02:00
Laurent Destailleur
e4557b3dd3 Responsive 2020-09-01 23:04:29 +02:00
Laurent Destailleur
619a9a3679 Look and feel v13 2020-09-01 22:53:49 +02:00
Laurent Destailleur
8e02d39cb3 Fix prefill of end date when event type is rendez-vous 2020-09-01 22:44:03 +02:00
Laurent Destailleur
ad4cdce92b Doc 2020-09-01 21:18:21 +02:00
bahfir abbes
47eee354f8 new : option to hide complementary actions 2020-09-01 19:31:44 +01:00
Tim Otte
8a5a171cf8 Added agenda translation 2020-09-01 16:59:40 +02:00
Tim Otte
71471a054d Loaded the required translations 2020-09-01 16:53:42 +02:00
Laurent Destailleur
def2bd5d6d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-01 16:36:26 +02:00
stickler-ci
028275582a Fixing style errors. 2020-09-01 14:26:16 +00:00
Alexandre SPANGARO
0336fe5686 NEW Accountancy - On transfers, select the periodicity by default 2020-09-01 16:18:07 +02:00
Laurent Destailleur
f18a852510
Merge pull request #14599 from TobiasSekan/AllowClickOnAllNumOnCommerceOverview
NEW Allow click on all header numbers on commerce area
2020-09-01 15:38:42 +02:00
Laurent Destailleur
eb5ac6e9b0
Merge pull request #14595 from ptibogxiv/patch-355
NEW standardizes API thirdparties by email with other object
2020-09-01 15:37:17 +02:00
Laurent Destailleur
30dba9af5b
Merge pull request #14593 from ptibogxiv/patch-354
NEW API get users by email / login
2020-09-01 15:35:35 +02:00
Laurent Destailleur
a424515835
Merge pull request #14596 from atm-lena/NEW_AgendaEvent_Remind_Part2
Agenda Remind (Part 2 & 3)
2020-09-01 15:33:52 +02:00
Laurent Destailleur
a626b252bd
Optimize code 2020-09-01 15:33:02 +02:00
Laurent Destailleur
265d7b2e0e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-09-01 15:18:10 +02:00
Laurent Destailleur
5d40380a07 Add index on status 2020-09-01 15:17:52 +02:00
Laurent Destailleur
f05c98b1a7
Merge pull request #14600 from atm-lena/develop_FIX_CreateReminder_DateRemind
Create Event Remind : Wrong value "dateremind"
2020-09-01 15:08:45 +02:00
atm-lena
1b225706db FIX create remind : dateremind save 2020-09-01 14:48:03 +02:00
Florian HENRY
0099d98096 Merge remote-tracking branch 'origin/develop' into dev_updatedocker 2020-09-01 14:32:49 +02:00
Florian HENRY
e9ff43ad44 ongoing 2020-09-01 14:31:54 +02:00
Sekan, Tobias
ba107361fd Allow click all num on comm. overview 2020-09-01 13:20:56 +02:00
stickler-ci
763515a4ca Fixing style errors. 2020-09-01 08:17:19 +00:00
atm-lena
86c6ef23e3 Errors management v2 2020-09-01 10:05:55 +02:00
atm-lena
b747f6285e Errors management 2020-09-01 10:01:59 +02:00
atm-lena
d2ed43d913 Merge branch 'develop' of github.com:Dolibarr/dolibarr into NEW_AgendaEvent_Remind_Part2 2020-09-01 09:43:14 +02:00
atm-lena
13f91f1de8 FIX getEmailTemplat() in sendEmailsReminder() reminder function 2020-09-01 09:41:59 +02:00
Laurent Destailleur
b69a992324 Fix option AGENDA_SUPPORT_PRIORITY_IN_EVENTS 2020-09-01 04:29:57 +02:00
Laurent Destailleur
e353d4a42d Add tooltip if label truncated 2020-09-01 03:59:57 +02:00
Laurent Destailleur
d69f08e489 WIP 2020-09-01 01:24:05 +02:00
ptibogxiv
477f33f56c
NEW standardizes API thirdparties by email with other object 2020-08-31 21:45:51 +02:00
Laurent Destailleur
887d4e0603 Add unique key on table of inventory details 2020-08-31 20:02:06 +02:00
Laurent Destailleur
4110f1df05 Responsive 2020-08-31 19:21:33 +02:00
Laurent Destailleur
9dbc9582c1 Code comment 2020-08-31 17:12:31 +02:00
stickler-ci
fcc2ad8c9b Fixing style errors. 2020-08-31 15:11:05 +00:00
ptibogxiv
c8e0bcd710
NEW API get users by email / login 2020-08-31 17:09:14 +02:00
Laurent Destailleur
0a93954134 Fix regresssion. The reply_to was missing with SMTPS 2020-08-31 17:07:13 +02:00
Laurent Destailleur
0442ed1bd1 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-31 17:00:55 +02:00
Laurent Destailleur
49a4f4f1a1 More log 2020-08-31 17:00:43 +02:00
atm-lena
a8c9e76ef6 Merge branch 'develop' of github.com:Dolibarr/dolibarr into NEW_AgendaEvent_Remind_Part2 2020-08-31 16:57:49 +02:00
Laurent Destailleur
1a353a5742
Merge pull request #14592 from TobiasSekan/UniformAvailabilityDescOnPropal
FIX Uniform availability delay description on commercial proposal (new and card)
2020-08-31 16:25:42 +02:00
Laurent Destailleur
54c1be3717
Merge pull request #14560 from ptibogxiv/patch-349
NEW display resiliate status in takepos for member
2020-08-31 16:16:39 +02:00
Laurent Destailleur
d11d02a23a
Merge pull request #14586 from ptibogxiv/patch-353
NEW change thirdparty with barcode scan in takepos
2020-08-31 16:15:59 +02:00
Laurent Destailleur
deac359502
Merge pull request #14585 from ptibogxiv/patch-352
NEW api get member by thirdparty
2020-08-31 16:14:23 +02:00
Laurent Destailleur
0f68854baa
Merge pull request #14591 from TobiasSekan/AvoidUseCurlyBracesOnContactList
FIX Avoid use of curly braces on contact list (PHP 7.4+)
2020-08-31 16:13:33 +02:00
Laurent Destailleur
5c2694dcf8
Merge pull request #14584 from ptibogxiv/patch-351
NEW API get thirdparty by barcode
2020-08-31 16:08:22 +02:00
Laurent Destailleur
1065e7328e
Merge pull request #14587 from andreubisquerra/master
NEW Keep takepos terminal when login/logout
2020-08-31 16:07:09 +02:00
atm-lena
f8c79db4a9 Merge branch 'develop' of github.com:Dolibarr/dolibarr into NEW_AgendaEvent_Remind_Part2 2020-08-31 14:14:27 +02:00
Sekan, Tobias
070a09d5cc Uniform availability desc. on propal 2020-08-31 13:41:22 +02:00
Laurent Destailleur
553c2ddd0f Decrese delay to close stale 2020-08-31 12:18:49 +02:00
Sekan, Tobias
8b40d17868 avoid use of curly braces on contact list 2020-08-31 08:10:06 +02:00
Laurent Destailleur
3a102cce73 csscss 2020-08-30 20:55:22 +02:00
Laurent Destailleur
8c4e4aba1a css 2020-08-30 20:31:28 +02:00
Laurent Destailleur
83d70c9856 Fix use new navigation 2020-08-30 19:54:34 +02:00
Laurent Destailleur
02f108835d Fix tooltip 2020-08-30 19:45:46 +02:00
Laurent Destailleur
d35e374584 css 2020-08-30 19:32:52 +02:00
Laurent Destailleur
4d04ca2a93 Update doc 2020-08-30 18:24:35 +02:00
Laurent Destailleur
b1856055df Update doc 2020-08-30 18:18:25 +02:00
Laurent Destailleur
0d4f7cb485 Fix responsive and title of reports 2020-08-30 17:42:49 +02:00
Laurent Destailleur
d94d7a1d0b Sync transifex 2020-08-30 16:28:07 +02:00
Laurent Destailleur
60ead7cefd Trans 2020-08-30 13:22:12 +02:00
Laurent Destailleur
3bef07697c Trans 2020-08-30 13:17:25 +02:00
Laurent Destailleur
e030b2089a Look and feel v13 2020-08-30 13:14:28 +02:00
stickler-ci
59542cfbcd Fixing style errors. 2020-08-30 07:41:57 +00:00
jove@bisquerra.com
862c55ea07 NEW Keep takepos terminal when login/logout 2020-08-30 09:19:35 +02:00
Laurent Destailleur
003566706b FIX CSS 2020-08-30 05:27:07 +02:00
Laurent Destailleur
8bffbb812a css 2020-08-30 05:24:44 +02:00
Laurent Destailleur
60af9925a8 css 2020-08-30 04:57:15 +02:00
Laurent Destailleur
8adf1852b1 Clean code 2020-08-30 03:00:35 +02:00
Florian HENRY
f21741074c Merge branch 'develop' into dev_updatedocker 2020-08-29 18:41:03 +02:00
Florian HENRY
9614dcf9ec fix comment 2020-08-29 18:38:26 +02:00
Florian HENRY
fba614632f working on docker image 2020-08-29 18:31:42 +02:00
stickler-ci
e18b85ea87 Fixing style errors. 2020-08-29 14:08:42 +00:00
ptibogxiv
d3024fdd1c
Update index.php 2020-08-29 16:07:01 +02:00
ptibogxiv
a963d6c0fc
NEW change thirdparty with barcode scan in takepos 2020-08-29 16:05:14 +02:00
ptibogxiv
6eeb1d3a96
Update invoice.php 2020-08-29 13:36:52 +02:00
ptibogxiv
a64223f73d
Update api_members.class.php 2020-08-29 12:44:17 +02:00
stickler-ci
96b3474185 Fixing style errors. 2020-08-29 10:40:30 +00:00
ptibogxiv
7fe83b24ba
NEW api get member by thirdparty 2020-08-29 12:38:22 +02:00
ptibogxiv
12676d020a
Update api_thirdparties.class.php 2020-08-29 11:43:56 +02:00
stickler-ci
26f812b73b Fixing style errors. 2020-08-29 09:39:10 +00:00
ptibogxiv
a68d2fe91e
NEW API get thirdparty by barcode 2020-08-29 11:37:16 +02:00
Laurent Destailleur
6293f76692 Debug 2020-08-29 06:17:26 +02:00
Laurent Destailleur
9cba23e458 Fix phpcs 2020-08-29 06:10:18 +02:00
Laurent Destailleur
bca9a84710 Enhance autofill of end date when creating an event 2020-08-29 06:05:52 +02:00
Laurent Destailleur
b721930b3b
Merge pull request #14568 from atm-lena/NEW_AgendaEvent_Remind
Agenda Remind (Part 1)
2020-08-29 05:19:21 +02:00
Laurent Destailleur
1eaba7d889 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-29 05:13:48 +02:00
Laurent Destailleur
a1a05d55e4
Update admin.lang 2020-08-29 05:03:44 +02:00
Laurent Destailleur
e9c6911a23
Update admin.lang 2020-08-29 05:03:01 +02:00
Laurent Destailleur
bd201052de
Update html.form.class.php 2020-08-29 04:58:07 +02:00
Laurent Destailleur
ca47eb2c9f
Update html.form.class.php 2020-08-29 04:55:24 +02:00
Laurent Destailleur
e80722536d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-29 04:42:29 +02:00
Laurent Destailleur
8e70a731d3 doc 2020-08-29 04:42:14 +02:00
Laurent Destailleur
67a82ac3b5
Merge pull request #14583 from ptibogxiv/patch-350
New fetch thirdparty by barcode
2020-08-29 04:28:08 +02:00
Laurent Destailleur
47c5bf5f06 Fix example 2020-08-29 04:22:57 +02:00
Laurent Destailleur
82f93fed92 css 2020-08-29 03:52:27 +02:00
Laurent Destailleur
5eca65f673 css 2020-08-29 02:35:24 +02:00
Laurent Destailleur
983a3c59c8 css 2020-08-29 01:11:08 +02:00
ptibogxiv
00d619d08e
Update societe.class.php 2020-08-28 23:04:05 +02:00
ptibogxiv
8286978ce8
New fetch thirdparty by barcode
ie: usefull for fidelity card with barcode/qrcode
if this PR ok, i will push PR for get thirdparty by barcode  and change thirdparty by barcode in takepos
2020-08-28 22:44:58 +02:00
Laurent Destailleur
bf06a34139 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/fourn/facture/paiement.php
2020-08-28 21:29:35 +02:00
Laurent Destailleur
ad87e753b4 Clean trim on GETPOST (already included inside GETPOST when not 'none' 2020-08-28 21:27:50 +02:00
Laurent Destailleur
144cc52b20
Merge pull request #14540 from TobiasSekan/FixSingelPaymentWithMulticurrency
FIX non-numeric value on multicurrency payment (part 1)
2020-08-28 21:17:32 +02:00
Laurent Destailleur
e5398c8f2d
Update paiement.php 2020-08-28 21:16:33 +02:00
Laurent Destailleur
0acb33fc91
Merge pull request #14582 from OPEN-DSI/new-ticket-remove-new-lines-in-mail
NEW remove new lines in mail on add ticket message
2020-08-28 21:08:17 +02:00
Laurent Destailleur
25f1f1eafb Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-28 19:08:08 +02:00
Laurent Destailleur
04ad25d90f NEW Add the workflow interaction close intervention on closing ticket 2020-08-28 19:07:17 +02:00
Laurent Destailleur
9cd63d68bd
Update admin.lang 2020-08-28 17:58:02 +02:00
lvessiller
c3b095c820 NEW remove new lines in mail on add ticket message 2020-08-28 17:54:57 +02:00
Laurent Destailleur
3f1c2e9d07
Merge pull request #14577 from bafbes/abb120136
New option to see complete names of partners
2020-08-28 17:50:18 +02:00
Laurent Destailleur
c4c0b8afd4
Fix 2020-08-28 17:49:30 +02:00
Laurent Destailleur
50b791cfca Fix css 2020-08-28 17:41:15 +02:00
Laurent Destailleur
9950f2ea83
Merge pull request #14581 from OPEN-DSI/new-ticket-add-subject-company-name
NEW subject title with company name instead of application title in t…
2020-08-28 17:36:38 +02:00
Laurent Destailleur
0b8d7f329e FIX added information on user list not visible with multiselect 2020-08-28 17:17:22 +02:00
lvessiller
49098218cb NEW subject title with company name instead of application title in ticket message 2020-08-28 16:55:28 +02:00
bahfir abbes
a031a10f77 fix:option to see complete names of partners 2020-08-28 13:34:40 +01:00
Sekan, Tobias
9c54f8831f Show bank only when active (on new) 2020-08-28 13:08:04 +02:00
Sekan, Tobias
216e22e505 Show bank only when bank module is active 2020-08-28 12:53:30 +02:00
Florian HENRY
9502478b7e Merge branch 'develop' into dev_testdocker 2020-08-28 12:14:05 +02:00
Florian HENRY
b7f4162721 use new version docker file 2020-08-28 12:10:08 +02:00
atm-lena
6562334f7b FIX sendEmailsReminder() function 2020-08-28 09:37:18 +02:00
Laurent Destailleur
30838f01d4 Fix warning 2020-08-27 22:03:52 +02:00
Laurent Destailleur
d40f90fecb Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-27 22:00:38 +02:00
Laurent Destailleur
4ecd15b7ab Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/fourn/commande/card.php
	htdocs/langs/en_US/main.lang
2020-08-27 21:57:42 +02:00
Laurent Destailleur
8f34f4c1c5 FIX #14530 2020-08-27 21:46:28 +02:00
Laurent Destailleur
1b77dc4e13 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-27 21:19:06 +02:00
Laurent Destailleur
c419e2f0de Sanitize vars 2020-08-27 21:18:49 +02:00
Laurent Destailleur
fe4acf4e4e NEW Add focus when editing on product/stock/product.php Close #14548 2020-08-27 21:18:40 +02:00
Laurent Destailleur
4624cf98ee
Merge pull request #14545 from cfoellmann/defaults-payment-selections
FIX allow use of default settings for payment term and condition on proposal creation
2020-08-27 21:04:10 +02:00
Laurent Destailleur
f997d11761
Update card.php 2020-08-27 21:02:01 +02:00
Laurent Destailleur
7730569dff
Update card.php 2020-08-27 21:00:01 +02:00
Laurent Destailleur
f4793f505e
Merge pull request #14532 from StephaneLesage/import-thirdparty-mothercompany-debtlimit-bank-incoterms
NEW Third-Party Import new fields: mother company,outstanding debt limit,bank account,incoterms
2020-08-27 20:12:36 +02:00
Laurent Destailleur
9f8d1f0e63
Merge pull request #14520 from TobiasSekan/ShowUserOnExternalCalenderEvents
NEW Show user on external calender events (when found)
2020-08-27 20:10:13 +02:00
Laurent Destailleur
b6e9ba8ed6
Merge pull request #14535 from aspangaro/13a6
Some fix on assets
2020-08-27 20:01:33 +02:00
Laurent Destailleur
af36f9c784
Merge pull request #14531 from andreubisquerra/master
NEW: Print payment method and change in TakePOS
2020-08-27 20:00:34 +02:00
Laurent Destailleur
3b4508b44f
Update paiement.class.php 2020-08-27 19:59:46 +02:00
Laurent Destailleur
5c1680e9c5
Merge branch 'develop' into master 2020-08-27 19:58:29 +02:00
Laurent Destailleur
a3e94a670b
Merge pull request #14554 from bb2a/filter_warehous_order
Remove warehouse search
2020-08-27 19:56:55 +02:00
Laurent Destailleur
094b2e84a6
Merge pull request #14566 from TobiasSekan/FixEmptyRefInContractListToolTip
FIX - Empty references in contract service list tool tip
2020-08-27 19:54:37 +02:00
Laurent Destailleur
829ef1ae0b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-27 19:52:21 +02:00
Laurent Destailleur
741489fdc0 FIX #14564 2020-08-27 19:52:05 +02:00
Laurent Destailleur
8a9244d1d6
Merge pull request #14567 from TobiasSekan/ShowRefInContractFormOnInterventions
NEW - Show references in contract form on interventions
2020-08-27 19:44:51 +02:00
Laurent Destailleur
6715eaee09
Update html.formcontract.class.php 2020-08-27 19:44:17 +02:00
Laurent Destailleur
57c8835fcc
Merge pull request #14565 from atm-john/develop_fix_14562
Fix #14562 Unable to create table `llx_product_attribute_combination_price_level` upon clean install
2020-08-27 19:42:50 +02:00
Laurent Destailleur
a80950dfa4 Fix regression 2020-08-27 19:41:32 +02:00
Laurent Destailleur
8b95aa63eb Trans 2020-08-27 18:59:36 +02:00
Laurent Destailleur
0309510ab8 Fix avoid duplicate event recorded from email collector 2020-08-27 18:50:08 +02:00
Laurent Destailleur
2abdfe08d7 FIX Email collector decode subject
FIX Cloning email collector clone also rules and operations
2020-08-27 18:27:05 +02:00
atm-lena
c0f254d10c Translation + decode 2020-08-27 16:03:25 +02:00
atm-lena
e3ce3cbb7c Function sendEmailsReminder() 2020-08-27 15:49:56 +02:00
atm-lena
f57325237a WIP : sendEmailsReminder() 2020-08-27 12:30:59 +02:00
atm-lena
acb50950a4 Add a default message to "actioncomm_send" template 2020-08-27 11:31:48 +02:00
atm-lena
5856033892 Replace "agenda_send" and "event_push" to "actioncomm_send" 2020-08-27 11:15:08 +02:00
atm-lena
69459e3429 Merge branch 'develop' of github.com:Dolibarr/dolibarr into NEW_AgendaEvent_Remind 2020-08-27 11:13:21 +02:00
Laurent Destailleur
180a49601b Use CSS to define size of logo on public pages. 2020-08-27 11:01:41 +02:00
stickler-ci
b0fe7bc2e0 Fixing style errors. 2020-08-27 08:47:57 +00:00
atm-lena
4ef2644300 Use date.lib.php functions 2020-08-27 10:29:23 +02:00
stickler-ci
8ff24282d9 Fixing style errors. 2020-08-27 08:16:32 +00:00
Sekan, Tobias
c2590433fe Show ref in contract form on interventions 2020-08-27 10:11:18 +02:00
atm-lena
9d1fc28eba Fix type reminder "push" to "browser" 2020-08-27 09:35:02 +02:00
atm-lena
bbc554070c Fix 2020-08-27 09:33:40 +02:00
Sekan, Tobias
aa8ec1cd9c Fix empty ref in contract list tool tip 2020-08-27 09:32:00 +02:00
atm-lena
63f89950c0 Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop 2020-08-27 09:19:44 +02:00
Laurent Destailleur
4127fded2a WIP 2020-08-27 03:14:55 +02:00
ATM john
236d2862af Fix install table 2020-08-26 21:56:50 +02:00
atm-lena
6a60228bc3 Translation 2020-08-26 17:11:32 +02:00
atm-lena
efe60ebc58 Error management 2020-08-26 17:02:34 +02:00
atm-lena
cc29654f47 WIP : rename fk_project to fk_actioncomm + add line to sql file to install 2020-08-26 16:48:09 +02:00
atm-lena
a01d1b58c7 Add fk_email_template 2020-08-26 16:06:20 +02:00
atm-lena
cf9337b644 Add fk_project to actioncommreminder object 2020-08-26 15:58:14 +02:00
atm-lena
c10556473f Clean 2020-08-26 15:35:12 +02:00
atm-lena
552e655668 Add field "entity" in actioncommrminder object and table 2020-08-26 15:22:32 +02:00
atm-lena
1267e914dc Merge branch 'develop' of github.com:Dolibarr/dolibarr into NEW_AgendaEvent_Remind 2020-08-26 15:16:53 +02:00
atm-lena
d4e6a9871c Update select_type_duration() function 2020-08-26 15:14:07 +02:00
atm-lena
2fb5824836 Calcul date of reminder for event create 2020-08-26 15:12:08 +02:00
Florian HENRY
08702a0d1a on going version 3 2020-08-26 14:16:49 +02:00
atm-lena
d3ac39589a WIP 2020-08-26 12:48:12 +02:00
stickler-ci
eecab28203 Fixing style errors. 2020-08-26 10:22:33 +00:00
ptibogxiv
989130c0ad
Update invoice.php 2020-08-26 12:20:49 +02:00
ptibogxiv
76e276e8e8
Update invoice.php 2020-08-26 12:00:45 +02:00
stickler-ci
32ecf4dd9a Fixing style errors. 2020-08-26 09:46:49 +00:00
ptibogxiv
66cdb1dad0
NEW display resiliate status in takepos for member 2020-08-26 11:44:35 +02:00
atm-lena
42f492877e WIP 2020-08-26 11:36:32 +02:00
atm-lena
3046556d7b Add checkbox "AddReminder" 2020-08-26 11:19:14 +02:00
atm-lena
a4018f41f7 WIP 2020-08-26 10:52:36 +02:00
Laurent Destailleur
23bb67873f NEW Can edit the list of sending email profiles. 2020-08-25 19:40:17 +02:00
atm-lena
7df993c7ed Add "select_model_mail" function + add select to create event 2020-08-25 17:26:32 +02:00
Anthony Berton
458bc66327 Update list.php 2020-08-25 17:25:34 +02:00
atm-lena
6a94c0f52f Add model type mail 2020-08-25 16:43:57 +02:00
atm-lena
94b2f3c5e1 Add $conf conditions 2020-08-25 12:57:36 +02:00
Laurent Destailleur
6f1a51139c Fix load lang 2020-08-25 12:48:56 +02:00
Laurent Destailleur
7c39543c72 Support trigger in module recruitment
Enhance generic code of automatic recording events
2020-08-25 12:47:38 +02:00
atm-lena
25840c2b3d Create Event - Add fields 2020-08-25 12:40:29 +02:00
stickler-ci
2cbb4081fe Fixing style errors. 2020-08-25 10:20:48 +00:00
Sekan, Tobias
a7895f3496 Merge branch 'ShowUserOnExternalCalenderEvents' of https://github.com/TobiasSekan/dolibarr into ShowUserOnExternalCalenderEvents 2020-08-25 12:20:10 +02:00
Sekan, Tobias
4c851884e5 Address feedback 2020-08-25 12:16:44 +02:00
Laurent Destailleur
c2e98c7c90 tooltip 2020-08-25 03:31:31 +02:00
Laurent Destailleur
7b5b3cf8a2 Add br 2020-08-25 02:28:08 +02:00
Laurent Destailleur
8c9f6db856 Label in popup 2020-08-25 02:27:32 +02:00
Laurent Destailleur
f9eccce26c Fix phpcs 2020-08-24 20:43:38 +02:00
Laurent Destailleur
3dfda2ae60 FIX Emailcollector - decode extracted
NEW Rule "email to" accept wildcard *
2020-08-24 20:41:27 +02:00
Laurent Destailleur
60d76000d7 Fix bad column name 2020-08-24 17:23:33 +02:00
Laurent Destailleur
21633e3d39 css 2020-08-24 17:10:27 +02:00
stickler-ci
a60968e95b Fixing style errors. 2020-08-24 14:17:15 +00:00
Christian Foellmann
0e9677fd34 allow default settings for "cond_reglement_id" and "mode_reglement_id"
(cherry picked from commit 2e5475d181af2e8ceb6ea220424fd1329e72e342)
2020-08-24 16:08:44 +02:00
Sekan, Tobias
6d2aa6b654 Fix non-numeric value 2020-08-24 15:26:06 +02:00
Sekan, Tobias
4c887d6110 Fix for non-numeric value in payment 2020-08-24 14:53:34 +02:00
Alexandre SPANGARO
335f57f9be Fix language 2020-08-24 11:41:00 +02:00
Alexandre SPANGARO
eebe888377 Some fix on assets 2020-08-24 09:47:37 +02:00
Christian Foellmann
b1849aed5c fix for mistakenly uncommented code 2020-08-24 07:53:25 +02:00
stickler-ci
721b1275ff Fixing style errors. 2020-08-23 23:20:07 +00:00
StephaneLesage
5aac080e61 NEW Third-Party Import new fields: mother company,outstanding debt limit,bank account,incoterms 2020-08-24 01:01:35 +02:00
Laurent Destailleur
14a4cae95b Fix 2020-08-24 00:31:25 +02:00
Laurent Destailleur
689fa752bf Implement action "Decline" 2020-08-24 00:23:18 +02:00
Laurent Destailleur
633f03e853 Add extrafields for recruitment 2020-08-24 00:09:04 +02:00
andreubisquerra
915aa56a95
Change variable to pos_change 2020-08-23 22:29:55 +02:00
andreubisquerra
8f933c324a
Change variable to pos_change 2020-08-23 22:28:26 +02:00
andreubisquerra
e032ddc035
Change variable to pos_change 2020-08-23 22:27:18 +02:00
andreubisquerra
ec2479a41a
Update 12.0.0-13.0.0.sql 2020-08-23 22:26:22 +02:00
andreubisquerra
f9913be719
Change variable to pos_change 2020-08-23 22:24:46 +02:00
andreubisquerra
a5ab711b27
Change variable to pos_change 2020-08-23 22:22:05 +02:00
Laurent Destailleur
f010e44a71 WIP 2020-08-23 22:13:06 +02:00
Laurent Destailleur
80ccb84fb2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-23 22:11:33 +02:00
Laurent Destailleur
b600478a5a Work on recruitment module 2020-08-23 22:11:16 +02:00
Laurent Destailleur
5aaf567f22
Merge pull request #14364 from bafbes/abb120130
fix: restore autofill lost functionality on expeditions
2020-08-23 19:52:21 +02:00
Laurent Destailleur
a6f838a6e0
Update card.php 2020-08-23 19:51:13 +02:00
Laurent Destailleur
815269db9c FIX #14443 2020-08-23 18:49:19 +02:00
Laurent Destailleur
477c3e719d Fix phpcs 2020-08-23 18:26:42 +02:00
Laurent Destailleur
90e01888d4
Merge pull request #14507 from pstructures/PSdevelop
Projects added as type in Categories API
2020-08-23 18:25:08 +02:00
Laurent Destailleur
55c0c1d734
Merge pull request #14514 from FHenry/develop
fix php warning : count parameters must be countable
2020-08-23 18:22:35 +02:00
Laurent Destailleur
2bc54793bb
Merge pull request #14523 from TobiasSekan/ParseTranspAndPrioFromExternalCalendar
NEW Priority and transparency from external calendar events
2020-08-23 18:21:37 +02:00
Laurent Destailleur
d23e83779f
Merge branch 'develop' into ParseTranspAndPrioFromExternalCalendar 2020-08-23 18:21:18 +02:00
Laurent Destailleur
2b8a1570f9
Merge pull request #14512 from StephaneLesage/import-product-warehouse-usebatch
NEW: Products Import/Export 'default warehouse' and 'use batch' fields
2020-08-23 18:19:59 +02:00
Laurent Destailleur
053aa1b750
Merge pull request #14509 from TobiasSekan/ShowLocationOnImportCalenderEvents
NEW Show place from events on import calender
2020-08-23 18:11:02 +02:00
Laurent Destailleur
9c74211873
Merge pull request #14508 from b92/develop
NEW Add __TYPE__ substitution key
2020-08-23 18:09:49 +02:00
Laurent Destailleur
c784c002fd
Merge pull request #14517 from aspangaro/13.0_a5
Some fix on complete_head_from_modules
2020-08-23 18:09:15 +02:00
Laurent Destailleur
bd7261a449 Debug recruitment module 2020-08-23 18:04:52 +02:00
Laurent Destailleur
a4c34c2bc5 NEW Add Manufacturing Orders into the automatic ECM 2020-08-23 15:19:03 +02:00
Laurent Destailleur
3fe0ffe7e2 Add unique index on email_msgid of candidatures 2020-08-23 15:18:31 +02:00
Laurent Destailleur
34d2d9a7c6 Look and feel v13 2020-08-23 15:17:22 +02:00
Laurent Destailleur
ca2a34a4c9 Standardize code: Rename fields date_m into tms. All timestamp fields
are now name "tms".
2020-08-23 15:15:47 +02:00
Laurent Destailleur
46a6161323 Trans 2020-08-23 13:30:05 +02:00
Laurent Destailleur
f56b7c5330 Removed one useless column 2020-08-23 02:45:19 +02:00
Laurent Destailleur
a265bec7ca NEW Events in agenda for contact
FIX Saving contacts of an events
2020-08-23 02:38:56 +02:00
andreubisquerra
e36eb42568
Fix travis 2020-08-22 18:46:39 +02:00
andreubisquerra
e8c8cb53cb
Fix travis 2020-08-22 18:45:54 +02:00
jove@bisquerra.com
d9cbd8f998 NEW: Print payment method and change in TakePOS 2020-08-22 18:28:15 +02:00
Laurent Destailleur
e9346298b2 trans 2020-08-22 15:48:42 +02:00
Laurent Destailleur
03af14294a Standardize code. Debug module HRM 2020-08-22 15:29:19 +02:00
Laurent Destailleur
23cda5f464 Enhance recruitment module 2020-08-22 14:37:09 +02:00
Laurent Destailleur
ac1ae7a0d2 Debug 2020-08-22 04:05:31 +02:00
Laurent Destailleur
dabe804299 Add numbering modules for candidatures. Mass action Validate. 2020-08-22 03:49:46 +02:00
Laurent Destailleur
f07a09bc80 Fix missing include 2020-08-22 02:19:58 +02:00
Laurent Destailleur
f4ed84f27d Trans 2020-08-21 22:18:02 +02:00
Laurent Destailleur
a508e7ae08 Migration 2020-08-21 22:17:20 +02:00
Laurent Destailleur
e6616563d2 Fix size of field 2020-08-21 22:01:28 +02:00
Laurent Destailleur
6ad18ceef0 Remove useless code 2020-08-21 19:48:31 +02:00
stickler-ci
183013e9ed Fixing style errors. 2020-08-21 12:02:03 +00:00
Sekan, Tobias
9af5354dfe Parse priority and transparency from external calender events 2020-08-21 13:57:03 +02:00
Laurent Destailleur
1b22de5652 Fix phpcs 2020-08-21 13:22:49 +02:00
Laurent Destailleur
b80ba1179f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/accountancy/customer/lines.php
	htdocs/accountancy/expensereport/lines.php
	htdocs/accountancy/supplier/lines.php
2020-08-21 13:19:28 +02:00
Laurent Destailleur
220fc6db98 Work on recruitment module 2020-08-21 13:00:12 +02:00
stickler-ci
61cce2e700 Fixing style errors. 2020-08-21 06:46:00 +00:00
Sekan, Tobias
22ff5a320f fix not working external calender on/off 2020-08-21 08:40:23 +02:00
Sekan, Tobias
bb1452917b fix wrong event percentage 2020-08-21 08:33:19 +02:00
Sekan, Tobias
ba98db934d Show user on external calender events 2020-08-21 08:18:26 +02:00
Laurent Destailleur
461c37c4a8 Clean code 2020-08-21 01:28:40 +02:00
Laurent Destailleur
b2ed69100b Trans 2020-08-21 01:18:06 +02:00
Laurent Destailleur
ad0625b6ec Debug posting message from ticket page 2020-08-21 01:11:22 +02:00
Laurent Destailleur
0390111132 Add column bomtype 2020-08-20 23:32:35 +02:00
Laurent Destailleur
eb15a8e4db Enhance email collector module 2020-08-20 23:03:57 +02:00
Alexandre SPANGARO
f1f579ad67 Some fix on complete_head_from_modules 2020-08-20 22:17:34 +02:00
Laurent Destailleur
3ebcd191bd NEW Add filter rules "is answer" and "is not answer" in email collector 2020-08-20 20:16:38 +02:00
Laurent Destailleur
605642d96a Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-20 19:01:03 +02:00
Laurent Destailleur
66f9f37f41 Minor code and doc enhancement 2020-08-20 19:00:43 +02:00
florian HENRY
0453dd8f09 fix php warning : count parameters must be countable 2020-08-20 16:39:14 +02:00
stickler-ci
3c108e8bbf Fixing style errors. 2020-08-20 13:31:48 +00:00
Christian Foellmann
179fc2e70a hide other eatby sellby dates 2020-08-20 15:27:34 +02:00
StephaneLesage
ad6fe8c6b6
NEW: Products Import/Export 'default warehouse' and 'use batch number' fields 2020-08-20 13:51:17 +02:00
Christian Foellmann
a5b4fcedb7 hide eatby sellby in reception 2020-08-20 12:48:23 +02:00
Christian Foellmann
b74113e2eb hide eatby sellby on expedition 2020-08-20 12:13:27 +02:00
Christian Foellmann
b777c62557 hide eatby sellby on product/stock/product 2020-08-20 12:13:05 +02:00
Sekan, Tobias
546571a6f8 Show place from events on import calender 2020-08-20 08:20:00 +02:00
Bernard Saulme
d947ade7db
Update adherent.class.php
NEW Add _TYPE__ substitution key
2020-08-19 21:19:56 +02:00
Mr Matthew Sidnell
c2a81341ad
Updated Lint Issies 2020-08-19 16:27:00 +01:00
Matt Sidnell
b3f078a687 Updated the categories API to allow projects as type 2020-08-19 16:20:16 +01:00
Matt Sidnell
a1f9005aa3 Merge remote-tracking branch 'upstream/develop' into PSdevelop 2020-08-19 16:17:30 +01:00
Christian Foellmann
df3fcec6c6 hide dates on erassortlot.php 2020-08-19 16:44:45 +02:00
Christian Foellmann
2873e6bdca hide dates in productlot_list 2020-08-19 16:33:41 +02:00
stickler-ci
8191447007 Fixing style errors. 2020-08-19 16:33:41 +02:00
Christian Foellmann
b6af4014de hide eatby, sellby dates 2020-08-19 16:33:41 +02:00
Laurent Destailleur
3281d5ec17
Merge pull request #14451 from josemariagomezroncero/patch-7
Bug, this option disable topic input.
2020-08-19 14:38:51 +02:00
Laurent Destailleur
4edf190264
Update mails_templates.php 2020-08-19 14:38:02 +02:00
Laurent Destailleur
25dfd32e0b
Merge pull request #14456 from andreubisquerra/master
NEW: Delayed payment in TakePOS
2020-08-19 14:36:34 +02:00
Laurent Destailleur
ea478721e7
Update invoice.php 2020-08-19 14:36:03 +02:00
Laurent Destailleur
f57f729d40
Update invoice.php 2020-08-19 14:35:15 +02:00
Laurent Destailleur
cfc6ee4f67
Merge pull request #14497 from megalogi/patch-2
Passing $totalarray as parameter to printFieldListFooter Hook's
2020-08-19 14:16:26 +02:00
Laurent Destailleur
c7b6f4e0c7
Merge pull request #14503 from AurelBichop/develop
FIX|fix #14502 fix to create a task for a project with api
2020-08-19 14:15:19 +02:00
Laurent Destailleur
8057ccb223
Update task.class.php 2020-08-19 14:13:30 +02:00
abichotte
1c6a062486 FIX|fix #14502 fix to create a task for a project with api 2020-08-19 11:24:32 +02:00
Laurent Destailleur
90545ac443 css 2020-08-19 01:59:03 +02:00
Laurent Destailleur
7217dc3114 Better perf for phpunit on very large databases 2020-08-19 01:43:48 +02:00
Abdessalam@MEGALOGI
7f540ac6f0
Passing $totalarray as a parameter to printFieldListFooter Hook's
Sometimes, we need $totalarray to know nbfield or to display some vars in the footer of list.
2020-08-18 23:27:36 +01:00
Laurent Destailleur
53522fb8dd Fix popup on objects in modulebuilder 2020-08-18 18:41:36 +02:00
Laurent Destailleur
3e91d77920 FIX Update extrafields on warehouse 2020-08-18 18:35:40 +02:00
Laurent Destailleur
afe8f76a4a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/admin/stock.php
2020-08-18 15:41:57 +02:00
Laurent Destailleur
2f18ab0ea9 Debug generation of document for warehouse 2020-08-18 14:55:56 +02:00
Laurent Destailleur
964c4ef0d2 Standardize code. Use model_pdf. 2020-08-18 14:48:38 +02:00
Laurent Destailleur
6ce9d573e2 Trans 2020-08-18 14:13:36 +02:00
Laurent Destailleur
0172b76ea3 Add class reposition on some buttons 2020-08-18 14:05:35 +02:00
Laurent Destailleur
58e25768a7 NEW Add PDF document templates for warehouses (list of stock) 2020-08-18 14:02:36 +02:00
Laurent Destailleur
e65e4a6d47 Beautify for of member module 2020-08-18 11:52:00 +02:00
Laurent Destailleur
2ca0d67072 Removed section of files to download into POS 2020-08-18 11:20:02 +02:00
Alexandre SPANGARO
3e80c71713 NEW Accountancy - Add options to disable binding on sales, purchases & expense reports independently of the modules 2020-08-18 07:38:46 +02:00
Alexandre SPANGARO
8e0dfc8621 Fix oddeven 2020-08-18 06:28:16 +02:00
Alexandre SPANGARO
c3a23b0415 Remove admin access on option 2020-08-18 06:23:35 +02:00
Laurent Destailleur
79802be58b Fix phpcs 2020-08-18 00:29:13 +02:00
Laurent Destailleur
e3145d4195 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-17 23:31:07 +02:00
Laurent Destailleur
4f93de6d0b Fix phpcs 2020-08-17 23:30:53 +02:00
Laurent Destailleur
b623d79525
Merge pull request #14488 from egils-consulting/patch-10
Update admin.lang
2020-08-17 22:21:09 +02:00
Laurent Destailleur
24703b8fe7
Merge pull request #14487 from aspangaro/13a4
NEW Add a start date to begin binding in accountancy
2020-08-17 22:20:46 +02:00
Laurent Destailleur
6662e216f7 Fix phpcs 2020-08-17 21:59:50 +02:00
Laurent Destailleur
9f1e4a6da8 css 2020-08-17 20:55:02 +02:00
Laurent Destailleur
bd65e5612f Fix duplicate id 2020-08-17 20:06:01 +02:00
Laurent Destailleur
e891250fb3 Reduce log 2020-08-17 17:40:08 +02:00
Laurent Destailleur
e69e165bae css 2020-08-17 17:37:44 +02:00
Laurent Destailleur
bdcb945dda Work on inventory 2020-08-17 16:04:12 +02:00
Laurent Destailleur
c3e3baaca0 FIX Compatibility with modules without document generation 2020-08-17 15:54:07 +02:00
Laurent Destailleur
8e00c9c304 FIX Update extrafields on line only if it is supported 2020-08-17 15:53:33 +02:00
Egil Priskorn
bf18f56056
Update admin.lang
Small typo
2020-08-17 15:33:36 +02:00
Alexandre SPANGARO
498431fa6f NEW Add a start date to begin binding in accountancy 2020-08-17 15:27:05 +02:00
Laurent Destailleur
d1323f55bb NEW: Module Reception (for a more accurate management of your
receptions) moved from experimental to stable
2020-08-17 14:10:43 +02:00
Laurent Destailleur
75d368b706 Better translation of option 2020-08-17 14:08:52 +02:00
Laurent Destailleur
5be10f133c Fix several regressions with variants creation 2020-08-17 13:55:18 +02:00
Laurent Destailleur
96d4eeb8be Fix syntax error 2020-08-17 12:24:32 +02:00
Laurent Destailleur
15e7cd0fb3 Fix doxygen 2020-08-17 05:54:22 +02:00
Laurent Destailleur
cf73c2d8e1 Fix travis 2020-08-17 05:26:32 +02:00
Laurent Destailleur
9712e3d28f Fix travis 2020-08-17 05:09:27 +02:00
Laurent Destailleur
f6c444c235 css 2020-08-17 05:03:44 +02:00
Laurent Destailleur
5987504fa5 Better test 2020-08-17 04:34:03 +02:00
Laurent Destailleur
fab78de569 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-17 04:06:38 +02:00
Laurent Destailleur
75f8fe8276
Merge pull request #14427 from asolslk/patch-2
FIX Visible 0 on accounting account
2020-08-17 01:34:57 +02:00
Laurent Destailleur
4043e4ed3b
Merge pull request #14429 from grandoc/new_branch_08_08_2020
New branch 08 08 2020
2020-08-17 00:04:08 +02:00
Laurent Destailleur
9aa861bbac
Merge pull request #14438 from egils-consulting/patch-7
Update README.md
2020-08-16 23:59:28 +02:00
Laurent Destailleur
960c56c443
Merge branch 'develop' into patch-7 2020-08-16 23:59:22 +02:00
Laurent Destailleur
942a236c2c
Update README.md 2020-08-16 23:57:49 +02:00
Laurent Destailleur
bd5ad1aef2
Update README.md 2020-08-16 23:57:01 +02:00
Laurent Destailleur
867ae0c32d
Update README.md 2020-08-16 23:56:08 +02:00
Laurent Destailleur
ab871f44be
Update README.md 2020-08-16 23:55:27 +02:00
Laurent Destailleur
bc01d7f992
Merge pull request #14440 from egils-consulting/patch-8
Update README.md
2020-08-16 23:54:12 +02:00
Laurent Destailleur
0d59ac34d2
Merge branch 'develop' into patch-8 2020-08-16 23:54:04 +02:00
Laurent Destailleur
f758a8345e
Merge branch 'develop' into translate-variable-name-and-add-hints 2020-08-16 23:52:48 +02:00
Laurent Destailleur
d0ffba3e22 Update doc 2020-08-16 23:51:57 +02:00
Laurent Destailleur
f26a287d10
Update api_supplier_invoices.class.php 2020-08-16 23:50:01 +02:00
Laurent Destailleur
b7c38f4617
Merge pull request #14433 from c3do/patch-1
NEW Triggers Attributes and Attributes values
2020-08-16 23:45:32 +02:00
Laurent Destailleur
0b16e3bfda
Merge pull request #14436 from egils-consulting/patch-6
Update README.md
2020-08-16 23:38:27 +02:00
Laurent Destailleur
d2db1a3557
Update README.md 2020-08-16 23:38:19 +02:00
Laurent Destailleur
99809b487e Standardize code 2020-08-16 23:33:50 +02:00
Laurent Destailleur
816aeadcba
Merge pull request #14465 from atm-john/develop_declinaison_price_multiple_merge
NEW : Declinaison price level compatibility
2020-08-16 23:18:49 +02:00
Alexandre SPANGARO
6374a2b8cc Some fix 2020-08-16 22:31:21 +02:00
Alexandre SPANGARO
3c35b20b54 Dict - Insert number 41 2020-08-16 22:17:28 +02:00
Alexandre SPANGARO
27c36713d3 Merge remote-tracking branch 'upstream/develop' into 10.0_intracommreport 2020-08-16 22:10:02 +02:00
Laurent Destailleur
c407a19563 Remove type= from script tags 2020-08-16 22:03:11 +02:00
Laurent Destailleur
fadadc992f
Merge pull request #14479 from Tim-Otte/fix-smtps-FORCE-SENDTO
FIX: Fixed the smtps recipent to use the forced address
2020-08-16 21:18:04 +02:00
Laurent Destailleur
8992d38bea
Merge pull request #14482 from b92/develop
NEW Add __MEMBER_TYPE__ substitution key
2020-08-16 21:17:09 +02:00
Laurent Destailleur
f6c1a14d50 CSS 2020-08-14 21:22:45 +02:00
josemariagomezroncero
134bd11f47
Update mails_templates.php 2020-08-14 21:19:51 +02:00
Laurent Destailleur
695420eb8b CSS 2020-08-14 21:18:06 +02:00
Laurent Destailleur
2adac8e233 CSS 2020-08-14 21:11:55 +02:00
Bernard Saulme
52b84a3ea2
Update functions.lib.php 2020-08-14 18:08:59 +02:00
Laurent Destailleur
73c1184195 Fix phpcs 2020-08-14 13:23:41 +02:00
Laurent Destailleur
d8c6e17efd Fix travis 2020-08-14 11:59:51 +02:00
Tim Otte
4e1a66916e
Merge branch 'develop' into fix-smtps-FORCE-SENDTO 2020-08-14 11:52:20 +02:00
Laurent Destailleur
a916f6af59 Merge branch 'develop' of https://github.com/dolibarr/dolibarr into develop 2020-08-14 11:09:06 +02:00
Laurent Destailleur
0381cf5665 Merge branch '12.0' of https://github.com/dolibarr/dolibarr into develop
Conflicts:
	htdocs/core/modules/modPaymentByBankTransfer.class.php
	htdocs/filefunc.inc.php
2020-08-14 11:08:53 +02:00
Tim Otte
b57c2585ad Fixed the smtps recipent to use the forced address 2020-08-14 10:00:40 +02:00
Laurent Destailleur
74da63c0e4
Merge pull request #14448 from 418sec/develop
Security Fix for Cross-site Scripting (XSS) - huntr.dev
2020-08-14 03:17:35 +02:00
Laurent Destailleur
a2f50770f8
Merge pull request #14449 from cfoellmann/default-unit
set default unit to `PRODUCT_USE_UNITS` value
2020-08-14 03:04:09 +02:00
Laurent Destailleur
f0046672fc
Merge pull request #14461 from atm-john/NEW_fill_service_dates
NEW: new line template: hidden conf to fill service dates from the last service line
2020-08-14 02:50:24 +02:00
Laurent Destailleur
1d18c83439
Merge pull request #14463 from andreubisquerra/develop
Avoid empty sales and orders when all lines are removed.
2020-08-14 02:48:48 +02:00
Laurent Destailleur
aeb11344c6
Merge pull request #14464 from atm-thibaultf/FIX_allow_float_on_stock_alert
Allow float for stock limit alert and desired stock
2020-08-14 02:46:08 +02:00
Laurent Destailleur
88c07e86ad Organization of setup for Takepos bar features 2020-08-13 13:46:53 +02:00
stickler-ci
959ccce777 Fixing style errors. 2020-08-13 09:48:28 +00:00
John Botella
2405082bb1 Merge branch 'develop_declinaison_price_multiple_merge' of github.com:atm-john/dolibarr into develop_declinaison_price_multiple_merge 2020-08-13 11:46:07 +02:00
John Botella
4e1f554c15 Fix - add variation price fallback behavior 2020-08-13 11:43:33 +02:00
stickler-ci
1cc673a9c6 Fixing style errors. 2020-08-12 08:53:24 +00:00
John Botella
41cbe6db12 Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop_declinaison_price_multiple_merge 2020-08-12 10:39:21 +02:00
John Botella
f0268b4aaf Add declinaison price level 2020-08-12 10:14:29 +02:00
atm-thibaultf
10810bc5bb Modify int to float for stock limit alert and desired stock 2020-08-12 09:09:59 +02:00
andreubisquerra
8c5a86cb72
Avoid empty sales and orders when all lines are removed. 2020-08-12 07:07:18 +02:00
stickler-ci
ef78b85062 Fixing style errors. 2020-08-11 10:42:27 +00:00
John Botella
47e664df8d Merge tag 'develop' of github.com:Dolibarr/dolibarr into NEW_fill_service_dates 2020-08-11 12:28:40 +02:00
jove@bisquerra.com
3be723f3a1 NEW: Delayed payment in TakePOS 2020-08-11 07:49:54 +02:00
josemariagomezroncero
308dea92b3
Bug, this option disable topic input.
Bug, MAIN_EMAIL_TEMPLATES_FOR_OBJECT_LINES disable topic input. We need the subject for email for save.
2020-08-10 20:40:11 +02:00
stickler-ci
3e168f9495 Fixing style errors. 2020-08-10 14:06:22 +00:00
Christian Foellmann
821e7e2894 set default unit to PRODUCT_USE_UNITS value 2020-08-10 15:39:05 +02:00
Jamie Slome
7359c95efa
Merge pull request #9 from spooky360/develop
Fix for Self XSS vuln in dolibarr
2020-08-10 14:25:31 +01:00
Egil Priskorn
dd7e673aee
Update README.md
Written in PHP with optional JS
2020-08-09 17:24:09 +02:00
Egil Priskorn
ca465373ea
Update README.md
Remove some paragraphs that are not essential to new users and 2 new paragraphs about preferred partners and upgrading supported all the way from 2.8 to 12
2020-08-09 17:16:36 +02:00
Egil Priskorn
4aa71240d2
Update README.md
Fix spelling, grammar and a add a few clarifications.
2020-08-09 16:33:34 +02:00
Cédric
3f233a3200
Fix comment params 2020-08-08 23:01:41 +02:00
stickler-ci
d7a65a540e Fixing style errors. 2020-08-08 20:58:51 +00:00
Cédric
9b00a1f61a
Some updates for attributes triggers 2020-08-08 22:48:21 +02:00
Cédric
ed1a2cd917
Update 1 2020-08-08 22:45:51 +02:00
Cédric
ef57bb7e84
pass $user to delete functions 2020-08-08 22:14:53 +02:00
Cédric
e73a7c78f7
NEW triggers create, modify, delete 2020-08-08 22:10:50 +02:00
Cédric
bb16564b98
NEW triggers create, modify, delete
Also modified deleteByFkAttribute() to use the function delete()
2020-08-08 22:08:46 +02:00
Philippe Grand
e7bea7c5ce
Update pdf_cyan.modules.php 2020-08-08 15:34:38 +02:00
Philippe GRAND
fe24c2f8b8 fix undefined variable 2020-08-08 15:29:53 +02:00
Philippe GRAND
f35893ceb4 fix deprecated 2020-08-08 15:12:29 +02:00
Philippe GRAND
0603a3ef60 fix conflict 2020-08-08 15:00:13 +02:00
Philippe GRAND
d811934962 fix conflict 2020-08-08 14:57:43 +02:00
Laurent Destailleur
a53f7ff9c9
Merge pull request #14428 from asolslk/patch-3
Fix group by finance account error #14221
2020-08-08 13:33:10 +02:00
Laurent Destailleur
cab9f6daae Comment must be in english 2020-08-08 13:22:55 +02:00
Laurent Destailleur
a32587d993
Merge pull request #14420 from egils-consulting/patch-5
New function count_all_categories
2020-08-08 13:16:12 +02:00
Laurent Destailleur
7a7548b5fc
Merge pull request #14426 from asolslk/patch-1
Update listbyaccount.php
2020-08-08 13:15:43 +02:00
Laurent Destailleur
f8557879fb
Update listbyaccount.php 2020-08-08 13:15:29 +02:00
asolslk
41bb83f107
Update listbyaccount.php
fixed #14221
2020-08-08 19:10:50 +08:00
asolslk
ea829913b0
Update accounting.lib.php 2020-08-08 19:07:55 +08:00
stickler-ci
d3cb704a0e Fixing style errors. 2020-08-08 11:05:19 +00:00
asolslk
5291746252
Update listbyaccount.php
fixed #14408
2020-08-08 19:04:38 +08:00
Laurent Destailleur
4e6158d23c Work on recruitment module 2020-08-08 02:54:14 +02:00
Laurent Destailleur
8f8f7ecf5d
Update categorie.class.php 2020-08-08 02:24:01 +02:00
stickler-ci
fc58d92db4 Fixing style errors. 2020-08-07 21:20:55 +00:00
Egils Consulting
9f130aa2af
New function count_all_categories
This is useful to count the total number of categories e.g. to decide whether to load the full tree or not. It might make most sense to wait with merging until there is code in viewcat.php or index.php using it.
2020-08-07 23:17:43 +02:00
Laurent Destailleur
6f7b65d9f2 css 2020-08-07 20:44:49 +02:00
Laurent Destailleur
aa699bacc6 css 2020-08-07 20:10:31 +02:00
Laurent Destailleur
9876e37309 A little perf and memory enhancement when building category tree 2020-08-07 15:47:02 +02:00
Laurent Destailleur
3c6f122a81 Fix phpunit 2020-08-07 14:59:22 +02:00
Laurent Destailleur
5e90286a2e Fix permission on type of email templates must depends on user perms. 2020-08-07 14:38:03 +02:00
Laurent Destailleur
7e15abc972 Fix missing translation 2020-08-07 14:34:21 +02:00
Laurent Destailleur
1bb24de555 Can set the language of a user. 2020-08-07 14:22:43 +02:00
Laurent Destailleur
dd510901a4 Fix duplicate field 2020-08-07 14:05:15 +02:00
Laurent Destailleur
aaaf690006 FIX Language visible just after login does not match user choice. 2020-08-07 14:05:05 +02:00
Laurent Destailleur
e72e05d5f5 Add field default_lang for users 2020-08-07 13:31:23 +02:00
Laurent Destailleur
7128e658cb Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-07 12:49:33 +02:00
Laurent Destailleur
940b4e7bea Fix #14413 2020-08-07 12:49:21 +02:00
Laurent Destailleur
7a03521664 Doc 2020-08-07 12:07:34 +02:00
Laurent Destailleur
e8b5453976
Merge pull request #14387 from bafbes/abb120133
fix: fetch reception on supplier order dispatch fetch
2020-08-07 12:07:24 +02:00
Laurent Destailleur
aa422ce4d7
Merge branch 'develop' into develop 2020-08-07 12:05:32 +02:00
Laurent Destailleur
4468c5cfb0
Merge pull request #14412 from egils-consulting/patch-3
Update api_products.class.php
2020-08-07 12:03:40 +02:00
Laurent Destailleur
d3b16374fe Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/fourn/class/api_supplier_invoices.class.php
2020-08-07 12:00:52 +02:00
Laurent Destailleur
6fd433167f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/class/CMailFile.class.php
2020-08-07 11:59:55 +02:00
Laurent Destailleur
3a7b53cb22
Merge pull request #14386 from egils-consulting/fix-typos-and-clarify-403-error
Update api_supplier_invoices.class.php
2020-08-07 11:47:37 +02:00
Laurent Destailleur
669660df4c
Merge pull request #14383 from egils-consulting/patch-1
Update api_supplier_invoices.class.php
2020-08-07 11:42:42 +02:00
Laurent Destailleur
d8e38201d9
Merge pull request #14378 from grandoc/patch-5
Update pdf_crabe.modules.php
2020-08-07 11:42:12 +02:00
Laurent Destailleur
fb105f1501
Merge pull request #14377 from grandoc/patch-4
Update pdf_ban.modules.php
2020-08-07 11:41:58 +02:00
Laurent Destailleur
a2e4e2d3b2
Merge pull request #14380 from grandoc/patch-6
Update pdf_blochet.class.php
2020-08-07 11:41:44 +02:00
Laurent Destailleur
9320ba1b37
Merge pull request #14376 from grandoc/patch-3
Update pdf_rouget.modules.php
2020-08-07 11:41:28 +02:00
Laurent Destailleur
07564166c7
Merge pull request #14375 from grandoc/patch-2
Update pdf_merou.modules.php
2020-08-07 10:11:16 +02:00
Laurent Destailleur
84c80e50a0
Merge pull request #14374 from grandoc/patch-1
Update pdf_ban.modules.php
2020-08-07 10:10:58 +02:00
Laurent Destailleur
752143fdfd
Merge pull request #14395 from andreubisquerra/master
FIX: TakePOS is not loading some specific customer taxes
2020-08-07 10:00:36 +02:00
Laurent Destailleur
60fe813d26
Merge pull request #14406 from egils-consulting/patch-2
Update api_supplier_orders.class.php
2020-08-07 09:55:05 +02:00
Laurent Destailleur
8b69dd1384 Increase length of default password. 2020-08-07 09:50:15 +02:00
Egils Consulting
9c254159ab
Update api_products.class.php
fixes #14309 
Throw 400 and add hint to user about using the right endpoint.
2020-08-07 00:06:48 +02:00
Egils Consulting
20ea6d86d8
Update api_supplier_orders.class.php
Added example of creating a supplier order
2020-08-06 19:57:31 +02:00
Laurent Destailleur
e6c4c8082e Fix phpcs 2020-08-06 16:10:40 +02:00
Laurent Destailleur
561520b44c WIP Recruitment module 2020-08-06 16:06:15 +02:00
Laurent Destailleur
43b23994e4 WIP Recruitment module 2020-08-06 15:55:04 +02:00
Laurent Destailleur
e830e7f3d3 Work on recruitment module 2020-08-06 13:14:43 +02:00
jove@bisquerra.com
25c37d9bca FIX: Get some taxes in TakePOS 2020-08-06 07:32:28 +02:00
Laurent Destailleur
cd89538ee9 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-06 03:04:46 +02:00
Laurent Destailleur
d2eb1cc47d Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/product/stock/tpl/stockcorrection.tpl.php
2020-08-06 02:20:49 +02:00
Laurent Destailleur
9d79e984dd Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/product/stock/tpl/stockcorrection.tpl.php
2020-08-06 02:15:04 +02:00
Laurent Destailleur
8b4e153f81 Doc 2020-08-05 20:05:59 +02:00
spooky360
a94fa93973 Fixed missing quote... => Fix for self XSS vuln (See https://www.huntr.dev/bounties/2-packagist-dolibarr) 2020-08-05 17:11:19 +02:00
spooky360
b9513255fd Fix for self XSS vuln (See https://www.huntr.dev/bounties/2-packagist-dolibarr). 2020-08-05 17:02:59 +02:00
Laurent Destailleur
1f02b33195 Work on inventory 2020-08-05 12:25:26 +02:00
Laurent Destailleur
201c3f87ca WIP Inventory module 2020-08-05 10:40:43 +02:00
bahfir abbes
6e16a8a544 fix: fetch reception on supplier order dispatch fetch 2020-08-05 08:36:27 +01:00
Egils Consulting
51ab0a5084
Update api_supplier_invoices.class.php
fixes #14831
2020-08-04 22:02:15 +02:00
Egils Consulting
a77b343db2
Update api_supplier_invoices.class.php
Unified names.
Renamed variable to an english name $paiementid => $payment_mode_id
Added hints where to look up the IDs needed.
2020-08-04 21:58:01 +02:00
Egils Consulting
3a9021f191
Update api_supplier_invoices.class.php
Fix order->invoice and clarify 403 error which is always caused by the invoice already being validated.
2020-08-04 21:47:39 +02:00
Laurent Destailleur
0ada919f65 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/class/bonprelevement.class.php
2020-08-04 21:22:56 +02:00
Laurent Destailleur
04d18e2a68 css 2020-08-04 21:17:13 +02:00
Laurent Destailleur
84bdfc4bb7 FIX List of invoice waiting for direct debit 2020-08-04 21:06:38 +02:00
Laurent Destailleur
5189e8beea FIX Debug direct debit module and credit transfer module 2020-08-04 20:26:57 +02:00
Laurent Destailleur
d8da007e0e css 2020-08-04 18:50:57 +02:00
Philippe Grand
eed8957e07
Update pdf_blochet.class.php
The comment should be TCPDF and not PDF
2020-08-04 17:33:52 +02:00
Philippe Grand
8d2edfc5ab
Update pdf_crabe.modules.php
The comment should be TCPDF and not PDF
2020-08-04 17:13:08 +02:00
Philippe Grand
9232459b1e
Update pdf_ban.modules.php
The comment should be TCPDF and not PDF
2020-08-04 17:07:53 +02:00
Philippe Grand
8483d4609c
Update pdf_rouget.modules.php
The comment should be TCPDF and not PDF
2020-08-04 17:05:32 +02:00
Philippe Grand
7e519da8df
Update pdf_merou.modules.php
The comment should be TCPDF and not PDF
2020-08-04 17:00:59 +02:00
Philippe Grand
e368de9bba
Update pdf_ban.modules.php 2020-08-04 16:55:47 +02:00
Philippe Grand
bc86518020
Update pdf_aurore.modules.php 2020-08-04 16:13:35 +02:00
Philippe Grand
6a24aed42a
Update pdf_standard.modules.php 2020-08-04 16:12:21 +02:00
Philippe Grand
c6b4c4392c
Update pdf_muscadet.modules.php 2020-08-04 16:11:25 +02:00
Philippe Grand
79be00f0aa
Update pdf_cornas.modules.php 2020-08-04 16:10:06 +02:00
Philippe Grand
62c49b2ce3
Update pdf_canelle.modules.php 2020-08-04 16:08:43 +02:00
Philippe Grand
49c99cfa70
Update pdf_squille.modules.php 2020-08-04 16:07:21 +02:00
Philippe Grand
4d1743ffcf
Update pdf_cyan.modules.php 2020-08-04 16:06:01 +02:00
Philippe Grand
f4a4444c79
Update pdf_azur.modules.php 2020-08-04 16:04:54 +02:00
Philippe Grand
54878e2916
Update pdf_timespent.modules.php 2020-08-04 16:03:28 +02:00
Philippe Grand
d9c260c7f1
Update pdf_beluga.modules.php 2020-08-04 16:02:19 +02:00
Philippe Grand
81b484ecc8
Update pdf_baleine.modules.php 2020-08-04 16:01:28 +02:00
Philippe Grand
d781a7cf62
Update pdf_espadon.modules.php 2020-08-04 16:00:12 +02:00
Philippe Grand
e8f92fe5bc
Update pdf_standard.class.php 2020-08-04 15:59:23 +02:00
Philippe Grand
6937efa3ba
Update pdf_typhon.modules.php 2020-08-04 15:57:25 +02:00
Philippe Grand
ea72d5dc82
Update pdf_soleil.modules.php 2020-08-04 15:56:17 +02:00
Philippe Grand
51cbbcd3b8
Update pdf_sponge.modules.php 2020-08-04 15:55:14 +02:00
Philippe Grand
d97a9c9b0d
Update pdf_crabe.modules.php 2020-08-04 15:53:20 +02:00
Philippe Grand
85879a0baa
Update pdf_standard.modules.php 2020-08-04 15:51:35 +02:00
Philippe Grand
001662af3d
Update pdf_rouget.modules.php 2020-08-04 15:49:47 +02:00
Philippe Grand
19fb6e827e
Update pdf_merou.modules.php 2020-08-04 15:47:00 +02:00
Philippe Grand
f94d4413a9
Update pdf_espadon.modules.php 2020-08-04 15:45:52 +02:00
Philippe Grand
3fcacf7196
Update pdf_blochet.class.php 2020-08-04 15:44:25 +02:00
Philippe Grand
2627bec686
Update pdf_sepamandate.modules.php 2020-08-04 15:43:28 +02:00
Philippe Grand
6874feb09a
Update pdf_ban.modules.php 2020-08-04 15:42:14 +02:00
Philippe Grand
e4faa0228e
Update pdf_strato.modules.php 2020-08-04 15:40:42 +02:00
Laurent Destailleur
68fa8fdcaa Doc 2020-08-04 15:18:24 +02:00
Laurent Destailleur
cb0a9868d7 Space 2020-08-04 15:16:11 +02:00
Laurent Destailleur
07f420d58e Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/public/payment/paymentok.php
2020-08-04 15:03:51 +02:00
Laurent Destailleur
4c1aa25b32 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/adherents/admin/adherent_emails.php
	htdocs/core/tpl/extrafields_list_search_title.tpl.php
	htdocs/product/traduction.php
2020-08-04 13:51:11 +02:00
Laurent Destailleur
c09827248b
Merge pull request #14360 from ATM-Consulting/FIX_12.0_dol_string_onlythesehtmltags_remove_class_by_default
FIX 12.0 - dol_string_onlythesehtmltags(): remove class attribute by default
2020-08-04 12:27:31 +02:00
Laurent Destailleur
2fd59fd0c9
Merge pull request #14362 from bafbes/abb120129
fix:value of checked option must be the same as in showInputfield function
2020-08-04 12:20:38 +02:00
Laurent Destailleur
0d17682773
Update actions_addupdatedelete.inc.php 2020-08-04 12:20:10 +02:00
Laurent Destailleur
fa96fd8a8b
Update actions_addupdatedelete.inc.php 2020-08-04 12:19:44 +02:00
Laurent Destailleur
cc88fe9b68
Merge pull request #14365 from bafbes/abb120131
NEW Add link to reset qty on supplier dispatch page
2020-08-04 12:00:47 +02:00
Laurent Destailleur
4bacb7d48e
Update dispatch.php 2020-08-04 12:00:24 +02:00
Laurent Destailleur
fd551261bb
Update dispatch.php 2020-08-04 11:58:29 +02:00
Laurent Destailleur
dbb2e8b1ba
Update dispatch.php 2020-08-04 11:56:01 +02:00
Laurent Destailleur
615995476b
Merge pull request #14367 from andreubisquerra/master
Improve TakePOS search on click ENTER
2020-08-04 11:52:36 +02:00
Laurent Destailleur
e455f8afa6
Merge pull request #14369 from Tim-Otte/fix-product-unit-translation
Fixed translation of product units in documents
2020-08-04 11:50:50 +02:00
Tim Otte
360afccecc Fixed translation of product units in documents 2020-08-04 11:02:16 +02:00
andreubisquerra
0347f2a46b
More elegant 2020-08-04 08:19:27 +02:00
jove@bisquerra.com
6d957c276c Improving TakePOS search informing the user if there is no record or clearing the box if it exists avoiding manually clear every scan 2020-08-04 08:11:44 +02:00
Laurent Destailleur
bf1f295602 NEW Can disable, from edit page, the whole web site
FIX position of a cloned website
2020-08-04 02:50:56 +02:00
Laurent Destailleur
063b63d348 Fix phpcs 2020-08-04 00:36:45 +02:00
Bahfir Abbes
8dd54e24e7
empty is more useful than 0 2020-08-03 20:42:25 +01:00
bahfir abbes
4900e85fa8 fix: reset link on supplier dispatch 2020-08-03 20:31:55 +01:00
Laurent Destailleur
da76775fbd Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/class/bonprelevement.class.php
	htdocs/compta/prelevement/factures.php
	htdocs/compta/prelevement/fiche-rejet.php
2020-08-03 21:18:45 +02:00
bahfir abbes
e24027fb1e fix: restore autofill lost functionality 2020-08-03 18:44:36 +01:00
Laurent Destailleur
22f69f0da9 CSS 2020-08-03 17:39:18 +02:00
Laurent Destailleur
c78b19b3b8 Move module as experimental (it is working enough). 2020-08-03 16:39:52 +02:00
Laurent Destailleur
d5237e6fda css 2020-08-03 16:36:31 +02:00
Laurent Destailleur
fa26d2acdf css 2020-08-03 16:31:52 +02:00
bahfir abbes
15a634959f fix:value of checked option must be the same as in showInputfield function 2020-08-03 14:32:57 +01:00
Laurent Destailleur
aa696d8343 Show warning in kanban view 2020-08-03 15:17:37 +02:00
Laurent Destailleur
fb811a1656 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/admin/system/database-tables.php
	htdocs/compta/prelevement/class/bonprelevement.class.php
	htdocs/core/class/commonobject.class.php
	htdocs/langs/fr_FR/withdrawals.lang
	htdocs/societe/class/societe.class.php
2020-08-03 14:44:01 +02:00
Laurent Destailleur
d1f92fb66b NEW: Add module Credit transfer SEPA to manage payment of supplier using
bank credit transfer SEPA files
2020-08-03 14:15:14 +02:00
Florian Mortgat
ce18a4f029 FIX 12.0 - in dol_string_onlythesehtmltags, remove the class attribute by default 2020-08-03 12:28:12 +02:00
Philippe GRAND
42fcb64700 Change comment to fixe a lot of undefined method 2020-08-03 10:26:01 +02:00
Philippe GRAND
85b2adaaec Change comment to fixe a lot of undefined method 2020-08-03 10:13:18 +02:00
Philippe GRAND
0d6274c8fe Change comment to fixe a lot of undefined method 2020-08-03 10:04:54 +02:00
Philippe GRAND
d6c84ef5ce Change comment to fixe a lot of undefined method 2020-08-03 10:02:25 +02:00
Philippe GRAND
6fa3e8df4e Change comment to fixe a lot of undefined method 2020-08-03 10:00:20 +02:00
Philippe GRAND
3a2e527454 Change comment to fixe a lot of undefined method 2020-08-03 09:58:47 +02:00
Philippe GRAND
1ea21ee1b8 Change comment to fixe a lot of undefined method 2020-08-03 09:56:48 +02:00
Philippe GRAND
d446a38b34 Change comment to fixe a lot of undefined method 2020-08-03 09:54:19 +02:00
Philippe GRAND
9fd520b5d4 Change comment to fixe a lot of undefined method 2020-08-03 09:52:11 +02:00
Laurent Destailleur
679625daee Trans 2020-08-03 09:51:15 +02:00
Philippe GRAND
3b80e9a08e Change comment to fixe a lot of undefined method 2020-08-03 09:50:30 +02:00
Philippe GRAND
8ff27f89e5 Change comment to fixe a lot of undefined method 2020-08-03 09:48:25 +02:00
Philippe GRAND
703de5286f Change comment to fixe a lot of undefined method 2020-08-03 09:46:07 +02:00
Philippe GRAND
ed6d83687c Change comment to fixe a lot of undefined method 2020-08-03 09:44:44 +02:00
Philippe GRAND
2c4d8bceb6 Change comment to fixe a lot of undefined method 2020-08-03 09:39:54 +02:00
Philippe GRAND
c7bf47a00b Change comment to fixe a lot of undefined method 2020-08-03 09:38:05 +02:00
Philippe GRAND
857505a887 Change comment to fixe a lot of undefined method 2020-08-03 09:36:23 +02:00
Philippe GRAND
0e0adcbe43 Change comment to fixe a lot of undefined method 2020-08-03 09:33:19 +02:00
Philippe GRAND
38f4e0392d Change comment to fixe a lot of undefined method 2020-08-03 09:30:31 +02:00
Philippe GRAND
8bdf15a6a6 Change comment to fixe a lot of undefined method 2020-08-03 09:28:25 +02:00
Philippe GRAND
83d1ff2a6c Change comment to fixe a lot of undefined method 2020-08-03 09:25:17 +02:00
Philippe GRAND
0b75280104 Change comment to fixe a lot of undefined method 2020-08-03 09:19:55 +02:00
Philippe GRAND
ccb9d62a14 Change comment to fixe a lot of undefined method 2020-08-03 09:13:46 +02:00
Laurent Destailleur
805ad6f5fe Several fixes 2020-08-02 22:44:37 +02:00
Laurent Destailleur
4afdfdda53 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/comm/card.php
2020-08-02 22:42:17 +02:00
Laurent Destailleur
87f71e7681 FIX Look and feel v12 2020-08-02 22:36:14 +02:00
Laurent Destailleur
d9818405c6 Fix regression for v13 2020-08-02 22:30:23 +02:00
Laurent Destailleur
7297950308
Merge pull request #13759 from OPEN-DSI/stcommcontact
NEW: Add prospect status managment for the contact with managment of custom icon
2020-08-02 22:01:00 +02:00
Laurent Destailleur
a51829d03c CSS 2020-08-02 18:50:08 +02:00
Laurent Destailleur
aca20c89f9 Can use a generic email for recruitment 2020-08-02 18:45:42 +02:00
Laurent Destailleur
a300eae994 Sync transifex 2020-08-02 18:33:15 +02:00
Laurent Destailleur
d054aedc80 Sync language 2020-08-02 18:32:54 +02:00
Laurent Destailleur
04903460b1 Add contact on job page 2020-08-02 18:09:53 +02:00
Laurent Destailleur
7149cbb532 NEW Add public note on products. This also partially fix the #14342 2020-08-02 17:09:21 +02:00
Laurent Destailleur
7239232528 Add total 2020-08-02 16:28:59 +02:00
Laurent Destailleur
d685aec482 css 2020-08-02 16:19:34 +02:00
Laurent Destailleur
be34a2c607 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/class/extrafields.class.php
	htdocs/core/class/html.form.class.php
	htdocs/langs/en_US/cashdesk.lang
	htdocs/product/stock/list.php
2020-08-02 16:06:51 +02:00
Laurent Destailleur
08ff08fb86 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-08-02 15:53:48 +02:00
Laurent Destailleur
367914015c NEW Add a counter of number of words of pages in website module 2020-08-02 15:53:34 +02:00
Laurent Destailleur
ac75d5415b
Merge pull request #14343 from andreubisquerra/master
NEW: TakePOS Gift Receipt
2020-08-02 15:07:29 +02:00
jove@bisquerra.com
593c7242c4 NEW: TakePOS Gift Receipt 2020-08-02 11:13:41 +02:00
Laurent Destailleur
ebe2e8ea04
Merge pull request #14319 from aspangaro/13a3
NEW: Introduce constant FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM
2020-08-02 01:33:39 +02:00
Laurent Destailleur
32d2dd71e2
Merge pull request #14324 from FHenry/dev_add_ProductHook
NEW add formConfirm hook on product page
2020-08-02 01:29:33 +02:00
Laurent Destailleur
d44a16bdfa
Merge pull request #14327 from FHenry/dev_refac_classproduct
->error rather than dol_print_error into product class
2020-08-02 01:21:19 +02:00
Laurent Destailleur
75d8455789
Merge pull request #14328 from marc-dll/NEW_api_thirdparty_price_level
NEW: thirdparty REST API: endpoint to set price level
2020-08-02 01:20:05 +02:00
Laurent Destailleur
4886dd2854
Merge pull request #14333 from bafbes/abb110227
fix:erroneous input id name
2020-08-02 01:19:03 +02:00
Laurent Destailleur
728460fa1b Look and feel v13 2020-08-02 01:01:40 +02:00
Laurent Destailleur
34cbdaf2ff Look and feel v13 2020-08-02 00:52:01 +02:00
Laurent Destailleur
8aa968a27c NEW Can use THEME_DARKMODEENABLED=2 for a preview of theme in dark mode 2020-08-02 00:41:26 +02:00
Laurent Destailleur
d08c42a205 CSS Better visibility for buttons and status 2020-08-02 00:15:21 +02:00
bahfir abbes
6d3cebfa3c fix:erroneous input id name 2020-08-01 12:54:42 +01:00
Marc DLL
5087d35f86 NEW: thirdparty REST API: endpoint to set price level 2020-07-31 17:48:44 +02:00
kkhelifa-opendsi
fe0f77b967
Merge branch 'develop' into stcommcontact 2020-07-31 16:41:17 +02:00
florian HENRY
e44a1fd33f ->error rather than dol_print_error into product 2020-07-31 16:09:38 +02:00
florian HENRY
164e3bff2c add formConfirm hook 2020-07-31 15:23:26 +02:00
Alexandre SPANGARO
d1560c3e75 NEW: Introduce constant FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM 2020-07-30 21:10:06 +02:00
Laurent Destailleur
f5d7e94d7e NEW Add a stat page to list popularity of products on invoices
Merge duplicate pages into 1.
2020-07-30 19:32:06 +02:00
Laurent Destailleur
05531f95d6 Fix phpcs 2020-07-30 14:03:01 +02:00
Laurent Destailleur
2ff6791e53 css 2020-07-30 04:23:23 +02:00
Laurent Destailleur
4ed1da1632 Work on recruitment module 2020-07-30 04:17:05 +02:00
Laurent Destailleur
f937f5beea Work on recruitment module 2020-07-30 04:06:27 +02:00
Laurent Destailleur
c79d617a50 Add public page of job position offers 2020-07-30 03:50:27 +02:00
Laurent Destailleur
3e586d3b26
Merge pull request #14285 from RomainDeschamps/patch-7
NEW add costprice in fields of products list
2020-07-29 13:57:17 +02:00
Laurent Destailleur
2687666579 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-29 13:54:12 +02:00
Laurent Destailleur
9e85abc8c1
Merge pull request #14286 from RomainDeschamps/patch-1
second approval back in stable feature as is the setting for minimum …
2020-07-29 13:38:58 +02:00
Laurent Destailleur
9bef1ef6dd
Merge pull request #14298 from bafbes/abb110230
fetch product model_pdf field
2020-07-29 13:19:09 +02:00
Laurent Destailleur
1d686a0d4c
Update product.class.php 2020-07-29 13:18:49 +02:00
Laurent Destailleur
0928a5843b
Merge pull request #14300 from bafbes/abb110232
fix:fetch and update model_pdf attribute for societe
2020-07-29 13:11:51 +02:00
Laurent Destailleur
1d58785e73
Merge pull request #14306 from marc-dll/FIX_10.0_reassort_hooks
FIX: product stock/reassort list: add hooks
2020-07-29 13:07:17 +02:00
Laurent Destailleur
af177f2833
Update reassort.php 2020-07-29 13:07:02 +02:00
Laurent Destailleur
d1cb7d447f
Merge branch 'develop' into FIX_10.0_reassort_hooks 2020-07-29 13:05:12 +02:00
Laurent Destailleur
a0d3fd5756
Merge pull request #14289 from AXeL-dev/patch-12
Add missing "Default values" menu entry to auguria menu
2020-07-29 13:01:43 +02:00
Laurent Destailleur
00a4a9ba63
Merge pull request #14307 from Tim-Otte/fix-proposals-urgent
v12: Fixed site crashes in comm/propal/card.php
2020-07-29 12:54:27 +02:00
Tim Otte
c5816478d9 Added fetch_thirdparty (without the site crashes) 2020-07-28 11:14:55 +02:00
Tim Otte
08fc988d3a
Merge pull request #5 from Dolibarr/develop
Merge changes since last PR
2020-07-28 11:07:22 +02:00
Laurent Destailleur
81cb5501bc Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/admin/system/database-tables.php
2020-07-28 10:32:27 +02:00
Laurent Destailleur
364fb05ed3 Fix phpcs 2020-07-28 09:46:31 +02:00
Laurent Destailleur
fef180cf86 Fix scrutinizer errors 2020-07-28 02:54:37 +02:00
Laurent Destailleur
8c425ae796 FIX Bad param 2020-07-28 02:47:46 +02:00
Marc DLL
a4427bd2d2 FIX: product stock/reassort list: add hooks 2020-07-27 23:58:06 +02:00
Laurent Destailleur
91a50038ff Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/class/bonprelevement.class.php
	htdocs/compta/prelevement/create.php
	htdocs/compta/prelevement/fiche-stat.php
2020-07-27 19:35:34 +02:00
abb
5aa4e2353a fix:fetch and update model_pdf attribute for societe 2020-07-27 15:40:25 +01:00
abb
ad85671265 Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop 2020-07-27 13:48:12 +01:00
Laurent Destailleur
b93f60c446 Look and feel v13 2020-07-27 14:19:50 +02:00
Laurent Destailleur
10484ba06e FIX DO not erase variable $key and $label during output of extrafields 2020-07-27 14:04:41 +02:00
Laurent Destailleur
988e9e5817 Update to jquery 3.5.1 2020-07-27 13:52:19 +02:00
abb
fd6477c054 fetch product model_pdf field 2020-07-27 10:57:39 +01:00
Laurent Destailleur
8cd4636de7 Fix responsive 2020-07-27 02:27:27 +02:00
Laurent Destailleur
2e19da3e6a FIX Setup of clicktodial hang on smartphone 2020-07-27 02:25:09 +02:00
Laurent Destailleur
cef996926e WIP Add publilc interface for recruitment 2020-07-26 22:03:40 +02:00
Laurent Destailleur
01adf73e53 WIP Add publilc interface for recruitment 2020-07-26 22:02:49 +02:00
Laurent Destailleur
a2dd80bcc8 FIX Navigation in object fails to find the next ref in some cases 2020-07-26 21:07:39 +02:00
Laurent Destailleur
5d7a9c9af4 FIX Picto of HRM module 2020-07-26 20:51:49 +02:00
Laurent Destailleur
b63a6bc72a NEW Can use dynamic code into the 'enabled' property of DAO fields 2020-07-26 20:45:54 +02:00
Laurent Destailleur
f847cad197 Fix perm 2020-07-26 20:02:29 +02:00
Laurent Destailleur
12bb44ed03 Fix recruitment 2020-07-26 19:57:42 +02:00
Laurent Destailleur
4fadd747ae Trans 2020-07-26 19:53:51 +02:00
Laurent Destailleur
f17942675d Look and feel 2020-07-26 18:34:50 +02:00
Mr Matthew Sidnell
47f5e76f1c
Merge pull request #15 from Dolibarr/develop
catchup
2020-07-26 00:58:43 +01:00
Laurent Destailleur
b93cab2e77 css 2020-07-26 00:04:10 +02:00
Laurent Destailleur
116e947933 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-25 19:06:09 +02:00
Laurent Destailleur
e33722750c Fix option THEME_SHOW_BORDER_ON_INPUT 2020-07-25 19:05:52 +02:00
Laurent Destailleur
5a71148d69 Fix option THEME_SHOW_BORDER_ON_INPUT 2020-07-25 19:04:37 +02:00
AXeL
28fb57d8d6
Add missing "Default values" menu entry to auguria menu 2020-07-25 14:07:44 +01:00
Laurent Destailleur
52f238a351 Fix label 2020-07-25 14:50:09 +02:00
Laurent Destailleur
2d45fd04fe Doc 2020-07-25 14:47:43 +02:00
Laurent Destailleur
3ed4773d7f Fix tab popup when there is 2 head tabs in same page 2020-07-24 18:31:14 +02:00
Romain DESCHAMPS
09bf8bea85
second approval back in stable feature as is the setting for minimum amount 2020-07-24 14:11:42 +02:00
stickler-ci
fd34908c17 Fixing style errors. 2020-07-24 11:42:18 +00:00
Romain DESCHAMPS
c370241afd
add costprice in fields of the list 2020-07-24 13:40:06 +02:00
Laurent Destailleur
93fea8591c Fix phpcs 2020-07-24 12:17:02 +02:00
Laurent Destailleur
68c23fdadf Fix phpcs 2020-07-24 12:15:25 +02:00
Laurent Destailleur
1fb9faeb08 Fix phpcs 2020-07-24 11:57:15 +02:00
Laurent Destailleur
6e36fba4f3 NEW Development of module Recruitment 2020-07-24 11:54:57 +02:00
Laurent Destailleur
46fccf8eb1 FIX dolGetElementUrl and agenda page for external modules 2020-07-24 11:53:44 +02:00
Laurent Destailleur
195ad9e5fb Fix exclude .back files 2020-07-24 10:21:20 +02:00
Laurent Destailleur
f50fc751ab Trans 2020-07-24 10:02:24 +02:00
Laurent Destailleur
ce3248ab57 Trans 2020-07-24 10:01:05 +02:00
Laurent Destailleur
3109d9c16a Look and feel v13 2020-07-24 09:58:39 +02:00
Laurent Destailleur
afbeb026ab Trans 2020-07-24 09:56:14 +02:00
Laurent Destailleur
aefb1483e3 NEW Can change size of logo on PDF documents 2020-07-24 03:36:44 +02:00
Laurent Destailleur
cf89e159bd Typo 2020-07-24 03:19:37 +02:00
Laurent Destailleur
fa29549976 Fix trans 2020-07-24 03:09:31 +02:00
Laurent Destailleur
895fe63d3b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-24 01:53:51 +02:00
Laurent Destailleur
a46f4df147 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/user/clicktodial.php
2020-07-24 00:15:56 +02:00
Laurent Destailleur
26ac4e30d2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-24 00:09:46 +02:00
Laurent Destailleur
42234ba506 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/price.lib.php
2020-07-24 00:07:57 +02:00
Laurent Destailleur
9a506ff9b3 css 2020-07-20 03:29:22 +02:00
Laurent Destailleur
d823bb73c0 Change order of fields for mass stock movement 2020-07-20 01:01:40 +02:00
Laurent Destailleur
9d9f865f37 fetch_optionals must be included into a fetch 2020-07-20 00:24:14 +02:00
Laurent Destailleur
e5688e2641 Fix phpcs 2020-07-19 02:54:25 +02:00
Laurent Destailleur
87cd4b11bd Merge branch 'develop' of https://github.com/dolibarr/dolibarr into develop 2020-07-19 02:24:38 +02:00
Laurent Destailleur
8d26329653 Merge branch '12.0' of https://github.com/dolibarr/dolibarr into develop
Conflicts:
	htdocs/core/lib/price.lib.php
	htdocs/projet/activity/perday.php
2020-07-19 02:24:26 +02:00
Laurent Destailleur
acdb61b640
Merge pull request #14227 from defrance/patch-154
NEW : add class for ticket edition (pdf or odt)
2020-07-19 02:11:13 +02:00
Laurent Destailleur
e17fbf9dcd
Merge pull request #14206 from atm-josselin/NEW_show_label_on_batch_card
NEW Show label on batch card
2020-07-19 02:03:46 +02:00
Laurent Destailleur
3c3be1b04f
Merge pull request #14188 from aspangaro/13a1
NEW: Add column quantity in product margin page
2020-07-19 02:02:30 +02:00
Laurent Destailleur
1f52d99726
Merge pull request #14211 from bb2a/add_zip_town_on_SEARCH_THIRDPARTY
Add zip town on search thirdparty
2020-07-18 23:58:36 +02:00
Laurent Destailleur
31cb57afc9 Fix regression with ecoterm 2020-07-18 23:27:43 +02:00
Laurent Destailleur
52fd424812
Merge pull request #14226 from cfoellmann/thirdparty-leftmenu
Thirdparty leftmenu
2020-07-18 23:13:40 +02:00
Laurent Destailleur
090d913017
Merge pull request #14248 from megalogi/patch-1
FIX Lose HTML tags when adding a new product/service into a document
2020-07-18 23:10:33 +02:00
Laurent Destailleur
3bfa86c52d
Merge pull request #14251 from fmarcet/develop
New: ##12972 Update supplier price also when product has batch
2020-07-18 23:08:20 +02:00
Laurent Destailleur
0179800236
Merge pull request #14257 from cmfpmatik/cmfpmatik-order_prospect-1
Add the possibility for the prospect to order
2020-07-18 23:03:34 +02:00
Laurent Destailleur
ab32e3e1a9
Merge pull request #14222 from pstructures/PSdevelop
Error Caused by $taskid Variable not existing
2020-07-18 19:15:28 +02:00
Laurent Destailleur
a8fbec8491
Merge pull request #14216 from grandoc/new_branch_11_07_2020
Minimum version of PHP required by module
2020-07-18 19:12:50 +02:00
Laurent Destailleur
cd997d216e
Merge pull request #14230 from cfoellmann/fix-default-search
fix the global `DEFAULT_SEARCH_INTO_MODULE`
2020-07-18 19:11:23 +02:00
Laurent Destailleur
179f3d44c6
Merge pull request #14238 from dolibit-ut/patch-32
Update llx_c_incoterms.sql
2020-07-18 19:09:26 +02:00
Laurent Destailleur
768e85350b
Merge pull request #14237 from dolibit-ut/patch-31
Update llx_c_incoterms.sql
2020-07-18 19:09:07 +02:00
Oarces DEV
97826f140f
Add the possibility for the prospect to order
A prospect can do make order everywhere in Dolibarr, except in order tab...
https://www.dolibarr.fr/forum/t/nouvelle-commande-ou-sont-les-prospects/33275/7
2020-07-18 11:55:42 +02:00
stickler-ci
28bc001ba9 Fixing style errors. 2020-07-17 08:52:52 +00:00
Ferran Marcet
125be4271e New: ##12972 Update supplier price also when product has batch 2020-07-17 10:50:24 +02:00
Abdessalam@MEGALOGI
9d481cf15e
Update card.php
La description d'un produit/service libre (HTML) d'un devis est formatée en texte simple.
2020-07-15 20:21:27 +01:00
Alexandre SPANGARO
8d9f0dc4b2 Merge remote-tracking branch 'upstream/develop' into 13a1 2020-07-15 13:53:55 +02:00
UT from dolibit
60f904bbd3
Update llx_c_incoterms.sql
add column label for short standard term in english
(libelle to use for long description (in user language))
2020-07-14 14:15:44 +02:00
UT from dolibit
7184fba8c6
Update llx_c_incoterms.sql
add column 'label' for short term description in english
add new Incoterm DPU  (DAT is obsolete , but let it stay for older documents)
2020-07-14 13:59:16 +02:00
Christian Foellmann
a4e9c478e7 fix the global DEFAULT_SEARCH_INTO_MODULE - current value will not push anything above the core modules 2020-07-13 18:14:57 +02:00
BENKE Charlene
a2cf473891
add class for ticket edition (pdf or odt) 2020-07-13 14:24:07 +02:00
Christian Foellmann
4674367099 remove old commented out code lines 2020-07-13 14:18:16 +02:00
Christian Foellmann
d43c30defd change level of left menu for thirdparty types 2020-07-13 14:17:12 +02:00
Matt Sidnell
50e3822465 Merge branch 'PSdevelop' of https://github.com/pstructures/dolibarr-core into PSdevelop 2020-07-12 21:22:06 +01:00
Matt Sidnell
2797c5e65f Updated Issue with declared progress 2020-07-12 21:21:34 +01:00
mattsidnell
ac945b5d96
Merge pull request #14 from Dolibarr/develop 2020-07-12 20:35:42 +01:00
Matt Sidnell
378c8c4691 Error on time pent page where progress was getting unset 2020-07-12 20:34:04 +01:00
Philippe GRAND
ffae6b02c1 Minimum version of PHP required by module 2020-07-11 15:11:39 +02:00
Philippe GRAND
448f031948 Minimum version of PHP required by module 2020-07-11 15:11:15 +02:00
Philippe GRAND
5902dd6df3 Minimum version of PHP required by module 2020-07-11 15:10:53 +02:00
Philippe GRAND
2906e9b848 Minimum version of PHP required by module 2020-07-11 15:10:26 +02:00
Philippe GRAND
fc778e433f Minimum version of PHP required by module 2020-07-11 15:10:02 +02:00
Philippe GRAND
8c5bdb8fb6 Minimum version of PHP required by module 2020-07-11 15:09:36 +02:00
Philippe GRAND
3ee18e5852 Minimum version of PHP required by module 2020-07-11 15:09:15 +02:00
Philippe GRAND
1d5a1beb79 Minimum version of PHP required by module 2020-07-11 15:08:52 +02:00
Philippe GRAND
1bb60ca7cc Minimum version of PHP required by module 2020-07-11 15:08:28 +02:00
Philippe GRAND
1358801316 Minimum version of PHP required by module 2020-07-11 15:08:00 +02:00
Philippe GRAND
b4252b899c Minimum version of PHP required by module 2020-07-11 15:07:33 +02:00
Philippe GRAND
9451148928 Minimum version of PHP required by module 2020-07-11 15:07:09 +02:00
Philippe GRAND
bbde5a3c95 Minimum version of PHP required by module 2020-07-11 15:06:44 +02:00
Philippe GRAND
05b97dc134 Minimum version of PHP required by module 2020-07-11 15:06:17 +02:00
Philippe GRAND
eb602d8bae Minimum version of PHP required by module 2020-07-11 15:05:49 +02:00
Philippe GRAND
2e6addae11 Minimum version of PHP required by module 2020-07-11 15:05:20 +02:00
Philippe GRAND
f453c2272a Minimum version of PHP required by module 2020-07-11 15:04:54 +02:00
Philippe GRAND
3a4f526ccd Minimum version of PHP required by module 2020-07-11 15:04:31 +02:00
Philippe GRAND
8f37bb5a69 Minimum version of PHP required by module 2020-07-11 15:04:06 +02:00
Philippe GRAND
d4562a91ff Minimum version of PHP required by module 2020-07-11 15:03:38 +02:00
Philippe GRAND
8d06471a4e Minimum version of PHP required by module 2020-07-11 15:03:00 +02:00
Philippe GRAND
b26a1042d2 Minimum version of PHP required by module 2020-07-11 15:02:03 +02:00
Philippe GRAND
b2af2320ef Merge branch 'new_branch_11_07_2020' of github.com:grandoc/dolibarr into new_branch_11_07_2020 2020-07-11 14:57:26 +02:00
Philippe GRAND
a61955234f Minimum version of PHP required by module 2020-07-11 14:54:23 +02:00
Philippe GRAND
b02b6db181 Minimum version of PHP required by module 2020-07-11 14:43:30 +02:00
Philippe GRAND
8a2db6bad5 Minimum version of PHP required by module 2020-07-11 14:42:53 +02:00
stickler-ci
0d58c55167 Fixing style errors. 2020-07-11 12:42:38 +00:00
Philippe GRAND
ece128c9c5 Minimum version of PHP required by module 2020-07-11 14:42:04 +02:00
Philippe GRAND
7c84406494 Minimum version of PHP required by module 2020-07-11 14:41:10 +02:00
Philippe GRAND
370a7bcf38 Minimum version of PHP required by module 2020-07-11 14:39:46 +02:00
Philippe GRAND
0531dd00d9 Minimum version of PHP required by module 2020-07-11 14:38:44 +02:00
Philippe GRAND
baa9c39ace Minimum version of PHP required by module 2020-07-11 14:38:03 +02:00
Philippe GRAND
872b99be42 Minimum version of PHP required by module 2020-07-11 14:37:25 +02:00
Philippe GRAND
0fdb209045 Minimum version of PHP required by module 2020-07-11 14:36:22 +02:00
Philippe GRAND
7f5ebf2e31 Minimum version of PHP required by module 2020-07-11 14:35:36 +02:00
Philippe GRAND
c9c5d9cc70 Minimum version of PHP required by module 2020-07-11 14:34:11 +02:00
Philippe GRAND
fd01a4d154 Minimum version of PHP required by module 2020-07-11 14:31:16 +02:00
Laurent Destailleur
8b5f4fe9a6 Fix massaction delete on events 2020-07-11 12:21:53 +02:00
Laurent Destailleur
276bc4f908 Fix sql error 2020-07-11 11:21:28 +02:00
Laurent Destailleur
0d24b979c1 Fix phpcs 2020-07-11 01:20:20 +02:00
Laurent Destailleur
8972271be0 Add link to stock at date page 2020-07-10 21:12:15 +02:00
Laurent Destailleur
c91236244e Enhance Stock at date feature 2020-07-10 20:33:06 +02:00
Laurent Destailleur
a155b20b2f Trans 2020-07-10 16:27:59 +02:00
Laurent Destailleur
a059154fdf FIX reposition 2020-07-10 13:59:54 +02:00
Laurent Destailleur
f92f279527 FIX Navigation from bank receipts 2020-07-10 13:56:54 +02:00
Laurent Destailleur
db6ed7a646 FIX Navigation from bank receipts 2020-07-10 13:40:33 +02:00
Anthony Berton
dc8bce2f43 Update list.php 2020-07-10 11:42:59 +02:00
Laurent Destailleur
2dc1008663 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-10 05:21:40 +02:00
Laurent Destailleur
17ebdd73fe FIX Fails to retraive accounting code of social contribution sometimes 2020-07-10 05:13:24 +02:00
Laurent Destailleur
07b2053a4b Fix regression 2020-07-10 03:59:28 +02:00
Laurent Destailleur
bb056fc811 Fix bad return value 2020-07-10 03:02:49 +02:00
Laurent Destailleur
f2c84fba3d
Merge pull request #14202 from pstructures/PSdevelop
Added Hook to showOptionals Function
2020-07-10 02:54:05 +02:00
Laurent Destailleur
b6452dbbc0
Merge pull request #14196 from Tim-Otte/fix-proposals-urgent
FIX: Hotfix for "Call to a member function getNomUrl() on null in comm/propal/card.php"
2020-07-10 02:51:25 +02:00
Laurent Destailleur
96efb77b8c FIX CSS 2020-07-10 02:38:37 +02:00
Laurent Destailleur
5cf9bfcb5f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-10 02:32:54 +02:00
Laurent Destailleur
96c583b84e Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-10 02:28:34 +02:00
Laurent Destailleur
726d7e39e6 CSS 2020-07-10 02:17:08 +02:00
Laurent Destailleur
87913e8a5c Fix prospect before customer 2020-07-10 02:11:23 +02:00
Laurent Destailleur
bd63b84f8e Fix label of social contribution and button date 2020-07-09 23:18:19 +02:00
atm-josselin
71a5cc7522 Show label on batch card 2020-07-09 17:13:53 +02:00
Laurent Destailleur
a59b37cb72 Trans 2020-07-09 15:44:42 +02:00
Laurent Destailleur
6046f1f9d6 css 2020-07-09 14:12:19 +02:00
Laurent Destailleur
e6b241a083 NEW Show tags and status in search list of website pages 2020-07-09 14:07:41 +02:00
Laurent Destailleur
b55b0e505f FIX wrap on contract ref 2020-07-09 13:56:29 +02:00
Laurent Destailleur
46119dc786 Fix per user 2020-07-09 12:49:48 +02:00
Laurent Destailleur
0394ce1865 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/filefunc.inc.php
2020-07-09 12:46:10 +02:00
Laurent Destailleur
a9eccd80b1 FIX CSS 2020-07-09 12:38:05 +02:00
Laurent Destailleur
b2bd90ae1a Fix link to list of event 2020-07-09 12:33:28 +02:00
Laurent Destailleur
9592fdb3fc CSS 2020-07-09 11:55:16 +02:00
Laurent Destailleur
0a708e46bf css 2020-07-09 00:46:59 +02:00
Laurent Destailleur
96d935832c FIX Reposition and nav 2020-07-08 18:18:08 +02:00
Laurent Destailleur
5ea47f3ade Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/resultat/index.php
	htdocs/product/admin/product.php
	htdocs/projet/tasks/list.php
2020-07-08 18:11:58 +02:00
Laurent Destailleur
96729769f7 Standardize Agenda view 2020-07-08 18:06:14 +02:00
Matt Sidnell
39104009ef Updated to match inline with code received from fork 2020-07-08 14:25:37 +01:00
Matt Sidnell
580b9db3e7 Updated Hook in showOptionals function to allow the manipulation of optional fields on cards etc... 2020-07-08 14:20:59 +01:00
mattsidnell
92e2d5f3e9
Merge pull request #13 from Dolibarr/develop
Update
2020-07-08 14:18:45 +01:00
Laurent Destailleur
bec27a04ba Trans 2020-07-07 21:16:20 +02:00
Tim Otte
a73f77cfef Fixed same error like before 2020-07-07 12:43:15 +02:00
stickler-ci
e032c2f7b9 Fixing style errors. 2020-07-07 05:09:28 +00:00
Alexandre SPANGARO
e4cc3e1b2c NEW: Add column quantity in product margin page 2020-07-07 07:05:18 +02:00
Laurent Destailleur
cb5577826d Look and feel v13 2020-07-07 03:50:14 +02:00
Laurent Destailleur
4fd970af28 Fix phpcs 2020-07-07 01:29:31 +02:00
Laurent Destailleur
14c98f277b NEW Can change VAT rate of all lines of a draft object in one step. 2020-07-06 22:48:22 +02:00
Laurent Destailleur
33a78dbcef FIX reposition was broken if url end with #anchor 2020-07-06 22:26:19 +02:00
Laurent Destailleur
70c3146aba
Merge pull request #14106 from OPEN-DSI/new-extrafields-category-multi-select-with-link
NEW show links for select and multi-select in category extra field
2020-07-06 12:12:31 +02:00
Laurent Destailleur
eb7f3b81d3
Merge pull request #14187 from atm-john/10.0_fix_email_spoofing
Fix email spoofing - with hidden conf
2020-07-06 12:01:35 +02:00
Laurent Destailleur
42917000a3
Update CMailFile.class.php 2020-07-06 12:01:00 +02:00
Laurent Destailleur
2f04b4c559
Update CMailFile.class.php 2020-07-06 12:00:14 +02:00
stickler-ci
cb7b66d52c Fixing style errors. 2020-07-06 09:19:27 +00:00
Alexandre SPANGARO
dc40ddb370 Some correction 2020-07-06 09:56:28 +02:00
Alexandre SPANGARO
82c96a4f83 Fix SticklerCi 2020-07-06 04:47:27 +02:00
Alexandre SPANGARO
1855d54019 Fix data insertion 2020-07-06 04:31:32 +02:00
Alexandre SPANGARO
725ef1057d Some correct 2020-07-06 04:19:50 +02:00
Alexandre SPANGARO
7107354f81 Merge branch '10.0_intracommreport' of https://github.com/aspangaro/dolibarr into 10.0_intracommreport 2020-07-06 03:29:07 +02:00
Alexandre SPANGARO
0525dd3c1f Fix migration - Move to v13 2020-07-06 03:28:53 +02:00
stickler-ci
19eef8aa93 Fixing style errors. 2020-07-06 01:26:46 +00:00
Alexandre SPANGARO
59ee22537d Merge remote-tracking branch 'upstream/develop' into 10.0_intracommreport 2020-07-06 03:24:27 +02:00
Laurent Destailleur
0d3cfe445f Fix phpcs 2020-07-05 14:16:57 +02:00
Laurent Destailleur
776e305272 Typo 2020-07-05 13:50:21 +02:00
Laurent Destailleur
1b2cea3f9f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-07-05 13:32:10 +02:00
Laurent Destailleur
344098fe23 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/contrat/card.php
	htdocs/core/actions_fetchobject.inc.php
	htdocs/langs/fr_FR/contracts.lang
	htdocs/langs/fr_FR/loan.lang
	htdocs/langs/fr_FR/stocks.lang
2020-07-05 13:01:00 +02:00
Laurent Destailleur
c9e5536fbc FIX Missing token 2020-07-05 12:46:53 +02:00
Laurent Destailleur
176f678a85 Look and feel v12 2020-07-05 12:46:15 +02:00
Laurent Destailleur
a0d6c9ce70 Trans 2020-07-05 12:30:04 +02:00
Laurent Destailleur
93a3efac3a Fix phpcs 2020-07-04 19:26:51 +02:00
Laurent Destailleur
6a37d12bd9 Fix sql type 2020-07-04 16:10:13 +02:00
Laurent Destailleur
83eaddb17b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/class/bonprelevement.class.php
	htdocs/core/class/evalmath.class.php
	htdocs/core/class/extrafields.class.php
	htdocs/install/mysql/migration/11.0.0-12.0.0.sql
	htdocs/langs/en_US/cashdesk.lang
	htdocs/societe/class/societe.class.php
2020-07-04 13:13:17 +02:00
Laurent Destailleur
1e7daa29a5 Hide a useless option 2020-07-03 01:46:50 +02:00
Laurent Destailleur
fce81a4bf1 Rename var and fix position of checkbox 2020-07-03 01:30:53 +02:00
Laurent Destailleur
c80f1c470f
Merge pull request #13788 from simicar29/dev-replenish
NEW: Add option to include products without alert in replenish
2020-07-03 01:06:20 +02:00
Laurent Destailleur
6b3eeebe87
Merge branch 'develop' into dev-replenish 2020-07-03 01:03:35 +02:00
Laurent Destailleur
94188af270
Merge pull request #14056 from atm-quentin/NEW_filter_on_event_tab
NEW multiselect type and date to date filter
2020-07-03 00:57:44 +02:00
Laurent Destailleur
1f466f3846
Update company.lib.php 2020-07-03 00:57:15 +02:00
Laurent Destailleur
f85d240dcf
Merge pull request #14145 from oscim/patch-41
Update project.class.php
2020-07-03 00:39:45 +02:00
Laurent Destailleur
751174a983
Merge pull request #14156 from Tim-Otte/fix-proposals-urgent
FIX: Hotfix for "Call to a member function getNomUrl() on null in comm/propal/card.php"
2020-07-03 00:32:03 +02:00
Laurent Destailleur
cae55da399
Merge pull request #14160 from OPEN-DSI/new-societe-get-sales-representatives-order-by
NEW add order by lastname and firstname by default
2020-07-03 00:29:38 +02:00
Laurent Destailleur
a08e4bdf3f
Merge pull request #14163 from atm-quentin/FIX_line_reorder_rank_develop
NEW get all child recursively
2020-07-03 00:28:32 +02:00
Laurent Destailleur
a44f5376da
Update commonobject.class.php 2020-07-03 00:27:30 +02:00
Laurent Destailleur
bc1006e875
Merge pull request #14159 from Je2fb/develop
FIX #14143 DynamicPrice
2020-07-03 00:25:38 +02:00
Laurent Destailleur
8109145fe3
Merge pull request #14162 from laurantines/develop
Update list.php in Adherents
2020-07-03 00:24:54 +02:00
Laurent Destailleur
70b58b5755
Merge pull request #14169 from ksar-ksar/develop
FIX : Correct ModuleBuilder left menu
2020-07-03 00:20:59 +02:00
Laurent Destailleur
91266babea
Merge pull request #14170 from andreubisquerra/master
NEW: Appearance tab in TakePOS with more visual parameters
2020-07-03 00:19:35 +02:00
Laurent Destailleur
b1123ab9d1
Merge pull request #14173 from defrance/patch-153
better look & feel icon on dropdown
2020-07-03 00:13:29 +02:00
BENKE Charlene
b3396a6454
better look & feel icon on dropdown 2020-07-02 14:40:56 +02:00
mattsidnell
02445152e3
Merge pull request #11 from Dolibarr/develop
Update
2020-07-02 13:01:28 +01:00
Laurent Destailleur
cfcb40dd2a Fix scrutinizer errors 2020-07-02 03:48:32 +02:00
Laurent Destailleur
6b16f64928 Fix properties used that does not exists 2020-07-02 03:39:47 +02:00
Laurent Destailleur
ca769a3c62 Fix scrutinizer errors 2020-07-02 03:37:01 +02:00
Laurent Destailleur
26c6e2d92e Clean code 2020-07-02 03:34:28 +02:00
andreubisquerra
452cca503a
Fixes 2020-07-02 00:11:17 +02:00
andreubisquerra
9e4d7627f3
Fix travis 2020-07-01 22:55:00 +02:00
andreubisquerra
d2a78b8aa4
Update appearance.php 2020-07-01 22:44:18 +02:00
jove@bisquerra.com
76f3724191 NEW: Appearance tab in TakePOS with more visual parameters 2020-07-01 22:34:35 +02:00
ksar
04171e583b
Merge pull request #1 from ksar-ksar/ksar-ksar-patch-1
FIX : Correct ModuleBuilder left menu
2020-07-01 22:20:57 +02:00
ksar
22448b19f4
FIX : Correct ModuleBuilder left menu 2020-07-01 22:19:10 +02:00
Laurent Destailleur
226c907e35 FIX Use of office365 TLS with SMTPs method. 2020-07-01 17:00:52 +02:00
John Botella
2a9311b2d8 Fix email spoofing - with hidden conf 2020-07-01 16:55:23 +02:00
quentin
d2a364eea8 NEW get all child recursively 2020-07-01 14:10:43 +02:00
quentin
39651953b3 FIX refacto 2020-07-01 14:04:41 +02:00
quentin
267aa7605b Merge remote-tracking branch 'dolibarr/develop' into NEW_filter_on_event_tab 2020-07-01 14:00:49 +02:00
laurantines
a34c6ec7b0
Update list.php in Adherents
Add Address in search
2020-07-01 13:12:52 +02:00
lvessiller
caa3661eeb NEW add order by lastname and firstname by default in get sales representatives 2020-07-01 09:16:44 +02:00
Laurent Destailleur
b8ea58f18c Fix phpcs 2020-06-30 16:15:10 +02:00
Tim Otte
94a1d71fba Hotfix for an error in v12 2020-06-30 15:20:30 +02:00
Tim Otte
b36463a38a
Merge pull request #4 from Dolibarr/develop
Merging changes since last PR
2020-06-30 15:13:44 +02:00
Laurent Destailleur
4baa00ba89 Fix phpcs 2020-06-30 13:20:46 +02:00
Laurent Destailleur
88cf904ced Fix edit of tag of website 2020-06-30 02:50:58 +02:00
Laurent Destailleur
146c521efd Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/security.lib.php
	htdocs/filefunc.inc.php
2020-06-29 18:06:42 +02:00
Laurent Destailleur
bb74804b74 NEW Add option TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT 2020-06-29 17:58:04 +02:00
Laurent Destailleur
2d0d2e0019 FIX CSS 2020-06-29 16:02:08 +02:00
oscim
eb22947c07
Update project.class.php
Fix order of delete extra prev table of project
2020-06-29 14:01:48 +02:00
Laurent Destailleur
7c5b0be6a3 FIX SQL syntax error when editing extrafields 2020-06-29 13:48:00 +02:00
Laurent Destailleur
ab88890f3a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-28 21:48:28 +02:00
Laurent Destailleur
aab1358b0d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-28 21:43:46 +02:00
Laurent Destailleur
b47ae06973 Clean code 2020-06-28 21:43:34 +02:00
Laurent Destailleur
b35550a3dd
Merge pull request #14122 from TobiasSekan/CommonListForLeaveLog
New: Common list behavior for leave log
2020-06-28 21:30:49 +02:00
Laurent Destailleur
aa91bada07
Merge pull request #14114 from atm-maxime/new_project_task_progress_filter
NEW filter on progress column in task list
2020-06-28 21:22:33 +02:00
Laurent Destailleur
a7871b4453
Merge pull request #14105 from hregis/11.0_bug
NEW Support for Samba4 AD
2020-06-28 21:19:35 +02:00
Laurent Destailleur
b725aca8aa
Merge branch 'develop' into 11.0_bug 2020-06-28 21:19:11 +02:00
Laurent Destailleur
df7996a8eb
Merge pull request #14126 from OPEN-DSI/fix-import-upload-file
FIX upload file in import module
2020-06-28 21:13:00 +02:00
Laurent Destailleur
3fa98a4f01
Merge pull request #14135 from OPEN-DSI/new-export-societe-contact-region
NEW add region in export companies and contacts
2020-06-28 21:09:56 +02:00
Laurent Destailleur
8f409f4c58
Merge pull request #14137 from TobiasSekan/CommonListMonthlyLeaveView
NEW: Common behavior for monthly leave list view
2020-06-28 21:09:27 +02:00
Laurent Destailleur
0aa08edb38
Merge pull request #14139 from OPEN-DSI/new-societe-card-set-sales-representative
NEW can edit and set sales representatives directly on thirdparty card
2020-06-28 21:08:24 +02:00
Laurent Destailleur
518c126abf NEW Add a page to list Stock at a given date. 2020-06-28 20:31:07 +02:00
Laurent Destailleur
a3ae7a76b8 WIP Stock at date 2020-06-28 19:35:24 +02:00
Je2fb
245ba93895
fix #14143 2020-06-28 17:53:48 +02:00
Laurent Destailleur
d22a0f702e WIP Stock at date 2020-06-28 17:34:30 +02:00
Laurent Destailleur
781f571a15 Fix template 2020-06-27 14:38:40 +02:00
Laurent Destailleur
5a4ed34c0d Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-27 03:28:44 +02:00
Laurent Destailleur
4d01030fd9 Fix phpcs 2020-06-27 02:00:42 +02:00
Laurent Destailleur
ec5cfee150 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-27 01:57:18 +02:00
Laurent Destailleur
90d4458aab Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/facture/class/facture.class.php
2020-06-27 00:38:51 +02:00
Laurent Destailleur
6c6a64db66 Fix phpcs 2020-06-26 19:55:35 +02:00
Laurent Destailleur
be5729de23 FIX Filter on status, closing opening status 2020-06-26 19:35:09 +02:00
Laurent Destailleur
b0d46d0c4c Code comment 2020-06-26 18:56:05 +02:00
lvessiller
ad36447295 NEW can edit and set sales representatives directly on thirdparty card 2020-06-26 12:20:53 +02:00
stickler-ci
a8ad21c011 Fixing style errors. 2020-06-26 08:59:50 +00:00
Tobias Sekan
2bb8efa86f
Common behavior for monthly leave list view 2020-06-26 10:54:27 +02:00
lvessiller
3eb695ffa8 NEW add region in export companies and contacts 2020-06-26 09:14:06 +02:00
Laurent Destailleur
e2b1b853c0 Minor performance enhancements 2020-06-26 01:44:21 +02:00
Laurent Destailleur
9bbe004e96 Add test tool 2020-06-26 01:14:39 +02:00
Laurent Destailleur
10a4188eff Clean template 2020-06-26 01:14:24 +02:00
lvessiller
c689b91539 FIX upload file in import module 2020-06-25 16:59:48 +02:00
stickler-ci
adb3cc72f9 Fixing style errors. 2020-06-25 12:44:57 +00:00
Tobias Sekan
289886cd29
missing update 2020-06-25 14:37:09 +02:00
Tobias Sekan
22f708b95a
Add search, sort, select for leave log view 2020-06-25 14:36:42 +02:00
Laurent Destailleur
e4922f38ab Add missing extrafield and trigger in template invoice creation 2020-06-25 14:01:38 +02:00
Laurent Destailleur
a6ecf6dbbc Fix syntax error 2020-06-25 12:18:57 +02:00
Laurent Destailleur
333d4873c3 Properties ->contactid has been renamed into ->contact_id 2020-06-25 12:17:47 +02:00
Laurent Destailleur
e32bed250c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-25 11:54:47 +02:00
Laurent Destailleur
2f5dbdc8a3 Fix bad property 2020-06-25 11:54:37 +02:00
Laurent Destailleur
30c9345a5e Fix bad property 2020-06-25 11:49:20 +02:00
Tobias Sekan
33a6b37e81
Merge pull request #25 from Dolibarr/develop
merge from develop
2020-06-25 11:45:39 +02:00
Laurent Destailleur
e146d0fe21 Fix url 2020-06-25 02:51:14 +02:00
Laurent Destailleur
c32151d356 Prepare page for stock at date 2020-06-25 01:07:30 +02:00
Laurent Destailleur
ee5156034d Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-24 20:03:40 +02:00
Laurent Destailleur
9c23890c26 Fix phpcs 2020-06-24 20:03:12 +02:00
Maxime Kohlhaas
69b320f347 New : filter on progress column in task list 2020-06-24 10:17:46 +02:00
Laurent Destailleur
b6c1cdad7c Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/projet/element.php
2020-06-24 09:59:08 +02:00
Laurent Destailleur
6d25b8630b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/facture/prelevement.php
	htdocs/core/class/rssparser.class.php
2020-06-23 11:38:20 +02:00
Laurent Destailleur
daba55762f Fix missing filter on status enabled 2020-06-22 13:07:34 +02:00
Laurent Destailleur
84d3d633e5 Fix typo 2020-06-22 11:34:54 +02:00
Laurent Destailleur
194a094d23 Fix deletion of a thirdparty must not delete the stripe account. 2020-06-22 11:32:58 +02:00
Regis Houssin
32844a8d0c FIX clean code 2020-06-22 09:26:42 +02:00
lvessiller
bf338b4d4f NEW show links for select and multi-select in category extra field 2020-06-22 08:57:52 +02:00
Laurent Destailleur
4cfb9dc7c5 css 2020-06-22 04:40:04 +02:00
Laurent Destailleur
d816d45331 Look and feel v13 2020-06-22 04:10:13 +02:00
Laurent Destailleur
0a22773eab Update doc 2020-06-21 22:58:08 +02:00
Regis Houssin
9a4f5e3d9a FIX We force "modify" for avoid some field not modify 2020-06-21 21:10:51 +02:00
Laurent Destailleur
501fd2f7a3 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/takepos/admin/receipt.php
2020-06-21 20:48:41 +02:00
Regis Houssin
03fbd72d66 FIX For better compatibility with Samba4 AD 2020-06-21 19:52:15 +02:00
Marc Guenneugues
f86f4c1e1d Change label of checkbox to be more explicit 2020-06-21 19:02:20 +02:00
Laurent Destailleur
cdcc87a565 Fix lang 2020-06-21 15:25:34 +02:00
Laurent Destailleur
3a0f950ad0 Fix phpcs 2020-06-20 18:46:49 +02:00
Laurent Destailleur
871ba8d08c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-20 12:28:23 +02:00
Laurent Destailleur
c54294285a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/comm/mailing/class/html.formadvtargetemailing.class.php
	htdocs/core/class/commonobject.class.php
	htdocs/core/class/html.form.class.php
2020-06-20 12:28:14 +02:00
Laurent Destailleur
f4d0cdcec0
Merge pull request #14083 from andreubisquerra/master
Printable QR in TakePOS
2020-06-20 12:18:59 +02:00
andreubisquerra
7de9aa2398
Add security check 2020-06-20 11:25:54 +02:00
Laurent Destailleur
5ac80844cb FIX #14036 2020-06-19 23:15:40 +02:00
Laurent Destailleur
01914980d9 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/public/notice.php
2020-06-19 00:45:06 +02:00
Laurent Destailleur
a607ff4c1a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/functions2.lib.php
	htdocs/core/lib/project.lib.php
	htdocs/langs/fr_FR/bills.lang
	htdocs/langs/fr_FR/products.lang
	htdocs/langs/fr_FR/stocks.lang
	htdocs/langs/fr_FR/ticket.lang
	htdocs/mrp/mo_card.php
2020-06-18 15:50:31 +02:00
Laurent Destailleur
c1a9826455 Fix color of tags 2020-06-18 15:33:52 +02:00
Laurent Destailleur
531bfe217b Merge fields 2020-06-18 15:11:35 +02:00
Laurent Destailleur
6e761d5c98 Can get first image from index using a path without name 2020-06-18 15:07:43 +02:00
Laurent Destailleur
6c2d70d43b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-17 19:27:39 +02:00
Laurent Destailleur
c36c8ed447 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/actions_linkedfiles.inc.php
2020-06-17 15:28:19 +02:00
Laurent Destailleur
d863f9a7ad Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-17 13:04:34 +02:00
Laurent Destailleur
7d3c176727 Prepare convertion of field "montant" into "amount" 2020-06-17 12:45:56 +02:00
Laurent Destailleur
9f69e31950
Merge pull request #14089 from atm-quentin/NEW_hide_contract_closed_lines
NEW hide closed contract lines
2020-06-17 12:11:00 +02:00
Laurent Destailleur
4627f06c70 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-16 22:57:50 +02:00
Laurent Destailleur
64b2a2d92f Fix phpcs 2020-06-16 22:46:36 +02:00
Laurent Destailleur
18d20f3a0e
Merge pull request #14080 from EuskalMoneta/develop
FIX Upload of documents for members using the REST API.
2020-06-16 22:43:19 +02:00
Laurent Destailleur
f0e4fa40f8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-16 22:42:07 +02:00
Laurent Destailleur
b90a45ed7a Complete #14078 2020-06-16 22:41:50 +02:00
Laurent Destailleur
2990127ae7
Merge pull request #14078 from indelog/fixloan2
Fix and improvement on Loan module (replace #14057)
2020-06-16 22:41:23 +02:00
Laurent Destailleur
faf4da0d68
Merge branch 'develop' into fixloan2 2020-06-16 22:40:45 +02:00
Laurent Destailleur
e8b44ef89e css 2020-06-16 17:55:46 +02:00
stickler-ci
3384763c6b Fixing style errors. 2020-06-16 08:54:50 +00:00
atm-quentin
e3d94d44ab NEW hide closed contract lines 2020-06-16 10:45:49 +02:00
Laurent Destailleur
9ec8051a37 NEW Add param to not show links when output tags 2020-06-16 02:56:48 +02:00
Laurent Destailleur
e28bbfbd63 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-15 16:10:49 +02:00
Laurent Destailleur
1736ecfa26 Fix phpcs 2020-06-15 04:32:59 +02:00
andreubisquerra
ff018effc3
Fix travis 2020-06-14 23:56:57 +02:00
jove@bisquerra.com
8476c6c2c6 Printable QR 2020-06-14 23:39:49 +02:00
Laurent Destailleur
2d5c35b12a Fix debug sepa module 2020-06-14 21:46:32 +02:00
Laurent Destailleur
abb8cd260f Fix escape fields 2020-06-14 21:22:44 +02:00
Laurent Destailleur
c22a9781d8 Fix rounding 2020-06-14 21:21:18 +02:00
Laurent Destailleur
f0ca29cc6e Fix supplier sepa 2020-06-14 21:19:31 +02:00
Xebax
a22c89da96 FIX Upload of documents for members using the REST API. 2020-06-14 14:58:09 +02:00
stickler-ci
79a7e4c149 Fixing style errors. 2020-06-13 07:44:48 +00:00
DEMAREST Maxime (Indelog)
9217ec47dc Fix replace loan_calcmens() by loanCalcMonthlyPayment() 2020-06-13 09:33:02 +02:00
DEMAREST Maxime (Indelog)
44445ff9e6 Fix stickler 2020-06-13 09:32:54 +02:00
DEMAREST Maxime (Indelog)
4df658ccb2 Fix and improvement on Loan module
* Fix page redirection on loan delete.
* Add dedicated status for loan with started payment (show if payment is
  started on loan card).
* Add fk_payment_loan property for loan_schedule and add link to loan payment
  on shedule page for paid line.
* Make it not possible to use schedule if start loan payment without it (else
  values in schedule can't be good).
* If modify capital in payment with schedule set, automatically updates it
  with the new value.
* Can't modify interest in payment if schedule is used (causes the
  inconsistency for value in schedule).
* User right verification on schedule page.
2020-06-13 09:32:44 +02:00
Laurent Destailleur
b763b40d8c Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-12 19:37:27 +02:00
Laurent Destailleur
c9cb978c39 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-12 15:21:06 +02:00
Laurent Destailleur
acd0abf1ba Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-12 14:36:34 +02:00
Laurent Destailleur
6e81542148 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-12 14:36:11 +02:00
Laurent Destailleur
27a85a1971
Merge pull request #13799 from bb2a/PRODUCT_PRICE_BASE_TYPE
NEW Can set type of price without tax) per defaut for new sale price creation
2020-06-12 01:59:34 +02:00
Laurent Destailleur
cc9a964b5d
Update products.lang 2020-06-12 01:58:47 +02:00
Laurent Destailleur
dc87d89204
Update 12.0.0-13.0.0.sql 2020-06-12 01:03:58 +02:00
Laurent Destailleur
c27eb5e623
Update llx_const.sql 2020-06-12 01:03:34 +02:00
Laurent Destailleur
fa3ca5c644
Merge branch 'develop' into PRODUCT_PRICE_BASE_TYPE 2020-06-12 01:00:15 +02:00
Laurent Destailleur
012574b487
Update html.form.class.php 2020-06-12 00:51:19 +02:00
Laurent Destailleur
77c1c46285
Merge pull request #14032 from ptibogxiv/patch-343
NEW convert all subscription in datetime
2020-06-12 00:47:55 +02:00
Laurent Destailleur
d7cbd8a1d4 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-11 23:41:43 +02:00
Laurent Destailleur
90b5ed9908 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/website.lib.php
2020-06-11 23:41:35 +02:00
Laurent Destailleur
3527d011f5
Merge pull request #14006 from bafbes/abb110215
fix:The label must be a dictionary key
2020-06-11 23:15:52 +02:00
Laurent Destailleur
4b47a270af
Update index.php 2020-06-11 23:15:00 +02:00
Laurent Destailleur
073a4acd10
Merge pull request #14058 from indelog/showmailpj
NEW Add show preview for mail attachement on form mail
2020-06-11 23:09:26 +02:00
Laurent Destailleur
83df96f7d1
Merge pull request #14054 from OPEN-DSI/fix-takepos-terminal-free-text
FIX replace filter parameter "none" by "restricthtml" on cash desk
2020-06-11 23:02:46 +02:00
Anthony Berton
c00b55c980
Update 11.0.0-12.0.0.sql 2020-06-11 18:45:35 +02:00
Anthony Berton
bda4753e41
Merge branch 'develop' into PRODUCT_PRICE_BASE_TYPE 2020-06-11 18:44:38 +02:00
Anthony Berton
94e7fc20be Create html.form.class.php 2020-06-11 18:41:52 +02:00
Anthony Berton
ce7767a154 Create 11.0.0-12.0.0.sql 2020-06-11 18:39:44 +02:00
Anthony Berton
3214b5f199 Merge branch 'PRODUCT_PRICE_BASE_TYPE' of https://github.com/bb2a/dolibarr into PRODUCT_PRICE_BASE_TYPE 2020-06-11 18:37:25 +02:00
Laurent Destailleur
c289001507 Fix bad definition of field for parent 2020-06-11 18:31:26 +02:00
Anthony Berton
4a77d06b1e o 2020-06-11 15:45:31 +02:00
Anthony Berton
182a34616f
Add files via upload 2020-06-11 15:39:05 +02:00
Anthony Berton
848c9df537
Add files via upload 2020-06-11 15:38:05 +02:00
Anthony Berton
9d43827844 Revert "Delete html.form.class.php"
This reverts commit aa275f2a79.
2020-06-11 15:18:10 +02:00
Laurent Destailleur
a48f263af2 Fix phpcs 2020-06-11 13:58:12 +02:00
Laurent Destailleur
5bc9e656bf Fix phpcs 2020-06-11 13:03:21 +02:00
Laurent Destailleur
6a3547f8af css 2020-06-11 02:11:17 +02:00
Laurent Destailleur
bd22ad4174 Fix for use with text browser 2020-06-10 12:35:39 +02:00
Laurent Destailleur
07e0cb5e1a Remove custom issues 2020-06-10 00:34:00 +02:00
Laurent Destailleur
764b8a15de FIX Sharing buttons 2020-06-10 00:01:41 +02:00
Laurent Destailleur
4b2a570a23 Error message 2020-06-09 22:44:25 +02:00
Laurent Destailleur
a86e209a75 Fix message 2020-06-09 22:43:37 +02:00
Laurent Destailleur
c175fbd697 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/website/class/website.class.php
	htdocs/website/index.php
2020-06-09 22:09:57 +02:00
Laurent Destailleur
a9b85222c0 NEW The global header of a website can also have dynamic content 2020-06-09 22:07:06 +02:00
DEMAREST Maxime (Indelog)
e628730a3f Add show preview for mail attachement on form mail 2020-06-09 11:35:46 +02:00
Laurent Destailleur
0f1447cf05 Fix position of clone 2020-06-08 23:42:48 +02:00
Laurent Destailleur
738fa35471 Fix clone web site 2020-06-08 23:37:49 +02:00
Laurent Destailleur
ff9312c96a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/card.php
	htdocs/compta/prelevement/class/ligneprelevement.class.php
	htdocs/compta/prelevement/create.php
	htdocs/compta/prelevement/line.php
2020-06-08 20:36:54 +02:00
stickler-ci
b4dd11ec98 Fixing style errors. 2020-06-08 14:00:57 +00:00
atm-quentin
3dd7c81f54 FIX stickler 2020-06-08 15:58:20 +02:00
atm-quentin
69db790cf5 NEW multiselect type and date to date filter 2020-06-08 14:43:14 +02:00
Laurent Destailleur
aed5e8a4ce fix url 2020-06-08 12:25:17 +02:00
VESSILLER
f010184008 FIX replace filter parameter "none" by "restricthtml" 2020-06-08 11:48:31 +02:00
Laurent Destailleur
a70e493c5d Migration 2020-06-08 11:43:00 +02:00
Laurent Destailleur
c41e4d9b15 Fix page disabled 2020-06-07 23:25:12 +02:00
Laurent Destailleur
6ec2ff01f1 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/lib/security.lib.php
	htdocs/website/index.php
2020-06-07 23:15:13 +02:00
Laurent Destailleur
87a60a501f Security on disabling a web page 2020-06-07 23:00:38 +02:00
Laurent Destailleur
cb68d5aa70 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-07 19:55:56 +02:00
Laurent Destailleur
6f12488e30 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/facture/card.php
	htdocs/filefunc.inc.php
2020-06-07 19:55:48 +02:00
ptibogxiv
37007d6d1a
Update subscription.class.php 2020-06-07 16:12:28 +02:00
Laurent Destailleur
80e06bdbda
Merge pull request #14049 from Vaadasch/patch-2
Update byratecountry.php
2020-06-07 14:13:30 +02:00
Laurent Destailleur
f2e54b9ad5 Fix link to setup page 2020-06-07 13:49:49 +02:00
Laurent Destailleur
7d3039d41f Merge branch '11.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/langs/en_US/admin.lang
	htdocs/user/card.php
2020-06-06 23:04:55 +02:00
Laurent Destailleur
f30b522ab6
Merge pull request #14035 from OPEN-DSI/new-takepos-terminal-free-text
NEW add free text on each terminal of cash desk
2020-06-06 21:10:56 +02:00
Laurent Destailleur
f19064abfa
Merge pull request #14044 from dolibit-ut/patch-29
create index.html
2020-06-06 21:08:11 +02:00
Laurent Destailleur
4e4e7a38c3
Merge pull request #14041 from bb2a/VCARD
NEW add vcard for aderent and user
2020-06-06 20:58:37 +02:00
Laurent Destailleur
233810d41d Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 20:37:36 +02:00
Laurent Destailleur
148bdec96f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 20:25:24 +02:00
Laurent Destailleur
788ec1f87d Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 20:18:51 +02:00
Laurent Destailleur
f00b2d1e6f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 20:11:57 +02:00
Laurent Destailleur
f7fc89a9d2 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 19:46:59 +02:00
Laurent Destailleur
88aaec63f7 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 18:57:41 +02:00
Laurent Destailleur
3197f717c3 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 17:12:58 +02:00
Vaadasch
5c3b877a1c
Update byratecountry.php
Add "cc.code" in the "GROUP BY" clause. Error in PGSQL if absent.
Add ORDER BY country / product_type / vatrate
2020-06-06 15:46:43 +02:00
Laurent Destailleur
5669eb81af Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-06 15:39:50 +02:00
Laurent Destailleur
a995bf97eb Fix tools 2020-06-06 15:35:50 +02:00
Laurent Destailleur
da672c8776 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/adherents/card.php
	htdocs/admin/translation.php
	htdocs/core/class/html.formfile.class.php
	htdocs/societe/card.php
2020-06-06 11:57:31 +02:00
UT from dolibit
38b359392a
create index.html 2020-06-06 02:06:55 +02:00
Laurent Destailleur
a59961dae6 Fix td alignment 2020-06-05 23:06:59 +02:00
Anthony Berton
ee10c6f10b vcard 2020-06-05 17:57:13 +02:00
VESSILLER
81fbb80823 FIX end div for responsive table 2020-06-05 14:20:38 +02:00
VESSILLER
304c44560d NEW add free text on each terminal of cash desk 2020-06-05 10:47:45 +02:00
ptibogxiv
319710d6aa
Update 12.0.0-13.0.0.sql 2020-06-04 16:50:24 +02:00
ptibogxiv
7da6a063f9
Update llx_subscription.sql 2020-06-04 16:46:36 +02:00
Laurent Destailleur
bd56210e97 doc 2020-06-03 19:24:26 +02:00
Laurent Destailleur
7f1fea1e09 Add json-ld structure 'qa' 2020-06-03 19:23:36 +02:00
Laurent Destailleur
474860d546 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-03 14:06:35 +02:00
Laurent Destailleur
93320deddc Fix cancel in media filemanager 2020-06-03 12:34:09 +02:00
Laurent Destailleur
66df7fca41 Fix cancel in media filemanager 2020-06-03 11:40:51 +02:00
Laurent Destailleur
8894570054 Fix crop on media file manager 2020-06-03 11:20:59 +02:00
Laurent Destailleur
f92426034f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/actions_massactions.inc.php
	htdocs/website/index.php
2020-06-03 01:06:27 +02:00
Laurent Destailleur
2965dda815 Typo 2020-06-03 01:02:48 +02:00
Laurent Destailleur
d4db1836d1 FIX Delete of website page need permission. Conflict with mass action. 2020-06-03 00:46:09 +02:00
Laurent Destailleur
3755c7d25b css 2020-06-02 20:58:18 +02:00
Laurent Destailleur
a2287b3061 Trans 2020-06-02 20:19:14 +02:00
Laurent Destailleur
658e7a2f87 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-02 13:32:09 +02:00
Laurent Destailleur
9a30d4ca44 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-02 13:32:02 +02:00
Laurent Destailleur
cd4c161ca7
Merge pull request #14005 from bafbes/abb110214
Fix:To get translated, the key need to be one single word
2020-06-01 21:09:53 +02:00
Laurent Destailleur
9a6b2f9dd7
Merge pull request #14004 from bafbes/abb110213
new:DEFAULT_WAREHOUSE to define default in warehouse selections
2020-06-01 21:05:48 +02:00
Laurent Destailleur
ebc65f7df7
Update stockcorrection.tpl.php 2020-06-01 21:05:32 +02:00
Laurent Destailleur
14a3ab68e6
Merge pull request #14008 from bafbes/abb110217
fix:the result of explode is always an array
2020-06-01 21:02:15 +02:00
Laurent Destailleur
d3a769a0ab
Update commonobject.class.php 2020-06-01 21:02:05 +02:00
Laurent Destailleur
56e5a3dae6
Merge pull request #14009 from bafbes/abb110218
fix:non editable fields must not be editable in creation either
2020-06-01 20:57:55 +02:00
Laurent Destailleur
bdeee9ea99
Merge pull request #14007 from bafbes/abb110216
fix:replace some bd field types by their correspondant field type
2020-06-01 20:55:06 +02:00
Laurent Destailleur
52d0c1a9ae
Update index.php 2020-06-01 20:54:24 +02:00
Laurent Destailleur
9bf69f11c4
Merge pull request #14010 from bafbes/abb110220
fix:bad database quotation for booleans
2020-06-01 20:39:58 +02:00
Laurent Destailleur
2dac87621a
Update commonobject.class.php 2020-06-01 20:39:49 +02:00
Laurent Destailleur
33859bac2c
Merge pull request #14012 from andreubisquerra/master
TakePOS QR customer menu
2020-06-01 20:37:29 +02:00
Laurent Destailleur
b20e8b9d6b
Merge pull request #14013 from bafbes/abb110222
fix:this is required to navigate by id
2020-06-01 20:15:48 +02:00
Laurent Destailleur
0362d28cf7
Update commonobject.class.php 2020-06-01 20:13:27 +02:00
Laurent Destailleur
58e76947ac Debug modulebuilder for doc generation 2020-06-01 16:44:22 +02:00
Laurent Destailleur
b648f30482 Fix perms 2020-06-01 14:52:26 +02:00
Laurent Destailleur
adb20c6a90 checkstyle 2020-06-01 12:36:09 +02:00
Laurent Destailleur
c8d0476728 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_standard.php
2020-06-01 04:09:52 +02:00
Laurent Destailleur
838a13cec1 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-06-01 02:41:11 +02:00
Laurent Destailleur
4af17a342c Doc 2020-06-01 00:00:24 +02:00
Laurent Destailleur
f63aa7f527 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php
2020-05-31 23:27:20 +02:00
Laurent Destailleur
62dacfa713 Debug modulebuilder 2020-05-31 23:11:49 +02:00
Laurent Destailleur
e2bb04dcae Fix debug modulebuilder for doc and ref generation 2020-05-31 22:59:33 +02:00
Laurent Destailleur
6e55abe831 Rename var to include "array" into name 2020-05-31 20:57:16 +02:00
Laurent Destailleur
b24c0e57a6 Fix transifex 2020-05-31 10:29:38 +02:00
bahfir abbes
f76c025a7b fix:this is required to navigate by id 2020-05-31 02:01:33 +01:00
bahfir abbes
e5a51eb732 fix:bad database quotation for booleans 2020-05-31 01:41:04 +01:00
andreubisquerra
3ddce9f0df
Fix travis 2020-05-31 02:34:46 +02:00
bahfir abbes
26f280b74b fix:non editable fields must not be editable in creation either 2020-05-31 01:33:34 +01:00
bahfir abbes
d6247bfc97 fix:le résultat de explode est troujours un array 2020-05-31 01:23:35 +01:00
stickler-ci
a5ed630a57 Fixing style errors. 2020-05-31 00:19:21 +00:00
jove@bisquerra.com
5f49586f12 TakePOS customer menu QR 2020-05-31 02:17:33 +02:00
bahfir abbes
fe52539787 fix:rempalcement de qqes valeurs de champs de BDDs par les valeurs adéquates 2020-05-31 01:14:44 +01:00
bahfir abbes
ef890a29eb fix:Le label doit être une clé de dictionnaire 2020-05-31 01:10:27 +01:00
bahfir abbes
cf68317ae7 fix:Clé de langue dans les titres de menus 2020-05-31 00:56:51 +01:00
Bahfir Abbes
819984cfe0
replace with better normalized constant 2020-05-31 00:43:05 +01:00
stickler-ci
0813329070 Fixing style errors. 2020-05-30 23:39:16 +00:00
bahfir abbes
5873d41f64 Fix: DEFAULT_WAREHOUSE to define default in warehouse selections 2020-05-31 00:36:33 +01:00
Laurent Destailleur
8dbc0ff040 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/admin/prelevement.php
	htdocs/admin/system/phpinfo.php
	htdocs/modulebuilder/index.php
2020-05-31 00:31:14 +02:00
Laurent Destailleur
90b9fd1461 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-30 23:51:13 +02:00
Laurent Destailleur
02bf646abe FIX Missing ref into popup 2020-05-30 23:51:02 +02:00
Laurent Destailleur
f191cec3ef
Merge pull request #13999 from OPEN-DSI/fix_erreur_facture
FIX: Fix link of the button to create a credit note and fix the awareness of a error happen when to create a credit note
2020-05-30 17:24:31 +02:00
Laurent Destailleur
82455681d6
Merge pull request #13582 from TobiasSekan/UseCatApiForProjectList
NEW Use new category API for project list view
2020-05-30 17:22:43 +02:00
Laurent Destailleur
0a8b90c4e8 Debug module Payment by credit transfer 2020-05-30 02:10:02 +02:00
Laurent Destailleur
af3c24d0a9 Fix css 2020-05-30 00:56:51 +02:00
Laurent Destailleur
b3118d0189 Debug feature of alternate languages 2020-05-29 21:59:33 +02:00
Laurent Destailleur
c2a9819daa Debug establishment management 2020-05-29 21:45:50 +02:00
Laurent Destailleur
9d2f67bf8c Trans 2020-05-29 16:35:01 +02:00
kamel
a4800f7b9b FIX: Fix link of the button to create a credit note and fix the awareness of a error happen when to create a credit note 2020-05-29 16:18:27 +02:00
Laurent Destailleur
21c58e9fab Error management 2020-05-29 15:29:47 +02:00
Laurent Destailleur
7f8c0d0e7a Fix templates 2020-05-29 15:29:33 +02:00
Laurent Destailleur
972430d50c Fix template 2020-05-29 15:13:16 +02:00
Laurent Destailleur
ab82797dfc var not defined 2020-05-29 13:20:33 +02:00
Laurent Destailleur
a0a440cf5f FIX Force of HTML content only for ckeditor 2020-05-29 03:26:05 +02:00
Laurent Destailleur
c5ace5774e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-29 03:21:25 +02:00
Laurent Destailleur
9224061aed Fix test to upload a file 2020-05-29 03:20:44 +02:00
Laurent Destailleur
4a99f833c5 Fix test to upload a file 2020-05-29 03:20:37 +02:00
Laurent Destailleur
bc9201b073 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-28 21:36:16 +02:00
Laurent Destailleur
3b22b6192d Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-28 21:36:08 +02:00
Laurent Destailleur
79c2d96375
Merge pull request #13679 from TobiasSekan/cleanupUserRightsSupplierProposalCard
Cleanup user rights on supplier proposal card
2020-05-28 21:12:37 +02:00
Laurent Destailleur
ba1e067d32
Merge pull request #13678 from TobiasSekan/cleanupUserRightsForunCommandeCard
Cleanup user rights forun commande card
2020-05-28 21:12:23 +02:00
Laurent Destailleur
c7eb71e19e
Merge pull request #13676 from TobiasSekan/CleanupUserRightsForunFactureCard
Cleanup user rights on forun facture card
2020-05-28 21:11:58 +02:00
Laurent Destailleur
2836368017 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/class/extrafields.class.php
	htdocs/filefunc.inc.php
	htdocs/takepos/css/phone.css
	htdocs/takepos/invoice.php
2020-05-28 20:20:39 +02:00
Laurent Destailleur
7fbacf4352 phpcs 2020-05-28 20:04:30 +02:00
Laurent Destailleur
1992b633ba Fix phpcs 2020-05-28 20:02:07 +02:00
Laurent Destailleur
11aedcd71a Fix look and feel v12 2020-05-28 19:42:10 +02:00
Laurent Destailleur
f8b92e507c Clean code 2020-05-28 19:10:06 +02:00
Laurent Destailleur
cf924e11e9
Merge pull request #13825 from bb2a/Add-option-in-stock-for-affect-warehouse-
NEW Add option to define a default warehouse at user level
2020-05-28 18:41:54 +02:00
Laurent Destailleur
0e9d8e9300 Merge branch 'TobiasSekan-NewVendorInvoiceArea' into develop 2020-05-28 18:33:14 +02:00
Laurent Destailleur
a92e952960 Merge branch 'NewVendorInvoiceArea' of
https://github.com/TobiasSekan/dolibarr into
TobiasSekan-NewVendorInvoiceArea

# Conflicts:
#	htdocs/langs/en_US/bills.lang
2020-05-28 18:32:52 +02:00
Laurent Destailleur
1e76101c41 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-28 18:30:32 +02:00
Laurent Destailleur
791d147992 Merge branch 'NewCustomerInvoiceArea' of
https://github.com/TobiasSekan/dolibarr into develop

# Conflicts:
#	htdocs/langs/en_US/bills.lang
2020-05-28 18:29:59 +02:00
Laurent Destailleur
278f413a7a
Merge pull request #13980 from OPEN-DSI/new_save_filter_project_index
NEW Save filter of the project homepage
2020-05-28 18:26:26 +02:00
Laurent Destailleur
c657fb41fb
Merge pull request #13987 from Supermanu/fix_old_perm
FIX compatibility with delete perm in massactions
2020-05-28 17:56:31 +02:00
Laurent Destailleur
7a8b61b125
Merge pull request #13986 from Supermanu/mass_action_deletion
NEW Add mass deletion for events
2020-05-28 17:52:05 +02:00
Laurent Destailleur
f008338fde
Merge pull request #13990 from cfoellmann/fix-batch-delivery
fix #13988 - missing batch field extension
2020-05-28 17:32:30 +02:00
Laurent Destailleur
2f0a5b2634
Merge pull request #13976 from OPEN-DSI/new_ticket_public_notify_new_message
NEW Ticket message notifications when edited from public interface
2020-05-28 17:31:26 +02:00
Christian Foellmann
50bac41399 fix #13988 - missing batch field extension 2020-05-28 15:19:48 +02:00
Supermanu
e9d94c878b Fix compatibility with delete perm in massactions 2020-05-28 14:56:20 +02:00
stickler-ci
029f5570e5 Fixing style errors. 2020-05-28 12:55:29 +00:00
Supermanu
0baea21947 NEW Add mass deletion for events
Only users with the right `allactions->delete` will be able to mass delete.
2020-05-28 14:45:54 +02:00
Laurent Destailleur
df5aead4f3
Merge pull request #13984 from Supermanu/agenda_date_picker
NEW Add calendar selection for agenda view
2020-05-28 12:20:37 +02:00
Laurent Destailleur
32aecb553b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/class/html.formmail.class.php
2020-05-28 11:44:58 +02:00
Supermanu
721b99bb2f Add calendar selection for agenda view 2020-05-28 11:24:37 +02:00
Laurent Destailleur
f66555b396 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-27 23:38:46 +02:00
Laurent Destailleur
479ca770ba Removed database handler for MSSql since it rely on a function that does
not exist anymore in PHP 7+
2020-05-27 23:15:41 +02:00
Laurent Destailleur
e787978890 Doc 2020-05-27 23:12:26 +02:00
Laurent Destailleur
8aba46a5ed Fix doc 2020-05-27 23:08:33 +02:00
Laurent Destailleur
a2a15ceb5b Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/compta/prelevement/create.php
	htdocs/compta/prelevement/demandes.php
	htdocs/core/class/html.form.class.php
2020-05-27 23:07:18 +02:00
Anthony Berton
c0b6fd1811
Update html.formproduct.class.php 2020-05-27 22:35:55 +02:00
kamel
6e10abe427 [NEW] Save filter of the project homepage
Save the filter into the user parameters
2020-05-27 15:51:25 +02:00
Laurent Destailleur
7c653c0873 Fix count of records 2020-05-27 15:36:16 +02:00
Laurent Destailleur
00e88fcf76 Fix backtourl 2020-05-27 15:26:38 +02:00
Laurent Destailleur
264c1d6491 List website into combo sorted by position, ref fields 2020-05-27 14:50:10 +02:00
Anthony Berton
9efcc631d7
Merge branch 'develop' into Add-option-in-stock-for-affect-warehouse- 2020-05-27 14:47:20 +02:00
Laurent Destailleur
34d7dbe7e9 Fix css 2020-05-27 14:42:17 +02:00
Laurent Destailleur
16625af34e Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/core/class/html.formfile.class.php
	htdocs/core/lib/files.lib.php
	htdocs/core/tpl/filemanager.tpl.php
2020-05-27 14:28:20 +02:00
kamel
54a68d888e Correction Stickler CI 2020-05-27 11:45:04 +02:00
kamel
fe8eddac5e [NEW] Ticket message notifications from public interface
Can send an email when a new message is added from public interface

 close issue #12181
2020-05-27 11:39:06 +02:00
Laurent Destailleur
e308170ed8 CSS 2020-05-27 02:38:12 +02:00
Laurent Destailleur
00484d5938 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-26 23:23:31 +02:00
Laurent Destailleur
c607c2daa0 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-26 22:31:47 +02:00
Laurent Destailleur
da8bd7507e NEW Add mass action to set category on a list of website pages. 2020-05-26 22:29:46 +02:00
Laurent Destailleur
48137f8cad Fix look and field v12 2020-05-26 14:43:50 +02:00
Laurent Destailleur
d51bf44f55 Add picto 2020-05-26 12:53:58 +02:00
Laurent Destailleur
05ac3de2f0 Enhance search / filter 2020-05-26 12:46:51 +02:00
Laurent Destailleur
2d30d33303 NEW Can filter on container type, language and tags in the list of pages
of website module.
2020-05-26 12:25:41 +02:00
Laurent Destailleur
b6308f6dfa Fix phpcs 2020-05-26 01:16:18 +02:00
Laurent Destailleur
3aaefd15b0 Fix set of categories 2020-05-26 01:07:43 +02:00
Laurent Destailleur
0ea8d9f651
Update products.lang 2020-05-26 00:35:01 +02:00
stickler-ci
ce79989a9c Fixing style errors. 2020-05-25 22:33:02 +00:00
Laurent Destailleur
957a265fbd
Merge branch 'develop' into cleanupUserRightsSupplierProposalCard 2020-05-26 00:31:04 +02:00
Laurent Destailleur
714d01bdab
Merge branch 'develop' into CleanupUserRightsForunFactureCard 2020-05-26 00:25:38 +02:00
Laurent Destailleur
5f90596bb7 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-26 00:20:36 +02:00
Laurent Destailleur
ab176cd078
Merge pull request #13937 from frederic34/Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword
add new rule
2020-05-26 00:20:12 +02:00
Laurent Destailleur
f9f5beb064 NEW Can set tags/categories to website pages. 2020-05-26 00:19:32 +02:00
Laurent Destailleur
89e32d33a4
Merge pull request #13969 from Dolibarr/revert-13782-free_email
Revert "NEW enable free emails input with select2"
2020-05-25 23:13:13 +02:00
Laurent Destailleur
80ace3b52c Revert due to regressions 2020-05-25 23:05:29 +02:00
Laurent Destailleur
a80270ebb5 Revert "clean"
This reverts commit 7e7a10f8d2.
2020-05-25 23:01:25 +02:00
Laurent Destailleur
faf7a379ba Revert "clean"
This reverts commit 8f9ee3250d.
2020-05-25 23:01:20 +02:00
Laurent Destailleur
d169162ef1
Revert "NEW enable free emails input with select2" 2020-05-25 22:56:29 +02:00
Laurent Destailleur
26eab1f285
Merge pull request #13782 from frederic34/free_email
NEW enable free emails input with select2
2020-05-25 22:55:36 +02:00
Laurent Destailleur
972cb08aa6
Merge pull request #13966 from laurantines/develop
[FIX] Search by d,phone, d.phone_perso, d.phone_mobile in SELECT QUERY
2020-05-25 22:51:12 +02:00
Laurent Destailleur
4d13fa532f
Merge pull request #13852 from bb2a/MultiPriceInListe
Add columns for multiprices in product list
2020-05-25 22:50:16 +02:00
Laurent Destailleur
49c4ed5a08
Update list.php 2020-05-25 22:50:00 +02:00
stickler-ci
5fe4520385 Fixing style errors. 2020-05-25 20:43:35 +00:00
Laurent Destailleur
40816c02ce
Merge branch 'develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-25 22:40:59 +02:00
Laurent Destailleur
4e0d8ba518
Merge pull request #13962 from andreubisquerra/develop
TakePOS Auto Order improvements
2020-05-25 22:34:22 +02:00
Laurent Destailleur
d08fc174c4 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-25 22:23:51 +02:00
Laurent Destailleur
41d5d9b6f8 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-25 22:21:52 +02:00
Laurent Destailleur
17382051c2 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-25 22:19:50 +02:00
mattsidnell
619216932b
Merge pull request #10 from Dolibarr/develop
Changes from Dolibarr to Develop
2020-05-25 13:38:32 +01:00
Laurent Destailleur
26177489c9 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-25 13:46:39 +02:00
Laurent Destailleur
0b9e1e6ec6 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-25 13:01:49 +02:00
Laurent Destailleur
9e77dc0a26 CSS 2020-05-25 12:50:29 +02:00
laurantines
962d795740
Update list.php
Search by d,phone, d.phone_perso, d.phone_mobile in SELECT QUERY
2020-05-25 12:26:05 +02:00
laurantines
52ee3a7056
Merge pull request #1 from Dolibarr/develop
PULL
2020-05-25 12:19:46 +02:00
Laurent Destailleur
a44f0d24eb Fix Popup 2020-05-25 11:06:16 +02:00
Laurent Destailleur
61545703d1 CSS 2020-05-25 10:58:18 +02:00
Laurent Destailleur
47465f4108 Fix for situation invoice (exclude credit not when searching last
invoice to use)
2020-05-25 00:20:00 +02:00
andreubisquerra
d60bcb871f
Fix travis 2020-05-24 18:24:41 +02:00
Laurent Destailleur
84ec747109 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-24 18:04:26 +02:00
andreubisquerra
957c40e072
Fix travis 2020-05-24 18:03:07 +02:00
Frédéric FRANCE
e5402988d9
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-24 17:58:18 +02:00
andreubisquerra
3632111705
Fix travis 2020-05-24 17:29:35 +02:00
andreubisquerra
c80989d74f
phone.php improvements 2020-05-24 16:31:22 +02:00
andreubisquerra
221e8d8ce1
invoice.php improvements 2020-05-24 16:30:42 +02:00
andreubisquerra
26ee0d1949
genimg improvements 2020-05-24 16:29:42 +02:00
Laurent Destailleur
75fc8b9adf Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-24 12:11:53 +02:00
Laurent Destailleur
dacb326c15 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-24 01:10:41 +02:00
Laurent Destailleur
fd61214b97 Merge 2020-05-24 01:06:45 +02:00
Laurent Destailleur
6056ed2755 Merge branch '11.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/holiday/class/holiday.class.php
	htdocs/index.php
2020-05-24 01:02:08 +02:00
Frédéric FRANCE
67b8ab13c9
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-23 21:45:18 +02:00
Frédéric FRANCE
a7e0fe24ff
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-23 21:44:14 +02:00
Frédéric FRANCE
5c78eca68a
prepare new rule 2020-05-23 21:14:44 +02:00
Frédéric FRANCE
174ddc5fd4
prepare new rule 2020-05-23 21:07:47 +02:00
Laurent Destailleur
278809869d Merge branch '9.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/margin/tabs/productMargins.php
2020-05-23 20:13:12 +02:00
Laurent Destailleur
9fdd718c22 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 20:11:20 +02:00
Laurent Destailleur
40777cbcd9 Fix phpcs 2020-05-23 20:11:10 +02:00
Laurent Destailleur
28bd962559
Merge pull request #13703 from frederic34/entrepotlibelle
remove deprecated libelle to fix phpunit
2020-05-23 19:25:04 +02:00
Laurent Destailleur
be641c3d09
Merge pull request #13914 from aspangaro/12.0_a27
NEW Add employee in expense report binding page
2020-05-23 19:23:20 +02:00
Laurent Destailleur
d6470519eb
Update list.php 2020-05-23 19:21:03 +02:00
Laurent Destailleur
1ed3b385fa
Update lines.php 2020-05-23 19:19:28 +02:00
Laurent Destailleur
558a441b41
Update lines.php 2020-05-23 19:18:13 +02:00
Laurent Destailleur
e086cdcf2a
Update lines.php 2020-05-23 19:17:09 +02:00
Laurent Destailleur
2ccd6c1e9a
Update lines.php 2020-05-23 19:16:37 +02:00
Laurent Destailleur
6c3a238981
Update lines.php 2020-05-23 19:14:33 +02:00
Laurent Destailleur
173662e98c
Update lines.php 2020-05-23 19:14:05 +02:00
Frédéric FRANCE
6522bb70fd
fix merge 2020-05-23 19:06:01 +02:00
Frédéric FRANCE
48f12c8307
Merge remote-tracking branch 'origin/Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-23 18:58:18 +02:00
Frédéric FRANCE
5aa84c64d0
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-23 18:54:33 +02:00
stickler-ci
66637ba0b6 Fixing style errors. 2020-05-23 16:39:06 +00:00
Frédéric FRANCE
2085ac73e7
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-23 18:34:58 +02:00
Laurent Destailleur
8e113888d8 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 17:02:27 +02:00
Laurent Destailleur
051e009c47 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 15:50:25 +02:00
Laurent Destailleur
748a120b71 Show button for categories if module is enabled 2020-05-23 15:50:15 +02:00
Laurent Destailleur
bf0327952b
Merge pull request #13875 from ptibogxiv/patch-339
NEW Date shipment from order accepts hours
2020-05-23 15:42:24 +02:00
Laurent Destailleur
9b54ed766b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 15:37:08 +02:00
Laurent Destailleur
aec5200a98 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/variants/class/ProductCombination.class.php
2020-05-23 15:37:00 +02:00
Laurent Destailleur
4913d10724
Merge branch 'develop' into patch-339 2020-05-23 15:14:06 +02:00
Laurent Destailleur
d8d5907aff
Merge pull request #13939 from grandoc/develop
Fix : some comment and translation
2020-05-23 15:11:32 +02:00
Laurent Destailleur
697d4d684e
Merge pull request #13899 from andreubisquerra/master
TakePOS Auto Order improvements
2020-05-23 15:11:01 +02:00
Laurent Destailleur
394ea5075f
Merge pull request #13823 from aspangaro/12.0_a25
NEW: Add quick dropdown menu in top right menu (MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN)
2020-05-23 15:07:27 +02:00
Laurent Destailleur
c2b2e17b58
Merge pull request #13917 from atm-quentin/NEW_showfullarbo_in_getnomurl
NEW conf to allow show full arbo in warehouse getnomurl
2020-05-23 15:05:08 +02:00
Laurent Destailleur
5bbbabf653
Update stocks.lang 2020-05-23 15:04:59 +02:00
Laurent Destailleur
abe7472ee5
Update stocks.lang 2020-05-23 15:03:57 +02:00
Philippe Grand
af17781b2b
fix : personnal font file within tcpdf 2020-05-23 15:01:40 +02:00
Philippe Grand
6c15ff2ac1
fix : personnal font file within tcpdf 2020-05-23 15:01:25 +02:00
Philippe Grand
d80afa7536
fix : personnal font file within tcpdf 2020-05-23 15:01:08 +02:00
Philippe Grand
f49374c72d
fix : personnal font file within tcpdf 2020-05-23 15:00:48 +02:00
Philippe Grand
20898d783a
fix : personnal font file within tcpdf 2020-05-23 15:00:30 +02:00
Philippe Grand
b1e7085857
fix : personnal font file within tcpdf 2020-05-23 15:00:11 +02:00
Laurent Destailleur
b4ceb2e97e
Update entrepot.class.php 2020-05-23 15:00:06 +02:00
Philippe Grand
462b043efc
fix : personnal font file within tcpdf 2020-05-23 14:59:52 +02:00
Philippe Grand
c9c5dc4ebe
fix : personnal font file within tcpdf 2020-05-23 14:59:30 +02:00
Philippe Grand
60f1bcfb70
fix : personnal font file within tcpdf 2020-05-23 14:59:06 +02:00
Laurent Destailleur
263bfda8bd
Merge pull request #13916 from altatof/tracking
NEW : add tracking number in list and search_all items
2020-05-23 14:58:45 +02:00
Laurent Destailleur
7d8323b0a7
Merge pull request #13920 from altatof/dispatch
NEW : edit or delete dispatched lines
2020-05-23 14:56:04 +02:00
Philippe Grand
19598bad8a
fix : personnal font file within tcpdf 2020-05-23 14:41:30 +02:00
Philippe Grand
471d86ff39
fix : personnal font file within tcpdf 2020-05-23 14:41:08 +02:00
Philippe Grand
76e32781a3
fix : personnal font file within tcpdf 2020-05-23 14:40:45 +02:00
Philippe Grand
51db2be3f4
fix : personnal font file within tcpdf 2020-05-23 14:39:56 +02:00
Philippe Grand
fdea4db671
fix : personnal font file within tcpdf 2020-05-23 14:39:18 +02:00
Philippe Grand
0becc47b30
fix : personnal font file within tcpdf 2020-05-23 14:38:26 +02:00
Laurent Destailleur
4e3fbb9d05
Merge pull request #13912 from TobiasSekan/NewEventMassactionPercent
NEW mass-actions for the event list view
2020-05-23 14:26:51 +02:00
Laurent Destailleur
7397806ae7
Update actioncomm.class.php 2020-05-23 14:26:28 +02:00
Laurent Destailleur
7463eb2bd0
Merge pull request #13938 from TobiasSekan/FixDefaultDateValuesForInvoice
FIX not working default date values for new invoices
2020-05-23 14:21:50 +02:00
Laurent Destailleur
d8250fdc75
Merge pull request #13934 from frederic34/patch-4
Update datapolicycron.class.php
2020-05-23 14:19:12 +02:00
Laurent Destailleur
e2cdbf6cec
Merge pull request #13935 from frederic34/patch-6
Update paymentloan.class.php
2020-05-23 14:18:08 +02:00
Laurent Destailleur
dd2a611452
Merge pull request #13936 from frederic34/patch-7
Update AccountingAccountTest.php
2020-05-23 14:16:50 +02:00
Laurent Destailleur
0db549469c
Merge pull request #13951 from Langlais115/keep_child_label_if_modified
FIX #13908 keep child label if modified by user
2020-05-23 13:51:29 +02:00
Laurent Destailleur
a9b5feb680
Merge branch 'develop' into keep_child_label_if_modified 2020-05-23 13:51:13 +02:00
Laurent Destailleur
726f86e73d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 13:49:22 +02:00
Laurent Destailleur
acaab1fd45 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 13:49:15 +02:00
Laurent Destailleur
41664c1a0e
Merge pull request #13941 from bsene/fixes-13807-issue
Fix #13807 Docker: PHP installation does not support GD graphical functions
2020-05-23 13:48:15 +02:00
Laurent Destailleur
536f0b4664
Merge pull request #13956 from laudeco/feature/docker
Docker - add a mail server
2020-05-23 13:40:19 +02:00
Laurent Destailleur
4884dcd62e
Merge pull request #13950 from Langlais115/fix_some_curly_braces
Change some curly braces #13929
2020-05-23 13:37:56 +02:00
Laurent Destailleur
9e95342e2f
Update list.php 2020-05-23 13:36:39 +02:00
Laurent Destailleur
072d8c6222
Update list.php 2020-05-23 13:36:02 +02:00
Laurent Destailleur
b4fa56d07e
Merge pull request #13947 from TobiasSekan/FixDefaultValuesForPaymentOnInvoices
FIX not working default values for payment on new invoices
2020-05-23 13:33:01 +02:00
Laurent Destailleur
d4b1485c97 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 13:11:30 +02:00
Laurent Destailleur
333ae9d496 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-23 12:58:18 +02:00
Laurent De Coninck
0bf6b26117
add a mail server 2020-05-23 12:20:56 +02:00
stickler-ci
74662d3ecd Fixing style errors. 2020-05-23 08:18:41 +00:00
Philippe Grand
e7c2bd830a
fix merge issue 2020-05-23 10:17:48 +02:00
Philippe Grand
b137775046
fix merge issue 2020-05-23 10:12:14 +02:00
gael.langlais
dce93197d7 FIX #13908 keep child label if modified by user 2020-05-22 17:58:24 +02:00
gael.langlais
e349b9323f Change some curly braces #13929 2020-05-22 17:42:06 +02:00
Inovea Conseil
71a44b973d Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-05-22 15:14:18 +02:00
Frédéric FRANCE
70995d3499
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-22 15:03:09 +02:00
Laurent Destailleur
2f8b364454 Code comment 2020-05-22 13:18:47 +02:00
Frédéric FRANCE
0f4f727d18
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-22 08:27:12 +02:00
stickler-ci
2873f4dacf Fixing style errors. 2020-05-22 06:08:12 +00:00
Tobias Sekan
53080be245
fix not working default values for payment 2020-05-22 08:01:29 +02:00
Tobias Sekan
d9a2d2b982
fix not working default values for payment 2020-05-22 08:00:26 +02:00
Laurent Destailleur
38c8ebd627 Add link into toolbar to create website tags 2020-05-22 01:01:27 +02:00
Laurent Destailleur
60f865fbb8 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-22 00:58:27 +02:00
Laurent Destailleur
e81e4032f7 Fix make page of categories of web site working 2020-05-22 00:54:53 +02:00
Laurent Destailleur
5d78f6dac5 NEW Add link to edit property from search result of website pages 2020-05-22 00:38:01 +02:00
Birame SENE
e6a5d4c8d9 Add PNG/JPEG packages to build GD extension 2020-05-21 17:01:27 +02:00
Frédéric FRANCE
726d7817c4
add new rule 2020-05-21 16:13:46 +02:00
Frédéric FRANCE
37202a54e9
add new rule 2020-05-21 16:04:52 +02:00
Frédéric FRANCE
5940d3705a
add new rule 2020-05-21 16:00:12 +02:00
Frédéric FRANCE
3a786ca766
add new rule 2020-05-21 15:25:42 +02:00
Frédéric FRANCE
623783e948
Merge remote-tracking branch 'origin/Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-21 15:21:05 +02:00
Frédéric FRANCE
674b0e38c8
add new rule 2020-05-21 15:13:31 +02:00
stickler-ci
459154edc0 Fixing style errors. 2020-05-21 13:11:06 +00:00
Frédéric FRANCE
d9f42f85d1
add new rule 2020-05-21 15:08:14 +02:00
Frédéric FRANCE
b41ac00b98
add new rule 2020-05-21 15:05:19 +02:00
Frédéric FRANCE
b58060f899
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-21 13:29:43 +02:00
Laurent Destailleur
8a481b297c Clean CSS, clean code 2020-05-21 13:06:36 +02:00
Philippe GRAND
c77a1be176 fix comment and add some translation 2020-05-21 11:35:32 +02:00
Philippe GRAND
23282acfbc update 2020-05-21 11:20:01 +02:00
Frédéric FRANCE
85625a46bb
add new rule 2020-05-21 09:35:30 +02:00
Tobias Sekan
44ffb8dbf7
Fix not working default value (re...) 2020-05-21 09:34:20 +02:00
Frédéric FRANCE
f4011520a3
add new rule 2020-05-21 09:31:49 +02:00
Tobias Sekan
2efe3d7da0
Fix not wokring default values for date (re...) 2020-05-21 09:31:06 +02:00
Frédéric FRANCE
ba8cf2b398
add new rule 2020-05-21 09:21:30 +02:00
Frédéric FRANCE
ccc859ec80
add new rule 2020-05-21 09:12:18 +02:00
Frédéric FRANCE
def53338de
add new rule 2020-05-21 09:07:10 +02:00
Frédéric FRANCE
a636f81eac
add new rule 2020-05-21 02:17:21 +02:00
Frédéric FRANCE
ae06b35c63
add new rule 2020-05-21 02:06:40 +02:00
Frédéric FRANCE
e5fc928fda
add new rule 2020-05-21 02:02:54 +02:00
Frédéric FRANCE
a25ed0e041
add new rule 2020-05-21 01:56:06 +02:00
Frédéric FRANCE
f5688b2eec
add new rule 2020-05-21 01:52:25 +02:00
Frédéric FRANCE
ee6fadd0d5
add new rule 2020-05-21 01:41:27 +02:00
Frédéric FRANCE
416e6dd90d
Merge remote-tracking branch 'upstream/develop' into Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword 2020-05-21 01:11:45 +02:00
Frédéric FRANCE
b70efb5d7b
add new rule 2020-05-21 01:10:33 +02:00
Frédéric FRANCE
4be4f975b0
add new rule 2020-05-21 01:03:03 +02:00
Frédéric FRANCE
ccadb1ec7a
add new rule 2020-05-21 00:47:16 +02:00
Frédéric FRANCE
43dcd9beb5
add new rule 2020-05-21 00:02:33 +02:00
Laurent Destailleur
15f3c97fff Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 23:59:11 +02:00
Laurent Destailleur
64ebc665c7 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 23:32:59 +02:00
Laurent Destailleur
482da404f0 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 23:30:02 +02:00
Laurent Destailleur
e1e5d12524 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 23:23:17 +02:00
Frédéric FRANCE
3ea613896e
Update CommandeTest.php 2020-05-20 23:04:38 +02:00
Frédéric FRANCE
86e220dd40
Update ActionCommTest.php 2020-05-20 23:00:52 +02:00
Frédéric FRANCE
358054908f
Update AccountingAccountTest.php 2020-05-20 22:59:23 +02:00
Frédéric FRANCE
e7714acc77
Update paymentloan.class.php
same picto in loan
2020-05-20 20:19:00 +02:00
Frédéric FRANCE
16cc946608
Update datapolicycron.class.php 2020-05-20 20:13:42 +02:00
Laurent Destailleur
954d928467 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 20:11:13 +02:00
Frédéric FRANCE
365f85dcea
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-20 18:28:55 +02:00
Anthony Berton
aa275f2a79
Delete html.form.class.php 2020-05-20 14:58:01 +02:00
Anthony Berton
f32767239b Merge branch 'PRODUCT_PRICE_BASE_TYPE' of https://github.com/bb2a/dolibarr into PRODUCT_PRICE_BASE_TYPE 2020-05-20 14:50:45 +02:00
Anthony Berton
15805562d1 Update html.form.class.php 2020-05-20 14:50:40 +02:00
Laurent Destailleur
3b7f3cf76a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 13:20:12 +02:00
Laurent Destailleur
88c939562e Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 12:39:01 +02:00
Laurent Destailleur
2f7786f50f Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-20 10:37:43 +02:00
Frédéric FRANCE
cd240efadf
Update entrepot.class.php 2020-05-19 21:28:47 +02:00
stickler-ci
0ac82797e7 Fixing style errors. 2020-05-19 19:14:20 +00:00
Frédéric FRANCE
f2ac1992cd
Merge branch 'develop' into entrepotlibelle 2020-05-19 21:13:33 +02:00
Frédéric FRANCE
fd7a5473a7
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-19 21:08:15 +02:00
Laurent Destailleur
346082b153 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-19 19:59:24 +02:00
altairis
80c56b3017 manage stock on edit and delete dispatched lines 2020-05-19 15:59:03 +02:00
Anthony Berton
702627155c
Merge branch 'develop' into PRODUCT_PRICE_BASE_TYPE 2020-05-19 15:20:18 +02:00
altairis
b79a30c0f9 edit and delete dispatched lines 2020-05-19 14:18:06 +02:00
atm-quentin
d61cef28d7 NEW conf to allow show full arbo in getnomurl 2020-05-19 11:16:04 +02:00
altairis
24ff047ad7 add tracking number 2020-05-19 10:34:55 +02:00
altairis
cbc567b920 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2020-05-19 10:27:27 +02:00
Alexandre SPANGARO
1f46c57c0b NEW Add employee in expense report binding page 2020-05-19 09:36:07 +02:00
stickler-ci
f0bb7d233f Fixing style errors. 2020-05-19 06:29:23 +00:00
Tobias Sekan
0cba74277a
Update agenda.lang 2020-05-19 08:19:14 +02:00
Tobias Sekan
7fd6151c43
Add massactions for event list 2020-05-19 08:18:38 +02:00
Tobias Sekan
223224d12c
Add function to update the event percent + const 2020-05-19 08:07:21 +02:00
Tobias Sekan
cb9cbfb922
Merge pull request #24 from Dolibarr/develop
pull from develop
2020-05-19 07:59:08 +02:00
Laurent Destailleur
d89c9abcb6 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-19 00:53:01 +02:00
Frédéric FRANCE
3e3cb05a57
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-18 22:43:41 +02:00
Laurent Destailleur
9f9dfb94f0 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-18 22:40:52 +02:00
Frédéric FRANCE
b6462462d7
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-18 22:27:32 +02:00
Laurent Destailleur
88c40633d5 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-18 15:57:29 +02:00
Laurent Destailleur
514009ca6d Add field position in llx_website 2020-05-18 15:47:21 +02:00
Laurent Destailleur
d60598b848 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-18 14:53:57 +02:00
Frédéric FRANCE
54e2d72d8a
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-17 20:44:21 +02:00
Laurent Destailleur
bd564486ff Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-17 20:03:09 +02:00
altairis
4dda90d607 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2020-05-16 18:28:32 +02:00
Anthony Berton
ceb3ba0e33
Merge branch 'develop' into PRODUCT_PRICE_BASE_TYPE 2020-05-16 16:42:20 +02:00
Anthony Berton
e1f8b50961
Delete 11.0.0-12.0.0.sql 2020-05-16 15:39:49 +02:00
Anthony Berton
ddb413c025 Create 12.0.0-13.0.0.sql 2020-05-16 15:37:13 +02:00
andreubisquerra
38346afe0e
Clean 2020-05-16 00:26:42 +02:00
andreubisquerra
ceafbb9855
Fix travis 2020-05-16 00:07:13 +02:00
jove@bisquerra.com
0847f5350a TakePOS Auto Order improvements 2020-05-15 23:44:19 +02:00
Frédéric FRANCE
6d59b3f859
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-15 20:57:15 +02:00
Laurent Destailleur
ff07837053 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-15 19:01:54 +02:00
Frédéric FRANCE
62e0bfbb5f
enhance free email 2020-05-15 18:53:59 +02:00
Frédéric FRANCE
76bb57bc6b
enhance free email 2020-05-15 18:50:37 +02:00
Frédéric FRANCE
1bc8765291
enhance free email 2020-05-15 18:42:41 +02:00
Laurent Destailleur
3f5692c4d7 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-15 18:42:08 +02:00
Frédéric FRANCE
b9a082f774
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-15 18:08:51 +02:00
Frédéric FRANCE
e583dc0a7f
enhance free email 2020-05-15 18:07:17 +02:00
Laurent Destailleur
73cc50e1bf Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-15 17:19:57 +02:00
Laurent Destailleur
70fc74008a Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts:
	htdocs/accountancy/bookkeeping/balance.php
2020-05-15 17:19:43 +02:00
ptibogxiv
8d242cacae
Update 12.0.0-13.0.0.sql
update sql
2020-05-15 16:04:36 +02:00
ptibogxiv
e00152a845
Rename 12.0.0.-13.0.0.sql to 12.0.0-13.0.0.sql 2020-05-15 16:03:38 +02:00
ptibogxiv
6a0bc86ea6
Create 12.0.0.-13.0.0.sql 2020-05-15 16:03:03 +02:00
ptibogxiv
703fee0635
Update llx_commande.sql 2020-05-15 15:58:01 +02:00
ptibogxiv
1453b8469e
Update 11.0.0-12.0.0.sql 2020-05-15 15:56:16 +02:00
Laurent Destailleur
0091a48f42
Merge pull request #13787 from simicar29/dev-multiplemassaction
Enable multiple mass actions on a single page - dev branch
2020-05-15 14:37:33 +02:00
Laurent Destailleur
b8aa635955
Merge pull request #13890 from andreubisquerra/master
Public photos for customers with TakePOS
2020-05-15 14:36:07 +02:00
Laurent Destailleur
b8d7a4373c
Update viewimage.php 2020-05-15 14:34:24 +02:00
Laurent Destailleur
f35a618699
Update index.php 2020-05-15 14:29:04 +02:00
Laurent Destailleur
3295b0d669
Update viewimage.php 2020-05-15 14:14:05 +02:00
Laurent Destailleur
5933aba38c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-15 14:12:04 +02:00
Laurent Destailleur
0f403ba9ea Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-15 14:11:13 +02:00
Laurent Destailleur
00fb386522
Merge pull request #13894 from Langlais115/patch-1
Fix  #13805 Add type check to "seuil_stock_alerte"
2020-05-15 13:59:57 +02:00
Laurent Destailleur
9d87eae12e
Merge pull request #13897 from Dolibarr/scrutinizer-patch-11
Scrutinizer Auto-Fixes
2020-05-15 13:56:09 +02:00
Scrutinizer Auto-Fixer
9699ee7263 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2020-05-15 11:55:31 +00:00
Langlais115
100bfb921f
Fix #13805
Add proper type check to "seuil_stock_alerte" parameter.
2020-05-15 10:25:56 +02:00
Frédéric FRANCE
fbc6f2d954
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-14 21:25:41 +02:00
Laurent Destailleur
a660fd61c9 Fix lang must be set to null and not 0 when not defined 2020-05-14 18:55:20 +02:00
Frédéric FRANCE
9afe335e4e
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-14 18:45:52 +02:00
Laurent Destailleur
40fa0933eb Fix on sarch pages 2020-05-14 18:44:21 +02:00
Laurent Destailleur
d8ee049b4c Can select not defined language 2020-05-14 18:41:31 +02:00
Laurent Destailleur
40d30f9a60 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-14 18:37:47 +02:00
Laurent Destailleur
f7d69e443e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-14 18:15:08 +02:00
Laurent Destailleur
1bf677f537 Can set status of a websitepage 2020-05-14 18:14:55 +02:00
jove@bisquerra.com
991996697d Public photos for customers with TakePOS 2020-05-14 18:03:22 +02:00
Laurent Destailleur
a865dc7232
Merge pull request #13762 from indelog/rappaygroupmod
NEW possibilty to group payments by mode and show their subtotal
2020-05-14 16:55:37 +02:00
Laurent Destailleur
215cf9e6f8 Prepare v13 2020-05-14 16:45:32 +02:00
Laurent Destailleur
b68722a66c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-14 16:40:51 +02:00
Laurent Destailleur
9becb24073 Prepare v13 2020-05-14 16:40:40 +02:00
Laurent Destailleur
aed917bda9
Merge pull request #13862 from aspangaro/12.0_a27
NEW Accountancy balance - Add a input to show subtotal by group
2020-05-14 16:40:02 +02:00
Laurent Destailleur
adcc9e14f6 Merge branch '12.0' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-14 16:35:39 +02:00
Laurent Destailleur
1032e5dfda Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2020-05-14 16:07:35 +02:00
Laurent Destailleur
b26c1757e6 Prepare v13 2020-05-14 16:07:23 +02:00
Anthony Berton
06c08ad045
Merge branch 'develop' into PRODUCT_PRICE_BASE_TYPE 2020-05-14 15:26:58 +02:00
stickler-ci
e3afa65880 Fixing style errors. 2020-05-14 09:38:27 +00:00
Anthony Berton
36b63ed921 Update list.php 2020-05-14 11:37:26 +02:00
Frédéric FRANCE
be78ef5fb3
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-13 17:53:41 +02:00
Frédéric FRANCE
39ae11efa3
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-12 18:02:52 +02:00
ptibogxiv
70ea77ce8f
Update list.php 2020-05-12 15:37:37 +02:00
ptibogxiv
f837bf043a
Update shipment.php 2020-05-12 15:34:48 +02:00
ptibogxiv
ce9b841d9f
Update shipment.php 2020-05-12 15:33:25 +02:00
ptibogxiv
39f228b98a
Update list.php 2020-05-12 14:10:43 +02:00
ptibogxiv
447c61cc15
Update shipment.php 2020-05-12 13:49:55 +02:00
stickler-ci
83ec39f55a Fixing style errors. 2020-05-12 11:44:12 +00:00
ptibogxiv
e1ff1bf865
Update card.php 2020-05-12 13:42:43 +02:00
stickler-ci
9e49e02efb Fixing style errors. 2020-05-12 11:42:18 +00:00
ptibogxiv
014c013f83
Update card.php 2020-05-12 13:40:31 +02:00
ptibogxiv
c6e7b2e6a3
Fix date shipment from order
better for pickup collection with date and hour from order
2020-05-12 13:39:02 +02:00
Frédéric FRANCE
7e5a07a863
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-12 07:57:32 +02:00
Alexandre SPANGARO
6b57ae4fcb Merge remote-tracking branch 'upstream/develop' into 12.0_a27 2020-05-12 07:27:35 +02:00
Alexandre SPANGARO
0dccc9cbeb Debug colspan 2020-05-12 07:27:20 +02:00
Frédéric FRANCE
034df95ca1
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-11 20:29:07 +02:00
Frédéric FRANCE
9c90996560
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-11 19:11:00 +02:00
Frédéric FRANCE
3e5489f7f6
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-11 18:17:27 +02:00
Alexandre SPANGARO
04480847df NEW Accountancy balance - Add a button ShowSubtotalByGroup 2020-05-10 08:28:03 +02:00
Anthony Berton
52b47fd598 Update list.php 2020-05-09 00:28:23 +02:00
stickler-ci
c2dff7dfed Fixing style errors. 2020-05-08 20:46:06 +00:00
Anthony Berton
a87d9cd740 Update list.php 2020-05-08 22:41:49 +02:00
Frédéric FRANCE
bd7a2d23a0
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-08 21:29:12 +02:00
Frédéric FRANCE
8f9ee3250d
clean 2020-05-07 23:28:32 +02:00
Frédéric FRANCE
b88a84323b
clean 2020-05-07 22:59:34 +02:00
Frédéric FRANCE
7e7a10f8d2
clean 2020-05-07 22:55:21 +02:00
Frédéric FRANCE
f13c3447f1
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-07 21:49:01 +02:00
Frédéric FRANCE
6d5e83ad66
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-07 16:16:10 +02:00
Frédéric FRANCE
3fcd9e6949
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-06 22:17:43 +02:00
Tobias Sekan
3de77cff3f
fix lint errors 2020-05-06 12:11:54 +02:00
Tobias Sekan
3f5f6b3243
Fix lint errors 2020-05-06 12:09:39 +02:00
Tobias Sekan
0da091c609
Add missing lang entry 2020-05-06 11:51:50 +02:00
Tobias Sekan
8334afa154
Add link to new vendor invoice are page 2020-05-06 11:49:45 +02:00
Tobias Sekan
468829aa70
Add new vendor invoice area page 2020-05-06 11:48:01 +02:00
Tobias Sekan
5fb852b588
Add one new lang entry 2020-05-06 11:37:39 +02:00
Tobias Sekan
9b437c0585
Link to new customer invoice area 2020-05-06 11:36:30 +02:00
Tobias Sekan
d0efa79efa
Add customer invoice area 2020-05-06 11:34:31 +02:00
Tobias Sekan
948ec49b38
Merge pull request #23 from Dolibarr/develop
pull from develop
2020-05-06 11:31:31 +02:00
Frédéric FRANCE
574a4d4ce8
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-06 10:54:59 +02:00
Anthony Berton
eb411d16ab Update html.formproduct.class.php 2020-05-06 00:58:51 +02:00
Anthony Berton
dc676a89b0 Merge branch 'Add-option-in-stock-for-affect-warehouse-' of https://github.com/bb2a/dolibarr into Add-option-in-stock-for-affect-warehouse- 2020-05-06 00:57:16 +02:00
Anthony Berton
2ccbc59bdb Update stock.php 2020-05-06 00:57:11 +02:00
Anthony Berton
ed031718dd
Update stock.php 2020-05-06 00:55:43 +02:00
Anthony Berton
c6d2a1faf3 Add options
Add options in module stock
2020-05-06 00:48:00 +02:00
Alexandre SPANGARO
489a2cd0cc NEW: Add quick dropdown menu in top right menu 2020-05-05 21:35:03 +02:00
Frédéric FRANCE
93cac43306
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-05 18:37:56 +02:00
Anthony Berton
00b9f8445f Add default const 2020-05-04 17:11:44 +02:00
Anthony Berton
b605569107 Merge branch 'PRODUCT_PRICE_BASE_TYPE' of https://github.com/bb2a/dolibarr into PRODUCT_PRICE_BASE_TYPE 2020-05-03 23:10:45 +02:00
Anthony Berton
c5544714c2 Traslate title param 2020-05-03 23:10:40 +02:00
stickler-ci
56a5e8ca3c Fixing style errors. 2020-05-03 17:50:10 +00:00
Anthony Berton
485ef522d2 Add option HT TTC créate product 2020-05-03 19:47:10 +02:00
Frédéric FRANCE
44f914fede
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-02 13:29:56 +02:00
Marc Guenneugues
bac17d6b95 Merge branch 'dev-replenish' of https://github.com/simicar29/dolibarr into dev-replenish 2020-05-02 09:27:22 +02:00
Marc Guenneugues
b65a4649e7 Correct lint errors 2020-05-02 09:26:58 +02:00
stickler-ci
1e3f31041d Fixing style errors. 2020-05-02 07:23:06 +00:00
Marc Guenneugues
a03739962b Propagate the value of limit 2020-05-02 09:21:51 +02:00
Marc Guenneugues
640730539e NEW: Add option to include products without alert in replenish 2020-05-02 08:50:22 +02:00
Frédéric FRANCE
39ac031aa9
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-02 06:59:54 +02:00
Marc Guenneugues
fbabfe9a71 Correct typo 2020-05-02 06:53:11 +02:00
Marc Guenneugues
79647b35cd Enable multiple mass actions on a single page - dev branch 2020-05-02 06:42:12 +02:00
Frédéric FRANCE
10fe016370
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-01 23:14:56 +02:00
Frédéric FRANCE
f89131e2a0
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-01 22:27:04 +02:00
Frédéric FRANCE
3c7265e357
Merge remote-tracking branch 'upstream/develop' into free_email 2020-05-01 17:12:17 +02:00
Frédéric FRANCE
92898c9562
enable free emails with select2 2020-05-01 11:27:11 +02:00
Tim Otte
02b6b0d23b
Merge pull request #2 from Dolibarr/develop
Merge changes
2020-04-28 12:34:48 +02:00
stickler-ci
2cf5f12a62 Fixing style errors. 2020-04-28 07:18:45 +00:00
kkhelifa-opendsi
908c653743
Merge branch 'develop' into stcommcontact 2020-04-28 09:03:17 +02:00
DEMAREST Maxime (Indelog)
740b2c9228 NEW possibilty to group payments by mode and show their subtotal
This add two params (PAYMENTS_REPORT_GROUP_BY_MOD and
PAYMENTS_FOURN_REPORT_GROUP_BY_MOD) for payments and supplier payments
to group them by mode and get subtotals for each mode. Add the
corresponding configuration options on admin page fore each payments and
supplier payments.
2020-04-28 09:01:00 +02:00
kamel
218fbfc70b Correction pour validation Stickler CI / stickler-ci 2020-04-27 18:06:50 +02:00
kamel
28d330996c Correction pour validation Stickler CI / stickler-ci 2020-04-27 18:01:07 +02:00
kamel
4dd42496fa Correction pour validation Stickler CI / stickler-ci 2020-04-27 17:48:05 +02:00
kamel
9cb90cb384 NEW: Add prospect status managment for the contact with managment of custom icon 2020-04-27 17:35:14 +02:00
Inovea Conseil
e0846900db Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-04-24 11:00:31 +02:00
mattsidnell
0c00c07335
Merge pull request #9 from Dolibarr/develop
Update
2020-04-23 20:36:54 +01:00
Frédéric FRANCE
2098021010
Merge remote-tracking branch 'upstream/develop' into entrepotlibelle 2020-04-23 14:10:39 +02:00
Inovea Conseil
892ed32655 Merge remote-tracking branch 'Dolibarr/develop' into develop 2020-04-23 10:08:37 +02:00
Frédéric FRANCE
3541020912
remove deprecated libelle 2020-04-23 00:13:51 +02:00
Frédéric FRANCE
bc4726c7c3
remove deprecated libelle 2020-04-23 00:06:57 +02:00
Frédéric FRANCE
2349c2be22
remove deprecated libelle 2020-04-22 23:55:50 +02:00
Frédéric FRANCE
061f4623b3
remove deprecated libelle 2020-04-22 23:53:00 +02:00
mattsidnell
fc5411e705
Merge pull request #6 from Dolibarr/develop
updates
2020-04-22 09:12:58 +01:00
Sekan, Tobias
b0ec9c1fcf Cleanup user rights on supplier proposal card 2020-04-21 12:45:07 +02:00
Sekan, Tobias
06556fe14c indent + comments 2020-04-21 12:25:44 +02:00
Sekan, Tobias
7de4f4d0bb Cleanup user rights on forun commande card 2020-04-21 12:13:15 +02:00
Sekan, Tobias
104e786a79 cleanup user rights on forun facture card 2020-04-21 10:02:18 +02:00
mattsidnell
1b3085fbcf
Merge pull request #5 from Dolibarr/develop
update
2020-04-20 22:29:09 +01:00
altairis
a345e4a445 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2020-04-19 08:21:20 +02:00
Pierre Ardoin
19c85785f7
Fix 2020-04-16 13:26:55 +02:00
Pierre Ardoin
e85b4a5a20
FIX Directory Issue with Multicompany
Before : Cannot show documents added entity who created the product/service

Now : show all files. 

Warning : all products must be generated in $object->entity directory and not in $conf->entity.
2020-04-16 12:15:41 +02:00
Matt Sidnell
7f05f35993
Merge pull request #4 from pstructures/pstructures-boolean-addupdatedelete
Added Boolean Support
2020-04-15 12:55:23 +01:00
Tobias Sekan
ef38b5a015
fix wrong delete code line 2020-04-12 13:59:24 +02:00
Sekan, Tobias
ab870dd532 Switch to new category API in project list view 2020-04-12 13:30:02 +02:00
altairis
98e07b6d32 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2020-03-12 09:19:56 +01:00
Philippe GRAND
f00c8ee227 Merge remote-tracking branch 'upstream/develop' into develop 2020-02-24 10:28:13 +01:00
Philippe GRAND
7cc9639417 comment translation 2020-02-22 12:28:15 +01:00
Philippe GRAND
b90fabccfe Merge remote-tracking branch 'upstream/develop' into develop 2020-02-22 12:23:15 +01:00
Philippe GRAND
95228ae01c fix merging 2020-02-22 12:21:17 +01:00
altairis
aa76c0fc1b Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2020-02-05 10:24:30 +01:00
Alexandre SPANGARO
d6d3fff9dc Merge branch 'develop' into 10.0_intracommreport 2020-02-03 21:15:07 +01:00
Philippe GRAND
c736d9ae25 fix merging 2020-01-27 09:48:38 +01:00
stickler-ci
ce3e658608 Fixing style errors. 2019-12-31 07:36:40 +00:00
Alexandre SPANGARO
c664a1e42d Merge remote-tracking branch 'upstream/develop' into 10.0_intracommreport 2019-12-31 08:34:37 +01:00
altairis
87a6eb0435 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2019-12-12 10:29:38 +01:00
Inovea Conseil
0db8d1401b Merge remote-tracking branch 'Dolibarr/develop' into develop 2019-12-09 09:59:46 +01:00
altairis
7ae17efdc4 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2019-11-28 10:34:16 +01:00
Alexandre SPANGARO
2c74caff90 WIP 2019-07-22 06:56:55 +02:00
Alexandre SPANGARO
8b8aaafc05 Merge branch 'develop' into 10.0_intracommreport 2019-07-20 05:47:31 +02:00
Alexandre SPANGARO
8f0f8f74f7 WIP 2019-06-26 17:13:38 +02:00
Alexandre SPANGARO
9da91c06ed Merge branch 'develop' into 10.0_intracommreport 2019-06-26 15:11:43 +02:00
Alexandre SPANGARO
14a99041a3 WIP 2019-06-25 15:31:18 +02:00
Alexandre SPANGARO
4a84dcaa62 Merge remote-tracking branch 'upstream/develop' into 10.0_intracommreport 2019-06-23 21:47:34 +02:00
Alexandre SPANGARO
69f15db4e9 Fix migration - Move to v11 2019-06-20 09:37:23 +02:00
Alexandre SPANGARO
20b516885f WIP 2019-06-20 09:33:01 +02:00
Alexandre SPANGARO
abfb708044 Merge branch 'develop' into 10.0_intracommreport 2019-06-19 21:43:40 +02:00
Alexandre SPANGARO
11015dd072 WIP 2019-05-21 09:55:41 +02:00
Alexandre SPANGARO
ba4bd274c0 WIP 2019-05-20 14:52:06 +02:00
Alexandre SPANGARO
a239e0e81f WIP Admin 2019-05-20 13:33:54 +02:00
Alexandre SPANGARO
16093231c6 Merge remote-tracking branch 'upstream/develop' into 10.0_intracommreport 2019-05-19 21:30:36 +02:00
Alexandre SPANGARO
e81dcb6060 WIP Update database 2019-05-19 21:26:49 +02:00
Alexandre SPANGARO
0e1078476f WIP 2019-05-19 10:46:55 +02:00
Alexandre SPANGARO
f9e3a958c4 NEW Module Intracomm report 2019-05-19 10:44:09 +02:00
Marc de Lima Lucio
d428f79d46 NEW: new line template: hidden conf to fill service dates from the last service line 2019-05-15 12:26:39 +02:00
root
19f062ea7b Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop 2018-08-08 16:03:59 +02:00
root
fc0e6c3151 Merge branch 'develop' of github.com:ATM-Consulting/dolibarr into develop 2018-08-08 15:58:41 +02:00
florian HENRY
900d9dfd64 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2017-06-29 09:10:54 +02:00
florian HENRY
53f8a30b47 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2017-06-26 12:02:54 +02:00
florian HENRY
115f3b712e Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2017-06-26 08:08:01 +02:00
florian HENRY
b3f2b39c77 Merge remote-tracking branch 'origin/develop' into develop 2017-06-23 10:42:58 +02:00
florian HENRY
99bd7e8ea3 Merge remote-tracking branch 'atm/develop' into develop 2017-06-22 12:02:59 +02:00
florian HENRY
e5e05f3265 Merge remote-tracking branch 'atm/develop' into develop 2017-06-20 13:30:01 +02:00
phf
f6b54dca12 Merge branch 'develop' of github.com:ATM-Consulting/dolibarr into develop 2017-06-09 13:35:22 +02:00
phf
5d683683e7 Merge branch 'develop' of github.com:ATM-Consulting/dolibarr into develop 2017-06-06 09:35:14 +02:00
phf
1a50d1eda2 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2017-05-30 09:34:16 +02:00
florian HENRY
dd196e6567 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2017-05-09 09:31:09 +02:00
florian HENRY
7ab1f79228 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2017-05-04 14:07:35 +02:00
florian HENRY
4e7ac56f04 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2017-05-02 14:43:02 +02:00
florian HENRY
3f7d488dd7 Fix inventory 2017-05-02 10:09:57 +02:00
florian HENRY
1a2dd84cef FIX MAIN_FEATURES_LEVEL 2017-05-02 10:02:16 +02:00
4046 changed files with 272197 additions and 231217 deletions

View File

@ -56,7 +56,7 @@ You can add it to your git configuration using:
git config --local commit.template .gitmessage
```
where
where
#### Keyword
In uppercase if you want to have the log comment appears into the generated ChangeLog file.
@ -101,7 +101,7 @@ Long description (Can span accross multiple lines).
</pre>
### Pull Requests
Pull Request (PR) process is the process to submit a change (enhancement, bug fix, ...) into the code of the project. There is some rules to know and
Pull Request (PR) process is the process to submit a change (enhancement, bug fix, ...) into the code of the project. There is some rules to know and
a process to follow to optimize the chance to have PRs merged efficiently...
* A PR must be atomic. It means it must contains the lower possible changes for 1 need (1 bug fix or 1 new feature) without breaking usability of code. If a PR can be split into several PRs, it often means your PR is not atomic.
@ -120,7 +120,7 @@ Once a PR has been submitted, you may need to wait for its integration. It is co
If the label of PR start with "Draft" or "WIP" (Work In Progress), it will not be analyzed for merging until you change the label of PR (but it can be analyzed for discussion).
If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later. Don't expect anything on your PR if you have such errors, you MUST first fix the Continuous Integration error to have it taken into consideration.
If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later. Don't expect anything on your PR if you have such errors, you MUST first fix the Continuous Integration error to have it taken into consideration.
If the PR is valid, and is kept open for a long time, a tag will also be added on the PR to describe the status of your PR and why the PR is kept open. By putting your mouse on the tag, you will get a full explanation of the tag/status that explain why your PR has not been integrated yet.
In most cases, it gives you information of things you have to do to have the PR taken into consideration (for example a change is requested, a conflict is expected to be solved, some questions were asked). If you have a yellow, red flag of purple flag, don't expect to have your PR validated. You must first provide the answer the tag ask you. The majority of open PR are waiting an action of the author of the PR.
@ -141,7 +141,7 @@ Translations done on transifex are available in the next major release.
Note: Sometimes, the source text (english) is modified. In such a case, the translation is reset. Transifex assume that if the original source
has changed, the translation is surely no more correct so must be done again. But old translation is not lost and you can use the tab "History"
to retreive all old translation of a source text, and restore the translation in one click with no need to retranslate it if there is no need to.
to retrieve all old translation of a source text, and restore the translation in one click with no need to retranslate it if there is no need to.
### Resources

17
.github/workflows/exakat.yml vendored Normal file
View File

@ -0,0 +1,17 @@
# See syntax file on https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: "Exakat analysis"
on:
schedule:
- cron: "0 20 * * *"
jobs:
exakat:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Exakat
uses: docker://exakat/exakat-ga
with:
ignore_rules: 'Classes/UseInstanceof,Performances/PrePostIncrement,Functions/WrongNumberOfArguments,Variables/UndefinedVariable,Classes/DontUnsetProperties,Classes/NonPpp,Classes/StaticMethodsCalledFromObject,Classes/UseClassOperator,Functions/UsesDefaultArguments,Php/NoClassInGlobal,Php/ShouldUseCoalesce,Structures/MergeIfThen,Structures/ElseIfElseif,Structures/RepeatedPrint,Structures/UselessParenthesis,Structures/SwitchWithoutDefault,Structures/ShouldMakeTernary,Structures/UseConstant'
ignore_dirs: '/htdocs/includes,/htdocs/build,/htdocs/dev,/htdocs/doc,/htdocs/scripts,/htdocs/test'

View File

@ -14,11 +14,11 @@ jobs:
- uses: Dolibarr/stale@staleunstale
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-message: 'This issue is stale because it has been open 1 year with no activity. If this is a bug, please comment to confirm it is still present on latest stable version. if this is a feature request, please comment to notify the request is still relevant and not yet covered by latest stable version. This issue may be closed automatically by stale bot in 15 days (you should still be able to re-open it if required).'
stale-message: 'This issue is stale because it has been open 1 year with no activity. If this is a bug, please comment to confirm it is still present on latest stable version. if this is a feature request, please comment to notify the request is still relevant and not yet covered by latest stable version. This issue may be closed automatically by stale bot in 10 days (you should still be able to re-open it if required).'
stale-label: 'Issue Stale (automatic label)'
exempt-labels: 'Priority High / Blocking,Priority Top Strategic,Priority Medium,Hacktoberfest,good first issue,Bug Security (CVE),Analysis of PR in progres'
exempt-labels: 'Priority High / Blocking,Priority Top Strategic,Priority Medium,hacktoberfest,hacktoberfest-accepted,good first issue,Bug Security (CVE),Analysis of PR in progress'
days-before-stale: 365
days-before-close: 15
days-before-close: 10
operations-per-run: 100
dry-run: false

15
.gitignore vendored
View File

@ -36,8 +36,21 @@ htdocs/includes/jakub-onderka/
htdocs/includes/phpdocumentor/
htdocs/includes/phpspec/
htdocs/includes/phpunit/
htdocs/includes/php-parallel-lint/
htdocs/includes/sebastian/
htdocs/includes/squizlabs/
htdocs/includes/symfony/
htdocs/includes/webmozart/
htdocs/.well-known/apple-developer-merchantid-domain-association
# Node Modules
build/yarn-error.log
build/node_modules/
node_modules/
#yarn
yarn.lock
#package-lock
package-lock.json
doc/install.lock

View File

@ -17,8 +17,10 @@ filter:
- build/*
- dev/*
- doc/*
- test/*
- documents/*
- htdocs/includes/*
- node_modules/*
- test/*
paths:
- htdocs/*
- scripts/*

View File

@ -5,7 +5,9 @@
# We use dist: xenial to have php 5.6+ available
os: linux
dist: xenial
sudo: required
#dist: bionic
# Deprecated: The key sudo has no effect anymore.
#sudo: required
language: php
@ -118,24 +120,18 @@ install:
echo
- |
echo "Installing Composer dependencies (PHP Unit, Parallel Lint & PHP CodeSniffer"
if [ "$TRAVIS_PHP_VERSION" = '5.4' ] || [ "$TRAVIS_PHP_VERSION" = '5.5' ]; then
composer -n require phpunit/phpunit ^4 \
jakub-onderka/php-parallel-lint ^0 \
jakub-onderka/php-console-highlighter ^0 \
squizlabs/php_codesniffer ^3
fi
echo "Installing Composer dependencies - PHP Unit, Parallel Lint, PHP CodeSniffer - for $TRAVIS_PHP_VERSION"
if [ "$TRAVIS_PHP_VERSION" = '5.6' ] || [ "$TRAVIS_PHP_VERSION" = '7.0' ] || [ "$TRAVIS_PHP_VERSION" = '7.1' ] \
[ "$TRAVIS_PHP_VERSION" = '7.2' ] || [ "$TRAVIS_PHP_VERSION" = '7.3' ] || [ "$TRAVIS_PHP_VERSION" = '7.4' ]; then
composer -n require phpunit/phpunit ^5 \
jakub-onderka/php-parallel-lint ^0 \
jakub-onderka/php-console-highlighter ^0 \
php-parallel-lint/php-parallel-lint ^1 \
php-parallel-lint/php-console-highlighter ^0 \
squizlabs/php_codesniffer ^3
fi
if [ "$TRAVIS_PHP_VERSION" = 'nightly' ]; then
composer -n require --ignore-platform-reqs phpunit/phpunit ^5 \
jakub-onderka/php-parallel-lint ^0 \
jakub-onderka/php-console-highlighter ^0 \
php-parallel-lint/php-parallel-lint ^1.2 \
php-parallel-lint/php-console-highlighter ^0 \
squizlabs/php_codesniffer ^3
fi
echo
@ -282,7 +278,11 @@ script:
# Ensure we catch errors
set -e
#parallel-lint --exclude htdocs/includes --blame .
parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/myclabs --exclude htdocs/includes/webmozart --exclude htdocs/includes/phpspec --exclude dev/initdata/dbf/includes --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer --exclude htdocs/includes/jakub-onderka --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/ --exclude htdocs/includes/composer/autoload_static.php --blame .
parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/composer --exclude htdocs/includes/myclabs --exclude htdocs/includes/phpspec --exclude dev/initdata/dbf/includes \
--exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/phpexcel --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian \
--exclude htdocs/includes/squizlabs/php_codesniffer --exclude htdocs/includes/jakub-onderka --exclude htdocs/includes/php-parallel-lint --exclude htdocs/includes/symfony \
--exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/maximebf \
--exclude htdocs/includes/phpunit/ --exclude htdocs/includes/tecnickcom/tcpdf/include/barcodes --exclude htdocs/includes/webmozart --blame .
set +e
echo
@ -291,7 +291,7 @@ script:
# Ensure we catch errors
set -e
# Exclusions are defined in the ruleset.xml file
#phpcs -s -n -p -d memory_limit=-1 --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 .
#phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .
if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .; fi
set +e
echo
@ -404,6 +404,10 @@ script:
php upgrade.php 11.0.0 12.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade11001200.log
php upgrade2.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-2.log
php step5.php 11.0.0 12.0.0 > $TRAVIS_BUILD_DIR/upgrade11001200-3.log
php upgrade.php 12.0.0 13.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade12001300.log
php upgrade2.php 12.0.0 13.0.0 > $TRAVIS_BUILD_DIR/upgrade12001300-2.log
php step5.php 12.0.0 13.0.0 > $TRAVIS_BUILD_DIR/upgrade12001300-3.log
# Enable modules not enabled into original dump
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKETSUP,MAIN_MODULE_ACCOUNTING > $TRAVIS_BUILD_DIR/enablemodule.log
echo $?
@ -424,7 +428,7 @@ script:
after_script:
- |
echo "After script - Output lines of dolibarr.log"
echo "After script - Output last lines of dolibarr.log"
ls $TRAVIS_BUILD_DIR/documents
#cat $TRAVIS_BUILD_DIR/documents/dolibarr.log
sudo tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log

View File

@ -164,6 +164,12 @@ source_file = htdocs/langs/en_US/hrm.lang
source_lang = en_US
type = MOZILLAPROPERTIES
[dolibarr.intracommreport]
file_filter = htdocs/langs/<lang>/intracommreport.lang
source_file = htdocs/langs/en_US/intracommreport.lang
source_lang = en_US
type = MOZILLAPROPERTIES
[dolibarr.install]
file_filter = htdocs/langs/<lang>/install.lang
source_file = htdocs/langs/en_US/install.lang
@ -326,6 +332,12 @@ source_file = htdocs/langs/en_US/receptions.lang
source_lang = en_US
type = MOZILLAPROPERTIES
[dolibarr.recruitment]
file_filter = htdocs/langs/<lang>/recruitment.lang
source_file = htdocs/langs/en_US/recruitment.lang
source_lang = en_US
type = MOZILLAPROPERTIES
[dolibarr.resource]
file_filter = htdocs/langs/<lang>/resource.lang
source_file = htdocs/langs/en_US/resource.lang

View File

@ -21,7 +21,7 @@ Mobiledetect 2.8.34 MIT License Yes
NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package)
PEAR Mail_MIME 1.8.9 BSD Yes NuSoap dependency
ParseDown 1.6 MIT License Yes Markdown parser
PHPDebugBar 1.15.0 MIT License Yes Used only by the module "debugbar" for developers
PHPDebugBar 1.15.1 MIT License Yes Used only by the module "debugbar" for developers
PHPExcel 1.8.1 LGPL-2.1+ Yes Read/Write XLS files, read ODS files
PHPSpreadSheet ? LGPL-2.1+ Yes Read/Write XLS files, read ODS files
php-iban 1.4.7 LGPL-3+ Yes Parse and validate IBAN (and IIBAN) bank account information in PHP
@ -39,7 +39,7 @@ TCPDI 1.0.0 LGPL-3+ / Apache 2.0 Yes
JS libraries:
Ace 1.4.8 BSD Yes JS library to get code syntaxique coloration in a textarea.
ChartJS 2.9.3 MIT License Yes JS library for graph
jQuery 3.4.1 MIT License Yes JS library
jQuery 3.5.1 MIT License Yes JS library
jQuery UI 1.12.1 GPL and MIT License Yes JS library plugin UI
jQuery select2 4.0.13 GPL and Apache License Yes JS library plugin for sexier multiselect. Warning: 4.0.6+ create troubles without patching css
jQuery blockUI 2.70.0 GPL and MIT License Yes JS library plugin blockUI (to use ajax popups)

316
ChangeLog
View File

@ -2,6 +2,248 @@
English Dolibarr ChangeLog
--------------------------------------------------------------
***** ChangeLog for 13.0.0 compared to 12.0.0 *****
For users:
NEW: Add module "Credit transfer SEPA" to manage payment of vendors using bank credit transfer SEPA files.
NEW: Module Reception (for a more accurate management of your receptions) moved from experimental to stable.
NEW: Several security issues after a private bug bounty campaign.
NEW: #15065 Fix formatting
NEW: #15065 Put the product label in bold in the PDF templates if configured
NEW: Accountancy - Add chart of sub accounts
NEW: Accountancy - Add options to disable binding on sales, purchases & expense reports independently of the modules
NEW: Accountancy balance - Add a input to show subtotal by group
NEW: Accountancy - Move to real ledger, real journals, menu disposition
NEW: Accountancy - On transfers, select the periodicity by default
NEW: New currency rate editor.
NEW: Add 2 rules for emailcollector: Message send/not sent from Dolibarr
NEW: Add a counter of number of words of pages in website module
NEW: add alert before change thirdparty in takepos
NEW: Add a page to list Stock at a given date.
NEW: Add a start date to begin binding in accountancy
NEW: Add a stat page to list popularity of products on invoices
NEW: Add calendar selection for agenda view
NEW: add class for ticket edition (pdf or odt)
NEW: Add column payment term into list of supplier invoices.
NEW: Add column quantity in product margin page
NEW: Add column vat rate in page to define accounting account on product/service
NEW: Add common list function for available app/module page
NEW: add costprice in fields of products list
NEW: ADDED IMPORT TOOL FOR CUSTOMER ORDER, PO, PROPOSAL MODULE, SUPPLIER INVOICE
NEW: Added incoterms to substitution array
NEW: Add employee in expense report binding page
NEW: Add export for various payment
NEW: add extra fields labels and values in mail on create ticket
NEW: Add extrafields support on ECM module
NEW: Add filter rules "is answer" and "is not answer" in email collector
NEW: Add focus when editing on product/stock/product.php Close #14548
NEW: add formConfirm hook on product page
NEW: add free text on each terminal of cash desk
NEW: Add function dolButtonToOpenUrlInDialogPopup() to be able to open
NEW: Add global search for customer payments and vendor payments
NEW: Add global search for miscellaneous payments
NEW: Add helper function for table headers with numbers
NEW: add hooks on stats pages
NEW: Add link to edit property from search result of website pages
NEW: Add link to reset qty on supplier dispatch page
NEW: add MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER const to remove header in email collector
NEW: Add Manufacturing Orders into the automatic ECM
NEW: add margin info in invoice list
NEW: Add mass action to set category on a list of website pages.
NEW: Add mass deletion for events
NEW: Add __MEMBER_TYPE__ substitution key
NEW: Add message in error_log after detection of SQL or script injection
NEW: Add module Credit transfer SEPA to manage payment of supplier using
NEW: Add more filters on monthly statement list
NEW: Add option TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT
NEW: Add option to define a default warehouse at user level
NEW: Add option to include products without alert in replenish
NEW: add order by lastname and firstname by default in get sales representatives
NEW: Add param to not show links when output tags
NEW: Add PDF document templates for warehouses (list of stock)
NEW: Add property cssview when declaring fields of an object
NEW: Add prospect status managment for the contact with managment of custom icon
NEW: Add public note on products. This also partially fix the #14342
NEW: Add quick dropdown menu in top right menu (MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN)
NEW: add region in export companies and contacts
NEW: add rights on margin info on invoice list
NEW: Add search param for close date on order list
NEW: add send context for ticket
NEW: Add show preview for mail attachement on form mail
NEW: add state origin for product
NEW: add State/Province origin for products
NEW: Add the workflow interaction close intervention on closing ticket
NEW: Add third order printer to TakePOS
NEW: add tracking number in list and search_all items
NEW: add two hooks printFieldListFrom and printFieldSearchParam
NEW: Add __TYPE__ substitution key
NEW: Add validation of MX domain for emails
NEW: add vcard for aderent and user
NEW: add week number for month view in agenda
NEW: Algeria data (tva and forme_juridique)
NEW: Allow click on all header numbers on commerce area
NEW: Allow to reopen interventions (green button)
NEW: Allow zero quality on supplier/vendor order line
NEW: Appearance tab in TakePOS with more visual parameters
NEW: Better currency rate editor
NEW: Calculate the virtual stock in transverse mode ( not on getEntity('commande'), ... but on getEntity('stock') )
NEW: Can add event to log into blockedlog module with a constant.
NEW: Can build vendor invoice from vendor orders
NEW: Can change a product in line of recurring invoice or contract
NEW: Can change size of logo on PDF documents
NEW: Can change VAT rate of all lines of a draft object in one step.
NEW: Can define date range of validity of a login during creation
NEW: Can disable, from edit page, the whole web site
NEW: can edit and set sales representatives directly on thirdparty card
NEW: Can edit the list of sending email profiles.
NEW: Can enable/disable users in bulk actions
NEW: Can filter on accounting system ref in export of chart of account
NEW: Can filter on container type, language and tags in the list of pages
NEW: Can force the antivirus from conf file or autoprepend ini setup.
NEW: Can hide eatby, sellby dates with option PRODUCT_DISABLE_SELLBY and PRODUCT_DISABLE_EATBY
NEW: Can import proposals, sales orders, supplier invoices
NEW: can set a dedicated SMTP config for sending email from public ticket interface
NEW: Can set tags/categories to website pages.
NEW: Can set type of price without tax per default for new sale price creation
NEW: Can use desired stock of a given warehouse for replenishment
NEW: Can use THEME_DARKMODEENABLED=2 for a preview of theme in dark mode
NEW: change thirdparty with barcode scan in takepos
NEW: Common behavior for monthly leave list view
NEW: conf to allow show full arbo in warehouse getnomurl
NEW: convert all subscription in datetime
NEW: create thirdparty customer from TAKEPOS
NEW: Date shipment from order accepts hours
NEW: Declinaison price level compatibility
NEW: Delayed payment in TakePOS
NEW: Development of module Recruitment
NEW: display date range if exist in takepos
NEW: display resiliate status in takepos for member
NEW: display stat for BOM on "object referent"/linked Object product tab
NEW: edit and update a ticket
NEW: edit or delete dispatched lines
NEW: Email configuration - Allow auto signed certificat when smtp ssl activated
NEW: enable free emails input with select2
NEW: endpoint getContacts and Clean results
NEW: Events in agenda for contact
NEW: Field to link website page to an other object
NEW: Fill ECM src object fields in dol_add_file_process
NEW: filter on progress column in task list
NEW: filter product list by country and/or state/province
NEW: format tickets sent by mail in public interface
NEW: add juridical status for Algeria
NEW: form to add customer/supplier into categories
NEW: Framework is ready for CSRF token protection on explicit GET URLs.
NEW: get all child recursively
NEW: Get contacts list of a given order
NEW: helper functions for export with phpspreadsheet
NEW: hide closed contract lines
NEW: hide label in pdf for variants
NEW: Hook on propal card
NEW: If specific help page is available, we change color of icon
NEW: Include the tag editor of page as a popup into website editor
NEW: Introduce constant FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM
NEW: Introducing new modal boxes in TakePOS
NEW: Keep takepos terminal when login/logout
NEW: Link on balance to the ledger
NEW: MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER const in email collector
NEW: manage errors on update extra fields in ticket card
NEW: mass-actions for the event list view
NEW: Module Intracomm report
NEW: More filter for "View change logs"
NEW: multicurrency total in takepos
NEW: multiselect type and date to date filter
NEW: Nature of product is now a dictionay
NEW: new line template: hidden conf to fill service dates from the last service line
NEW: PDF model storm for delivery
NEW: possibilty to group payments by mode and show their subtotal
NEW: Print payment method and change in TakePOS
NEW: Priority and transparency from external calendar events
NEW: Products Import/Export 'default warehouse' and 'use batch number' fields
NEW: Purchase price table: Added filterable table columns
NEW: rate editor for multicurrency
NEW: ref_ext field for Commande lines, order lines, Attributes and Combinations, Invoice lines, payments, order lines
NEW: remove new lines in mail on add ticket message
NEW: restrict thirdparty to customer in takepos
NEW: Allow to edit "demand reason" field though API
NEW: Rule "email to" accept wildcard *
NEW: Save filter of the project homepage
NEW: Select-able columns on customer invoice paymnet list
NEW: Select-able columns on miscellaneous payments + more data columns
NEW: Select-able columns on social taxes list
NEW: Select-able columns on supplier invoice payment list
NEW: send context and remove new lines on create ticket
NEW: set entity when creating invoice on takepos
NEW: Show available stock in TakePOS
NEW: Show category filter on lists only when user have rights to read categories
NEW: Show header number and make it clickable in warehouse arean, payment area, shipment area
NEW: Show image of user in the combo select of users
NEW: Show label on batch card
NEW: Show line number on intervention card (via MAIN_VIEW_LINE_NUMBER)
NEW: show links for select and multi-select in category extra field
NEW: Show module and permission ids on user/group rights (only admin)
NEW: Show place from events on import calender
NEW: Show references in contract form on interventions
NEW: Show tags and status in search list of website pages
NEW: Show user on external calender events (when found)
NEW: subject title with company name instead of application title in ticket message
NEW: Support for Samba4 AD
NEW: TakePOS connector compatibility with RECEIPT PRINTERS module
NEW: TakePOS Gift Receipt
NEW: TakePOS Multicurrency compatibility
NEW: The global header of a website can also have dynamic content
NEW: Third-Party Import new fields: mother company,outstanding debt limit,bank account,incoterms
NEW: Thirdparty module : box on customer/supplier tab for invoice outsantding amount late
NEW: ticket classification on create from email collector
NEW: Ticket message notifications when edited from public interface
NEW: translate classification labels in ticket
NEW: triggers create, modify, delete
NEW: VAT for Algeria
NEW: Use preselect third-party from list on new card
NEW: Vat report - Invert constant to show by default zero vat in reports
NEW: website page fields selection
NEW: Weighing Scale compatibility with TakePOS connector
NEW: When creating a user from a member linked to a thirdparty, you can choose to create if as external or internal user
NEW: Add clone functionality on miscellaneous payment
For developers:
NEW: Can use dynamic code into the 'enabled' property of DAO fields
NEW: API Can update a payment
NEW: api get member by thirdparty
NEW: API get thirdparty by barcode
NEW: API get users by email / login
NEW: fetch contact by email with REST API
NEW: field ref_ext in llx_commandedet
NEW: fields ref_ext for Attributes and Combinations
NEW: get state by REST API
NEW: get state dictionnary by REST API
NEW: Improve Product API for variant products
NEW: Oauth SCOPE for Admin SDK
NEW: Retrieve discount from invoice from API
NEW: standardizes API thirdparties by email like other object
NEW: thirdparty REST API: endpoint to set price level
NEW: Use new category API for project list view
NEW: Triggers Attributes and Attributes values
NEW: Add hooks on newpayment page to allow external payment modules
WARNING:
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
* The object "livraison" has been renamed into "delivery" (directory, class, keys, methods with livraison in name ...).
* All properties ->contactid have been renamed into ->contact_id
* All properties ->titre have been renamed into ->title
* Property $paiementid in API 'api_supplier_invoices.php' has been renamed into into $payment_mode_id
* Property 'num_paiement' has been renamed 'num_payment' everywhere for better code consistency.
* The deprecated subsitution key __SIGNATURE__ has been removed. Use __USER_SIGNATURE__ if you used the old syntax in your email templates.
* The hidden option HOLIDAY_MORE_PUBLIC_HOLIDAYS has been removed. Use instead the dictionary table if you need to define custom days of holiday.
* If you build a class that implement CommonObject to use the incoterm properties or methods (->fk_incoterm, ->label_incoterm, ->location_incoterm),
you must now also include declaration of the Trait 'CommonIncoterm' in your class. All incoterm functions were moved into this Trait.
* The GETPOST(..., 'alpha') has now the same behaviour than GETPOST(..., 'alphanohtml') so no html will be allowed. Use GETPOST(..., 'restricthtml') to accept HTML.
* If you have links in your code with '&action=add', '&action=update', '&action=delete' as a parameter, you must also add '&token='.newToken() as another parameter to avoid CSRF protection errors.
* The API addPayment for api_invoice has evolved to accept amount into a foreign currency. You must provide array(amount=>X,mutlicurrency_ammount=>Y) instead of simple amount.
* The method select_thirdparty(), deprecated since 3.8, into html.form.class.php has been removed.
* Depreciate all methods with name ->valide(). Use instead methods ->validate().
***** ChangeLog for 12.0.3 compared to 12.0.2 *****
FIX: 10.0 - when the mime file name is different from the filesystem name, the attachment name should be the mime filename
FIX: 11.0 - expenses lines overlapping the total amounts frame
@ -358,29 +600,29 @@ Following changes may create regressions for some external modules, but were nec
* Default mode for GETPOST function is now 'alphanohtml' instead of 'none'. So check when you make POST or GET requests with
HTML content that you make a GETPOST('myparam', 'restricthtml') or GETPOST('myparam', 'none') if you really need posted content without sanitizing
the HTML code of content (in such a case, sanitize data later)
* Removed hidden constant MAIN_EXTRAFIELDS_IN_ONE_TD that was useless.
* Reference of object including a "/" are no more allowed. It is never used by default but to support setup that introduced it, the "/" will be replaced
by a "_" automatically when a reference (with a custom numbering mask that use it) is generated.
* Removed hidden constant MAIN_EXTRAFIELDS_IN_ONE_TD that was useless.
* Reference of object including a "/" are no more allowed. It is never used by default but to support setup that introduced it, the "/" will be replaced
by a "_" automatically when a reference (with a custom numbering mask that use it) is generated.
* Library jflot (replace with chartjs) was removed.
* Library geoip (replaced with geoip2) was removed.
* Library geoip (replaced with geoip2) was removed.
* Hidden constant COMMANDE_VALID_AFTER_CLOSE_PROPAL was renamed into ORDER_VALID_AFTER_CLOSE_PROPAL.
* Object field ref_int is deprecated and set to 'not used', method to fetch object by only ref_int is not supported anymore.
* UserGroup class has been refactored with new architecture. Triggers of class UserGroup are now USERGROUP_CREATE, USERGROUP_MODIFY, USERGROUP_DELETE
* A new way to navigate between pages in list is available. To use it (not mandatory), you must:
- replace line $page = GETPOST('page', 'int') with $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
- replace line $page = GETPOST('page', 'int') with $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
- remove input field in form '<input type="hidden" name="page" value="'.$page.'">';'
- add parameter $pagenavastextinput to value 1 when calling print_barre_liste()
WARNING FOR DOLIWAMP USERS ONLY:
Only people that installed Dolibarr using the all-in-one autoinstaller for Windows called "DoliWAMP" are concerned by the following warnings:
* DoliWAMP autoinstaller for Windows is not more available on 32bits systems. Use standard package if you need to use such architecture.
* It is not possible to migrate from an installation done with the old DoliWAMP autoinstaller for Windows by using this new one. You must make a backup
of your database, make a fresh installation using the new installer and reload.
* Don't forget that DoliWAMP is a good solution to make a quick test of Dolibarr on your local computer but was never recommanded as a production
solution on a local desktop since a desktop computer has not a backup and security policy as good as on a server (when there is one).
DoliWAMP remains a solution for fast test or demo purposes.
Only people that installed Dolibarr using the all-in-one auto-installer for Windows called "DoliWAMP" are concerned by the following warnings:
* DoliWAMP auto-installer for Windows is no more available on 32 bits systems. Use standard package if you need to use such architecture.
* It is not possible to migrate from an installation done with the old DoliWAMP auto-installer for Windows by using this new one.
You must make a backup of your database, make a fresh installation using the new installer and reload your backup.
Don't forget that DoliWAMP is a good solution to make a quick test of Dolibarr on your local computer but is not recommended as a production
solution on a local desktop since a local desktop computer has often no backup and security policy, or not as good as on a server (when there is one).
DoliWAMP remains a solution for fast test or demo purposes. Prefer using standard packages for production.
***** ChangeLog for 11.0.5 compared to 11.0.4 *****
@ -543,7 +785,7 @@ FIX: #13118
FIX: #13124
FIX: #13131
FIX: #13135
FIX: #13146
FIX: #13146
FIX: #13198
FIX: #13175
FIX: #13182
@ -610,7 +852,7 @@ FIX: Confusion between 'bank reconciled' and 'accounted'. Show both data.
FIX: Count of Stripe payment mode must take test/live into account
FIX: Creation of Stripe card from backoffice must return a clean message
FIX: CVE-201917223
FIX: CVE-201917223
FIX: CVE-201917223
FIX: CVE-2020-7994
FIX: CVE Need permission to be able to develop modules
FIX: #13053
@ -810,7 +1052,7 @@ NEW: #4301
For Developers or integrators:
NEW: Compatible with PHP 7.4
NEW: Compatible with PHP 7.4
NEW: Code for extrafields uses the new array $extrafields->attributes
NEW: Can set a filter on object linked in modulebuilder.
NEW: Can defined a position of numbering submodules for thirdparties
@ -877,9 +1119,9 @@ Following changes may create regressions for some external modules, but were nec
* Removed function dol_micro_time. Use native PHP microtime instead.
* The trigger BON_PRELEVEMENT_CREATE has been renamed into DIRECT_DEBIT_ORDER_CREATE.
* The constant INVOICE_SHOW_POS_IN_EXPORT has been renamed into INVOICE_SHOW_POS.
* If your logo is no more visible on the menu bar, you must upload a new logo into 'Home-Setup-Company/Organization' to have it visible again.
* All properties 'libstatut', 'labelstatut', 'labelstatus' were renamed into 'labelStatus'.
* All properties 'labelstatusshort' and 'labelstatut_short' were renamed into 'labelStatusShort'.
* If your logo is no more visible on the menu bar, you must upload a new logo into 'Home-Setup-Company/Organization' to have it visible again.
* All properties 'libstatut', 'labelstatut', 'labelstatus' were renamed into 'labelStatus'.
* All properties 'labelstatusshort' and 'labelstatut_short' were renamed into 'labelStatusShort'.
* All properties 'type_libelle' were renamed into 'type_label'.
* Renamed property of thirdparty "statut_commercial" into "status_prospect_label"
* The jquery plugin/dependency multiselect has been removed. It was not used by Dolibarr core.
@ -1029,11 +1271,11 @@ FIX: wrong invoice id for fetchObjetctLinked
***** ChangeLog for 10.0.3 compared to 10.0.2 *****
IMPORTANT : This version fixes a serious bug in saving the units of weight, size, surface and volume on product card.
The unit were not saved correctly in database making calculation on shipments wrong.
The unit were not saved correctly in database making calculation on shipments wrong.
Update to this version must be done if you use them and have installed version 10.0.0, 10.0.1 or 10.0.2 and set some products after installing or upgrading to one of this version.
Once update is done you must then edit (manually) the product that has bad unit to set the correct unit to have features restored.
FIX: #11702
FIX: #11702
FIX: #11861 No consistent code to manage measuring units
FIX: #11942
FIX: #12026
@ -1095,7 +1337,7 @@ FIX: wrong test
FIX: XSS
FIX: Payment from POS ware not recorded.
FIX: Can validate invoice with amount including tax of zero for the case of having a final invoice with
VAT that includes a deposit without vat.
VAT that includes a deposit without vat.
***** ChangeLog for 10.0.2 compared to 10.0.1 *****
FIX: #10460 compatibility with MariaDB 10.4
@ -1198,14 +1440,14 @@ FIX: Wrong variable. Must be PROJECT_HIDE_UNSELECTABLES
***** ChangeLog for 10.0.1 compared to 10.0.0 *****
FIX: #10930
FIX: #10984
FIX: #10984
FIX: reposition on "Build backup" button
FIX: #11400
FIX: #11412
FIX: #11460
FIX: #11460
FIX: #11463
FIX: #11466
FIX: #11492
FIX: #11492
FIX: #11498
FIX: #11505
FIX: #11506
@ -1214,7 +1456,7 @@ FIX: #11509
FIX: #11537
FIX: #11543
FIX: #11553
FIX: #11576
FIX: #11576
FIX: #11584
FIX: #11590
FIX: accounting mode must be taken from global conf, because there's no way to choose a mode with interface
@ -1307,14 +1549,14 @@ FIX: wrong path sociales/index.php doesnt exist anymore
***** ChangeLog for 10.0.1 compared to 10.0.0 *****
FIX: #10930
FIX: #10984
FIX: #10984
FIX: reposition on "Build backup" button
FIX: #11400
FIX: #11412
FIX: #11460
FIX: #11460
FIX: #11463
FIX: #11466
FIX: #11492
FIX: #11492
FIX: #11498
FIX: #11505
FIX: #11506
@ -1323,7 +1565,7 @@ FIX: #11509
FIX: #11537
FIX: #11543
FIX: #11553
FIX: #11576
FIX: #11576
FIX: #11584
FIX: #11590
FIX: accounting mode must be taken from global conf, because there's no way to choose a mode with interface
@ -1492,7 +1734,7 @@ NEW: Manage account sell_intra & sell_export in page accoutancy admin default pr
NEW: Manage loan schedule.
NEW: Manage status of member types.
NEW: Mass action "create bills" for validated reception
NEW: Measuring unit are now defined into an editable dictionary. Add product size/unit into product import.
NEW: Measuring unit are now defined into an editable dictionary. Add product size/unit into product import.
NEW: Template pdf 'canelle_reception' displays linked reception lines.
NEW: Moral/physic status can be defined at member type level
NEW: Pagination into list of time spent.
@ -1555,7 +1797,7 @@ NEW: Enhance management of webhooks
NEW: Generation of doc by modulebuilder can include README and CHANGELOG
NEW: massfilesarea feature is possible for external modules
NEW: Show list of enabled modules in dol_print_error().
NEW: Simplification of CSS styles of default themes.
NEW: Simplification of CSS styles of default themes.
NEW: Clean code of a lot of deprecated code.
NEW: Add hidden option to set a search entry to the top
NEW: add hidden option DISPLAY_DISCOUNTED_SUPPLIER_PRICE
@ -1575,8 +1817,8 @@ Following changes may create regressions for some external modules, but were nec
* The PHP extension php-intl is not mandatory and must be installed to have new features working correctly.
* Method GetUrlTrackingStatus were renamed into getUrlTrackingStatus for consistency with naming rules.
* API getListOfCivility has been renamed into getListOfCivilities for consistency with naming rules.
* Deprecated function img_phone as been removed. You can use img_picto(..., 'call|call_out') instead.;
* Files for variables of themes were renamed from graph-color.php into theme_vars.inc.php to match naming
* Deprecated function img_phone as been removed. You can use img_picto(..., 'call|call_out') instead.;
* Files for variables of themes were renamed from graph-color.php into theme_vars.inc.php to match naming
convention of extension .inc.php for files to be included.
* All methods set_draft() were renamed into setDraft().
* Signatures of methods createFromClone() has been standardized. All methods requires the object User as first parameter.
@ -1588,7 +1830,7 @@ Following changes may create regressions for some external modules, but were nec
* Deprecated property ->fk_departement is now ->state_id everywhere.
* Removed the method 4 of GETPOST (to get $_COOKIE). It was not used and not recommanded to use in Dolibarr.
* Column llx_facture.facnumber change to llx_facture.ref
* Variable $dolibarr_main_cookie_cryptkey is no more created at install (it was not used by Dolibarr). A new variable
* Variable $dolibarr_main_cookie_cryptkey is no more created at install (it was not used by Dolibarr). A new variable
called $dolibarr_main_instance_unique_id is now generated at each installation. It will be used by some future features.
@ -3360,7 +3602,7 @@ Following changes may create regression for some external modules, but were nece
entities and to review completely the rights of the groups and the users.
* Use getEntity('xxx') instead getEntity('xxx', 1) and use getEntity('xxx', 0) instead getEntity('xxx')
* Some other change were done in the way we read permission of a user when module multicompany is enabled. You can
retreive the old behavior by adding constant MULTICOMPANY_BACKWARD_COMPATIBILITY to 1.
retrieve the old behavior by adding constant MULTICOMPANY_BACKWARD_COMPATIBILITY to 1.
* The hook formObjectOptions was not implemented correctly in previous version. Sometimes, you had to return output
content by doing a print into function, sometimes by returning content into "resprint". This has been fixed to follow
hook specifications so you must return output into "resprint".
@ -6106,7 +6348,7 @@ For users:
- Fix: [Bug #958] LocalTax2 for Spain fails on Suppliers
- Fix: [ bug #972 ] Auto completion contact field do not take account the min caract number before search
- Fix: [ bug #971 ] html.form.class.php select_contact with autocomplete do not exclude id from exclude array
- Fix: Expedition creation, can retreive product from other expedition
- Fix: Expedition creation, can retrieve product from other expedition
For translators:
- Update language files.

View File

@ -2,14 +2,18 @@
![Downloads per day](https://img.shields.io/sourceforge/dw/dolibarr.svg)
![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg)
[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%205.6-8892BF.svg?style=flat-square)](https://php.net/)
[![GitHub release](https://img.shields.io/github/v/release/Dolibarr/dolibarr)](https://github.com/Dolibarr/dolibarr)
Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).
Dolibarr ERP & CRM is a modern software package that helps manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).
It's an Open Source Software (written in PHP language) designed for small, medium or large companies, foundations and freelancers.
It's an Open Source Software suite (written in PHP with optional JavaScript enhancements) designed for small, medium or large companies, foundations and freelancers.
You can freely use, study, modify or distribute it according to its Free Software licence.
You can freely use, study, modify or distribute it according to its 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.
You can use it as a standalone application or as a web application to access it from the Internet or a LAN.
Dolibarr has a large community ready to help you, free forums and [oficially preferred partners ready to offer commercial support should you need it](https://partners.dolibarr.org)
![ScreenShot](https://www.dolibarr.org/images/dolibarr_screenshot1_1920x1080.jpg)
@ -27,19 +31,23 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git
If you have low technical skills and you're looking to install Dolibarr ERP/CRM in just a few clicks, you can use one of the packaged versions:
- [DoliWamp for Windows](https://wiki.dolibarr.org/index.php/Dolibarr_for_Windows_(DoliWamp)
- [DoliDeb for Debian](https://wiki.dolibarr.org/index.php/Dolibarr_for_Ubuntu_or_Debian
- [DoliWamp for Windows](https://wiki.dolibarr.org/index.php/Dolibarr_for_Windows_DoliWamp)
- [DoliDeb for Debian](https://wiki.dolibarr.org/index.php/Dolibarr_for_Ubuntu_or_Debian)
- DoliRpm for Redhat, Fedora, OpenSuse, Mandriva or Mageia
Releases can be downloaded from [official website](https://www.dolibarr.org/).
### Advanced setup
You can use a Web server and a supported database (MariaDB, MySQL or PostgreSQL) to install the standard version.
You can use a web server and a supported database (MariaDB, MySQL or PostgreSQL) to install the standard version.
On GNU/Linux, first check if your distribution has already packaged Dolibarr.
#### Generic install steps:
- Check that your installed PHP version is supported [see PHP support](https://wiki.dolibarr.org/index.php/Versions).
- Uncompress the downloaded .zip archive to copy the "dolibarr/htdocs" directory and all its files inside your web server root or get the files directly from GitHub (recommanded if you known git):
- Uncompress the downloaded .zip archive to copy the "dolibarr/htdocs" directory and all its files inside your web server root or get the files directly from GitHub (recommanded if you know git as it makes it easier if you want to upgrade later):
`git clone https://github.com/dolibarr/dolibarr -b x.y` (where x.y is main version like 3.6, 9.0, ...)
@ -70,13 +78,13 @@ If you don't have time to install it yourself, you can try some commercial 'read
## UPGRADING
- At first make a backup of your Dolibarr files & than see https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr
Dolibarr supports upgrading usually wihtout the need for any (commercial) support (depending on if you use any commercial extensions) and supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate!
- At first make a backup of your Dolibarr files & than [see](https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr)
- Check that your installed PHP version is supported by the new version [see PHP support](./doc/phpmatrix.md).
- Overwrite all old files from 'dolibarr' directory with files provided into the new version's package.
- At first next access, Dolibarr will redirect your to the "install/" page to follow the upgrade process.
 If an `install.lock` file exists to lock any other upgrade process, the application will ask you to remove the file manually (you should find the `install.lock` file into the directory used to store generated and uploaded documents, in most cases, it is the directory called "*documents*").
*Note: migration process can be safely done multiple times by calling the `/install/index.php` page*
- At first next access, Dolibarr will redirect you to the "install/" page to follow the upgrade process.
 If an `install.lock` file exists to lock any other upgrade process, the application will ask you to remove the file manually (you should find the `install.lock` file in the directory used to store generated and uploaded documents, in most cases, it is the directory called "*documents*").
## WHAT'S NEW
@ -139,7 +147,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
- Highly customizable: enable only the modules you need, add user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one)
- APIs
- An easy to understand, maintain and develop code (PHP with no heavy framework; trigger and hook architecture)
- Code that is easy to understand, maintain and develop (PHP with no heavy framework; trigger and hook architecture)
- Support a lot of country specific features:
- Spanish Tax RE and ISPF
- French NPR VAT rate (VAT called "Non Perçue Récupérable" for DOM-TOM)
@ -149,7 +157,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
- Compatible with [European directives](http://europa.eu/legislation_summaries/taxation/l31057_en.htm) (2006/112/CE ... 2010/45/UE)
- Compatible with European GDPR rules
- ...
- PDF or ODT generation for invoice, proposals, orders...
- Flexible PDF & ODT generation for invoices, proposals, orders...
- …
### System Environment / Requirements
@ -167,12 +175,12 @@ These are features that Dolibarr does **not** yet fully support:
- Tasks dependencies in projects
- Payroll module
- No native embedded Webmail
- No native embedded Webmail, but you can send email to contacts in Dolibarr with e.g. offers, invoices, etc.
- Dolibarr can't do coffee (yet)
## DOCUMENTATION
Administrator, user, developer and translator's documentations are available along with other community resources on the [Wiki](https://wiki.dolibarr.org).
Administrator, user, developer and translator's documentations are available along with other community resources in the [Wiki](https://wiki.dolibarr.org).
## CONTRIBUTING
@ -182,7 +190,7 @@ This project exists thanks to all the people who contribute. [[Contribute](https
## CREDITS
Dolibarr is the work of many contributors over the years and uses some fine libraries.
Dolibarr is the work of many contributors over the years and uses some fine PHP libraries.
See [COPYRIGHT](https://github.com/Dolibarr/dolibarr/blob/develop/COPYRIGHT) file.

View File

@ -1,13 +1,115 @@
# Security Policy
## Supported Versions
This file contains some policies about the security reports on Dolibarr ERP CRM project, one of the most popular Open Source ERP and CRM in the world.
## Supported Versions for security reports
| Version | Supported |
| --------- | ------------------ |
| <= 9.0.* | :x: |
| >= 10.0.* | :white_check_mark: |
| Version | Supported |
| -------- | ------------------ |
| <= 8.0.* | :x: |
| >= 9.0.* | :white_check_mark: |
## Reporting a Vulnerability
To report a vulnerability, please send an email to security@dolibarr.org
In most cases, after fixing the security, we make an answer by email to say the issue has been fixed.
## Hunting vulnerabilities on Dolibarr
We believe that future of software is online SaaS. This means software are more and more critical and no technology is perfect. Working with skilled security researchers is crucial in identifying weaknesses in our technology.
If you believe you've found a security bug in our service, we are happy to work with you to resolve the issue promptly and ensure you are fairly rewarded for your discovery.
Any type of denial of service attacks is strictly forbidden, as well as any interference with network equipment and Dolibarr infrastructure.
We recommand to install Dolibarr ERP CRM on you own server (as most Open Source software, download and use is free: https://www.dolibarr.org/download) to get access on every side of application.
### User Agent
If you try to find bug on Dolibarr, we recommend to append to your user-agent header the following value: '-BugHunting-dolibarr'.
### Account access
You can install the web application yourself on your own platform/server so you get full access to application and sources. Download the zip of the files to put into your own web server virtual host from https://www.dolibarr.org/download
## Eligibility and Responsible Disclosure
We are happy to thank everyone who submits valid reports which help us improve the security of Dolibarr however, only those that meet the following eligibility requirements may receive a monetary reward:
You must be the first reporter of a vulnerability.
The vulnerability must be a qualifying vulnerability (see below)
Any vulnerability found must be reported no later than 24 hours after discovery
You must send a clear textual description of the report along with steps to reproduce the issue, include attachments such as screenshots or proof of concept code as necessary.
You must avoid tests that could cause degradation or interruption of our service (refrain from using automated tools, and limit yourself about requests per second), that's why we recommand to install softwate on your own platform.
You must not leak, manipulate, or destroy any user data.
You must not be a former or current employee of Dolibarr or one of its contractor.
Reports about vulnerabilities are examined by our security analysts.
Our analysis is always based on worst case exploitation of the vulnerability, as is the reward we pay.
No vulnerability disclosure, including partial is allowed for the moment.
## Scope for qualified vulnerabilities
ONLY vulnerabilities discovered, when the following setup on test platform is used, are accepted:
* $dolibarr_main_prod must be set to 1 into conf.php
* $dolibarr_nocsrfcheck must be kept to the value 0 into conf.php (this is the default value)
* $dolibarr_main_force_https must be set to something else than 0.
* The constant MAIN_SECURITY_CSRF_WITH_TOKEN must be set to 1 into backoffice menu Home - Setup - Other (this protection should be enabled soon by default)
* The module DebugBar must NOT be enabled (by default, this module is not enabled. This is a developer tool)
* The module ModuleBuilder must NOT be enabled (by default, this module is not enabled. This is a developer tool)
* ONLY security reports on modules provided by default and with the "stable" status are allowed (troubles into "experimental", "developement" or external modules are not accepted).
* The root of web server must link to htdocs and the documents directory must be outside of the web server root (this is the default when using the default installer but may differs with external installer).
* The web server setup must be done so only the documents directory is in write mode. The root directory called htdocs must be readonly.
* CSRF attacks are accepted for all when using a POST URL, but are accepted only for creating or updating data resctricted to the admin user when using GET URL.
* Ability for a high level user to edit web site pages in the CMS by including javascript is an expected feature.
Scope is the web application (back office) and the APIs.
## Qualifying vulnerabilities for Bug bounty programs
* Remote code execution (RCE)
* Local files access and manipulation (LFI, RFI, XXE, SSRF, XSPA)
* Code injections (HTML, JS, SQL, PHP, ...)
* Cross-Site Scripting (XSS)
* Cross-Site Requests Forgery (CSRF) with real security impact
* Open redirect
* Broken authentication & session management
* Insecure direct object references
* CORS with real security impact
* Horizontal and vertical privilege escalation
* "HTTP Host Header" XSS
* Software version disclosure (for non admin users only)
* Stack traces or path disclosure (for non admin users only)
## Non-qualifying vulnerabilities for Bug bounty programs, but qualified for reporting
* "Self" XSS
* SSL/TLS best practices
* Denial of Service attacks
* Clickjacking/UI redressing
* Physical or social engineering attempts or issues that require physical access to a victims computer/device
* Presence of autocomplete attribute on web forms
* Vulnerabilities affecting outdated browsers or platforms
* Logout and other instances of low-severity Cross-Site Request Forgery
* Missing cookie flags
* Missing security-related HTTP headers which do not lead directly to a vulnerability
* Reports from automated web vulnerability scanners (Acunetix, Vega, etc.) that have not been validated
* Invalid or missing SPF (Sender Policy Framework) records (Incomplete or missing SPF/DKIM/DMARC)
* Reports on features flagged as "experimental" or "development"
* Software version or private IP disclosure when logged user is admin
* Stack traces or path disclosure when logged user is admin
* Any vulnerabilities due to a configuration different than the one defined into chapter "Scope for qualified vulnerabilities".

View File

@ -19,30 +19,34 @@ Note: Prerequisites to build autoexe DoliWamp package:
> Launch "wine cmd" to check a drive Z: pointing to / exists.
> Install InnoSetup
For example by running isetup-5.3.9.exe (http://www.jrsoftware.org)
> Install WampServer into "C:\Program Files\Wamp"
For example by running wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe (http://www.wampserver.com)
> Install WampServer addon to have versions: Mysql5.0.45
For example by running WampServer2-MYSQL5045.exe (http://www.wampserver.com)
> To build from Windows (running from makepack-dolibarr.pl script is however
recommanded), open file build/exe/doliwamp.iss and click on button "Compile".
The .exe file will be build into directory build.
> Install WampServer into "C:\wamp64" to have Apache, PHP and MariaDB
For example by running wampserver3.2.0_x64.exe (http://www.wampserver.com). See file build/exe/doliwamp.iss to know the doliwamp version currently setup.
> Add path to ISCC into PATH windows var:
Launch wine cmd, then regedit and add entry int HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment\PATH
> To build manually the .exe from Windows (running from makepack-dolibarr.pl script is however recommanded),
open file build/exe/doliwamp.iss and click on button "Compile".
The .exe file will be build into directory build.
- To build a theme package, launch the script
> perl makepack-dolibarrtheme.pl
- To build a package for a module, launch the script
> perl makepack-dolibarrmodule.pl
- To build developper documentation, launch the script
> perl dolibarr-doxygen-build.pl
Note:
The build directory and all its contents is absolutely not required to make
Dolibarr working. It is here only to build Dolibarr packages, and those
generated packages will not contains this "build" directory.
The build directory and all its contents is absolutely not required to make Dolibarr working.
It is here only to build Dolibarr packages, and those generated packages will not contains this "build" directory.
You can find in "build", following sub-directories:
@ -59,6 +63,9 @@ To build Mac OS package (not ready yet).
* doap:
To build Doap descriptor to promote/describe Dolibarr releases.
* docker:
To deploy Dolibarr with docker.
* doxygen:
Dir with config file to build doxygen documentation.
@ -66,12 +73,12 @@ Dir with config file to build doxygen documentation.
To build exe package for Windows that distribute Dolibarr sources or
to build the complete DoliWamp package.
* gource:
To build the video of history of git changes.
* launchpad:
Doc file to explain how to use launchpad.
* live:
Doc file to explain how to create a demo live CD.
* obs:
Doc file to explain how to push release onto OBS.
@ -90,5 +97,8 @@ To build Redhat, Opensuse or Mandriva package.
* tgz:
To build a tgz package.
* travis-ci:
Used by travis to make CI.
* zip:
To build a zip package.

View File

@ -232,7 +232,7 @@ $dolibarr_main_prod='0';
# Examples:
# $dolibarr_mailing_limit_sendbycli='0';
# dolibarr_distrib
# dolibarr_main_distrib
# A key to identify the distribution used for first installation
$dolibarr_distrib = 'deb';
$dolibarr_main_distrib = 'debian';

View File

@ -24,6 +24,7 @@ $force_install_databaserootpass='__SUPERUSERPASSWORD__';
$force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='444';
$force_install_distrib='debian';
// Value to overwrite path to use shared libraries/fonts instead of embedded one.
// If during install, we enable/disable declaration to use non embedded libraries, we must also check they are

View File

@ -1,38 +1,63 @@
FROM php:7.2-apache
FROM php:7.3-apache
ENV HOST_USER_ID 33
ENV PHP_INI_DATE_TIMEZONE 'UTC'
ENV PHP_INI_MEMORY_LIMIT 256M
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libldap2-dev libzip-dev zlib1g-dev libicu-dev g++\
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
&& docker-php-ext-install gd \
&& docker-php-ext-install zip \
&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
&& docker-php-ext-install ldap \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install calendar \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl \
&& apt-get autoremove --purge -y libjpeg-dev libldap2-dev zlib1g-dev libicu-dev g++
RUN apt-get update -y \
&& apt-get install -y --no-install-recommends \
libfreetype6-dev \
libjpeg62-turbo-dev \
libjpeg62-turbo \
libpng-dev \
libpng16-16 \
libldap2-dev \
libxml2-dev \
libzip-dev \
zlib1g-dev \
libicu-dev \
g++ \
default-mysql-client \
unzip \
curl \
apt-utils \
msmtp \
msmtp-mta \
mailutils \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
&& docker-php-ext-install -j$(nproc) calendar intl mysqli pdo_mysql gd soap zip \
&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
&& docker-php-ext-install -j$(nproc) ldap && \
mv ${PHP_INI_DIR}/php.ini-development ${PHP_INI_DIR}/php.ini
RUN mkdir /var/documents
RUN chown www-data /var/documents
RUN chown www-data:www-data /var/documents
COPY docker-run.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-run.sh
RUN pecl install xdebug && docker-php-ext-enable xdebug
RUN echo 'zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.remote_autostart=0' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.remote_enable=1' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.default_enable=0' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.remote_host=docker.host' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.remote_port=9000' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.remote_connect_back=0' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.profiler_enable=0' >> /usr/local/etc/php/php.ini
RUN echo 'xdebug.remote_log="/tmp/xdebug.log"' >> /usr/local/etc/php/php.ini
RUN echo '172.17.0.1 docker.host' >> /etc/hosts
RUN echo 'zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so"' >> ${PHP_INI_DIR}/php.ini
RUN echo 'xdebug.remote_autostart=1' >> ${PHP_INI_DIR}/php.ini
RUN echo 'xdebug.remote_enable=1' >> ${PHP_INI_DIR}/php.ini
RUN echo 'xdebug.default_enable=1' >> ${PHP_INI_DIR}/php.ini
#RUN echo 'xdebug.remote_host=docker.host' >> ${PHP_INI_DIR}/php.ini
RUN echo 'xdebug.remote_port=9000' >> ${PHP_INI_DIR}/php.ini
RUN echo 'xdebug.remote_connect_back=1' >> ${PHP_INI_DIR}/php.ini
RUN echo 'xdebug.profiler_enable=0' >> ${PHP_INI_DIR}/php.ini
RUN echo 'xdebug.remote_log="/tmp/xdebug.log"' >> ${PHP_INI_DIR}/php.ini
#RUN echo 'localhost docker.host' >> /etc/hosts
# set up sendmail config, to use maildev
RUN echo "account default" > /etc/msmtprc
RUN echo "auth off" >> /etc/msmtprc
RUN echo "port 25" >> /etc/msmtprc
RUN echo "host mail" >> /etc/msmtprc
RUN echo "from local@localdomain.com" >> /etc/msmtprc
RUN echo "domain localhost.localdomain" >> /etc/msmtprc
RUN echo "sendmail_path=/usr/bin/msmtp -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini
RUN echo "localhost localhost.localdomain" >> /etc/hosts
EXPOSE 80

View File

@ -1,6 +1,8 @@
# How to use it ?
The docker-compose.yml file is used to build and run Dolibarr in the current workspace.
This docker image intended for developpement usage.
For production usage you should consider other contributor reference like https://hub.docker.com/r/tuxgasy/dolibarr
Before build/run, define the variable HOST_USER_ID as following:
@ -14,7 +16,7 @@ And then, you can run :
docker-compose up
This will run 3 container Docker : Dolibarr, MariaDB and PhpMyAdmin.
This will run 4 containers Docker : Dolibarr, MariaDB, PhpMyAdmin and MailDev.
The URL to go to the Dolibarr is :
@ -23,6 +25,10 @@ The URL to go to the Dolibarr is :
The URL to go to PhpMyAdmin is (login/password is root/root) :
http://0.0.0.0:8080
In Dolibarr configuration Email let PHP mail function, To see all mail send by Dolibarr go to maildev
Setup the database connection during the installation process, please use mariad
b (name of the database container) as database host.
http://0.0.0.0:8081
Setup the database connection during the installation process, please use mariadb (name of the database container) as database host.
Setup documents folder, during the installation process, to /var/documents

View File

@ -1,25 +1,57 @@
mariadb:
build: mariadb
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: dolibarr
version: '3'
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: mariadb
links:
- mariadb
ports:
- "8080:80"
networks:
internal-pod:
internal: true
external-pod:
internal: false
web:
build: .
environment:
HOST_USER_ID: $HOST_USER_ID
volumes:
- ../../htdocs:/var/www/html
links:
- mariadb
ports:
- "80:80"
services:
mariadb:
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: dolibarr
ports:
- "3306:3306"
networks:
- internal-pod
- external-pod
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: mariadb
depends_on:
- mariadb
ports:
- "8080:80"
networks:
- internal-pod
- external-pod
web:
build: .
environment:
HOST_USER_ID: $HOST_USER_ID
volumes:
- ../../htdocs:/var/www/html/
- ../../documents:/var/documents
ports:
- "80:80"
- "9000:9000"
depends_on:
- mariadb
- mail
networks:
- internal-pod
- external-pod
mail:
image: maildev/maildev
ports:
- "8081:80"
- "25:25"
networks:
- internal-pod
- external-pod

View File

@ -1,15 +1,21 @@
#!/bin/bash
usermod -u $HOST_USER_ID www-data
groupmod -g $HOST_USER_ID www-data
usermod -u ${HOST_USER_ID} www-data
groupmod -g ${HOST_USER_ID} www-data
chgrp -hR www-data /var/www/html
chmod g+rwx /var/www/html/conf
if [ ! -d /var/documents ]; then
echo "[docker-run] => create volume directory /var/documents ..."
mkdir -p /var/documents
fi
echo "[docker-run] => Set Permission to www-data for /var/documents"
chown -R www-data:www-data /var/documents
if [ ! -f /usr/local/etc/php/php.ini ]; then
cat <<EOF > /usr/local/etc/php/php.ini
date.timezone = $PHP_INI_DATE_TIMEZONE
display_errors = On
EOF
fi

View File

@ -5,6 +5,7 @@ It's a dedicated Dolibarr version for Windows newbies with no technical knowledg
This directory contains files used by *makepack-dolibarr.pl* script to build the all-in-on .EXE package DoliWamp, ready
to be distributed (for Windows).
The build of .exe files need to have some windows executable files already installed (Apache, MariaDb). The package to install to get this files are defined into the file *doliwamp.iss* (searhc line starting with "; Value OK:")
If you have technical knowledge in web administration and plan to share your server instance (Apache, Mysql or PHP) with other projects than Dolibarr or want to use Dolibarr other components (PostgreSQL), you should not use this assistant and make a manual installation of Dolibarr on your existing server by downloading the standard package (.tgz or .zip file).

View File

@ -22,6 +22,7 @@ $force_install_databaserootpass='WAMPMYSQLNEWPASSWORD';
$force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='644';
$force_install_distrib='doliwamp';
$force_install_module='';
?>

View File

@ -110,7 +110,7 @@ print "Working on files into : ".DOL_DOCUMENT_ROOT."\n";
print "Include custom in signature : ".$includecustom."\n";
print "Include constants in signature : ";
foreach ($includeconstants as $countrycode => $tmp) {
foreach($tmp as $constname => $constvalue) {
foreach ($tmp as $constname => $constvalue) {
print $constname.'='.$constvalue." ";
}
}
@ -130,7 +130,7 @@ fputs($fp, '<checksum_list version="'.$release.'" date="'.dol_print_date(dol_now
foreach ($includeconstants as $countrycode => $tmp) {
fputs($fp, '<dolibarr_constants country="'.$countrycode.'">'."\n");
foreach($tmp as $constname => $constvalue) {
foreach ($tmp as $constname => $constvalue) {
$valueforchecksum=(empty($constvalue)?'0':$constvalue);
$checksumconcat[]=$valueforchecksum;
fputs($fp, ' <constant name="'.$constname.'">'.$valueforchecksum.'</constant>'."\n");

View File

@ -620,6 +620,9 @@ if ($nboftargetok) {
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tecnickcom/tcpdf/fonts/utils`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tecnickcom/tcpdf/tools`;
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tecnickcom/tcpdf/LICENSE.TXT`;
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/autoload.php`;
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/theme/common/octicons/LICENSE`;
}

View File

@ -1,9 +1,10 @@
To make htmldoc working from wiki.dolibarr.org, them must be modified to have
To make htmldoc working from wiki.dolibarr.org, the wiki must be modified to have
$_SERVER["HTTP_USER_AGENT"] is "HTMLDOC/x.y.z"
$_COOKIE["htmldoc"] may also be defined if set on command line.
To disable part, add
class="htmldoc-ignore" with css
To disable part of content, add:
class="htmldoc-ignore"
with css
.htmldoc-ignore { display: none; }
Note:
$_SERVER["HTTP_USER_AGENT"] is "HTMLDOC/x.y.z"
$_COOKIE["htmldoc"] may also be defined if set on command line.

View File

@ -1,7 +1,7 @@
#----------------------------------------------------------------------------
# \file dolibarr.pl
# \brief Dolibarr script install for Virtualmin Pro
# \author (c)2009-2019 Regis Houssin <regis.houssin@inodbox.com>
# \author (c)2009-2020 Regis Houssin <regis.houssin@inodbox.com>
#----------------------------------------------------------------------------
@ -30,7 +30,7 @@ return "Regis Houssin";
# script_dolibarr_versions()
sub script_dolibarr_versions
{
return ( "10.0.0", "9.0.3", "8.0.5", "7.0.5", "6.0.8" );
return ( "12.0.3", "11.0.5", "10.0.7", "9.0.4", "8.0.6", "7.0.5" );
}
sub script_dolibarr_release
@ -77,6 +77,16 @@ if ($ver >= 3.6) {
push(@rv, "Dolibarr requires PHP version 5.3 or later");
}
}
if ($ver >= 12.0) {
# Check for PHP 5.6+
local $phpv = &get_php_version($phpver || 5, $d);
if (!$phpv) {
push(@rv, "Could not work out exact PHP version");
}
elsif ($phpv < 5.6) {
push(@rv, "Dolibarr requires PHP version 5.6 or later");
}
}
return @rv;
}
@ -376,7 +386,7 @@ sub script_dolibarr_realversion
local ($d, $opts, $sinfo) = @_;
local $lref = &read_file_lines("$opts->{'dir'}/filefunc.inc.php", 1);
foreach my $l (@$lref) {
if ($l =~ /'DOL_VERSION','([0-9a-z\.\-]+)'/) {
if ($l =~ /'DOL_VERSION',\s?'([0-9a-z\.\-]+)'/) {
return $1;
}
}
@ -390,6 +400,8 @@ sub script_dolibarr_check_latest
{
local ($ver) = @_;
local @vers = &osdn_package_versions("dolibarr",
$ver >= 12.0 ? "dolibarr\\-(12\\.0\\.[0-9\\.]+)\\.tgz" :
$ver >= 11.0 ? "dolibarr\\-(11\\.0\\.[0-9\\.]+)\\.tgz" :
$ver >= 10.0 ? "dolibarr\\-(10\\.0\\.[0-9\\.]+)\\.tgz" :
$ver >= 9.0 ? "dolibarr\\-(9\\.0\\.[0-9\\.]+)\\.tgz" :
$ver >= 8.0 ? "dolibarr\\-(8\\.0\\.[0-9\\.]+)\\.tgz" :
@ -410,7 +422,7 @@ return $ver eq $vers[0] ? undef : $vers[0];
sub script_dolibarr_site
{
return 'http://www.dolibarr.org/';
return 'https://www.dolibarr.org/';
}
sub script_dolibarr_passmode

View File

@ -181,6 +181,7 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/datapolicy
%_datadir/dolibarr/htdocs/dav
%_datadir/dolibarr/htdocs/debugbar
%_datadir/dolibarr/htdocs/delivery
%_datadir/dolibarr/htdocs/don
%_datadir/dolibarr/htdocs/ecm
%_datadir/dolibarr/htdocs/emailcollector
@ -196,8 +197,8 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/imports
%_datadir/dolibarr/htdocs/includes
%_datadir/dolibarr/htdocs/install
%_datadir/dolibarr/htdocs/intracommreport
%_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/loan
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin

View File

@ -261,6 +261,7 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/datapolicy
%_datadir/dolibarr/htdocs/dav
%_datadir/dolibarr/htdocs/debugbar
%_datadir/dolibarr/htdocs/delivery
%_datadir/dolibarr/htdocs/don
%_datadir/dolibarr/htdocs/ecm
%_datadir/dolibarr/htdocs/emailcollector
@ -276,8 +277,8 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/imports
%_datadir/dolibarr/htdocs/includes
%_datadir/dolibarr/htdocs/install
%_datadir/dolibarr/htdocs/intracommreport
%_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/loan
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin

View File

@ -177,6 +177,7 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/custom
%_datadir/dolibarr/htdocs/datapolicy
%_datadir/dolibarr/htdocs/dav
%_datadir/dolibarr/htdocs/delivery
%_datadir/dolibarr/htdocs/debugbar
%_datadir/dolibarr/htdocs/don
%_datadir/dolibarr/htdocs/ecm
@ -193,8 +194,8 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/imports
%_datadir/dolibarr/htdocs/includes
%_datadir/dolibarr/htdocs/install
%_datadir/dolibarr/htdocs/intracommreport
%_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/loan
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin

View File

@ -189,6 +189,7 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/datapolicy
%_datadir/dolibarr/htdocs/dav
%_datadir/dolibarr/htdocs/debugbar
%_datadir/dolibarr/htdocs/delivery
%_datadir/dolibarr/htdocs/don
%_datadir/dolibarr/htdocs/ecm
%_datadir/dolibarr/htdocs/emailcollector
@ -204,8 +205,8 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/imports
%_datadir/dolibarr/htdocs/includes
%_datadir/dolibarr/htdocs/install
%_datadir/dolibarr/htdocs/intracommreport
%_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/loan
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin

View File

@ -17,6 +17,7 @@ $force_install_databaserootpass='__SUPERUSERPASSWORD__';
$force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='444';
$force_install_distrib='rpmfedora';
// Value to overwrite path to use shared libraries/fonts instead of embedded one
$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';

View File

@ -17,6 +17,7 @@ $force_install_databaserootpass='__SUPERUSERPASSWORD__';
$force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='444';
$force_install_distrib='rpmgeneric';
// Value to overwrite path to use shared libraries/fonts instead of embedded one
// We don't force any external lib with generic package

View File

@ -17,6 +17,7 @@ $force_install_databaserootpass='__SUPERUSERPASSWORD__';
$force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='444';
$force_install_distrib='rpmmandriva';
// Value to overwrite path to use shared libraries/fonts instead of embedded one
$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';

View File

@ -17,6 +17,7 @@ $force_install_databaserootpass='__SUPERUSERPASSWORD__';
$force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='444';
$force_install_distrib='rpmopensuse';
// Value to overwrite path to use shared libraries/fonts instead of embedded one
//$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';

View File

@ -1 +1 @@
http://wiki.dolibarr.org/
https://wiki.dolibarr.org/

View File

@ -24,7 +24,7 @@
"vendor-dir" : "htdocs/includes"
},
"require" : {
"php" : ">=5.5.0",
"php" : ">=5.6.0",
"ext-curl" : "*",
"ckeditor/ckeditor" : "4.12.1",
"mike42/escpos-php" : "2.2",
@ -33,11 +33,13 @@
"restler/framework" : "3.0.0-RC6",
"tecnickcom/tcpdf" : "6.3.2",
"nnnick/chartjs" : "^2.9",
"stripe/stripe-php" : "6.43.1"
"stripe/stripe-php" : "6.43.1",
"maximebf/debugbar" : "1.15.1",
"symfony/var-dumper": "3"
},
"require-dev" : {
"jakub-onderka/php-parallel-lint" : "^0",
"jakub-onderka/php-console-highlighter" : "^0",
"php-parallel-lint/php-parallel-lint" : "^0",
"php-parallel-lint/php-console-highlighter" : "^0",
"phpunit/phpunit" : "^4",
"squizlabs/php_codesniffer" : "^2",
"phpunit/phpunit-selenium" : "^2"

458
composer.lock generated
View File

@ -1,10 +1,10 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "17e906996157e8a94564f686a6096dc5",
"content-hash": "1dbd2d05cc0836acfca5988f29005cf2",
"packages": [
{
"name": "ckeditor/ckeditor",
@ -47,6 +47,67 @@
],
"time": "2019-06-28T10:41:23+00:00"
},
{
"name": "maximebf/debugbar",
"version": "v1.15.1",
"source": {
"type": "git",
"url": "https://github.com/maximebf/php-debugbar.git",
"reference": "6c4277f6117e4864966c9cb58fb835cee8c74a1e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6c4277f6117e4864966c9cb58fb835cee8c74a1e",
"reference": "6c4277f6117e4864966c9cb58fb835cee8c74a1e",
"shasum": ""
},
"require": {
"php": ">=5.6",
"psr/log": "^1.0",
"symfony/var-dumper": "^2.6|^3|^4"
},
"require-dev": {
"phpunit/phpunit": "^5"
},
"suggest": {
"kriswallsmith/assetic": "The best way to manage assets",
"monolog/monolog": "Log using Monolog",
"predis/predis": "Redis storage"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.15-dev"
}
},
"autoload": {
"psr-4": {
"DebugBar\\": "src/DebugBar/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Maxime Bouroumeau-Fuseau",
"email": "maxime.bouroumeau@gmail.com",
"homepage": "http://maximebf.com"
},
{
"name": "Barry vd. Heuvel",
"email": "barryvdh@gmail.com"
}
],
"description": "Debug bar in the browser for php application",
"homepage": "https://github.com/maximebf/php-debugbar",
"keywords": [
"debug",
"debugbar"
],
"time": "2019-09-24T14:55:42+00:00"
},
{
"name": "mike42/escpos-php",
"version": "v2.2",
@ -253,6 +314,53 @@
"abandoned": "phpoffice/phpspreadsheet",
"time": "2015-05-01T07:00:55+00:00"
},
{
"name": "psr/log",
"version": "1.1.3",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Log\\": "Psr/Log/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
"keywords": [
"log",
"psr",
"psr-3"
],
"time": "2020-03-23T09:12:05+00:00"
},
{
"name": "restler/framework",
"version": "3.0.0-RC6",
@ -260,12 +368,12 @@
"source": {
"type": "git",
"url": "https://github.com/Luracast/Restler-Framework.git",
"reference": "0f6b0f26152f83e43a2a86820206c455095fb2b0"
"reference": "d52e61600d153bca60a287c35141c5c01863127b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Luracast/Restler-Framework/zipball/0f6b0f26152f83e43a2a86820206c455095fb2b0",
"reference": "0f6b0f26152f83e43a2a86820206c455095fb2b0",
"url": "https://api.github.com/repos/Luracast/Restler-Framework/zipball/d52e61600d153bca60a287c35141c5c01863127b",
"reference": "d52e61600d153bca60a287c35141c5c01863127b",
"shasum": ""
},
"require": {
@ -312,7 +420,7 @@
"rest",
"server"
],
"time": "2019-05-12T15:15:11+00:00"
"time": "2020-02-13T16:05:12+00:00"
},
{
"name": "stripe/stripe-php",
@ -370,6 +478,146 @@
],
"time": "2019-08-29T16:56:12+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.18.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a",
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "737e07704cca83f9dd0af926d45ce27eedc25657"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/737e07704cca83f9dd0af926d45ce27eedc25657",
"reference": "737e07704cca83f9dd0af926d45ce27eedc25657",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
"twig/twig": "~1.20|~2.0"
},
"suggest": {
"ext-symfony_debug": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"files": [
"Resources/functions/dump.php"
],
"psr-4": {
"Symfony\\Component\\VarDumper\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony mechanism for exploring and dumping PHP variables",
"homepage": "https://symfony.com",
"keywords": [
"debug",
"dump"
],
"time": "2015-11-18T13:48:51+00:00"
},
{
"name": "tecnickcom/tcpdf",
"version": "6.3.2",
@ -489,16 +737,16 @@
"time": "2015-06-14T21:17:01+00:00"
},
{
"name": "jakub-onderka/php-console-color",
"name": "php-parallel-lint/php-console-color",
"version": "v0.2",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Console-Color.git",
"url": "https://github.com/php-parallel-lint/PHP-Console-Color.git",
"reference": "d5deaecff52a0d61ccb613bb3804088da0307191"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191",
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191",
"reference": "d5deaecff52a0d61ccb613bb3804088da0307191",
"shasum": ""
},
@ -531,28 +779,31 @@
"time": "2018-09-29T17:23:10+00:00"
},
{
"name": "jakub-onderka/php-console-highlighter",
"version": "v0.4",
"name": "php-parallel-lint/php-console-highlighter",
"version": "v0.5",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git",
"reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547"
"url": "https://github.com/php-parallel-lint/PHP-Console-Highlighter.git",
"reference": "21bf002f077b177f056d8cb455c5ed573adfdbb8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547",
"reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547",
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Console-Highlighter/zipball/21bf002f077b177f056d8cb455c5ed573adfdbb8",
"reference": "21bf002f077b177f056d8cb455c5ed573adfdbb8",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"jakub-onderka/php-console-color": "~0.2",
"php": ">=5.4.0"
"php": ">=5.4.0",
"php-parallel-lint/php-console-color": "~0.2"
},
"replace": {
"jakub-onderka/php-console-highlighter": "*"
},
"require-dev": {
"jakub-onderka/php-code-style": "~1.0",
"jakub-onderka/php-parallel-lint": "~1.0",
"jakub-onderka/php-var-dump-check": "~0.1",
"php-parallel-lint/php-code-style": "~1.0",
"php-parallel-lint/php-parallel-lint": "~1.0",
"php-parallel-lint/php-var-dump-check": "~0.1",
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~1.5"
},
@ -574,19 +825,19 @@
}
],
"description": "Highlight PHP code in terminal",
"time": "2018-09-29T18:48:56+00:00"
"time": "2020-05-13T07:37:49+00:00"
},
{
"name": "jakub-onderka/php-parallel-lint",
"name": "php-parallel-lint/php-parallel-lint",
"version": "v0.9.2",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Parallel-Lint.git",
"url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git",
"reference": "2ead2e4043ab125bee9554f356e0a86742c2d4fa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Parallel-Lint/zipball/2ead2e4043ab125bee9554f356e0a86742c2d4fa",
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/2ead2e4043ab125bee9554f356e0a86742c2d4fa",
"reference": "2ead2e4043ab125bee9554f356e0a86742c2d4fa",
"shasum": ""
},
@ -1082,6 +1333,7 @@
"keywords": [
"tokenizer"
],
"abandoned": true,
"time": "2017-12-04T08:55:13+00:00"
},
{
@ -1785,6 +2037,159 @@
],
"time": "2019-08-06T08:03:45+00:00"
},
{
"name": "symfony/polyfill-php72",
"version": "v1.18.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
"reference": "639447d008615574653fb3bc60d1986d7172eaae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae",
"reference": "639447d008615574653fb3bc60d1986d7172eaae",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php72\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.18.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981",
"reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981",
"shasum": ""
},
"require": {
"php": ">=7.0.8"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-07-14T12:35:20+00:00"
},
{
"name": "symfony/yaml",
"version": "v3.4.32",
@ -1903,8 +2308,9 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": ">=5.5.0",
"php": ">=5.6.0",
"ext-curl": "*"
},
"platform-dev": []
"platform-dev": [],
"plugin-api-version": "1.1.0"
}

View File

@ -28,19 +28,6 @@ With
DEBUGBAR:
---------
Move
this.options = {
bodyMarginBottom: true,
bodyMarginBottomHeight: parseInt($('body').css('margin-bottom')),
};
few line lower in the
initialize: function() {
ESCPOS:
-------
Replace
@ -181,6 +168,7 @@ In htdocs/includes/tecnickcom/tcpdf/tcpdf.php
TCPDI:
------
Add fpdf_tpl.php 1.2
Add tcpdi.php
Add tcpdi_parser.php and replace:
@ -219,8 +207,6 @@ with
JCROP:
------
* Remove analytics tag into file index.html

View File

@ -87,14 +87,11 @@ if ($idobject > 0)
// Change status to validated
$result=$obj->validate($user);
if ($result > 0) print "OK Object created with id ".$idobject."\n";
else
{
else {
$error++;
dol_print_error($db, $obj->error);
}
}
else
{
} else {
$error++;
dol_print_error($db, $obj->error);
}
@ -106,9 +103,7 @@ if (! $error)
{
$db->commit();
print '--- end ok'."\n";
}
else
{
} else {
print '--- end error code='.$error."\n";
$db->rollback();
}

View File

@ -85,14 +85,11 @@ if ($idobject > 0)
// Change status to validated
$result=$com->valid($user);
if ($result > 0) print "OK Object created with id ".$idobject."\n";
else
{
else {
$error++;
dol_print_error($db, $com->error);
}
}
else
{
} else {
$error++;
dol_print_error($db, $com->error);
}
@ -104,9 +101,7 @@ if (! $error)
{
$db->commit();
print '--- end ok'."\n";
}
else
{
} else {
print '--- end error code='.$error."\n";
$db->rollback();
}

View File

@ -82,9 +82,7 @@ $idobject = $myproduct->create($user);
if ($idobject > 0)
{
print "OK Object created with id ".$idobject."\n";
}
else
{
} else {
$error++;
dol_print_error($db, $myproduct->error);
}
@ -95,9 +93,7 @@ if (! $error)
{
$db->commit();
print '--- end ok'."\n";
}
else
{
} else {
print '--- end error code='.$error."\n";
$db->rollback();
}

View File

@ -74,18 +74,14 @@ if ($idobject > 0)
// Change status to validated
$result=$obj->setStatut(1);
if ($result > 0) print "OK Object created with id ".$idobject."\n";
else
{
else {
$error++;
dol_print_error($db, $obj->error);
}
}
elseif ($obj->error == 'ErrorLoginAlreadyExists')
} elseif ($obj->error == 'ErrorLoginAlreadyExists')
{
print "User with login ".$obj->login." already exists\n";
}
else
{
} else {
$error++;
dol_print_error($db, $obj->error);
}
@ -97,9 +93,7 @@ if (! $error)
{
$db->commit();
print '--- end ok'."\n";
}
else
{
} else {
print '--- end error code='.$error."\n";
$db->rollback();
}

View File

@ -0,0 +1,89 @@
Delivered-To: testldrdev@gmail.com
Received: by 2002:a2e:9b9a:0:0:0:0:0 with SMTP id z26csp1425223lji;
Thu, 20 Aug 2020 08:29:02 -0700 (PDT)
X-Received: by 2002:a05:620a:1292:: with SMTP id w18mr2938234qki.158.1597937342304;
Thu, 20 Aug 2020 08:29:02 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1597937342; cv=none;
d=google.com; s=arc-20160816;
b=FhT/+rJ/zNYgVQ5Nt/rLZJycGd/Ntkhm6LwI16YUfmEmxeGrP/cXXQULrqQ1LhBr9B
oRKweltTdnpyA14gm0kzbs1vUkf5HxLUuGk8IqqJWAPMUZoN8oUPkzq2BuKNQGxPiE+y
Hsg/fnYp8WzcAlZOLsEP2kcFIdA95Dyy5LkM8HgphI1jSS1d6gkx6nDGIMIpDD9D+w4X
ISxRUXp5JlDwFCUMOPoAvHIBUdJ3jpLsjesbMEnU4ssFqhxU21pBq+Fc+csSPeY5DL0M
HR1o+ChEAXIdDOrDqa0ohHfqR216juGCzH8YuEQ88LT0Qbst9IkOYWiAQv4TIh7vHtvQ
TMvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=to:subject:message-id:date:from:mime-version:dkim-signature;
bh=sojOjnIKAXmsZ9zvMk5MGvY3qyOaFgnpRe6YPMYutOI=;
b=CRlrRPfoGkfmz6iXKy4HdxKQ4SeJTiIxjC2jNkgQPSnIDFJgDkJcwASJVpcjTmlVmH
Z9WnHKVUPRIHGDEoMRlx6eUx9QfelWqPYu3BBQGFry9sgth0BR/1s6tmQ+P+bAj23ryo
aL3UkF6KCSx4GhEk3MfHA5Ex81YDFHvHL3BZ2kb3XCVSlPiBq2szw1ETmRAsDdS5Gbu+
ZlzBbl4pRtUWgi1fB5H4Wcv7e90F4Et1SBP8IKSCa23qu2nV9xefgjfMw2ndxCj1zgCL
c3l7Ul6pw32nqf6+vxfZTstwIwgu6dXZXCHDqJqesI2g8RGxeba+LfKZEDpBuSeINS9r
GMvw==
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass header.i=@destailleur.fr header.s=google header.b=IPMz90Yj;
spf=pass (google.com: domain of contact@destailleur.fr designates 209.85.220.41 as permitted sender) smtp.mailfrom=contact@destailleur.fr;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=destailleur.fr
Return-Path: <contact@destailleur.fr>
Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
by mx.google.com with SMTPS id w14sor2138230qtb.9.2020.08.20.08.29.00
for <testldrdev@gmail.com>
(Google Transport Security);
Thu, 20 Aug 2020 08:29:01 -0700 (PDT)
Received-SPF: pass (google.com: domain of contact@destailleur.fr designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
Authentication-Results: mx.google.com;
dkim=pass header.i=@destailleur.fr header.s=google header.b=IPMz90Yj;
spf=pass (google.com: domain of contact@destailleur.fr designates 209.85.220.41 as permitted sender) smtp.mailfrom=contact@destailleur.fr;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=destailleur.fr
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=destailleur.fr; s=google;
h=mime-version:from:date:message-id:subject:to;
bh=sojOjnIKAXmsZ9zvMk5MGvY3qyOaFgnpRe6YPMYutOI=;
b=IPMz90Yjw1Mf57/rYWUYGtpc+IazEWcy6/bqxf1j0h6rxDH/wjhxsCWzfARgqqlfVj
ACg4IbPpZZlKFIYDSCbfMlWF65rbKfNre56HldfQgy0Tq3LC434zHz2ZZMOVCM52w3J9
VGBpASUlSL1o+YRmzOpRtHVu7I9aNwGxHuA070Yka8XLV76vV3P0vdL8PcoHq0jUUEoi
+dCZ9NCPuAFtGK2IavNoM2qQrLdfYIi+RwgWBtqjTwzyvDEJR+p5fIPK142ynMbHgWYO
RVtMqAgxjvL4sfyKZ5KuzKXkQNM3zyzMinWK89scBl+QLFCcWA4Qqc0dJjqLCBhh8lmq
n67g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=sojOjnIKAXmsZ9zvMk5MGvY3qyOaFgnpRe6YPMYutOI=;
b=H0GsrFAi9JmRTKQ2budtDeLBqCaTisHKYCVVziyxmv+/tIcrSZBA4tdKwm+wR80r50
zMJXmyVS2DMDWfnIlOv39wcwQjYN3WK1aRJfV0bVuEWrQuzt5MMWbskf6xbzo201nhr9
ZlqATsEV7v1u5EHmfYwRhR8+AOmENdnm0g9RXPJVrFS58WNEJUSotS5Y5rZPjnT943y0
62Kf4Bd6uWvXhPFXWQoZLtWrPpkbcYPWIBmpftKhD0PD9c6rKaVduV0WhbigYsDoxb3F
iIafGPOyq91hiHR2gTLHiMmTDm+IDQ4n6gSkS7HKpZlLQhHoBMnpqJZYoxMJTxdpAbSy
mY+A==
X-Gm-Message-State: AOAM5325RcN4/ThWbYCO3vWRMFFBrfzJUHC1bd1Z9VB3/2Q3RuF9lmIJ +SjshEErhK68Of2pHDZQ3aPU4rzDfV8ozbvRsgChdfZg8aA=
X-Google-Smtp-Source: ABdhPJxUOUdurKEQfLldtiQGRkgC/h8gKQG1zhS+8k93p6N1SsOn517+GeRyT3E+/Uw536pmReO29la3EIAS6VT33SE=
X-Received: by 2002:aed:3e8e:: with SMTP id n14mr3191190qtf.67.1597937340509; Thu, 20 Aug 2020 08:29:00 -0700 (PDT)
MIME-Version: 1.0
From: John Tester <customer@customercompany.fr>
Date: Thu, 20 Aug 2020 17:28:34 +0200
Message-ID: <CALeEO_kij-ogXKzrjV_pTgqVbUB9j=287VkX34iVSWgDHFA8eg@mail.gmail.com>
Subject: Support besoin
To: testldrdev@gmail.com
Content-Type: multipart/alternative; boundary="0000000000008e099705ad50c772"
--0000000000008e099705ad50c772
Content-Type: text/plain; charset="UTF-8"
adfsdfsdfds
--
Laurent.
------------------------------------------------------------------------------------
Twitter: https://www.twitter.com/eldy10
--0000000000008e099705ad50c772
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">adfsdfsdfds<br clear=3D"all"><div><br></div>-- <br><div di=
r=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature">Laur=
ent.<br>-------------------------------------------------------------------=
-----------------<br>Twitter: <a href=3D"https://www.twitter.com/eldy10" ta=
rget=3D"_blank">https://www.twitter.com/eldy10</a></div></div>
--0000000000008e099705ad50c772--

View File

@ -0,0 +1,57 @@
Return-Path: <testldrdev@gmail.com>
Received: from smtp.gmail.com ([2a01:e0a:7e:4ae0:329c:23ff:feb8:dc8d])
by smtp.gmail.com with ESMTPSA id 32sm5811196wrh.18.2020.08.20.09.31.37
for <customer@customercompany.fr>
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 20 Aug 2020 09:31:37 -0700 (PDT)
From: testldrdev@gmail.com
X-Google-Original-From: <aa@aa.comg>
To: customer@customercompany.fr
Subject: [MyBigCompany - Ticket #TS2008-0040] Nouveau message
Date: Thu, 20 Aug 2020 18:31:37 +0200
Message-ID: <1597941097.SMTPs-dolibarr-tic58@83b5bc91f83a56e458db71e0adac2b62>
References: <1597941097.SMTPs-dolibarr-tic58@83b5bc91f83a56e458db71e0adac2b62>
X-Dolibarr-TRACKID: tic58@83b5bc91f83a56e458db71e0adac2b62
X-RemoteAddr: 127.0.0.1
X-Mailer: Dolibarr version 13.0.0-alpha (using SMTPs Mailer)
X-Dolibarr-Option: MAIN_MAIL_USE_MULTI_PART
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="multipart_x.1597941097.x_boundary"
Content-Transfer-Encoding: 8bit
--multipart_x.1597941097.x_boundary
Content-Type: multipart/alternative; boundary="mul_872cdd6a64216735955664484832b075"
--mul_872cdd6a64216735955664484832b075
Content-Type: text/plain; charset=UTF-8
Bonjour
Une nouvelle réponse a été ajoutée à un ticket que vous suivez. Voici
le message :PredefinedMailContentTicket_send
Vous pouvez voir la progression du ticket en cliquant sur le lien
ci-dessus. : fr5uw2yospypn2rz
Cordialement,
--
--mul_872cdd6a64216735955664484832b075
Content-Type: text/html; charset=UTF-8
<html><head><title></title></head><body>Bonjour<br>
<br>
Une nouvelle réponse a été ajoutée à un ticket que vous suivez. Voici
le message :PredefinedMailContentTicket_send<br>
<br>
<br>
Vous pouvez voir la progression du ticket en cliquant sur le lien
ci-dessus. : <a
href="http://localhostgit/dolibarr_dev/htdocs/public/ticket/view.php?track_id=fr5uw2yospypn2rz">fr5uw2yospypn2rz</a><br>
<br>Cordialement,<br>
<br>
--</body></html>
--mul_872cdd6a64216735955664484832b075--
--multipart_x.1597941097.x_boundary--

View File

@ -0,0 +1,48 @@
MIME-Version: 1.0
Date: Thu, 20 Aug 2020 18:34:01 +0200
References: <CALeEO_kij-ogXKzrjV_pTgqVbUB9j=287VkX34iVSWgDHFA8eg@mail.gmail.com>
In-Reply-To: <CALeEO_kij-ogXKzrjV_pTgqVbUB9j=287VkX34iVSWgDHFA8eg@mail.gmail.com>
Message-ID: <CAC8+=32ccpEo12RR-juT=FW6+gNV-DcvNjxs_0s6Wn40xmfhug@mail.gmail.com>
Subject: Re: Support besoin
From: John Tester <testldrdev@gmail.com>
To: John Tester <customer@customercompany.fr>
Content-Type: multipart/alternative; boundary="0000000000001620dd05ad51b075"
--0000000000001620dd05ad51b075
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Merci pour votre question.
Voici la rep.
Le jeu. 20 ao=C3=BBt 2020 =C3=A0 17:29, John Tester <laurent@destai=
lleur.fr>
a =C3=A9crit :
> adfsdfsdfds
>
> --
> Laurent.
>
> -------------------------------------------------------------------------=
-----------
> Twitter: https://www.twitter.com/eldy10
>
--0000000000001620dd05ad51b075
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Merci pour votre question.<div>Voici la rep.</div></div><b=
r><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Le=C2=A0=
jeu. 20 ao=C3=BBt 2020 =C3=A0=C2=A017:29, John Tester &lt;<a href=
=3D"mailto:customer@customercompany.fr">customer@customercompany.fr</a>&gt; a =C3=A9c=
rit=C2=A0:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0=
px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div =
dir=3D"ltr">adfsdfsdfds<br clear=3D"all"><div><br></div>-- <br><div dir=3D"=
ltr">Laurent.<br>----------------------------------------------------------=
--------------------------<br>Twitter: <a href=3D"https://www.twitter.com/e=
ldy10" target=3D"_blank">https://www.twitter.com/eldy10</a></div></div>
</blockquote></div>
--0000000000001620dd05ad51b075--

View File

@ -0,0 +1,134 @@
Delivered-To: testldrdev@gmail.com
Received: by 2002:a2e:9b9a:0:0:0:0:0 with SMTP id z26csp1483607lji;
Thu, 20 Aug 2020 09:56:03 -0700 (PDT)
X-Received: by 2002:ac8:3868:: with SMTP id r37mr3301993qtb.95.1597942563252;
Thu, 20 Aug 2020 09:56:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1597942563; cv=none;
d=google.com; s=arc-20160816;
b=skUGL+keim3FdNXfKGgQokCfj85gnhYhuLbMM61qY5W6ixSH9s8I6uoNh3gzVy89XM
NGbZiajjDiPMBryl87PhD+ACBjv8WoZAQiojAga0ELPPmVDnhrtWKANLbRrkUI3Xtfoj
b1o2iHP2Q12Vqs6xiAy86yxURlIKGM3tw91WryWiIPiAL7bRZPn49N3XbO2ULE0QKTBq
BI5YnOxt9NfTj0xhKaLLIJ9M1qa4e1QyOHl56WuEv3Gx6uHDAQDYz+C5G0VgdjBvwRzH
pJaiAulc1uW/V9TcRMwvwIWtI7eWygvU2PiuI/c05G1KVKibAubHE55IjOJCn2O2UaH4
WMNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=to:subject:message-id:date:from:in-reply-to:references:mime-version
:dkim-signature;
bh=j6+rsx5MBsg1/s7LIIfByV7u0jGK09n72bnK4XcN6ZQ=;
b=Ps5kk+tBGQzMP6ugDCwKf4hzn8fn3DU4AFz1dJvkHdDestLZWN99Qtr6iNMdslsHJm
ov378c+8oCfcV7shyBYjlAFfikFi7o4RM/evh3yqqjAnhyVfcYH7c9cexVvDo/AXUAZ7
N7Mh7EOvyDXXsaHK2l89XiAxZx/hZh/O+/HR2EoVEGre1eYRYwI/aEfPN8d4/fL2VtCD
0wzAwnUrINuXmcaUDT30Twjk9kwGjjTsM6Z531vKM6L3y48a7f3GTE7V+vo2QxHdUT54
fQVue9OO7b4VKTEj/x/dmNr+92sHRAMMS7dj/VXMmzM+WttUCAPNxZ27/bvt4bBc5oBp
QPEA==
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass header.i=@destailleur.fr header.s=google header.b=SEYSmxbT;
spf=pass (google.com: domain of contact@destailleur.fr designates 209.85.220.41 as permitted sender) smtp.mailfrom=contact@destailleur.fr;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=destailleur.fr
Return-Path: <contact@destailleur.fr>
Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
by mx.google.com with SMTPS id q3sor2285165qtn.34.2020.08.20.09.56.02
for <testldrdev@gmail.com>
(Google Transport Security);
Thu, 20 Aug 2020 09:56:03 -0700 (PDT)
Received-SPF: pass (google.com: domain of contact@destailleur.fr designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41;
Authentication-Results: mx.google.com;
dkim=pass header.i=@destailleur.fr header.s=google header.b=SEYSmxbT;
spf=pass (google.com: domain of contact@destailleur.fr designates 209.85.220.41 as permitted sender) smtp.mailfrom=contact@destailleur.fr;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=destailleur.fr
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=destailleur.fr; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
bh=j6+rsx5MBsg1/s7LIIfByV7u0jGK09n72bnK4XcN6ZQ=;
b=SEYSmxbTKCuc1baQZzjIJwm7WXvgjt/nEGhMLqWxQCU3beM3qhH8wYlSeMyB8Z/9pi
tszZFZhZ3cjnIbbJnjzsMYJgBnYbkf6hz14+BsFwyPU030EkDjJy2i3DSXzYK7A+GbBn
G9I9foG/4+pcx0LnFsjchGsRhLFkTKJIsP2SVfOx0wlim3WHMIqIXvKsxY05PoPyf8Tp
IwQi7iNl/+nTyjNHl2DQh+ty3CRTmUw9uEbY+jRRvIg5i/7cfREekK98d7qi/5HQycr6
aptRDdCVHXpe47q+c7OPiMEEQWs+mFJhBqPXIlU54fwFApEEnLn/jwGbrPsrPYJaswgI
vd/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to;
bh=j6+rsx5MBsg1/s7LIIfByV7u0jGK09n72bnK4XcN6ZQ=;
b=M6a4k1gKc4e7TwKncuNPy0b3KxutR1FLFJGWxd4NyW84b7f3LfIR94IeInLQIWmY8C
Ddus0upZJI4+NN9XBGvXCdsiiYlwFGBJRWwjv82XFKVAKL5DD94RJNQZJUiE39hgJ2aa
6V9gasiP+nUAX4ZV9bZmw21CgKEZrZVXh5unmW2ABrfcx8lHjp/DUw5XEkym1J92Wo1l
g0H3XrC2FL+aQuj+WpCynMNkY9ljw71oqyv3SP9pjnVNHArAdZiPMHkNxiuPdq7q41fg
eIbdRCQXYZL5O48QsjDdiXwaQzx+NcYtrKAH0RIVD1lG6zc9pxqDJsbGxP9VLs8jGDTT
mSdQ==
X-Gm-Message-State: AOAM532LuATWDKbo1HImMWshHVqb0kC0isehf3owfYUKq5J68o3juKbm kCgUMt25A2C7QoNMDXcjfJyteBNQD7ZhSh3yeYTGoLSvsD4=
X-Google-Smtp-Source: ABdhPJyQYCpCHSwA87x030i8YChySZqcNXxT1qVlZyEA+XM6DTyPZusa8gtbDUVcMyx7Jma/7toh+4EEE2bWg0bG+2E=
X-Received: by 2002:aed:3e8e:: with SMTP id n14mr3547383qtf.67.1597942562373; Thu, 20 Aug 2020 09:56:02 -0700 (PDT)
MIME-Version: 1.0
References: <CALeEO_kij-ogXKzrjV_pTgqVbUB9j=287VkX34iVSWgDHFA8eg@mail.gmail.com> <CAC8+=32ccpEo12RR-juT=FW6+gNV-DcvNjxs_0s6Wn40xmfhug@mail.gmail.com>
In-Reply-To: <CAC8+=32ccpEo12RR-juT=FW6+gNV-DcvNjxs_0s6Wn40xmfhug@mail.gmail.com>
From: John Tester <customer@customercompany.fr>
Date: Thu, 20 Aug 2020 18:55:36 +0200
Message-ID: <CALeEO_nLUY8Tk+o7WoaHtBkxvOy0dhvt+fL0MwPrApGty_AG_g@mail.gmail.com>
Subject: Re: Support besoin
To: John Tester <testldrdev@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000cd54be05ad51fe67"
--000000000000cd54be05ad51fe67
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Merci
Le jeu. 20 ao=C3=BBt 2020 =C3=A0 18:34, John Tester <testldrdev@gma=
il.com> a
=C3=A9crit :
> Merci pour votre question.
> Voici la rep.
>
> Le jeu. 20 ao=C3=BBt 2020 =C3=A0 17:29, John Tester <laurent@dest=
ailleur.fr>
> a =C3=A9crit :
>
>> adfsdfsdfds
>>
>> --
>> Laurent.
>>
>> ------------------------------------------------------------------------=
------------
>> Twitter: https://www.twitter.com/eldy10
>>
>
--=20
Laurent.
---------------------------------------------------------------------------=
---------
Twitter: https://www.twitter.com/eldy10
--000000000000cd54be05ad51fe67
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Merci</div><br><div class=3D"gmail_quote"><div dir=3D"ltr"=
class=3D"gmail_attr">Le=C2=A0jeu. 20 ao=C3=BBt 2020 =C3=A0=C2=A018:34, Lau=
rent Destailleur &lt;<a href=3D"mailto:testldrdev@gmail.com">testldrdev@gma=
il.com</a>&gt; a =C3=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)=
;padding-left:1ex"><div dir=3D"ltr">Merci pour votre question.<div>Voici la=
rep.</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"g=
mail_attr">Le=C2=A0jeu. 20 ao=C3=BBt 2020 =C3=A0=C2=A017:29, Laurent Destai=
lleur &lt;<a href=3D"mailto:customer@customercompany.fr" target=3D"_blank">laure=
nt@destailleur.fr</a>&gt; a =C3=A9crit=C2=A0:<br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex"><div dir=3D"ltr">adfsdfsdfds<br clear=3D"all"=
><div><br></div>-- <br><div dir=3D"ltr">Laurent.<br>-----------------------=
-------------------------------------------------------------<br>Twitter: <=
a href=3D"https://www.twitter.com/eldy10" target=3D"_blank">https://www.twi=
tter.com/eldy10</a></div></div>
</blockquote></div>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
class=3D"gmail_signature">Laurent.<br>------------------------------------=
------------------------------------------------<br>Twitter: <a href=3D"htt=
ps://www.twitter.com/eldy10" target=3D"_blank">https://www.twitter.com/eldy=
10</a></div>
--000000000000cd54be05ad51fe67--

View File

@ -0,0 +1,21 @@
# EditorConfig is awesome: https://editorconfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
[*.js]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = false

View File

@ -5,3 +5,4 @@ node_modules
.environment
.env
.zapierapprc
package-lock.json

View File

@ -0,0 +1,48 @@
# HOW TO BUILD
## DEVELOPPER ACCOUNT
At first, you need to have a Zapier developper acoount, create it here [Zapier Platform](https://developer.zapier.com/)
## BUILD INTEGRATION
### Install Node.js
An easy option to get set up with Node.js is to visit [https://nodejs.org/en/download/](https://nodejs.org/en/download/) and download the official installer for your OS. If you're installing with a package manager it's even easier.
After installation, confirm that Node.js is ready to use:
`node --version`
### Install the Zapier CLI
Next let's install the Zapier CLI tools. The CLI will allow you to build your app, deploy it to the Zapier platform, do local testing, manage users and testers, view remote logs, collaborate with your team, and more:
`cd dev/exemples/zapier`
`npm install -g zapier-platform-cli` to install the CLI globally
`zapier --version` to return version of the CLI
### Run Zapier Login
Let's configure authentication between your dev environment and the Zapier platform. You'll use the email address and password you use to log in to the Zapier application.
`zapier --version`
This command will set up a .zapierrc file in your home directory.
### Install the Project
In zapier exemple directory, run:
`npm install`
### Deploying your App
Let's deploy it! When you're ready to try your code out on the Zapier platform use the push command. Only you will be able to see the app until you invite testers.
`zapier push`
### More info
You will find original tutorial here : [https://zapier.com/developer/start/introduction](https://zapier.com/developer/start/introduction)

View File

@ -1,405 +0,0 @@
{
"name": "Dolibarr",
"version": "1.0.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@types/node": {
"version": "8.10.20",
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.20.tgz",
"integrity": "sha512-M7x8+5D1k/CuA6jhiwuSCmE8sbUWJF0wYsjcig9WrXvwUI5ArEoUBdOXpV4JcEMrLp02/QbDjw+kI+vQeKyQgg==",
"optional": true
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"bluebird": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
"integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"browser-stdout": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
"dev": true
},
"combined-stream": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.15.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
"dev": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"content-disposition": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"diff": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true
},
"dotenv": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
"integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow=="
},
"encoding": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
"requires": {
"iconv-lite": "~0.4.13"
}
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"form-data": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
"mime-types": "^2.1.12"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
"dev": true
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"he": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
"dev": true
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
"json-tryparse": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/json-tryparse/-/json-tryparse-1.0.5.tgz",
"integrity": "sha1-Khy6CLTjEjNo+p+2o01GQwBFeyc="
},
"jsonschema": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.1.1.tgz",
"integrity": "sha1-PO3o4+QR03eHLu+8n98mODy8Ptk="
},
"lodash": {
"version": "4.17.11",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
},
"mime-db": {
"version": "1.38.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz",
"integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg=="
},
"mime-types": {
"version": "2.1.22",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz",
"integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==",
"requires": {
"mime-db": "~1.38.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
"minimist": "0.0.8"
}
},
"mocha": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
"integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
"dev": true,
"requires": {
"browser-stdout": "1.3.1",
"commander": "2.15.1",
"debug": "3.1.0",
"diff": "3.5.0",
"escape-string-regexp": "1.0.5",
"glob": "7.1.2",
"growl": "1.10.5",
"he": "1.1.1",
"minimatch": "3.0.4",
"mkdirp": "0.5.1",
"supports-color": "5.4.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
"node-fetch": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.1.tgz",
"integrity": "sha512-j8XsFGCLw79vWXkZtMSmmLaOk9z5SQ9bV/tkbZVCqvgwzrjAGq66igobLofHtF63NvMTp2WjytpsNTGKa+XRIQ==",
"requires": {
"encoding": "^0.1.11",
"is-stream": "^1.0.1"
}
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"semver": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
},
"should": {
"version": "13.2.3",
"resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz",
"integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==",
"dev": true,
"requires": {
"should-equal": "^2.0.0",
"should-format": "^3.0.3",
"should-type": "^1.4.0",
"should-type-adaptors": "^1.0.1",
"should-util": "^1.0.0"
}
},
"should-equal": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz",
"integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==",
"dev": true,
"requires": {
"should-type": "^1.4.0"
}
},
"should-format": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz",
"integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=",
"dev": true,
"requires": {
"should-type": "^1.3.0",
"should-type-adaptors": "^1.0.1"
}
},
"should-type": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz",
"integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=",
"dev": true
},
"should-type-adaptors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz",
"integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==",
"dev": true,
"requires": {
"should-type": "^1.3.0",
"should-util": "^1.0.0"
}
},
"should-util": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz",
"integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=",
"dev": true
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"zapier-platform-core": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/zapier-platform-core/-/zapier-platform-core-8.0.1.tgz",
"integrity": "sha512-vuAe7JkFQ88AeQ//NwwNEh8ZjiZr30GRWtwYo7Wo/nx1cqZwq+CRc9zJU2WRrhJfJOtOOTUF6w+pArBTtMOC5A==",
"requires": {
"@types/node": "8.10.20",
"bluebird": "3.5.0",
"content-disposition": "0.5.2",
"dotenv": "5.0.1",
"form-data": "2.3.2",
"lodash": "4.17.11",
"node-fetch": "1.7.1",
"oauth-sign": "0.9.0",
"semver": "5.6.0",
"zapier-platform-schema": "8.0.1"
}
},
"zapier-platform-schema": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/zapier-platform-schema/-/zapier-platform-schema-8.0.1.tgz",
"integrity": "sha512-97KJ0xVLtpU4BiXVaMTPQpiA0T6CQIEzWfzAWwJAWbu5336+6DMFUzDWN4bANBeD3CIsRHHPcZkP8n/17U05ag==",
"requires": {
"jsonschema": "1.1.1",
"lodash": "4.17.10"
},
"dependencies": {
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
}
}
}
}
}

View File

@ -1,9 +1,9 @@
{
"name": "Dolibarr",
"name": "dolibarr",
"version": "1.0.0",
"description": "An app for connecting Dolibarr to the Zapier platform.",
"repository": "Dolibarr/dolibarr",
"homepage": "https://www.dolibarr.fr/",
"homepage": "https://www.dolibarr.org/",
"author": "Frédéric France <frederic.france@netlogic.fr>",
"license": "BSD-3-Clause",
"main": "index.js",

View File

@ -227,8 +227,7 @@ while ($fields = $db->fetch_array($resql)) {
$error++; // $errorrecord will be reset
}
$j++;
} else
die("error : $sql");
} else die("error : $sql");

View File

@ -179,8 +179,7 @@ while ($fields = $db->fetch_array($resql)) {
$object->town = trim($fields['FVILLE']);
if ($fields['FPAYS'])
$object->country_id = dol_getIdFromCode($db, trim(ucwords(strtolower($fields['FPAYS']))), 'c_country', 'label', 'rowid');
else
$object->country_id = 1;
else $object->country_id = 1;
$object->phone = trim($fields['FTEL']) ? trim($fields['FTEL']) : trim($fields['FCONTACT']);
$object->phone = substr($object->phone, 0, 20);
$object->fax = trim($fields['FFAX']) ? trim($fields['FFAX']) : trim($fields['FCONTACT']);
@ -299,8 +298,7 @@ while ($fields = $db->fetch_array($resql)) {
$contact->town = trim($fields['LVILLE']);
if ($fields['FPAYS'])
$contact->country_id = dol_getIdFromCode($db, trim(ucwords(strtolower($fields['LPAYS']))), 'c_country', 'label', 'rowid');
else
$contact->country_id = 1;
else $contact->country_id = 1;
$contact->email = $fields['LMAIL'];
$contact->phone = trim($fields['LTEL']) ? trim($fields['LTEL']) : trim($fields['LCONTACT']);
$contact->fax = trim($fields['LFAX']) ? trim($fields['LFAX']) : trim($fields['LCONTACT']);
@ -340,8 +338,7 @@ while ($fields = $db->fetch_array($resql)) {
$error++; // $errorrecord will be reset
}
$j++;
} else
die("error : $sql");
} else die("error : $sql");
$db->commit();

View File

@ -207,8 +207,7 @@ class DBase
$value = true;
elseif ($value == 'f' || $value == 'n')
$value = false;
else
$value = null;
else $value = null;
}
$record[$i] = $value;
}
@ -295,8 +294,7 @@ class DBase
$i = unpack("S$n", $data);
if ($n == 1)
return (int) $i[1];
else
return array_merge($i);
else return array_merge($i);
}
private static function putInt16($fd, $value)
@ -310,8 +308,7 @@ class DBase
$i = unpack("L$n", $data);
if ($n == 1)
return (int) $i[1];
else
return array_merge($i);
else return array_merge($i);
}
private static function putInt32($fd, $value)

View File

@ -179,14 +179,10 @@ while ($i < GEN_NUMBER_FACTURE && $result >= 0)
if ($result)
{
print " OK with ref ".$object->ref."\n";;
}
else
{
} else {
dol_print_error($db, $object->error);
}
}
else
{
} else {
dol_print_error($db, $object->error);
}
}

View File

@ -124,8 +124,7 @@ if ($resql) {
$row = $db->fetch_row($resql);
$societesid[$i] = $row[0];
}
}
else { print "err"; }
} else { print "err"; }
$commandesid = array();
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."commande";
@ -138,8 +137,7 @@ if ($resql) {
$row = $db->fetch_row($resql);
$commandesid[$i] = $row[0];
}
}
else { print "err"; }
} else { print "err"; }
$prodids = array();
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."product WHERE tosell=1";
@ -206,16 +204,12 @@ for ($s = 0 ; $s < GEN_NUMBER_COMMANDE ; $s++)
{
$db->commit();
print " OK with ref ".$object->ref."\n";
}
else
{
} else {
print " KO\n";
$db->rollback();
dol_print_error($db, $object->error);
}
}
else
{
} else {
print " KO\n";
$db->rollback();
dol_print_error($db, $object->error);

View File

@ -210,16 +210,12 @@ while ($i < GEN_NUMBER_PROPAL && $result >= 0)
{
$db->commit();
print " OK with ref ".$object->ref."\n";
}
else
{
} else {
print " KO\n";
$db->rollback();
dol_print_error($db, $object->error);
}
}
else
{
} else {
dol_print_error($db, $object->error);
}
}

View File

@ -136,9 +136,7 @@ for ($s = 0 ; $s < GEN_NUMBER_SOCIETE ; $s++)
}
print "Company ".$s." created nom=".$soc->name."\n";
}
else
{
} else {
print "Error: ".$soc->error."\n";
}
}

View File

@ -163,9 +163,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in create result code = ".$ret." - ".$produit->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - Creation OK with ref ".$produit->ref." - id = ".$ret;
}
@ -180,9 +178,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in updatePrice result code = ".$ret1." ".$ret2." - ".$produit->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - updatePrice OK";
}
}
@ -200,9 +196,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in setMultiLangs result code = ".$ret." - ".$produit->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - setMultiLangs OK";
}
}
@ -227,9 +221,7 @@ if ($mode != 'confirmforced' && ($error || $mode != 'confirm'))
{
print "Rollback any changes.\n";
$db->rollback();
}
else
{
} else {
print "Commit all changes.\n";
$db->commit();
}

View File

@ -181,9 +181,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in create result code = ".$ret." - ".$object->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - Creation OK with name ".$object->name." - id = ".$ret;
}
}
@ -212,9 +210,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in create link with sale representative result code = ".$result." - ".$object->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - create link sale representative OK";
}
}
@ -243,9 +239,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in create contact result code = ".$ret1." ".$ret2." - ".$object->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - create contact OK";
}
}
@ -277,9 +271,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in create contact result code = ".$ret1." ".$ret2." - ".$object->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - create contact OK";
}
}
@ -305,9 +297,7 @@ if ($mode != 'confirmforced' && ($error || $mode != 'confirm'))
{
print "Rollback any changes.\n";
$db->rollback();
}
else
{
} else {
print "Commit all changes.\n";
$db->commit();
}

View File

@ -142,9 +142,7 @@ while ($fields=fgetcsv($fhandle, $linelength, $delimiter, $enclosure, $escape))
{
print " - Error in create result code = ".$ret." - ".$object->errorsToString();
$errorrecord++;
}
else
{
} else {
print " - Creation OK with login ".$object->login." - id = ".$ret;
}
@ -168,9 +166,7 @@ if ($mode != 'confirmforced' && ($error || $mode != 'confirm'))
{
print "Rollback any changes.\n";
$db->rollback();
}
else
{
} else {
print "Commit all changes.\n";
$db->commit();
}

View File

@ -26,7 +26,7 @@
$sapi_type = php_sapi_name();
$script_file = basename(__FILE__);
$path=dirname(__FILE__).'/';
$path=__DIR__.'/';
// Test si mode batch
if (substr($sapi_type, 0, 3) == 'cgi') {
@ -120,8 +120,8 @@ $sqls=array(
"DELETE FROM ".MAIN_DB_PREFIX."expedition where date_creation < '__DATE__'",
),
'delivery'=>array(
"DELETE FROM ".MAIN_DB_PREFIX."livraisondet WHERE fk_livraison IN (select rowid FROM ".MAIN_DB_PREFIX."livraison where date_creation < '__DATE__')",
"DELETE FROM ".MAIN_DB_PREFIX."livraison where date_creation < '__DATE__'",
"DELETE FROM ".MAIN_DB_PREFIX."deliverydet WHERE fk_delivery IN (select rowid FROM ".MAIN_DB_PREFIX."delivery where date_creation < '__DATE__')",
"DELETE FROM ".MAIN_DB_PREFIX."delivery where date_creation < '__DATE__'",
),
'contract'=>array(
"DELETE FROM ".MAIN_DB_PREFIX."contratdet_extrafields WHERE fk_object IN (select rowid FROM ".MAIN_DB_PREFIX."contratdet WHERE fk_contrat IN (select rowid FROM ".MAIN_DB_PREFIX."contrat where datec < '__DATE__'))",
@ -198,7 +198,7 @@ if (empty($option))
if ($option != 'all')
{
$listofoptions=explode(',', $option);
foreach($listofoptions as $cursoroption)
foreach ($listofoptions as $cursoroption)
{
if (! in_array($cursoroption, array_keys($sqls))) {
print "Usage: $script_file (test|confirm) (all|option) (all|YYYY-MM-DD) [dbtype dbhost dbuser dbpassword dbname dbport]\n";
@ -264,7 +264,7 @@ function processfamily($family, $date)
global $db, $sqls;
$error=0;
foreach($sqls[$family] as $sql)
foreach ($sqls[$family] as $sql)
{
if (preg_match('/^@/', $sql))
{
@ -302,10 +302,10 @@ function processfamily($family, $date)
$db->begin();
$listofoptions=explode(',', $option);
foreach($listofoptions as $cursoroption)
foreach ($listofoptions as $cursoroption)
{
$oldfamily='';
foreach($sqls as $family => $familysql)
foreach ($sqls as $family => $familysql)
{
if ($cursoroption && $cursoroption != 'all' && $cursoroption != $family) continue;
@ -325,9 +325,7 @@ if ($error || $mode != 'confirm')
{
print "\nRollback any changes.\n";
$db->rollback();
}
else
{
} else {
print "Commit all changes.\n";
$db->commit();
}

View File

@ -69,6 +69,7 @@ then
255)
exit;;
esac
rm $fichtemp
# ----------------------------- database name
DIALOG=${DIALOG=dialog}
@ -86,6 +87,7 @@ then
255)
exit;;
esac
rm $fichtemp
# ---------------------------- database port
DIALOG=${DIALOG=dialog}
@ -104,6 +106,7 @@ then
255)
exit;;
esac
rm $fichtemp
# ---------------------------- compte admin mysql
DIALOG=${DIALOG=dialog}
@ -122,6 +125,7 @@ then
255)
exit;;
esac
rm $fichtemp
# ---------------------------- mot de passe admin mysql
DIALOG=${DIALOG=dialog}
@ -140,6 +144,7 @@ then
255)
exit;;
esac
rm $fichtemp
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" | sed -e 's/"//g' `

166
dev/initdemo/initdemopassword.sh Executable file
View File

@ -0,0 +1,166 @@
#!/bin/sh
#------------------------------------------------------
# Script to reinit admin password.
# Note: "dialog" tool need to be available if no parameter provided.
#
# Laurent Destailleur - eldy@users.sourceforge.net
#------------------------------------------------------
# Usage: initdemopassword.sh confirm
# usage: initdemopassword.sh confirm base port login pass
#------------------------------------------------------
export mydir=`echo "$0" | sed -e 's/initdemopassword.sh//'`;
if [ "x$mydir" = 'x' -o "x$mydir" = 'x./' ]
then
export mydir="."
fi
export id=`id -u`;
# ----------------------------- check if root
if [ "x$id" != "x0" -a "x$id" != "x1001" ]
then
echo "Script must be ran as root"
exit
fi
# ----------------------------- command line params
confirm=$1;
base=$2;
port=$3;
demologin=$4;
demopass=$5;
# ----------------------------- check params
if [ "x$confirm" != "xconfirm" ]
then
echo "----- $0 -----"
echo "Usage: initdemopassword.sh confirm [base port login pass]"
exit
fi
# ----------------------------- if no params on command line
if [ "x$demopass" = "x" ]
then
export dumpfile=`ls -v $mydir/mysqldump_dolibarr_*.sql | tail -n 1`
export dumpfile=`basename $dumpfile`
# ----------------------------- database name
DIALOG=${DIALOG=dialog}
DIALOG="$DIALOG --ascii-lines"
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 "Mysql database name :" 16 55 dolibarrdemo 2> $fichtemp
valret=$?
case $valret in
0)
base=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
rm $fichtemp
# ---------------------------- database port
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 "Mysql port (ex: 3306):" 16 55 3306 2> $fichtemp
valret=$?
case $valret in
0)
port=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
rm $fichtemp
# ----------------------------- demo login
DIALOG=${DIALOG=dialog}
DIALOG="$DIALOG --ascii-lines"
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
trap "rm -f $fichtemp" 0 1 2 5 15
$DIALOG --title "Reset login password" --clear \
--inputbox "Login to reset :" 16 55 dolibarrdemologin 2> $fichtemp
valret=$?
case $valret in
0)
demologin=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
rm fichtemp
# ----------------------------- demo pass
DIALOG=${DIALOG=dialog}
DIALOG="$DIALOG --ascii-lines"
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
trap "rm -f $fichtemp" 0 1 2 5 15
$DIALOG --title "Reset login password" --clear \
--inputbox "Pass to set :" 16 55 dolibarrdemopass 2> $fichtemp
valret=$?
case $valret in
0)
demopass=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
rm fichtemp
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" | sed -e 's/"//g' `
# ---------------------------- confirmation
DIALOG=${DIALOG=dialog}
$DIALOG --title "Init demo login with demo values" --clear \
--yesno "Do you confirm ? \n Mysql database : '$base' \n Mysql port : '$port' \n Demo login: '$demologin' \n Demo password : '$demopass'" 15 55
case $? in
0) echo "Ok, start process...";;
1) exit;;
255) exit;;
esac
fi
# ---------------------------- run sql file
if [ "x$passwd" != "x" ]
then
export passwd="-p$passwd"
fi
#echo "mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile"
#mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile
echo "echo \"UPDATE llx_user SET pass_crypted = MD5('$demopass') WHERE login = '$demologin';\" | mysql -P$port $base"
echo "UPDATE llx_user SET pass_crypted = MD5('$demopass') WHERE login = '$demologin';" | mysql -P$port $base
export res=$?
if [ $res -ne 0 ]; then
echo "Error to execute sql with mysql -P$port -u$admin -p***** $base"
exit
fi
if [ "x$res" = "x0" ]
then
echo "Success, file successfully loaded."
else
echo "Error, load failed."
fi
echo

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -95,8 +95,7 @@ if ($connection)
dol_syslog("Could not authenticate with username ".$login." . and password ".preg_replace('/./', '*', $password), LOG_ERR);
exit(-5);
}
else
{
else {
//$stream = ssh2_exec($connection, '/usr/bin/php -i');
/*
print "Generate dump ".$filesys1.'.bz2'."\n";
@ -125,14 +124,13 @@ if ($connection)
$return_var=0;
print strftime("%Y%m%d-%H%M%S").' '.$fullcommand."\n";
exec($fullcommand, $output, $return_var);
foreach($output as $line) print $line."\n";
foreach ($output as $line) print $line."\n";
//ssh2_sftp_unlink($sftp, $fileinstalllock);
//print $output;
}
}
else
{
else {
print 'Failed to connect to ssh2 to '.$server;
exit(-6);
}

View File

@ -87,7 +87,7 @@ while ($year <= $currentyear)
if ($delta1)
{
foreach($tables as $tablekey => $tableval)
foreach ($tables as $tablekey => $tableval)
{
print "Correct ".$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)";
@ -105,7 +105,7 @@ while ($year <= $currentyear)
print ".";
$sql2="UPDATE ".MAIN_DB_PREFIX.$tablekey." set ";
$j=0;
foreach($tableval as $field)
foreach ($tableval as $field)
{
if ($j) $sql2.=", ";
$sql2.= $field." = ".$db->ifsql("DATE_ADD(".$field.", INTERVAL ".$delta1." YEAR) > NOW()", "DATE_ADD(".$field.", INTERVAL ".$delta2." YEAR)", "DATE_ADD(".$field.", INTERVAL ".$delta1." YEAR)");

View File

@ -17,6 +17,7 @@
<exclude-pattern type="relative">*/nltechno*</exclude-pattern>
<exclude-pattern type="relative">*/htdocs/includes</exclude-pattern>
<exclude-pattern type="relative">*/htdocs/includes</exclude-pattern>
<exclude-pattern type="relative">.git</exclude-pattern>
<!-- List of all tests -->
@ -27,7 +28,7 @@
<!-- Rules from Generic Standard -->
<!-- We want to allow empty statement: It allows to put some code comments into the else for examples -->
<rule ref="Generic.CodeAnalysis.EmptyStatement">
<exclude name="Generic.CodeAnalysis.EmptyStatement.DetectedIf"/>
@ -101,7 +102,7 @@
<property name="error" value="false"/>
</properties>
</rule>
-->
-->
<!-- We want to allow 'if () { ...small code... }' on same line for better code compacity and readability -->
<rule ref="Generic.Formatting.DisallowMultipleStatements">
<severity>0</severity>
@ -117,7 +118,7 @@
</properties>
</rule>
-->
<rule ref="Generic.Formatting.SpaceAfterCast" />
<rule ref="Generic.Functions.CallTimePassByReference" />
@ -188,8 +189,8 @@
</rule>
<!-- Check for duplicate class names -->
<!-- Disabled: We need this for dependency injection.
<rule ref="Generic.Classes.DuplicateClassName" />
<!-- Disabled: We need this for dependency injection.
<rule ref="Generic.Classes.DuplicateClassName" />
-->
@ -213,6 +214,10 @@
<rule ref="Squiz.WhiteSpace.ControlStructureSpacing.SpacingAfterOpen" />
<rule ref="Squiz.WhiteSpace.ControlStructureSpacing.SpacingBeforeClose" />
<!-- <rule ref="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseParenthesis" /> -->
<!-- <rule ref="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace" /> -->
<rule ref="Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword" />
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceAfterOpen" />
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration.SpaceBeforeClose" />
@ -309,16 +314,16 @@
<rule ref="PEAR.Files.IncludingFile.UseInclude">
<severity>0</severity>
</rule>
<!-- We disable this. We must be allowed to use strict require instead of non strict include anywhere -->
<rule ref="PEAR.Files.IncludingFile.UseIncludeOnce">
<severity>0</severity>
</rule>
<rule ref="PEAR.Files.IncludingFile.UseRequire">
<severity>0</severity>
</rule>
<!-- We disable this: We want to allow include_once -->
<rule ref="PEAR.Files.IncludingFile.UseRequireOnce">
<severity>0</severity>
@ -332,7 +337,7 @@
<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
<severity>0</severity>
</rule>
<!-- We disable this: We want to allow small function on 1 line -->
<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
<severity>0</severity>
@ -385,7 +390,7 @@
<!--<rule ref="PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps">
<severity>0</severity>
</rule>-->
<!-- We disable this: We don't want to have private methods prefixed with an underscore -->
<rule ref="PEAR.NamingConventions.ValidFunctionName.PrivateNoUnderscore">
<severity>0</severity>
@ -426,5 +431,5 @@
<rule ref="PSR2.Classes.PropertyDeclaration.VarUsed" />
<!-- The closing ?> tag MUST be omitted from files containing only PHP. -->
<rule ref="PSR2.Files.ClosingTag"/>
</ruleset>

View File

@ -76,14 +76,12 @@ function getfieldname($l)
if (preg_match("/`(.*)`/", $l, $regs)) {
if ($regs[1])
return $regs[1];
else
return null;
else return null;
} // if its not in quotes, then it should (we hope!) be the first "word" on the line, up to the first space.
elseif (preg_match("/([^\ ]*)/", trim($l), $regs)) {
if ($regs[1])
return $regs[1];
else
return null;
else return null;
}
}
@ -102,8 +100,7 @@ function formatsize($s)
return sprintf("%.1f", round($s / 1024, 1)) . "K";
elseif ($s < pow(2, 30))
return sprintf("%.1f", round($s / 1024 / 1024, 1)) . "M";
else
return sprintf("%.1f", round($s / 1024 / 1024 / 1024, 1)) . "G";
else return sprintf("%.1f", round($s / 1024 / 1024 / 1024, 1)) . "G";
}
/**
@ -146,8 +143,7 @@ function pg2mysql_large($infilename, $outfilename)
if ($c % 2 != 0) {
if ($inquotes)
$inquotes = false;
else
$inquotes = true;
else $inquotes = true;
}
if ($linenum % 10000 == 0) {
@ -329,8 +325,7 @@ function pg2mysql(&$input, &$arrayofprimaryalreadyintabledef, $header = true)
$num = $regs[1];
if ($num <= 255)
$line = preg_replace("/ character varying\([0-9]*\)/", " varchar($num)", $line);
else
$line = preg_replace("/ character varying\([0-9]*\)/", " text", $line);
else $line = preg_replace("/ character varying\([0-9]*\)/", " text", $line);
}
// character varying with no size, we will default to varchar(255)
if (preg_match("/ character varying/", $line)) {
@ -352,8 +347,7 @@ function pg2mysql(&$input, &$arrayofprimaryalreadyintabledef, $header = true)
$num = $regs[1];
if ($num <= 255)
$line = preg_replace("/ character\([0-9]*\)/", " varchar($num)", $line);
else
$line = preg_replace("/ character\([0-9]*\)/", " text", $line);
else $line = preg_replace("/ character\([0-9]*\)/", " text", $line);
}
// timestamps
$line = str_replace(" timestamp with time zone", " datetime", $line);
@ -363,8 +357,8 @@ function pg2mysql(&$input, &$arrayofprimaryalreadyintabledef, $header = true)
$line = str_replace(" time with time zone", " time", $line);
$line = str_replace(" time without time zone", " time", $line);
$line = str_replace(" timestamp DEFAULT now()", " timestamp DEFAULT CURRENT_TIMESTAMP", $line);
$line = str_replace(" timestamp without time zone DEFAULT now()", " timestamp DEFAULT CURRENT_TIMESTAMP", $line);
$line = str_replace(" timestamp DEFAULT now()", " timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", $line);
$line = str_replace(" timestamp without time zone DEFAULT now()", " timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", $line);
if (strstr($line, "auto_increment") || preg_match('/ rowid int/', $line) || preg_match('/ id int/', $line)) {
$field = getfieldname($line);
@ -465,8 +459,7 @@ function pg2mysql(&$input, &$arrayofprimaryalreadyintabledef, $header = true)
if ($c % 2 != 0) {
if ($inquotes)
$inquotes = false;
else
$inquotes = true;
else $inquotes = true;
// echo "inquotes=$inquotes\n";
}
} while (substr($lines[$linenumber], - 3, - 1) != ");" || $inquotes);

21
dev/tools/test/testperf.php Executable file
View File

@ -0,0 +1,21 @@
<?php
$a = microtime(true);
$i = 0;
while ($i < 1000000)
{
$key = '1234567890111213141516171819'.$i;
if ($i == 1000) $key = 'MAIN_MODULE_AAAAAiiiiiiiiiiiiiiiiiiiiiiiiiiiii';
//if (preg_match('/^MAIN_MODULE_/', $key)) {
//if (substr($key, 0, 12) == 'MAIN_MODULE_') {
if (strpos($key, 'MAIN_MODULE_') === 0) {
print "Found\n";
}
$i++;
}
$b = microtime(true);
print $b - $a."\n";

View File

@ -77,7 +77,7 @@ class autoTranslator
$files = $this->getTranslationFilesArray($this->_refLang);
$counter = 1;
foreach($files as $file)
foreach ($files as $file)
{
if ($this->_limittofile && $this->_limittofile != $file) continue;
$counter++;
@ -94,7 +94,7 @@ class autoTranslator
// If we must process all languages
$arraytmp=dol_dir_list($this->_langDir, 'directories', 0);
foreach($arraytmp as $dirtmp)
foreach ($arraytmp as $dirtmp)
{
if ($dirtmp['name'] === $this->_refLang) continue; // We discard source language
$tmppart=explode('_', $dirtmp['name']);
@ -112,7 +112,7 @@ class autoTranslator
}
// Process translation of source file for each target languages
foreach($targetlangs as $my_destlang)
foreach ($targetlangs as $my_destlang)
{
$this->_translatedFiles = array();
@ -124,15 +124,14 @@ class autoTranslator
echo "File not found: " . $destPath . ". We generate it.<br>\n";
$this->createTranslationFile($destPath, $my_destlang);
}
else
{
else {
echo "Updating file: " . $destPath . "<br>\n";
}
// Translate lines
$fileContentDest = file($destPath, FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$newlines=0;
foreach($fileContent as $line){
foreach ($fileContent as $line){
$key = $this->getLineKey($line);
$value = $this->getLineValue($line);
if ($key && $value)
@ -167,7 +166,7 @@ class autoTranslator
fwrite($fp, "\n");
fwrite($fp, "// START - Lines generated via autotranslator.php tool (".$this->_time.").\n");
fwrite($fp, "// Reference language: ".$this->_refLang." -> ".$my_destlang."\n");
foreach($this->_translatedFiles[$file] as $line) {
foreach ($this->_translatedFiles[$file] as $line) {
fwrite($fp, $line . "\n");
}
fwrite($fp, "// STOP - Lines generated via autotranslator.php tool (".$this->_time_end.").\n");
@ -209,7 +208,7 @@ class autoTranslator
{
//print "key =".$key."\n";
foreach($content as $line) {
foreach ($content as $line) {
$destKey = $this->getLineKey($line);
$destValue = $this->getLineValue($line);
// If translated return
@ -273,8 +272,8 @@ class autoTranslator
private function getTranslationFilesArray($lang)
{
$dir = new DirectoryIterator($this->_langDir.$lang);
while($dir->valid()) {
if(!$dir->isDot() && $dir->isFile() && ! preg_match('/^\./', $dir->getFilename())) {
while ($dir->valid()) {
if (!$dir->isDot() && $dir->isFile() && ! preg_match('/^\./', $dir->getFilename())) {
$files[] = $dir->getFilename();
}
$dir->next();

View File

@ -360,16 +360,14 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a
$unused[$value] = $line;
echo $line; // $trad contains the \n
}
else
{
else {
unset($output);
//print 'X'.$output.'Y';
}
}
if (empty($unused)) print "No string not used found.\n";
else
{
else {
$filetosave='/tmp/'.($argv[2]?$argv[2]:"").'notused.lang';
print "Strings in en_US that are never used are saved into file ".$filetosave.":\n";
file_put_contents($filetosave, implode("", $unused));

View File

@ -80,8 +80,8 @@ $aEnglish = array();
if ($filesToProcess == 'all')
{
$dir = new DirectoryIterator('htdocs/langs/'.$lPrimary);
while($dir->valid()) {
if(!$dir->isDot() && $dir->isFile() && ! preg_match('/^\./', $dir->getFilename())) {
while ($dir->valid()) {
if (!$dir->isDot() && $dir->isFile() && ! preg_match('/^\./', $dir->getFilename())) {
$files[] = $dir->getFilename();
}
$dir->next();
@ -94,7 +94,7 @@ else $filesToProcess=explode(',', $filesToProcess);
// Loop on each file
foreach($filesToProcess as $fileToProcess)
foreach ($filesToProcess as $fileToProcess)
{
$lPrimaryFile = 'htdocs/langs/'.$lPrimary.'/'.$fileToProcess;
$lSecondaryFile = 'htdocs/langs/'.$lSecondary.'/'.$fileToProcess;
@ -285,8 +285,7 @@ foreach($filesToProcess as $fileToProcess)
print "Key $key is redundant in file $lPrimaryFile (line: $cnt) - Already found into ".$fileFirstFound[$key]." (line: ".$lineFirstFound[$key].").\n";
continue;
}
else
{
else {
$fileFirstFound[$key] = $fileToProcess;
$lineFirstFound[$key] = $cnt;
}

BIN
doc/images/invoice.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -54,8 +54,8 @@ if (!$user->rights->accounting->chartofaccount) accessforbidden();
// Load variable for pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'alpha');
$sortorder = GETPOST('sortorder', 'alpha');
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $limit * $page;
@ -65,12 +65,12 @@ if (!$sortfield) $sortfield = "aa.account_number";
if (!$sortorder) $sortorder = "ASC";
$arrayfields = array(
'aa.account_number'=>array('label'=>$langs->trans("AccountNumber"), 'checked'=>1),
'aa.label'=>array('label'=>$langs->trans("Label"), 'checked'=>1),
'aa.account_number'=>array('label'=>$langs->trans("AccountNumber"), 'checked'=>1),
'aa.label'=>array('label'=>$langs->trans("Label"), 'checked'=>1),
'aa.labelshort'=>array('label'=>$langs->trans("LabelToShow"), 'checked'=>1),
'aa.account_parent'=>array('label'=>$langs->trans("Accountparent"), 'checked'=>1),
'aa.pcg_type'=>array('label'=>$langs->trans("Pcgtype"), 'checked'=>1, 'help'=>'PcgtypeDesc'),
'aa.reconcilable'=>array('label'=>$langs->trans("Reconcilable"), 'checked'=>1),
'aa.pcg_type'=>array('label'=>$langs->trans("Pcgtype"), 'checked'=>1, 'help'=>'PcgtypeDesc'),
'aa.reconcilable'=>array('label'=>$langs->trans("Reconcilable"), 'checked'=>1),
'aa.active'=>array('label'=>$langs->trans("Activated"), 'checked'=>1)
);
@ -93,24 +93,24 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
if (empty($reshook))
{
if (!empty($cancel)) $action = '';
if (!empty($cancel)) $action = '';
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers
{
$search_account = "";
$search_label = "";
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers
{
$search_account = "";
$search_label = "";
$search_labelshort = "";
$search_accountparent = "";
$search_pcgtype = "";
$search_pcgtype = "";
$search_array_options = array();
}
if ((GETPOST('valid_change_chart', 'alpha') && GETPOST('chartofaccounts', 'int') > 0) // explicit click on button 'Change and load' with js on
|| (GETPOST('chartofaccounts', 'int') > 0 && GETPOST('chartofaccounts', 'int') != $conf->global->CHARTOFACCOUNTS)) // a submit of form is done and chartofaccounts combo has been modified
{
if ($chartofaccounts > 0)
{
}
if ((GETPOST('valid_change_chart', 'alpha') && GETPOST('chartofaccounts', 'int') > 0) // explicit click on button 'Change and load' with js on
|| (GETPOST('chartofaccounts', 'int') > 0 && GETPOST('chartofaccounts', 'int') != $conf->global->CHARTOFACCOUNTS)) // a submit of form is done and chartofaccounts combo has been modified
{
if ($chartofaccounts > 0)
{
// Get language code for this $chartofaccounts
$sql = 'SELECT code FROM '.MAIN_DB_PREFIX.'c_country as c, '.MAIN_DB_PREFIX.'accounting_system as a';
$sql .= ' WHERE c.rowid = a.fk_country AND a.rowid = '.(int) $chartofaccounts;
@ -119,8 +119,7 @@ if (empty($reshook))
{
$obj = $db->fetch_object($resql);
$country_code = $obj->code;
}
else dol_print_error($db);
} else dol_print_error($db);
// Try to load sql file
if ($country_code)
@ -143,41 +142,39 @@ if (empty($reshook))
if ($result > 0)
{
setEventMessages($langs->trans("ChartLoaded"), null, 'mesgs');
}
else
{
} else {
setEventMessages($langs->trans("ErrorDuringChartLoad"), null, 'warnings');
}
}
if (!dolibarr_set_const($db, 'CHARTOFACCOUNTS', $chartofaccounts, 'chaine', 0, '', $conf->entity)) {
$error++;
}
} else {
$error++;
}
}
if (!dolibarr_set_const($db, 'CHARTOFACCOUNTS', $chartofaccounts, 'chaine', 0, '', $conf->entity)) {
$error++;
}
} else {
$error++;
}
}
if ($action == 'disable') {
if ($accounting->fetch($id)) {
$mode = GETPOST('mode', 'int');
$result = $accounting->accountDeactivate($id, $mode);
}
if ($action == 'disable') {
if ($accounting->fetch($id)) {
$mode = GETPOST('mode', 'int');
$result = $accounting->accountDeactivate($id, $mode);
}
$action = 'update';
if ($result < 0) {
setEventMessages($accounting->error, $accounting->errors, 'errors');
}
} elseif ($action == 'enable') {
if ($accounting->fetch($id)) {
$mode = GETPOST('mode', 'int');
$result = $accounting->account_activate($id, $mode);
}
$action = 'update';
if ($result < 0) {
setEventMessages($accounting->error, $accounting->errors, 'errors');
}
}
$action = 'update';
if ($result < 0) {
setEventMessages($accounting->error, $accounting->errors, 'errors');
}
} elseif ($action == 'enable') {
if ($accounting->fetch($id)) {
$mode = GETPOST('mode', 'int');
$result = $accounting->account_activate($id, $mode);
}
$action = 'update';
if ($result < 0) {
setEventMessages($accounting->error, $accounting->errors, 'errors');
}
}
}
@ -233,10 +230,9 @@ if (strlen(trim($search_account))) {
$search_account_tmp_clean = preg_replace('/^\^/', '', $search_account_tmp);
$search_account_clean = preg_replace('/^\^/', '', $search_account);
}
$sql .= " AND (aa.account_number LIKE '".$startchar.$search_account_tmp_clean."'";
$sql .= " OR aa.account_number LIKE '".$startchar.$search_account_clean."%')";
}
else $sql .= natural_search("aa.account_number", $search_account_tmp);
$sql .= " AND (aa.account_number LIKE '".$db->escape($startchar.$search_account_tmp_clean)."'";
$sql .= " OR aa.account_number LIKE '".$db->escape($startchar.$search_account_clean)."%')";
} else $sql .= natural_search("aa.account_number", $search_account_tmp);
}
}
if (strlen(trim($search_label))) $sql .= natural_search("aa.label", $search_label);
@ -267,19 +263,19 @@ if ($resql)
{
$num = $db->num_rows($resql);
$param = '';
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.$contextpage;
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.$limit;
$param = '';
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
if ($search_account) $param .= '&search_account='.urlencode($search_account);
if ($search_label) $param .= '&search_label='.urlencode($search_label);
if ($search_labelshort) $param .= '&search_labelshort='.urlencode($search_labelshort);
if ($search_accountparent > 0 || $search_accountparent == '0') $param .= '&search_accountparent='.urlencode($search_accountparent);
if ($search_pcgtype) $param .= '&search_pcgtype='.urlencode($search_pcgtype);
if ($optioncss != '') $param .= '&optioncss='.$optioncss;
if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss);
if (!empty($conf->use_javascript_ajax))
{
print '<!-- Add javascript to reload page when we click "Change plan" -->
if (!empty($conf->use_javascript_ajax))
{
print '<!-- Add javascript to reload page when we click "Change plan" -->
<script type="text/javascript">
$(document).ready(function () {
$("#change_chart").on("click", function (e) {
@ -289,7 +285,7 @@ if ($resql)
});
});
</script>';
}
}
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
@ -298,65 +294,62 @@ if ($resql)
print '<input type="hidden" name="action" value="list">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="page" value="'.$page.'">';
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
$newcardbutton .= dolGetButtonTitle($langs->trans("New"), $langs->trans("Addanaccount"), 'fa fa-plus-circle', './card.php?action=create');
$newcardbutton .= dolGetButtonTitle($langs->trans("New"), $langs->trans("Addanaccount"), 'fa fa-plus-circle', './card.php?action=create');
print_barre_liste($langs->trans('ListAccounts'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit);
print_barre_liste($langs->trans('ListAccounts'), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit, 0, 0, 1);
// Box to select active chart of account
print $langs->trans("Selectchartofaccounts")." : ";
print '<select class="flat" name="chartofaccounts" id="chartofaccounts">';
$sql = "SELECT a.rowid, a.pcg_version, a.label, a.active, c.code as country_code";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_system as a";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON a.fk_country = c.rowid AND c.active = 1";
$sql .= " WHERE a.active = 1";
dol_syslog('accountancy/admin/account.php $sql='.$sql);
print $sql;
$resqlchart = $db->query($sql);
if ($resqlchart) {
$numbis = $db->num_rows($resqlchart);
$i = 0;
while ($i < $numbis) {
$obj = $db->fetch_object($resqlchart);
print $langs->trans("Selectchartofaccounts")." : ";
print '<select class="flat" name="chartofaccounts" id="chartofaccounts">';
$sql = "SELECT a.rowid, a.pcg_version, a.label, a.active, c.code as country_code";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_system as a";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON a.fk_country = c.rowid AND c.active = 1";
$sql .= " WHERE a.active = 1";
dol_syslog('accountancy/admin/account.php $sql='.$sql);
print $sql;
$resqlchart = $db->query($sql);
if ($resqlchart) {
$numbis = $db->num_rows($resqlchart);
$i = 0;
while ($i < $numbis) {
$obj = $db->fetch_object($resqlchart);
print '<option value="'.$obj->rowid.'"';
print ($pcgver == $obj->rowid) ? ' selected' : '';
print '>'.$obj->pcg_version.' - '.$obj->label.' - ('.$obj->country_code.')</option>';
print '<option value="'.$obj->rowid.'"';
print ($pcgver == $obj->rowid) ? ' selected' : '';
print '>'.$obj->pcg_version.' - '.$obj->label.' - ('.$obj->country_code.')</option>';
$i++;
}
}
else dol_print_error($db);
print "</select>";
print ajax_combobox("chartofaccounts");
print '<input type="'.(empty($conf->use_javascript_ajax) ? 'submit' : 'button').'" class="button" name="change_chart" id="change_chart" value="'.dol_escape_htmltag($langs->trans("ChangeAndLoad")).'">';
$i++;
}
} else dol_print_error($db);
print "</select>";
print ajax_combobox("chartofaccounts");
print '<input type="'.(empty($conf->use_javascript_ajax) ? 'submit' : 'button').'" class="button" name="change_chart" id="change_chart" value="'.dol_escape_htmltag($langs->trans("ChangeAndLoad")).'">';
print '<br>';
print '<br>';
print '<br>';
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
$moreforfilter = '';
$massactionbutton = '';
$moreforfilter = '';
$massactionbutton = '';
print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
// Line for search fields
print '<tr class="liste_titre_filter">';
if (!empty($arrayfields['aa.account_number']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="10" name="search_account" value="'.$search_account.'"></td>';
if (!empty($arrayfields['aa.label']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_label" value="'.$search_label.'"></td>';
if (!empty($arrayfields['aa.labelshort']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_labelshort" value="'.$search_labelshort.'"></td>';
if (!empty($arrayfields['aa.account_number']['checked'])) print '<td class="liste_titre"><input type="text" class="flat width100" name="search_account" value="'.$search_account.'"></td>';
if (!empty($arrayfields['aa.label']['checked'])) print '<td class="liste_titre"><input type="text" class="flat width150" name="search_label" value="'.$search_label.'"></td>';
if (!empty($arrayfields['aa.labelshort']['checked'])) print '<td class="liste_titre"><input type="text" class="flat width100" name="search_labelshort" value="'.$search_labelshort.'"></td>';
if (!empty($arrayfields['aa.account_parent']['checked'])) {
print '<td class="liste_titre">';
print $formaccounting->select_account($search_accountparent, 'search_accountparent', 2);
print '</td>';
}
if (!empty($arrayfields['aa.pcg_type']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="6" name="search_pcgtype" value="'.$search_pcgtype.'"></td>';
if (!empty($arrayfields['aa.pcg_type']['checked'])) print '<td class="liste_titre"><input type="text" class="flat width100" name="search_pcgtype" value="'.$search_pcgtype.'"></td>';
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { if (!empty($arrayfields['aa.reconcilable']['checked'])) print '<td class="liste_titre">&nbsp;</td>'; }
if (!empty($arrayfields['aa.active']['checked'])) print '<td class="liste_titre">&nbsp;</td>';
print '<td class="liste_titre maxwidthsearch">';
@ -365,7 +358,7 @@ if ($resql)
print '</td>';
print '</tr>';
print '<tr class="liste_titre">';
print '<tr class="liste_titre">';
if (!empty($arrayfields['aa.account_number']['checked'])) print_liste_field_titre($arrayfields['aa.account_number']['label'], $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder);
if (!empty($arrayfields['aa.label']['checked'])) print_liste_field_titre($arrayfields['aa.label']['label'], $_SERVER["PHP_SELF"], "aa.label", "", $param, '', $sortfield, $sortorder);
if (!empty($arrayfields['aa.labelshort']['checked'])) print_liste_field_titre($arrayfields['aa.labelshort']['label'], $_SERVER["PHP_SELF"], "aa.labelshort", "", $param, '', $sortfield, $sortorder);
@ -395,7 +388,7 @@ if ($resql)
if (!empty($arrayfields['aa.account_number']['checked']))
{
print "<td>";
print $accountstatic->getNomUrl(1, 0, 0, '', 0, 1);
print $accountstatic->getNomUrl(1, 0, 0, '', 0, 1, 0, 'accountcard');
print "</td>\n";
if (!$i) $totalarray['nbfield']++;
}
@ -421,20 +414,24 @@ if ($resql)
// Account parent
if (!empty($arrayfields['aa.account_parent']['checked']))
{
if (!empty($obj->account_parent))
// Note: obj->account_parent is a foreign key to a rowid. It is field in child table and obj->rowid2 is same, but in parent table.
// So for orphans, obj->account_parent is set but not obj->rowid2
if (!empty($obj->account_parent) && !empty($obj->rowid2))
{
print "<td>";
print '<!-- obj->account_parent = '.$obj->account_parent.' obj->rowid2 = '.$obj->rowid2.' -->';
$accountparent->id = $obj->rowid2;
$accountparent->label = $obj->label2;
$accountparent->account_number = $obj->account_number2;
print "<td>";
$accountparent->account_number = $obj->account_number2; // Sotre an account number for output
print $accountparent->getNomUrl(1);
print "</td>\n";
if (!$i) $totalarray['nbfield']++;
}
else
{
print '<td>&nbsp;</td>';
} else {
print '<td>';
if (!empty($obj->account_parent)) {
print '<!-- Bad value for obj->account_parent = '.$obj->account_parent.': is a rowid that does not exists -->';
}
print '</td>';
if (!$i) $totalarray['nbfield']++;
}
}
@ -488,11 +485,11 @@ if ($resql)
// Action
print '<td class="center">';
if ($user->rights->accounting->chartofaccount) {
print '<a class="editfielda" href="./card.php?action=update&id='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?chartofaccounts='.$object->id).'">';
print '<a class="editfielda" href="./card.php?action=update&token='.newToken().'&id='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?'.$param).'">';
print img_edit();
print '</a>';
print '&nbsp;';
print '<a class="marginleftonly" href="./card.php?action=delete&id='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?chartofaccounts='.$object->id).'">';
print '<a class="marginleftonly" href="./card.php?action=delete&token='.newToken().'&id='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?'.$param).'">';
print img_delete();
print '</a>';
}

View File

@ -228,8 +228,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
{
if ($value == 'price' || preg_match('/^amount/i', $value) || $value == 'taux') {
$_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]], 'MU');
}
elseif ($value == 'entity') {
} elseif ($value == 'entity') {
$_POST[$listfieldvalue[$i]] = $conf->entity;
}
if ($i) $sql .= ",";
@ -245,13 +244,10 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
{
setEventMessages($langs->transnoentities("RecordSaved"), null, 'mesgs');
$_POST = array('id'=>$id); // Clean $_POST array, we keep only
}
else
{
} else {
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
setEventMessages($langs->transnoentities("ErrorRecordAlreadyExists"), null, 'errors');
}
else {
} else {
dol_print_error($db);
}
}
@ -260,8 +256,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
// Si verif ok et action modify, on modifie la ligne
if ($ok && GETPOST('actionmodify', 'alpha'))
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
// Modify entry
$sql = "UPDATE ".$tabname[$id]." SET ";
@ -276,8 +271,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
{
if ($field == 'price' || preg_match('/^amount/i', $field) || $field == 'taux') {
$_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]], 'MU');
}
elseif ($field == 'entity') {
} elseif ($field == 'entity') {
$_POST[$listfieldvalue[$i]] = $conf->entity;
}
if ($i) $sql .= ",";
@ -286,7 +280,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
else $sql .= "'".$db->escape($_POST[$listfieldvalue[$i]])."'";
$i++;
}
$sql .= " WHERE ".$rowidcol." = '".$rowid."'";
$sql .= " WHERE ".$rowidcol." = ".((int) $rowid);
dol_syslog("actionmodify", LOG_DEBUG);
//print $sql;
@ -306,10 +300,9 @@ if (GETPOST('actioncancel', 'alpha'))
if ($action == 'confirm_delete' && $confirm == 'yes') // delete
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
$sql = "DELETE from ".$tabname[$id]." WHERE ".$rowidcol."='".$rowid."'";
$sql = "DELETE from ".$tabname[$id]." WHERE ".$rowidcol." = ".((int) $rowid);
dol_syslog("delete", LOG_DEBUG);
$result = $db->query($sql);
@ -318,9 +311,7 @@ if ($action == 'confirm_delete' && $confirm == 'yes') // delete
if ($db->errno() == 'DB_ERROR_CHILD_EXISTS')
{
setEventMessages($langs->transnoentities("ErrorRecordIsUsedByChild"), null, 'errors');
}
else
{
} else {
dol_print_error($db);
}
}
@ -329,14 +320,12 @@ if ($action == 'confirm_delete' && $confirm == 'yes') // delete
// activate
if ($action == $acts[0])
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
if ($rowid) {
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE ".$rowidcol."='".$rowid."'";
}
elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE code='".$code."'";
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE ".$rowidcol." = ".((int) $rowid);
} elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE code='".$db->escape($code)."'";
}
$result = $db->query($sql);
@ -349,14 +338,12 @@ if ($action == $acts[0])
// disable
if ($action == $acts[1])
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
if ($rowid) {
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE ".$rowidcol."='".$rowid."'";
}
elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE code='".$code."'";
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE ".$rowidcol." = ".((int) $rowid);
} elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE code='".$db->escape($code)."'";
}
$result = $db->query($sql);
@ -369,14 +356,12 @@ if ($action == $acts[1])
// favorite
if ($action == 'activate_favorite')
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
if ($rowid) {
$sql = "UPDATE ".$tabname[$id]." SET favorite = 1 WHERE ".$rowidcol."='".$rowid."'";
}
elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET favorite = 1 WHERE code='".$code."'";
$sql = "UPDATE ".$tabname[$id]." SET favorite = 1 WHERE ".$rowidcol." = ".((int) $rowid);
} elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET favorite = 1 WHERE code='".$db->escape($code)."'";
}
$result = $db->query($sql);
@ -389,14 +374,12 @@ if ($action == 'activate_favorite')
// disable favorite
if ($action == 'disable_favorite')
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
if ($rowid) {
$sql = "UPDATE ".$tabname[$id]." SET favorite = 0 WHERE ".$rowidcol."='".$rowid."'";
}
elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET favorite = 0 WHERE code='".$code."'";
$sql = "UPDATE ".$tabname[$id]." SET favorite = 0 WHERE ".$rowidcol." = ".((int) $rowid);
} elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET favorite = 0 WHERE code='".$db->escape($code)."'";
}
$result = $db->query($sql);
@ -489,13 +472,13 @@ if ($id)
if ($valuetoshow != '') {
print '<td class="'.$class.'">';
if (!empty($tabhelp[$id][$value]) && preg_match('/^http(s*):/i', $tabhelp[$id][$value])) {
print '<a href="'.$tabhelp[$id][$value].'" target="_blank">'.$valuetoshow.' '.img_help(1, $valuetoshow).'</a>';
} elseif (!empty($tabhelp[$id][$value])) {
print $form->textwithpicto($valuetoshow, $tabhelp[$id][$value]);
} else {
print $valuetoshow;
}
if (!empty($tabhelp[$id][$value]) && preg_match('/^http(s*):/i', $tabhelp[$id][$value])) {
print '<a href="'.$tabhelp[$id][$value].'" target="_blank">'.$valuetoshow.' '.img_help(1, $valuetoshow).'</a>';
} elseif (!empty($tabhelp[$id][$value])) {
print $form->textwithpicto($valuetoshow, $tabhelp[$id][$value]);
} else {
print $valuetoshow;
}
print '</td>';
}
if ($fieldlist[$field] == 'libelle' || $fieldlist[$field] == 'label') $alabelisused = 1;
@ -581,9 +564,7 @@ if ($id)
print '<td class="liste_titre">';
print $form->select_country($search_country_id, 'search_country_id', '', 28, 'maxwidth200 maxwidthonsmartphone');
print '</td>';
}
else
{
} else {
print '<td class="liste_titre"></td>';
}
}
@ -629,9 +610,7 @@ if ($id)
print '<td colspan="3" class="right"><a name="'.(!empty($obj->rowid) ? $obj->rowid : $obj->code).'">&nbsp;</a><input type="submit" class="button" name="actionmodify" value="'.$langs->trans("Modify").'">';
print '&nbsp;<input type="submit" class="button" name="actioncancel" value="'.$langs->trans("Cancel").'"></td>';
}
else
{
} else {
$tmpaction = 'view';
$parameters = array('var'=>$var, 'fieldlist'=>$fieldlist, 'tabname'=>$tabname[$id]);
$reshook = $hookmanager->executeHooks('viewDictionaryFieldlist', $parameters, $obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
@ -652,26 +631,20 @@ if ($id)
if ($value == 'element')
{
$valuetoshow = isset($elementList[$valuetoshow]) ? $elementList[$valuetoshow] : $valuetoshow;
}
elseif ($value == 'source')
} elseif ($value == 'source')
{
$valuetoshow = isset($sourceList[$valuetoshow]) ? $sourceList[$valuetoshow] : $valuetoshow;
}
elseif ($valuetoshow == 'all') {
} elseif ($valuetoshow == 'all') {
$valuetoshow = $langs->trans('All');
}
elseif ($fieldlist[$field] == 'country') {
} elseif ($fieldlist[$field] == 'country') {
if (empty($obj->country_code))
{
$valuetoshow = '-';
}
else
{
} else {
$key = $langs->trans("Country".strtoupper($obj->country_code));
$valuetoshow = ($key != "Country".strtoupper($obj->country_code) ? $obj->country_code." - ".$key : $obj->country);
}
}
elseif ($fieldlist[$field] == 'country_id') {
} elseif ($fieldlist[$field] == 'country_id') {
$showfield = 0;
}
@ -696,11 +669,11 @@ if ($id)
print "</td>";
// Modify link
if ($canbemodified) print '<td class="center"><a class="reposition editfielda" href="'.$url.'action=edit">'.img_edit().'</a></td>';
if ($canbemodified) print '<td class="center"><a class="reposition editfielda" href="'.$url.'action=edit&token='.newToken().'">'.img_edit().'</a></td>';
else print '<td>&nbsp;</td>';
// Delete link
if ($iserasable) print '<td class="center"><a href="'.$url.'action=delete">'.img_delete().'</a></td>';
if ($iserasable) print '<td class="center"><a href="'.$url.'action=delete&token='.newToken().'">'.img_delete().'</a></td>';
else print '<td>&nbsp;</td>';
print "</tr>\n";
@ -708,8 +681,7 @@ if ($id)
$i++;
}
}
}
else {
} else {
dol_print_error($db);
}
@ -761,8 +733,7 @@ function fieldListAccountModel($fieldlist, $obj = '', $tabname = '', $context =
$fieldname = 'country';
print $form->select_country((!empty($obj->country_code) ? $obj->country_code : (!empty($obj->country) ? $obj->country : '')), $fieldname, '', 28, 'maxwidth200 maxwidthonsmartphone');
print '</td>';
}
elseif ($fieldlist[$field] == 'country_id')
} elseif ($fieldlist[$field] == 'country_id')
{
if (!in_array('country', $fieldlist)) // If there is already a field country, we don't show country_id (avoid duplicate)
{
@ -771,8 +742,7 @@ function fieldListAccountModel($fieldlist, $obj = '', $tabname = '', $context =
print '<input type="hidden" name="'.$fieldlist[$field].'" value="'.$country_id.'">';
print '</td>';
}
}
elseif ($fieldlist[$field] == 'type_cdr') {
} elseif ($fieldlist[$field] == 'type_cdr') {
if ($fieldlist[$field] == 'type_cdr') print '<td class="center">';
else print '<td>';
if ($fieldlist[$field] == 'type_cdr') {
@ -781,12 +751,9 @@ function fieldListAccountModel($fieldlist, $obj = '', $tabname = '', $context =
print $form->selectyesno($fieldlist[$field], (!empty($obj->{$fieldlist[$field]}) ? $obj->{$fieldlist[$field]}:''), 1);
}
print '</td>';
}
elseif ($fieldlist[$field] == 'code' && isset($obj->{$fieldlist[$field]})) {
} elseif ($fieldlist[$field] == 'code' && isset($obj->{$fieldlist[$field]})) {
print '<td><input type="text" class="flat" value="'.(!empty($obj->{$fieldlist[$field]}) ? $obj->{$fieldlist[$field]}:'').'" size="10" name="'.$fieldlist[$field].'"></td>';
}
else
{
} else {
print '<td>';
$size = ''; $class = '';
if ($fieldlist[$field] == 'code') $size = 'size="8" ';

View File

@ -44,6 +44,8 @@ $cancel = GETPOST('cancel', 'alpha');
$accountingaccount = GETPOST('accountingaccount', 'alpha');
// Security check
if ($user->socid > 0) accessforbidden();
if (!$user->rights->accounting->chartofaccount) accessforbidden();
$object = new AccountingAccount($db);
@ -75,18 +77,14 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount)
if ($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
{
$account_number = GETPOST('account_number', 'string');
}
else
{
} else {
$account_number = clean_account(GETPOST('account_number', 'string'));
}
if (GETPOST('account_parent', 'int') <= 0)
{
$account_parent = 0;
}
else
{
} else {
$account_parent = GETPOST('account_parent', 'int');
}
@ -104,24 +102,22 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount)
$error = 1;
$action = "create";
setEventMessages($object->error, $object->errors, 'errors');
}
elseif ($res == - 4) {
} elseif ($res == - 4) {
$error = 2;
$action = "create";
setEventMessages($object->error, $object->errors, 'errors');
}
elseif ($res < 0)
} elseif ($res < 0)
{
$error++;
setEventMessages($object->error, $object->errors, 'errors');
$action = "create";
$error++;
setEventMessages($object->error, $object->errors, 'errors');
$action = "create";
}
if (!$error)
{
setEventMessages("RecordCreatedSuccessfully", null, 'mesgs');
$urltogo = $backtopage ? $backtopage : dol_buildpath('/accountancy/admin/account.php', 1);
header("Location: ".$urltogo);
exit;
setEventMessages("RecordCreatedSuccessfully", null, 'mesgs');
$urltogo = $backtopage ? $backtopage : dol_buildpath('/accountancy/admin/account.php', 1);
header("Location: ".$urltogo);
exit;
}
}
} elseif ($action == 'edit' && $user->rights->accounting->chartofaccount) {
@ -140,18 +136,14 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount)
if ($conf->global->ACCOUNTING_MANAGE_ZERO == 1)
{
$account_number = GETPOST('account_number', 'string');
}
else
{
} else {
$account_number = clean_account(GETPOST('account_number', 'string'));
}
if (GETPOST('account_parent', 'int') <= 0)
{
$account_parent = 0;
}
else
{
} else {
$account_parent = GETPOST('account_parent', 'int');
}
@ -166,15 +158,15 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount)
$result = $object->update($user);
if ($result > 0) {
$urltogo = $backtopage ? $backtopage : ($_SERVER["PHP_SELF"]."?id=".$id);
header("Location: ".$urltogo);
$urltogo = $backtopage ? $backtopage : ($_SERVER["PHP_SELF"]."?id=".$id);
header("Location: ".$urltogo);
exit();
} else {
$mesg = $object->error;
}
} else {
$urltogo = $backtopage ? $backtopage : ($_SERVER["PHP_SELF"]."?id=".$id);
header("Location: ".$urltogo);
$urltogo = $backtopage ? $backtopage : ($_SERVER["PHP_SELF"]."?id=".$id);
header("Location: ".$urltogo);
exit();
}
} elseif ($action == 'delete' && $user->rights->accounting->chartofaccount) {
@ -218,7 +210,7 @@ if ($action == 'create') {
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="add">';
dol_fiche_head();
print dol_get_fiche_head();
print '<table class="border centpercent">';
@ -260,7 +252,7 @@ if ($action == 'create') {
print '</table>';
dol_fiche_end();
print dol_get_fiche_end();
print '<div class="center">';
print '<input class="button" type="submit" value="'.$langs->trans("Save").'">';
@ -269,8 +261,7 @@ if ($action == 'create') {
print '</div>';
print '</form>';
}
elseif ($id > 0 || $ref) {
} elseif ($id > 0 || $ref) {
$result = $object->fetch($id, $ref, 1);
if ($result > 0) {
@ -281,7 +272,7 @@ elseif ($id > 0 || $ref) {
// Edit mode
if ($action == 'update')
{
dol_fiche_head($head, 'card', $langs->trans('AccountAccounting'), 0, 'billr');
print dol_get_fiche_head($head, 'card', $langs->trans('AccountAccounting'), 0, 'billr');
print '<form name="update" action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
print '<input type="hidden" name="token" value="'.newToken().'">';
@ -323,7 +314,7 @@ elseif ($id > 0 || $ref) {
print '</table>';
dol_fiche_end();
print dol_get_fiche_end();
print '<div class="center">';
print '<input type="submit" class="button" value="'.$langs->trans("Save").'">';
@ -336,7 +327,7 @@ elseif ($id > 0 || $ref) {
// View mode
$linkback = '<a href="'.DOL_URL_ROOT.'/accountancy/admin/account.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
dol_fiche_head($head, 'card', $langs->trans('AccountAccounting'), -1, 'billr');
print dol_get_fiche_head($head, 'card', $langs->trans('AccountAccounting'), -1, 'billr');
dol_banner_tab($object, 'ref', $linkback, 1, 'account_number', 'ref');
@ -373,7 +364,7 @@ elseif ($id > 0 || $ref) {
print '</div>';
dol_fiche_end();
print dol_get_fiche_end();
/*
* Actions buttons
@ -381,13 +372,13 @@ elseif ($id > 0 || $ref) {
print '<div class="tabsAction">';
if (!empty($user->rights->accounting->chartofaccount)) {
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=update&id='.$id.'">'.$langs->trans('Modify').'</a>';
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=update&token='.newToken().'&id='.$id.'">'.$langs->trans('Modify').'</a>';
} else {
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NotAllowed")).'">'.$langs->trans('Modify').'</a>';
}
if (!empty($user->rights->accounting->chartofaccount)) {
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?action=delete&id='.$id.'">'.$langs->trans('Delete').'</a>';
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?action=delete&token='.newToken().'&id='.$id.'">'.$langs->trans('Delete').'</a>';
} else {
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NotAllowed")).'">'.$langs->trans('Delete').'</a>';
}

View File

@ -102,7 +102,7 @@ print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="display">';
dol_fiche_head();
print dol_get_fiche_head();
print '<table class="border centpercent">';
@ -146,7 +146,7 @@ if (!empty($cat_id))
print '</table>';
dol_fiche_end();
print dol_get_fiche_end();
print '</form>';
@ -170,9 +170,9 @@ if ($action == 'display' || $action == 'delete') {
print '<td>'.length_accountg($cpt->account_number).'</td>';
print '<td>'.$cpt->label.'</td>';
print '<td class="right">';
print "<a href= '".$_SERVER['PHP_SELF']."?action=delete&account_category=".$cat_id."&cptid=".$cpt->rowid."'>";
print '<a href="'.$_SERVER['PHP_SELF'].'?action=delete&token='.newToken().'&account_category='.$cat_id.'&cptid='.$cpt->rowid.'">';
print $langs->trans("DeleteFromCat");
print img_picto($langs->trans("DeleteFromCat"), 'unlink');
print img_picto($langs->trans("DeleteFromCat"), 'unlink', 'class="paddingleft"');
print "</a>";
print "</td>";
print "</tr>\n";

File diff suppressed because it is too large Load Diff

View File

@ -39,8 +39,8 @@ $action = GETPOST('action', 'aZ09');
$list_account_main = array(
'ACCOUNTING_RESULT_PROFIT',
'ACCOUNTING_RESULT_LOSS'
'ACCOUNTING_RESULT_PROFIT',
'ACCOUNTING_RESULT_LOSS'
);
/*
@ -48,17 +48,17 @@ $list_account_main = array(
*/
if ($action == 'update') {
$error = 0;
$error = 0;
$defaultjournal = GETPOST('ACCOUNTING_CLOSURE_DEFAULT_JOURNAL', 'alpha');
$defaultjournal = GETPOST('ACCOUNTING_CLOSURE_DEFAULT_JOURNAL', 'alpha');
if (!empty($defaultjournal)) {
if (!dolibarr_set_const($db, 'ACCOUNTING_CLOSURE_DEFAULT_JOURNAL', $defaultjournal, 'chaine', 0, '', $conf->entity)) {
$error++;
}
} else {
$error++;
}
if (!empty($defaultjournal)) {
if (!dolibarr_set_const($db, 'ACCOUNTING_CLOSURE_DEFAULT_JOURNAL', $defaultjournal, 'chaine', 0, '', $conf->entity)) {
$error++;
}
} else {
$error++;
}
foreach ($list_account_main as $constname) {
$constvalue = GETPOST($constname, 'alpha');
@ -92,27 +92,27 @@ print '<span class="opacitymedium">'.$langs->trans("DefaultClosureDesc").'</span
print '<br>';
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="update">';
// Define main accounts for closure
print '<table class="noborder centpercent">';
foreach ($list_account_main as $key) {
print '<tr class="oddeven value">';
// Param
$label = $langs->trans($key);
$keydesc = $key.'_Desc';
print '<tr class="oddeven value">';
// Param
$label = $langs->trans($key);
$keydesc = $key.'_Desc';
$htmltext = $langs->trans($keydesc);
print '<td class="fieldrequired" width="50%">';
print $form->textwithpicto($label, $htmltext);
print '</td>';
// Value
print '<td>'; // Do not force class=right, or it align also the content of the select box
print $formaccounting->select_account($conf->global->$key, $key, 1, '', 1, 1);
print '</td>';
print '</tr>';
$htmltext = $langs->trans($keydesc);
print '<td class="fieldrequired" width="50%">';
print $form->textwithpicto($label, $htmltext);
print '</td>';
// Value
print '<td>'; // Do not force class=right, or it align also the content of the select box
print $formaccounting->select_account($conf->global->$key, $key, 1, '', 1, 1);
print '</td>';
print '</tr>';
}
// Journal

View File

@ -47,9 +47,9 @@ $action = GETPOST('action', 'aZ09');
$list_account_main = array(
'ACCOUNTING_ACCOUNT_CUSTOMER',
'ACCOUNTING_ACCOUNT_SUPPLIER',
'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',
'ACCOUNTING_ACCOUNT_CUSTOMER',
'ACCOUNTING_ACCOUNT_SUPPLIER',
'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',
);
$list_account = array();
@ -75,7 +75,7 @@ if ($mysoc->isInEEC()) {
$list_account[] = 'ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT';
}
$list_account[] = 'ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT';
$list_account[] = '---Other---';
$list_account[] = '---Others---';
$list_account[] = 'ACCOUNTING_VAT_BUY_ACCOUNT';
$list_account[] = 'ACCOUNTING_VAT_SOLD_ACCOUNT';
$list_account[] = 'ACCOUNTING_VAT_PAY_ACCOUNT';
@ -94,26 +94,13 @@ if ($conf->loan->enabled) {
$list_account[] = 'LOAN_ACCOUNTING_ACCOUNT_INTEREST';
$list_account[] = 'LOAN_ACCOUNTING_ACCOUNT_INSURANCE';
}
if ($conf->societe->enabled) {
$list_account[] = 'ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT';
}
/*
* Actions
*/
$accounting_mode = empty($conf->global->ACCOUNTING_MODE) ? 'RECETTES-DEPENSES' : $conf->global->ACCOUNTING_MODE;
if (GETPOST('change_chart', 'alpha'))
{
$chartofaccounts = GETPOST('chartofaccounts', 'int');
if (!empty($chartofaccounts)) {
if (!dolibarr_set_const($db, 'CHARTOFACCOUNTS', $chartofaccounts, 'chaine', 0, '', $conf->entity)) {
$error++;
}
} else {
$error++;
}
}
if ($action == 'update') {
$error = 0;
@ -133,9 +120,9 @@ if ($action == 'update') {
$constvalue = GETPOST($constname, 'alpha');
if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
}
if (!$error) {
@ -172,20 +159,20 @@ print '<table class="noborder centpercent">';
print '<tr class="liste_titre"><td>'.$langs->trans("ThirdParties").' | '.$langs->trans("Users").'</td><td></td></tr>';
foreach ($list_account_main as $key) {
print '<tr class="oddeven value">';
// Param
$label = $langs->trans($key);
$keydesc = $key.'_Desc';
print '<tr class="oddeven value">';
// Param
$label = $langs->trans($key);
$keydesc = $key.'_Desc';
$htmltext = $langs->trans($keydesc);
print '<td class="fieldrequired" width="50%">';
print $form->textwithpicto($label, $htmltext);
print '</td>';
// Value
print '<td>'; // Do not force class=right, or it align also the content of the select box
print $formaccounting->select_account($conf->global->$key, $key, 1, '', 1, 1);
print '</td>';
print '</tr>';
$htmltext = $langs->trans($keydesc);
print '<td class="fieldrequired" width="50%">';
print $form->textwithpicto($label, $htmltext);
print '</td>';
// Value
print '<td>'; // Do not force class=right, or it align also the content of the select box
print $formaccounting->select_account($conf->global->$key, $key, 1, '', 1, 1);
print '</td>';
print '</tr>';
}
@ -193,8 +180,7 @@ foreach ($list_account as $key) {
$reg = array();
if (preg_match('/---(.*)---/', $key, $reg)) {
print '<tr class="liste_titre"><td>'.$langs->trans($reg[1]).'</td><td></td></tr>';
}
else {
} else {
print '<tr class="oddeven value">';
// Param
$label = $langs->trans($key);

View File

@ -45,7 +45,7 @@ $action = GETPOST('action', 'aZ09');
// Parameters ACCOUNTING_EXPORT_*
$main_option = array(
'ACCOUNTING_EXPORT_PREFIX_SPEC',
'ACCOUNTING_EXPORT_PREFIX_SPEC',
);
$configuration = AccountancyExport::getTypeConfig();
@ -58,22 +58,22 @@ $listcr = $configuration['cr'];
$model_option = array(
'1' => array(
'label' => 'ACCOUNTING_EXPORT_FORMAT',
'param' => $listformat,
),
'2' => array(
'label' => 'ACCOUNTING_EXPORT_SEPARATORCSV',
'param' => '',
),
'3' => array(
'label' => 'ACCOUNTING_EXPORT_ENDLINE',
'param' => $listcr,
),
'4' => array(
'label' => 'ACCOUNTING_EXPORT_DATE',
'param' => '',
),
'1' => array(
'label' => 'ACCOUNTING_EXPORT_FORMAT',
'param' => $listformat,
),
'2' => array(
'label' => 'ACCOUNTING_EXPORT_SEPARATORCSV',
'param' => '',
),
'3' => array(
'label' => 'ACCOUNTING_EXPORT_ENDLINE',
'param' => $listcr,
),
'4' => array(
'label' => 'ACCOUNTING_EXPORT_DATE',
'param' => '',
),
);
@ -105,22 +105,22 @@ if ($action == 'update') {
}
}
foreach ($listparam[$modelcsv] as $key => $value) {
$constante = $key;
foreach ($listparam[$modelcsv] as $key => $value) {
$constante = $key;
if (strpos($constante, 'ACCOUNTING') !== false) {
$constvalue = GETPOST($key, 'alpha');
if (!dolibarr_set_const($db, $constante, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
}
}
if (strpos($constante, 'ACCOUNTING') !== false) {
$constvalue = GETPOST($key, 'alpha');
if (!dolibarr_set_const($db, $constante, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
}
}
if (!$error) {
// reload
$configuration = AccountancyExport::getTypeConfig();
$listparam = $configuration['param'];
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
// reload
$configuration = AccountancyExport::getTypeConfig();
$listparam = $configuration['param'];
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'errors');
}
@ -148,36 +148,36 @@ print 'jQuery(document).ready(function () {'."\n";
print ' function initfields()'."\n";
print ' {'."\n";
foreach ($listparam as $key => $param) {
print ' if (jQuery("#ACCOUNTING_EXPORT_MODELCSV").val()=="'.$key.'")'."\n";
print ' {'."\n";
print ' //console.log("'.$param['label'].'");'."\n";
if (empty($param['ACCOUNTING_EXPORT_FORMAT'])) {
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$conf->global->ACCOUNTING_EXPORT_FORMAT.'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$param['ACCOUNTING_EXPORT_FORMAT'].'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").removeAttr("disabled");'."\n";
}
if (empty($param['ACCOUNTING_EXPORT_SEPARATORCSV'])) {
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("'.$conf->global->ACCOUNTING_EXPORT_SEPARATORCSV.'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").removeAttr("disabled");'."\n";
}
if (empty($param['ACCOUNTING_EXPORT_ENDLINE'])) {
print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").removeAttr("disabled");'."\n";
}
if (empty($param['ACCOUNTING_EXPORT_DATE'])) {
print ' jQuery("#ACCOUNTING_EXPORT_DATE").val("");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_DATE").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_DATE").val("'.$conf->global->ACCOUNTING_EXPORT_DATE.'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_DATE").removeAttr("disabled");'."\n";
}
print ' }'."\n";
print ' if (jQuery("#ACCOUNTING_EXPORT_MODELCSV").val()=="'.$key.'")'."\n";
print ' {'."\n";
print ' //console.log("'.$param['label'].'");'."\n";
if (empty($param['ACCOUNTING_EXPORT_FORMAT'])) {
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$conf->global->ACCOUNTING_EXPORT_FORMAT.'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$param['ACCOUNTING_EXPORT_FORMAT'].'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").removeAttr("disabled");'."\n";
}
if (empty($param['ACCOUNTING_EXPORT_SEPARATORCSV'])) {
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("'.$conf->global->ACCOUNTING_EXPORT_SEPARATORCSV.'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").removeAttr("disabled");'."\n";
}
if (empty($param['ACCOUNTING_EXPORT_ENDLINE'])) {
print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").removeAttr("disabled");'."\n";
}
if (empty($param['ACCOUNTING_EXPORT_DATE'])) {
print ' jQuery("#ACCOUNTING_EXPORT_DATE").val("");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_DATE").prop("disabled", true);'."\n";
} else {
print ' jQuery("#ACCOUNTING_EXPORT_DATE").val("'.$conf->global->ACCOUNTING_EXPORT_DATE.'");'."\n";
print ' jQuery("#ACCOUNTING_EXPORT_DATE").removeAttr("disabled");'."\n";
}
print ' }'."\n";
}
print ' }'."\n";
print ' initfields();'."\n";
@ -262,17 +262,17 @@ if ($num2) {
foreach ($model_option as $key) {
print '<tr class="oddeven value">';
// Param
$label = $key['label'];
// Param
$label = $key['label'];
print '<td width="50%">'.$langs->trans($label).'</td>';
// Value
print '<td>';
if (is_array($key['param'])) {
print $form->selectarray($label, $key['param'], $conf->global->$label, 0);
} else {
print '<input type="text" size="20" id="'.$label.'" name="'.$key['label'].'" value="'.$conf->global->$label.'">';
}
print '<td>';
if (is_array($key['param'])) {
print $form->selectarray($label, $key['param'], $conf->global->$label, 0);
} else {
print '<input type="text" size="20" id="'.$label.'" name="'.$key['label'].'" value="'.$conf->global->$label.'">';
}
print '</td></tr>';
}

View File

@ -29,8 +29,8 @@ $action = GETPOST('action', 'aZ09');
// Load variable for pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'alpha');
$sortorder = GETPOST('sortorder', 'alpha');
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $limit * $page;
@ -79,6 +79,7 @@ $object = new Fiscalyear($db);
$max = 100;
$form = new Form($db);
$fiscalyearstatic = new Fiscalyear($db);
$title = $langs->trans('AccountingPeriods');
$helpurl = "";
@ -112,7 +113,7 @@ if ($result)
$i = 0;
$addbutton .= dolGetButtonTitle($langs->trans('NewFiscalYear'), '', 'fa fa-plus-circle', 'fiscalyear_card.php?action=create', '', $user->rights->accounting->fiscalyear->write);
$addbutton .= dolGetButtonTitle($langs->trans('NewFiscalYear'), '', 'fa fa-plus-circle', 'fiscalyear_card.php?action=create', '', $user->rights->accounting->fiscalyear->write);
$title = $langs->trans('AccountingPeriods');
@ -132,13 +133,15 @@ if ($result)
print '</tr>';
if ($num) {
$fiscalyearstatic = new Fiscalyear($db);
while ($i < $num && $i < $max) {
$obj = $db->fetch_object($result);
$fiscalyearstatic->id = $obj->rowid;
print '<tr class="oddeven">';
print '<td><a href="fiscalyear_card.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowFiscalYear"), "technic").' '.$obj->rowid.'</a></td>';
print '<td>';
print $fiscalyearstatic->getNomUrl(1);
print '</td>';
print '<td class="left">'.$obj->label.'</td>';
print '<td class="left">'.dol_print_date($db->jdate($obj->date_start), 'day').'</td>';
print '<td class="left">'.dol_print_date($db->jdate($obj->date_end), 'day').'</td>';

View File

@ -71,9 +71,7 @@ if ($action == 'confirm_delete' && $confirm == "yes") {
} else {
setEventMessages($object->error, $object->errors, 'errors');
}
}
elseif ($action == 'add') {
} elseif ($action == 'add') {
if (!GETPOST('cancel', 'alpha')) {
$error = 0;
@ -161,7 +159,7 @@ if ($action == 'create')
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="add">';
dol_fiche_head();
print dol_get_fiche_head();
print '<table class="border centpercent">';
@ -189,7 +187,7 @@ if ($action == 'create')
print '</table>';
dol_fiche_end();
print dol_get_fiche_end();
print '<div class="center">';
print '<input class="button" type="submit" value="'.$langs->trans("Save").'">';
@ -204,7 +202,7 @@ if ($action == 'create')
$head = fiscalyear_prepare_head($object);
if ($action == 'edit') {
dol_fiche_head($head, 'card', $langs->trans("Fiscalyear"), 0, 'cron');
print dol_get_fiche_head($head, 'card', $langs->trans("Fiscalyear"), 0, 'cron');
print '<form name="update" action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
print '<input type="hidden" name="token" value="'.newToken().'">';
@ -250,7 +248,7 @@ if ($action == 'create')
print '</form>';
dol_fiche_end();
print dol_get_fiche_end();
} else {
/*
* Confirm delete
@ -259,7 +257,7 @@ if ($action == 'create')
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id, $langs->trans("DeleteFiscalYear"), $langs->trans("ConfirmDeleteFiscalYear"), "confirm_delete");
}
dol_fiche_head($head, 'card', $langs->trans("Fiscalyear"), 0, 'cron');
print dol_get_fiche_head($head, 'card', $langs->trans("Fiscalyear"), 0, 'cron');
print '<table class="border centpercent">';
@ -298,20 +296,20 @@ if ($action == 'create')
print "</table>";
dol_fiche_end();
print dol_get_fiche_end();
if (!empty($user->rights->accounting->fiscalyear->write))
{
/*
/*
* Barre d'actions
*/
print '<div class="tabsAction">';
print '<div class="tabsAction">';
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit&id='.$id.'">'.$langs->trans('Modify').'</a>';
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit&token='.newToken().'&id='.$id.'">'.$langs->trans('Modify').'</a>';
// print '<a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?action=delete&id=' . $id . '">' . $langs->trans('Delete') . '</a>';
// print '<a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?action=delete&token='.newToken().'&id=' . $id . '">' . $langs->trans('Delete') . '</a>';
print '</div>';
print '</div>';
}
}
} else {

View File

@ -49,7 +49,7 @@ if ($id) {
$head = fiscalyear_prepare_head($object);
dol_fiche_head($head, 'info', $langs->trans("Fiscalyear"), 0, 'cron');
print dol_get_fiche_head($head, 'info', $langs->trans("Fiscalyear"), 0, 'cron');
print '<table width="100%"><tr><td>';
dol_print_object_info($object);

View File

@ -31,9 +31,10 @@
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
// Load translation files required by the page
$langs->loadLangs(array("compta", "bills", "admin", "accountancy"));
$langs->loadLangs(array("compta", "bills", "admin", "accountancy", "other"));
// Security access
if (empty($user->rights->accounting->chartofaccount))
@ -45,78 +46,95 @@ $action = GETPOST('action', 'aZ09');
// Parameters ACCOUNTING_* and others
$list = array(
'ACCOUNTING_LENGTH_GACCOUNT',
'ACCOUNTING_LENGTH_AACCOUNT',
'ACCOUNTING_LENGTH_GACCOUNT',
'ACCOUNTING_LENGTH_AACCOUNT',
// 'ACCOUNTING_LENGTH_DESCRIPTION', // adjust size displayed for lines description for dol_trunc
// 'ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT', // adjust size displayed for select account description for dol_trunc
);
$list_binding = array(
'ACCOUNTING_DATE_START_BINDING',
'ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER'
);
/*
* Actions
*/
$accounting_mode = empty($conf->global->ACCOUNTING_MODE) ? 'RECETTES-DEPENSES' : $conf->global->ACCOUNTING_MODE;
if ($action == 'update') {
$error = 0;
if (!$error)
{
foreach ($list as $constname)
{
$constvalue = GETPOST($constname, 'alpha');
foreach ($list as $constname)
{
$constvalue = GETPOST($constname, 'alpha');
if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
}
if ($error) {
setEventMessages($langs->trans("Error"), null, 'errors');
}
if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
}
if ($error) {
setEventMessages($langs->trans("Error"), null, 'errors');
}
foreach ($list_binding as $constname)
{
$constvalue = GETPOST($constname, 'alpha');
if ($constname == 'ACCOUNTING_DATE_START_BINDING') {
$constvalue = dol_mktime(12, 0, 0, GETPOST($constname.'month', 'int'), GETPOST($constname.'day', 'int'), GETPOST($constname.'year', 'int'));
}
if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
$error++;
}
}
if ($error) {
setEventMessages($langs->trans("Error"), null, 'errors');
}
}
if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
}
if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
}
}
if ($action == 'setlistsorttodo') {
$setlistsorttodo = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_TODO", $setlistsorttodo, 'yesno', 0, '', $conf->entity);
if (!$res > 0)
$error++;
$setlistsorttodo = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_TODO", $setlistsorttodo, 'yesno', 0, '', $conf->entity);
if (!$res > 0)
$error++;
if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'mesgs');
}
if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'mesgs');
}
}
if ($action == 'setlistsortdone') {
$setlistsortdone = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_DONE", $setlistsortdone, 'yesno', 0, '', $conf->entity);
if (!$res > 0)
$error++;
if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'mesgs');
}
$setlistsortdone = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_DONE", $setlistsortdone, '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 == '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');
}
$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') {
@ -144,20 +162,57 @@ if ($action == 'setenabledraftexport') {
}
if ($action == 'setenablesubsidiarylist') {
$setenablesubsidiarylist = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTANCY_COMBO_FOR_AUX", $setenablesubsidiarylist, 'yesno', 0, '', $conf->entity);
if (!$res > 0)
$error++;
if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'mesgs');
}
$setenablesubsidiarylist = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTANCY_COMBO_FOR_AUX", $setenablesubsidiarylist, '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 == 'setdisablebindingonsales') {
$setdisablebindingonsales = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_DISABLE_BINDING_ON_SALES", $setdisablebindingonsales, '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 == 'setdisablebindingonpurchases') {
$setdisablebindingonpurchases = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_DISABLE_BINDING_ON_PURCHASES", $setdisablebindingonpurchases, '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 == 'setdisablebindingonexpensereports') {
$setdisablebindingonexpensereports = GETPOST('value', 'int');
$res = dolibarr_set_const($db, "ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS", $setdisablebindingonexpensereports, 'yesno', 0, '', $conf->entity);
if (!$res > 0)
$error++;
if (!$error) {
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
} else {
setEventMessages($langs->trans("Error"), null, 'mesgs');
}
}
/*
* View
*/
$form = new Form($db);
$title = $langs->trans('ConfigAccountingExpert');
llxHeader('', $title);
@ -170,155 +225,187 @@ print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="update">';
// Default mode for calculating turnover (parameter ACCOUNTING_MODE)
/*
// Params
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td>' . $langs->trans('OptionMode') . '</td><td>' . $langs->trans('Description') . '</td>';
print '<td colspan="2">'.$langs->trans('Options').'</td>';
print "</tr>\n";
print '<tr ' . $bc[false] . '><td width="200"><input type="radio" name="accounting_mode" value="RECETTES-DEPENSES"' . ($accounting_mode != 'CREANCES-DETTES' ? ' checked' : '') . '> ' . $langs->trans('OptionModeTrue') . '</td>';
print '<td colspan="2">' . nl2br($langs->trans('OptionModeTrueDesc'));
// Write info on way to count VAT
// if (! empty($conf->global->MAIN_MODULE_COMPTABILITE))
// {
// // print "<br>\n";
// // print nl2br($langs->trans('OptionModeTrueInfoModuleComptabilite'));
// }
// else
// {
// // print "<br>\n";
// // print nl2br($langs->trans('OptionModeTrueInfoExpert'));
// }
print "</td></tr>\n";
print '<tr ' . $bc[true] . '><td width="200"><input type="radio" name="accounting_mode" value="CREANCES-DETTES"' . ($accounting_mode == 'CREANCES-DETTES' ? ' checked' : '') . '> ' . $langs->trans('OptionModeVirtual') . '</td>';
print '<td colspan="2">' . nl2br($langs->trans('OptionModeVirtualDesc')) . "</td></tr>\n";
print "</table>\n";
// TO DO Mutualize code for yes/no constants
print '<br>';
/* Set this option as a hidden option but keep it for some needs.
print '<tr>';
print '<td>'.$langs->trans("ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL").'</td>';
if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&enabledraftexport&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&enabledraftexport&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
*/
// Others params
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td colspan="2">'.$langs->trans('OtherOptions').'</td>';
print "</tr>\n";
if (!empty($user->admin))
{
// TO DO Mutualize code for yes/no constants
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_TODO").'</td>';
if (!empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_TODO)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setlistsorttodo&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setlistsorttodo&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr>';
print '<td>'.$langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_DONE").'</td>';
if (!empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setlistsortdone&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setlistsortdone&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
/* Set this option as a hidden option but keep it for some needs.
print '<tr>';
print '<td>'.$langs->trans("ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL").'</td>';
if (!empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setenabledraftexport&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setenabledraftexport&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
*/
print '<tr>';
print '<td>'.$langs->trans("BANK_DISABLE_DIRECT_INPUT").'</td>';
if (!empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setdisabledirectinput&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setdisabledirectinput&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr>';
print '<td>'.$langs->trans("ACCOUNTANCY_COMBO_FOR_AUX").'</td>';
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setenablesubsidiarylist&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setenablesubsidiarylist&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr>';
print '<td>'.$langs->trans("ACCOUNTING_MANAGE_ZERO").'</td>';
if (!empty($conf->global->ACCOUNTING_MANAGE_ZERO)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setmanagezero&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?action=setmanagezero&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr class="oddeven">';
print '<td>'.$langs->trans("BANK_DISABLE_DIRECT_INPUT").'</td>';
if (!empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disabledirectinput&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disabledirectinput&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTANCY_COMBO_FOR_AUX").'</td>';
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&enablesubsidiarylist&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&enablesubsidiarylist&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTING_MANAGE_ZERO").'</td>';
if (!empty($conf->global->ACCOUNTING_MANAGE_ZERO)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&managezero&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&managezero&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
// Param a user $user->rights->accounting->chartofaccount can access
foreach ($list as $key)
{
print '<tr class="oddeven value">';
print '<tr class="oddeven value">';
if (!empty($conf->global->ACCOUNTING_MANAGE_ZERO) && ($key == 'ACCOUNTING_LENGTH_GACCOUNT' || $key == 'ACCOUNTING_LENGTH_AACCOUNT')) continue;
if (!empty($conf->global->ACCOUNTING_MANAGE_ZERO) && ($key == 'ACCOUNTING_LENGTH_GACCOUNT' || $key == 'ACCOUNTING_LENGTH_AACCOUNT')) continue;
// Param
$label = $langs->trans($key);
print '<td>'.$label.'</td>';
// Value
print '<td class="right">';
print '<input type="text" class="maxwidth100" id="'.$key.'" name="'.$key.'" value="'.$conf->global->$key.'">';
print '</td>';
// Param
$label = $langs->trans($key);
print '<td>'.$label.'</td>';
// Value
print '<td class="right">';
print '<input type="text" class="maxwidth100" id="'.$key.'" name="'.$key.'" value="'.$conf->global->$key.'">';
print '</tr>';
print '</td>';
print '</tr>';
}
print '</table>';
print '<br>';
// Binding params
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td colspan="2">'.$langs->trans('BindingOptions').'</td>';
print "</tr>\n";
// TO DO Mutualize code for yes/no constants
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_TODO").'</td>';
if (!empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_TODO)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&listsorttodo&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&listsorttodo&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_DONE").'</td>';
if (!empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&listsortdone&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&listsortdone&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
// Param a user $user->rights->accounting->chartofaccount can access
foreach ($list_binding as $key)
{
print '<tr class="oddeven value">';
// Param
$label = $langs->trans($key);
print '<td>'.$label.'</td>';
// Value
print '<td class="right">';
if ($key == 'ACCOUNTING_DATE_START_BINDING') {
print $form->selectDate(($conf->global->$key ? $db->idate($conf->global->$key) : -1), $key, 0, 0, 1);
} elseif ($key == 'ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER') {
$array = array(0=>$langs->trans("PreviousMonth"), 1=>$langs->trans("CurrentMonth"), 2=>$langs->trans("Fiscalyear"));
print $form->selectarray($key, $array, (isset($conf->global->ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER) ? $conf->global->ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER : 0));
} else {
print '<input type="text" class="maxwidth100" id="'.$key.'" name="'.$key.'" value="'.$conf->global->$key.'">';
}
print '</td>';
print '</tr>';
}
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTING_DISABLE_BINDING_ON_SALES").'</td>';
if (!empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_SALES)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disablebindingonsales&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disablebindingonsales&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTING_DISABLE_BINDING_ON_PURCHASES").'</td>';
if (!empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_PURCHASES)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disablebindingonpurchases&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disablebindingonpurchases&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '<tr class="oddeven">';
print '<td>'.$langs->trans("ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS").'</td>';
if (!empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS)) {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disablebindingonexpensereports&value=0">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a></td>';
} else {
print '<td class="right"><a class="reposition" href="'.$_SERVER['PHP_SELF'].'?token='.newToken().'&disablebindingonexpensereports&value=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a></td>';
}
print '</tr>';
print '</table>';
print '<div class="center"><input type="submit" class="button" value="'.$langs->trans('Modify').'" name="button"></div>';
print '<br>';
print '<br>';
print '<br>';
print '</form>';
// End of page

View File

@ -22,6 +22,8 @@
* \brief Setup page to configure journals
*/
if (!defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
@ -238,13 +240,10 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
{
setEventMessages($langs->transnoentities("RecordSaved"), null, 'mesgs');
$_POST = array('id'=>$id); // Clean $_POST array, we keep only
}
else
{
} else {
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
setEventMessages($langs->transnoentities("ErrorRecordAlreadyExists"), null, 'errors');
}
else {
} else {
dol_print_error($db);
}
}
@ -253,8 +252,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
// Si verif ok et action modify, on modifie la ligne
if ($ok && GETPOST('actionmodify', 'alpha'))
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
// Modify entry
$sql = "UPDATE ".$tabname[$id]." SET ";
@ -269,8 +267,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
{
if ($field == 'price' || preg_match('/^amount/i', $field) || $field == 'taux') {
$_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]], 'MU');
}
elseif ($field == 'entity') {
} elseif ($field == 'entity') {
$_POST[$listfieldvalue[$i]] = $conf->entity;
}
if ($i) $sql .= ",";
@ -279,7 +276,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
else $sql .= "'".$db->escape($_POST[$listfieldvalue[$i]])."'";
$i++;
}
$sql .= " WHERE ".$rowidcol." = '".$rowid."'";
$sql .= " WHERE ".$rowidcol." = ".((int) $rowid);
$sql .= " AND entity = ".$conf->entity;
dol_syslog("actionmodify", LOG_DEBUG);
@ -300,10 +297,9 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
if ($action == 'confirm_delete' && $confirm == 'yes') // delete
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
$sql = "DELETE from ".$tabname[$id]." WHERE ".$rowidcol."='".$rowid."'";
$sql = "DELETE from ".$tabname[$id]." WHERE ".$rowidcol." = ".((int) $rowid);
$sql .= " AND entity = ".$conf->entity;
dol_syslog("delete", LOG_DEBUG);
@ -313,9 +309,7 @@ if ($action == 'confirm_delete' && $confirm == 'yes') // delete
if ($db->errno() == 'DB_ERROR_CHILD_EXISTS')
{
setEventMessages($langs->transnoentities("ErrorRecordIsUsedByChild"), null, 'errors');
}
else
{
} else {
dol_print_error($db);
}
}
@ -324,14 +318,12 @@ if ($action == 'confirm_delete' && $confirm == 'yes') // delete
// activate
if ($action == $acts[0])
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
if ($rowid) {
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE ".$rowidcol."='".$rowid."'";
}
elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE code='".$code."'";
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE ".$rowidcol." = ".((int) $rowid);
} elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE code='".$db->escape($code)."'";
}
$sql .= " AND entity = ".$conf->entity;
@ -345,14 +337,12 @@ if ($action == $acts[0])
// disable
if ($action == $acts[1])
{
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; }
else { $rowidcol = "rowid"; }
if ($tabrowid[$id]) { $rowidcol = $tabrowid[$id]; } else { $rowidcol = "rowid"; }
if ($rowid) {
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE ".$rowidcol."='".$rowid."'";
}
elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE code='".$code."'";
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE ".$rowidcol." = ".((int) $rowid);
} elseif ($code) {
$sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE code='".$db->escape($code)."'";
}
$sql .= " AND entity = ".$conf->entity;
@ -430,15 +420,15 @@ if ($id)
$valuetoshow = ucfirst($fieldlist[$field]); // Par defaut
$valuetoshow = $langs->trans($valuetoshow); // try to translate
$class = "left";
if ($fieldlist[$field] == 'code') {
$valuetoshow = $langs->trans("Code");
}
if ($fieldlist[$field] == 'code') {
$valuetoshow = $langs->trans("Code");
}
if ($fieldlist[$field] == 'libelle' || $fieldlist[$field] == 'label') {
$valuetoshow = $langs->trans("Label");
}
if ($fieldlist[$field] == 'nature') {
$valuetoshow = $langs->trans("NatureOfJournal");
}
if ($fieldlist[$field] == 'nature') {
$valuetoshow = $langs->trans("NatureOfJournal");
}
if ($valuetoshow != '') {
print '<td class="'.$class.'">';
@ -550,14 +540,14 @@ if ($id)
$valuetoshow = ucfirst($fieldlist[$field]); // By defaut
$valuetoshow = $langs->trans($valuetoshow); // try to translate
if ($fieldlist[$field] == 'code') {
$valuetoshow = $langs->trans("Code");
}
$valuetoshow = $langs->trans("Code");
}
if ($fieldlist[$field] == 'libelle' || $fieldlist[$field] == 'label') {
$valuetoshow = $langs->trans("Label");
}
$valuetoshow = $langs->trans("Label");
}
if ($fieldlist[$field] == 'nature') {
$valuetoshow = $langs->trans("NatureOfJournal");
}
$valuetoshow = $langs->trans("NatureOfJournal");
}
// Affiche nom du champ
if ($showfield) {
@ -595,9 +585,7 @@ if ($id)
print '<input type="submit" class="button" name="actioncancel" value="'.$langs->trans("Cancel").'">';
print '<div name="'.(!empty($obj->rowid) ? $obj->rowid : $obj->code).'"></div>';
print '</td>';
}
else
{
} else {
$tmpaction = 'view';
$parameters = array('var'=>$var, 'fieldlist'=>$fieldlist, 'tabname'=>$tabname[$id]);
$reshook = $hookmanager->executeHooks('viewDictionaryFieldlist', $parameters, $obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
@ -606,7 +594,7 @@ if ($id)
if (empty($reshook))
{
$langs->load("accountancy");
$langs->load("accountancy");
foreach ($fieldlist as $field => $value)
{
$showfield = 1;
@ -614,14 +602,12 @@ if ($id)
$valuetoshow = $obj->{$fieldlist[$field]};
if ($valuetoshow == 'all') {
$valuetoshow = $langs->trans('All');
}
elseif ($fieldlist[$field] == 'nature' && $tabname[$id] == MAIN_DB_PREFIX.'accounting_journal') {
} elseif ($fieldlist[$field] == 'nature' && $tabname[$id] == MAIN_DB_PREFIX.'accounting_journal') {
$key = $langs->trans("AccountingJournalType".strtoupper($obj->nature));
$valuetoshow = ($obj->nature && $key != "AccountingJournalType".strtoupper($langs->trans($obj->nature)) ? $key : $obj->{$fieldlist[$field]});
}
elseif ($fieldlist[$field] == 'label' && $tabname[$id] == MAIN_DB_PREFIX.'accounting_journal') {
} elseif ($fieldlist[$field] == 'label' && $tabname[$id] == MAIN_DB_PREFIX.'accounting_journal') {
$valuetoshow = $langs->trans($obj->label);
}
}
$class = 'tddict';
// Show value for field
@ -633,15 +619,15 @@ if ($id)
$iserasable = 1; $canbedisabled = 1; $canbemodified = 1; // true by default
if (isset($obj->code) && $id != 10) {
if (($obj->code == '0' || $obj->code == '' || preg_match('/unknown/i', $obj->code))) {
$iserasable = 0;
$canbedisabled = 0;
} elseif ($obj->code == 'RECEP') {
$iserasable = 0;
$canbedisabled = 0;
} elseif ($obj->code == 'EF0') {
$iserasable = 0;
$canbedisabled = 0;
}
$iserasable = 0;
$canbedisabled = 0;
} elseif ($obj->code == 'RECEP') {
$iserasable = 0;
$canbedisabled = 0;
} elseif ($obj->code == 'EF0') {
$iserasable = 0;
$canbedisabled = 0;
}
}
$canbemodified = $iserasable;
@ -652,23 +638,22 @@ if ($id)
// Active
print '<td class="nowrap center">';
if ($canbedisabled) print '<a href="'.$url.'action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>';
if ($canbedisabled) print '<a href="'.$url.'action='.$acts[$obj->active].'&token='.newToken().'">'.$actl[$obj->active].'</a>';
else print $langs->trans("AlwaysActive");
print "</td>";
// Modify link
if ($canbemodified) print '<td class="center"><a class="reposition editfielda" href="'.$url.'action=edit">'.img_edit().'</a></td>';
if ($canbemodified) print '<td class="center"><a class="reposition editfielda" href="'.$url.'action=edit&token='.newToken().'">'.img_edit().'</a></td>';
else print '<td>&nbsp;</td>';
// Delete link
if ($iserasable)
{
print '<td class="center">';
if ($user->admin) print '<a href="'.$url.'action=delete">'.img_delete().'</a>';
if ($user->admin) print '<a href="'.$url.'action=delete&token='.newToken().'">'.img_delete().'</a>';
//else print '<a href="#">'.img_delete().'</a>'; // Some dictionary can be edited by other profile than admin
print '</td>';
}
else print '<td>&nbsp;</td>';
} else print '<td>&nbsp;</td>';
print '<td></td>';
@ -679,8 +664,7 @@ if ($id)
$i++;
}
}
}
else {
} else {
dol_print_error($db);
}
@ -724,12 +708,9 @@ function fieldListJournal($fieldlist, $obj = '', $tabname = '', $context = '')
print '<td>';
print $form->selectarray('nature', $sourceList, (!empty($obj->{$fieldlist[$field]}) ? $obj->{$fieldlist[$field]}:''));
print '</td>';
}
elseif ($fieldlist[$field] == 'code' && isset($obj->{$fieldlist[$field]})) {
} elseif ($fieldlist[$field] == 'code' && isset($obj->{$fieldlist[$field]})) {
print '<td><input type="text" class="flat minwidth100" value="'.(!empty($obj->{$fieldlist[$field]}) ? $obj->{$fieldlist[$field]}:'').'" name="'.$fieldlist[$field].'"></td>';
}
else
{
} else {
print '<td>';
$size = ''; $class = '';
if ($fieldlist[$field] == 'code') $class = 'maxwidth100';

View File

@ -42,7 +42,7 @@ if (empty($conf->accounting->enabled)) {
accessforbidden();
}
if (!$user->rights->accounting->bind->write)
accessforbidden();
accessforbidden();
// search & action GETPOST
$action = GETPOST('action', 'aZ09');
@ -57,6 +57,7 @@ $changeaccount_sell = GETPOST('changeaccount_sell', 'array');
$search_ref = GETPOST('search_ref', 'alpha');
$search_label = GETPOST('search_label', 'alpha');
$search_desc = GETPOST('search_desc', 'alpha');
$search_vat = GETPOST('search_vat', 'alpha');
$search_current_account = GETPOST('search_current_account', 'alpha');
$search_current_account_valid = GETPOST('search_current_account_valid', 'alpha');
if ($search_current_account_valid == '') $search_current_account_valid = 'withoutvalidaccount';
@ -99,13 +100,14 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
// Purge search criteria
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers
{
$search_ref = '';
$search_label = '';
$search_desc = '';
$search_onsell = '';
$search_onpurchase = '';
$search_current_account = '';
$search_current_account_valid = '-1';
$search_ref = '';
$search_label = '';
$search_desc = '';
$search_vat = '';
$search_onsell = '';
$search_onpurchase = '';
$search_current_account = '';
$search_current_account_valid = '-1';
}
// Sales or Purchase mode ?
@ -115,8 +117,8 @@ if ($action == 'update') {
$accounting_product_modes = array(
'ACCOUNTANCY_SELL',
'ACCOUNTANCY_SELL_INTRA',
'ACCOUNTANCY_SELL_EXPORT',
'ACCOUNTANCY_SELL_INTRA',
'ACCOUNTANCY_SELL_EXPORT',
'ACCOUNTANCY_BUY',
'ACCOUNTANCY_BUY_INTRA',
'ACCOUNTANCY_BUY_EXPORT'
@ -136,7 +138,7 @@ if ($action == 'update') {
if (!empty($chk_prod)) {
$accounting = new AccountingAccount($db);
//$msg .= '<div><span class="accountingprocessing">' . count($chk_prod) . ' ' . $langs->trans("SelectedLines") . '</span></div>';
//$msg .= '<div><span class="accountingprocessing">' . count($chk_prod) . ' ' . $langs->trans("SelectedLines") . '</span></div>';
$arrayofdifferentselectedvalues = array();
$cpt = 0; $ok = 0; $ko = 0;
@ -152,7 +154,7 @@ if ($action == 'update') {
}
if ($result <= 0) {
// setEventMessages(null, $accounting->errors, 'errors');
$msg .= '<div><font color="red">'.$langs->trans("ErrorDB").' : '.$langs->trans("Product").' '.$productid.' '.$langs->trans("NotVentilatedinAccount").' : id='.$accounting_account_id.'<br/> <pre>'.$sql.'</pre></font></div>';
$msg .= '<div><span style="color:red">'.$langs->trans("ErrorDB").' : '.$langs->trans("Product").' '.$productid.' '.$langs->trans("NotVentilatedinAccount").' : id='.$accounting_account_id.'<br/> <pre>'.$sql.'</pre></span></div>';
$ko++;
} else {
$db->begin();
@ -170,22 +172,22 @@ if ($action == 'update') {
if ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
$sql .= " SET accountancy_code_sell = ".$accounting->account_number;
}
if ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
$sql .= " SET accountancy_code_sell_intra = ".$accounting->account_number;
}
if ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
$sql .= " SET accountancy_code_sell_export = ".$accounting->account_number;
}
$sql .= " WHERE rowid = ".$productid;
if ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
$sql .= " SET accountancy_code_sell_intra = ".$accounting->account_number;
}
if ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
$sql .= " SET accountancy_code_sell_export = ".$accounting->account_number;
}
$sql .= " WHERE rowid = ".((int) $productid);
dol_syslog("/accountancy/admin/productaccount.php sql=".$sql, LOG_DEBUG);
if ($db->query($sql))
{
$ok++;
$db->commit();
$ok++;
$db->commit();
} else {
$ko++;
$db->rollback();
$ko++;
$db->rollback();
}
}
@ -243,7 +245,7 @@ $pcgverid = $conf->global->CHARTOFACCOUNTS;
$pcgvercode = dol_getIdFromCode($db, $pcgverid, 'accounting_system', 'rowid', 'pcg_version');
if (empty($pcgvercode)) $pcgvercode = $pcgverid;
$sql = "SELECT p.rowid, p.ref, p.label, p.description, p.tosell, p.tobuy,";
$sql = "SELECT p.rowid, p.ref, p.label, p.description, p.tosell, p.tobuy, p.tva_tx,";
$sql .= " p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,";
$sql .= " p.accountancy_code_buy, p.accountancy_code_buy_intra, p.accountancy_code_buy_export,";
$sql .= " p.tms, p.fk_product_type as product_type,";
@ -251,33 +253,27 @@ $sql .= " aa.rowid as aaid";
$sql .= " FROM ".MAIN_DB_PREFIX."product as p";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa ON";
if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
$sql .= " p.accountancy_code_buy = aa.account_number AND aa.fk_pcg_version = '".$pcgvercode."'";
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA')
$sql .= " p.accountancy_code_buy = aa.account_number AND aa.fk_pcg_version = '".$db->escape($pcgvercode)."'";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA')
{
$sql .= " p.accountancy_code_buy_intra = aa.account_number AND aa.fk_pcg_version = '".$pcgvercode."'";
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT')
$sql .= " p.accountancy_code_buy_intra = aa.account_number AND aa.fk_pcg_version = '".$db->escape($pcgvercode)."'";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT')
{
$sql .= " p.accountancy_code_buy_export = aa.account_number AND aa.fk_pcg_version = '".$pcgvercode."'";
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL')
$sql .= " p.accountancy_code_buy_export = aa.account_number AND aa.fk_pcg_version = '".$db->escape($pcgvercode)."'";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL')
{
$sql .= " p.accountancy_code_sell = aa.account_number AND aa.fk_pcg_version = '".$pcgvercode."'";
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA')
$sql .= " p.accountancy_code_sell = aa.account_number AND aa.fk_pcg_version = '".$db->escape($pcgvercode)."'";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA')
{
$sql .= " p.accountancy_code_sell_intra = aa.account_number AND aa.fk_pcg_version = '".$pcgvercode."'";
}
else
{
$sql .= " p.accountancy_code_sell_export = aa.account_number AND aa.fk_pcg_version = '".$pcgvercode."'";
$sql .= " p.accountancy_code_sell_intra = aa.account_number AND aa.fk_pcg_version = '".$db->escape($pcgvercode)."'";
} else {
$sql .= " p.accountancy_code_sell_export = aa.account_number AND aa.fk_pcg_version = '".$db->escape($pcgvercode)."'";
}
$sql .= ' WHERE p.entity IN ('.getEntity('product').')';
if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_buy", $search_current_account);
}
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_buy", $search_current_account);
}
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_buy_intra", $search_current_account);
@ -287,19 +283,17 @@ if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
$sql .= natural_search("p.accountancy_code_buy_export", $search_current_account);
}
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_sell", $search_current_account);
}
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_sell_intra", $search_current_account);
}
}
else {
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_sell_export", $search_current_account);
}
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_sell", $search_current_account);
}
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_sell_intra", $search_current_account);
}
} else {
if (strlen(trim($search_current_account))) {
$sql .= natural_search("p.accountancy_code_sell_export", $search_current_account);
}
}
if ($search_current_account_valid == 'withoutvalidaccount')
{
@ -307,7 +301,7 @@ if ($search_current_account_valid == 'withoutvalidaccount')
}
if ($search_current_account_valid == 'withvalidaccount')
{
$sql .= " AND aa.account_number IS NOT NULL";
$sql .= " AND aa.account_number IS NOT NULL";
}
// Add search filter like
if (strlen(trim($search_ref))) {
@ -319,6 +313,9 @@ if (strlen(trim($search_label))) {
if (strlen(trim($search_desc))) {
$sql .= natural_search("p.description", $search_desc);
}
if (strlen(trim($search_vat))) {
$sql .= natural_search("p.tva_tx", price2num($search_vat), 1);
}
if ($search_onsell != '' && $search_onsell != '-1') $sql .= natural_search('p.tosell', $search_onsell, 1);
if ($search_onpurchase != '' && $search_onpurchase != '-1') $sql .= natural_search('p.tobuy', $search_onpurchase, 1);
@ -327,13 +324,13 @@ $sql .= $db->order($sortfield, $sortorder);
$nbtotalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$result = $db->query($sql);
$nbtotalofrecords = $db->num_rows($result);
if (($page * $limit) > $nbtotalofrecords) // if total resultset is smaller then paging size (filtering), goto and load page 0
{
$page = 0;
$offset = 0;
}
$result = $db->query($sql);
$nbtotalofrecords = $db->num_rows($result);
if (($page * $limit) > $nbtotalofrecords) // if total resultset is smaller then paging size (filtering), goto and load page 0
{
$page = 0;
$offset = 0;
}
}
$sql .= $db->plimit($limit + 1, $offset);
@ -345,31 +342,32 @@ if ($result)
$num = $db->num_rows($result);
$i = 0;
$param = '';
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
if ($search_ref > 0) $param .= "&search_desc=".urlencode($search_ref);
if ($search_label > 0) $param .= "&search_desc=".urlencode($search_label);
if ($search_desc > 0) $param .= "&search_desc=".urlencode($search_desc);
if ($search_current_account > 0) $param .= "&search_current_account=".urlencode($search_current_account);
if ($search_current_account_valid && $search_current_account_valid != '-1') $param .= "&search_current_account_valid=".urlencode($search_current_account_valid);
if ($accounting_product_mode) $param .= '&accounting_product_mode='.urlencode($accounting_product_mode);
$param = '';
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
if ($search_ref > 0) $param .= "&search_desc=".urlencode($search_ref);
if ($search_label > 0) $param .= "&search_desc=".urlencode($search_label);
if ($search_desc > 0) $param .= "&search_desc=".urlencode($search_desc);
if ($search_vat > 0) $param .= '&search_vat='.urlencode($search_vat);
if ($search_current_account > 0) $param .= "&search_current_account=".urlencode($search_current_account);
if ($search_current_account_valid && $search_current_account_valid != '-1') $param .= "&search_current_account_valid=".urlencode($search_current_account_valid);
if ($accounting_product_mode) $param .= '&accounting_product_mode='.urlencode($accounting_product_mode);
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print load_fiche_titre($langs->trans("ProductsBinding"), '', 'title_accountancy');
print load_fiche_titre($langs->trans("ProductsBinding"), '', 'title_accountancy');
print '<br>';
print '<span class="opacitymedium">'.$langs->trans("InitAccountancyDesc").'</span><br>';
print '<br>';
// Select mode
// Select mode
print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans('Options').'</td><td>'.$langs->trans('Description').'</td>';
@ -379,13 +377,13 @@ if ($result)
print "</td></tr>\n";
if ($mysoc->isInEEC())
{
print '<tr class="oddeven"><td class="titlefield"><input type="radio" name="accounting_product_mode" value="ACCOUNTANCY_SELL_INTRA"'.($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA' ? ' checked' : '').'> '.$langs->trans('OptionModeProductSellIntra').'</td>';
print '<td>'.$langs->trans('OptionModeProductSellIntraDesc');
print "</td></tr>\n";
print '<tr class="oddeven"><td class="titlefield"><input type="radio" name="accounting_product_mode" value="ACCOUNTANCY_SELL_INTRA"'.($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA' ? ' checked' : '').'> '.$langs->trans('OptionModeProductSellIntra').'</td>';
print '<td>'.$langs->trans('OptionModeProductSellIntraDesc');
print "</td></tr>\n";
}
print '<tr class="oddeven"><td class="titlefield"><input type="radio" name="accounting_product_mode" value="ACCOUNTANCY_SELL_EXPORT"'.($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT' ? ' checked' : '').'> '.$langs->trans('OptionModeProductSellExport').'</td>';
print '<td>'.$langs->trans('OptionModeProductSellExportDesc');
print "</td></tr>\n";
print '<tr class="oddeven"><td class="titlefield"><input type="radio" name="accounting_product_mode" value="ACCOUNTANCY_SELL_EXPORT"'.($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT' ? ' checked' : '').'> '.$langs->trans('OptionModeProductSellExport').'</td>';
print '<td>'.$langs->trans('OptionModeProductSellExportDesc');
print "</td></tr>\n";
print '<tr class="oddeven"><td class="titlefield"><input type="radio" name="accounting_product_mode" value="ACCOUNTANCY_BUY"'.($accounting_product_mode == 'ACCOUNTANCY_BUY' ? ' checked' : '').'> '.$langs->trans('OptionModeProductBuy').'</td>';
print '<td>'.$langs->trans('OptionModeProductBuyDesc')."</td></tr>\n";
if ($mysoc->isInEEC())
@ -407,8 +405,8 @@ if ($result)
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
$buttonsave = '<input type="submit" class="button" id="changeaccount" name="changeaccount" value="'.$langs->trans("Save").'">';
//print '<br><div class="center">'.$buttonsave.'</div>';
$buttonsave = '<input type="submit" class="button" id="changeaccount" name="changeaccount" value="'.$langs->trans("Save").'">';
//print '<br><div class="center">'.$buttonsave.'</div>';
$texte = $langs->trans("ListOfProductsServices");
print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $buttonsave, $num, $nbtotalofrecords, '', 0, '', '', $limit, 0, 0, 1);
@ -419,6 +417,8 @@ if ($result)
print '<tr class="liste_titre_filter">';
print '<td class="liste_titre"><input type="text" class="flat" size="8" name="search_ref" value="'.dol_escape_htmltag($search_ref).'"></td>';
print '<td class="liste_titre"><input type="text" class="flat" size="10" name="search_label" value="'.dol_escape_htmltag($search_label).'"></td>';
print '<td class="liste_titre right"><input type="text" class="flat maxwidth50 right" size="5" name="search_vat" placeholder="%" value="'.dol_escape_htmltag($search_vat).'"></td>';
if (!empty($conf->global->ACCOUNTANCY_SHOW_PROD_DESC)) print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_desc" value="'.dol_escape_htmltag($search_desc).'"></td>';
// On sell
if ($accounting_product_mode == 'ACCOUNTANCY_SELL' || $accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA' || $accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
@ -444,21 +444,22 @@ if ($result)
print '<tr class="liste_titre">';
print_liste_field_titre("Ref", $_SERVER["PHP_SELF"], "p.ref", "", $param, '', $sortfield, $sortorder);
print_liste_field_titre("Label", $_SERVER["PHP_SELF"], "p.label", "", $param, '', $sortfield, $sortorder);
if (!empty($conf->global->ACCOUNTANCY_SHOW_PROD_DESC)) print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "p.description", "", $param, '', $sortfield, $sortorder);
// On sell / On purchase
if ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
print_liste_field_titre("OnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_sell";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
print_liste_field_titre("OnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_sell_intra";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
print_liste_field_titre("OnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_sell_export";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
print_liste_field_titre("OnBuy", $_SERVER["PHP_SELF"], "p.tobuy", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_buy";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
if (!empty($conf->global->ACCOUNTANCY_SHOW_PROD_DESC)) print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "p.description", "", $param, '', $sortfield, $sortorder);
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "p.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
// On sell / On purchase
if ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
print_liste_field_titre("OnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_sell";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
print_liste_field_titre("OnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_sell_intra";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
print_liste_field_titre("OnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_sell_export";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
print_liste_field_titre("OnBuy", $_SERVER["PHP_SELF"], "p.tobuy", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_buy";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
print_liste_field_titre("OnBuy", $_SERVER["PHP_SELF"], "p.tobuy", "", $param, '', $sortfield, $sortorder, 'center ');
$fieldtosortaccount = "p.accountancy_code_buy_intra";
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
@ -474,8 +475,8 @@ if ($result)
$product_static = new Product($db);
$i = 0;
while ($i < min($num, $limit))
{
while ($i < min($num, $limit))
{
$obj = $db->fetch_object($result);
// Ref produit as link
@ -492,34 +493,27 @@ if ($result)
if ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_prodsell;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_prodsell_intra;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_prodsell_export;
}
else {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_prodsell_intra;
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_prodsell_export;
} else {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_prodsell;
}
}
else {
} else {
if ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_servsell;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_servsell_intra;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT') {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_servsell_export;
}
else {
} else {
$compta_prodsell = (!empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodsell_id = $aarowid_servsell;
}
@ -530,34 +524,27 @@ if ($result)
if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_PRODUCT_BUY_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_BUY_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_prodbuy;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_prodbuy_intra;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_prodbuy_export;
}
else {
} else {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_PRODUCT_BUY_ACCOUNT) ? $conf->global->ACCOUNTING_PRODUCT_BUY_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_prodbuy;
}
}
else {
} else {
if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_SERVICE_BUY_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_BUY_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_servbuy;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_servbuy_intra;
}
elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_servbuy_export;
}
else {
} else {
$compta_prodbuy = (!empty($conf->global->ACCOUNTING_SERVICE_BUY_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_BUY_ACCOUNT : $langs->trans("CodeNotDef"));
$compta_prodbuy_id = $aarowid_servbuy;
}
@ -573,13 +560,18 @@ if ($result)
if (!empty($conf->global->ACCOUNTANCY_SHOW_PROD_DESC))
{
// TODO ADJUST DESCRIPTION SIZE
// print '<td class="left">' . $obj->description . '</td>';
// TODO: we shoul set a user defined value to adjust user square / wide screen size
$trunclengh = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
print '<td>'.nl2br(dol_trunc($obj->description, $trunclengh)).'</td>';
// TODO ADJUST DESCRIPTION SIZE
// print '<td class="left">' . $obj->description . '</td>';
// TODO: we should set a user defined value to adjust user square / wide screen size
$trunclength = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
print '<td>'.nl2br(dol_trunc($obj->description, $trunclength)).'</td>';
}
// VAT
print '<td class="right">';
print vatrate($obj->tva_tx);
print '</td>';
if ($accounting_product_mode == 'ACCOUNTANCY_SELL' || $accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA' || $accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT')
print '<td class="center">'.$product_static->getLibStatut(3, 0).'</td>';
@ -589,30 +581,30 @@ if ($result)
// Current accounting account
print '<td class="left">';
if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
print length_accountg($obj->accountancy_code_buy);
if ($obj->accountancy_code_buy && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
print length_accountg($obj->accountancy_code_buy);
if ($obj->accountancy_code_buy && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
print length_accountg($obj->accountancy_code_buy_intra);
if ($obj->accountancy_code_buy_intra && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
print length_accountg($obj->accountancy_code_buy_export);
if ($obj->accountancy_code_buy_export && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
print length_accountg($obj->accountancy_code_sell);
if ($obj->accountancy_code_sell && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
print length_accountg($obj->accountancy_code_sell_intra);
if ($obj->accountancy_code_sell_intra && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
print length_accountg($obj->accountancy_code_buy_intra);
if ($obj->accountancy_code_buy_intra && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
print length_accountg($obj->accountancy_code_buy_export);
if ($obj->accountancy_code_buy_export && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL') {
print length_accountg($obj->accountancy_code_sell);
if ($obj->accountancy_code_sell && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
print length_accountg($obj->accountancy_code_sell_intra);
if ($obj->accountancy_code_sell_intra && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
} else {
print length_accountg($obj->accountancy_code_sell_export);
if ($obj->accountancy_code_sell_export && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
}
print length_accountg($obj->accountancy_code_sell_export);
if ($obj->accountancy_code_sell_export && empty($obj->aaid)) print ' '.img_warning($langs->trans("ValueNotIntoChartOfAccount"));
}
print '</td>';
// New account to set
$defaultvalue = '';
if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
// Accounting account buy
// Accounting account buy
print '<td class="left">';
//$defaultvalue=GETPOST('codeventil_' . $product_static->id,'alpha'); This is id and we need a code
if (empty($defaultvalue)) $defaultvalue = $compta_prodbuy;
@ -620,21 +612,21 @@ if ($result)
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
print '</td>';
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_INTRA') {
// Accounting account buy intra (In EEC)
print '<td class="left">';
//$defaultvalue=GETPOST('codeventil_' . $product_static->id,'alpha'); This is id and we need a code
if (empty($defaultvalue)) $defaultvalue = $compta_prodbuy_intra;
if (empty($defaultvalue)) $defaultvalue = $compta_prodbuy;
$codesell = length_accountg($obj->accountancy_code_buy_intra);
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
print '</td>';
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
} elseif ($accounting_product_mode == 'ACCOUNTANCY_BUY_EXPORT') {
// Accounting account buy export (Out of EEC)
print '<td class="left">';
//$defaultvalue=GETPOST('codeventil_' . $product_static->id,'alpha'); This is id and we need a code
if (empty($defaultvalue)) $defaultvalue = $compta_prodbuy_export;
if (empty($defaultvalue)) $defaultvalue = $compta_prodbuy;
$codesell = length_accountg($obj->accountancy_code_buy_export);
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
@ -651,25 +643,25 @@ if ($result)
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
print '</td>';
} elseif ($accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA') {
// Accounting account sell intra (In EEC)
print '<td class="left">';
//$defaultvalue=GETPOST('codeventil_' . $product_static->id,'alpha'); This is id and we need a code
if (empty($defaultvalue)) $defaultvalue = $compta_prodsell;
$codesell = length_accountg($obj->accountancy_code_sell_intra);
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
print '</td>';
} else {
// Accounting account sell export (Out of EEC)
print '<td class="left">';
//$defaultvalue=GETPOST('codeventil_' . $product_static->id,'alpha'); This is id and we need a code
if (empty($defaultvalue)) $defaultvalue = $compta_prodsell;
$codesell = length_accountg($obj->accountancy_code_sell_export);
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
print '</td>';
}
// Accounting account sell intra (In EEC)
print '<td class="left">';
//$defaultvalue=GETPOST('codeventil_' . $product_static->id,'alpha'); This is id and we need a code
if (empty($defaultvalue)) $defaultvalue = $compta_prodsell;
$codesell = length_accountg($obj->accountancy_code_sell_intra);
//var_dump($defaultvalue.' - '.$codesell.' - '.$compta_prodsell);
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
print '</td>';
} else {
// Accounting account sell export (Out of EEC)
print '<td class="left">';
//$defaultvalue=GETPOST('codeventil_' . $product_static->id,'alpha'); This is id and we need a code
if (empty($defaultvalue)) $defaultvalue = $compta_prodsell;
$codesell = length_accountg($obj->accountancy_code_sell_export);
if (!empty($obj->aaid)) $defaultvalue = ''; // Do not suggest default new value is code is already valid
print $form->select_account($defaultvalue, 'codeventil_'.$product_static->id, 1, array(), 1);
print '</td>';
}
// Checkbox select
print '<td class="center">';

View File

@ -0,0 +1,419 @@
<?php
/* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2016-2018 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 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/accountancy/admin/subaccount.php
* \ingroup Accountancy (Double entries)
* \brief List of accounting sub-account (auxiliary accounts)
*/
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
// Load translation files required by the page
$langs->loadLangs(array("compta", "bills", "admin", "accountancy", "salaries", "hrm", "errors"));
$mesg = '';
$action = GETPOST('action', 'aZ09');
$cancel = GETPOST('cancel', 'alpha');
$id = GETPOST('id', 'int');
$rowid = GETPOST('rowid', 'int');
$massaction = GETPOST('massaction', 'aZ09');
$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'accountingsubaccountlist'; // To manage different context of search
$search_subaccount = GETPOST('search_subaccount', 'alpha');
$search_label = GETPOST('search_label', 'alpha');
$search_type = GETPOST('search_type', 'int');
// Security check
if ($user->socid > 0) accessforbidden();
if (!$user->rights->accounting->chartofaccount) accessforbidden();
// Load variable for pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
$offset = $limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (!$sortfield) $sortfield = "label";
if (!$sortorder) $sortorder = "ASC";
$arrayfields = array(
'subaccount'=>array('label'=>$langs->trans("AccountNumber"), 'checked'=>1),
'label'=>array('label'=>$langs->trans("Label"), 'checked'=>1),
'type'=>array('label'=>$langs->trans("Type"), 'checked'=>1),
'reconcilable'=>array('label'=>$langs->trans("Reconcilable"), 'checked'=>1)
);
if ($conf->global->MAIN_FEATURES_LEVEL < 2) unset($arrayfields['reconcilable']);
/*
* Actions
*/
if (GETPOST('cancel', 'alpha')) { $action = 'list'; $massaction = ''; }
if (!GETPOST('confirmmassaction', 'alpha')) { $massaction = ''; }
$parameters = array();
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if (empty($reshook))
{
if (!empty($cancel)) $action = '';
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All test are required to be compatible with all browsers
{
$search_subaccount = "";
$search_label = "";
$search_type = "";
$search_array_options = array();
}
}
/*
* View
*/
$form = new Form($db);
$title = $langs->trans('ChartOfIndividualAccountsOfSubsidiaryLedger');
llxHeader('', $title);
// Customer
$sql = "SELECT sa.rowid, sa.nom as label, sa.code_compta as subaccount, '0' as type, sa.entity";
$sql .= " FROM ".MAIN_DB_PREFIX."societe sa";
$sql .= " WHERE sa.entity IN (".getEntity('societe').")";
$sql .= " AND sa.code_compta <> ''";
//print $sql;
if (strlen(trim($search_subaccount))) {
$lengthpaddingaccount = 0;
if ($conf->global->ACCOUNTING_LENGTH_AACCOUNT) {
$lengthpaddingaccount = max($conf->global->ACCOUNTING_LENGTH_AACCOUNT);
}
$search_subaccount_tmp = $search_subaccount;
$weremovedsomezero = 0;
if (strlen($search_subaccount_tmp) <= $lengthpaddingaccount) {
for ($i = 0; $i < $lengthpaddingaccount; $i++) {
if (preg_match('/0$/', $search_subaccount_tmp)) {
$weremovedsomezero++;
$search_subaccount_tmp = preg_replace('/0$/', '', $search_subaccount_tmp);
}
}
}
//var_dump($search_subaccount); exit;
if ($search_subaccount_tmp) {
if ($weremovedsomezero) {
$search_subaccount_tmp_clean = $search_subaccount_tmp;
$search_subaccount_clean = $search_subaccount;
$startchar = '%';
if (strpos($search_subaccount_tmp, '^') === 0)
{
$startchar = '';
$search_subaccount_tmp_clean = preg_replace('/^\^/', '', $search_subaccount_tmp);
$search_subaccount_clean = preg_replace('/^\^/', '', $search_subaccount);
}
$sql .= " AND (sa.code_compta LIKE '".$db->escape($startchar.$search_subaccount_tmp_clean)."'";
$sql .= " OR sa.code_compta LIKE '".$db->escape($startchar.$search_subaccount_clean)."%')";
} else $sql .= natural_search("sa.code_compta", $search_subaccount_tmp);
}
}
if (strlen(trim($search_label))) $sql .= natural_search("sa.nom", $search_label);
if (!empty($search_type) && $search_type >= 0) $sql .= " HAVING type LIKE '".$db->escape($search_type)."'";
// Supplier
$sql .= " UNION ";
$sql .= " SELECT sa.rowid, sa.nom as label, sa.code_compta_fournisseur as subaccount, '1' as type, sa.entity FROM ".MAIN_DB_PREFIX."societe sa";
$sql .= " WHERE sa.entity IN (".getEntity('societe').")";
$sql .= " AND sa.code_compta_fournisseur <> ''";
//print $sql;
if (strlen(trim($search_subaccount))) {
$lengthpaddingaccount = 0;
if ($conf->global->ACCOUNTING_LENGTH_AACCOUNT) {
$lengthpaddingaccount = max($conf->global->ACCOUNTING_LENGTH_AACCOUNT);
}
$search_subaccount_tmp = $search_subaccount;
$weremovedsomezero = 0;
if (strlen($search_subaccount_tmp) <= $lengthpaddingaccount) {
for ($i = 0; $i < $lengthpaddingaccount; $i++) {
if (preg_match('/0$/', $search_subaccount_tmp)) {
$weremovedsomezero++;
$search_subaccount_tmp = preg_replace('/0$/', '', $search_subaccount_tmp);
}
}
}
//var_dump($search_subaccount); exit;
if ($search_subaccount_tmp) {
if ($weremovedsomezero) {
$search_subaccount_tmp_clean = $search_subaccount_tmp;
$search_subaccount_clean = $search_subaccount;
$startchar = '%';
if (strpos($search_subaccount_tmp, '^') === 0)
{
$startchar = '';
$search_subaccount_tmp_clean = preg_replace('/^\^/', '', $search_subaccount_tmp);
$search_subaccount_clean = preg_replace('/^\^/', '', $search_subaccount);
}
$sql .= " AND (sa.code_compta_fournisseur LIKE '".$db->escape($startchar.$search_subaccount_tmp_clean)."'";
$sql .= " OR sa.code_compta_fournisseur LIKE '".$db->escape($startchar.$search_subaccount_clean)."%')";
} else $sql .= natural_search("sa.code_compta_fournisseur", $search_subaccount_tmp);
}
}
if (strlen(trim($search_label))) $sql .= natural_search("sa.nom", $search_label);
if (!empty($search_type) && $search_type >= 0) $sql .= " HAVING type LIKE '".$db->escape($search_type)."'";
// User
$sql .= " UNION ";
$sql .= " SELECT u.rowid, u.lastname as label, u.accountancy_code as subaccount, '2' as type, u.entity FROM ".MAIN_DB_PREFIX."user u";
$sql .= " WHERE u.entity IN (".getEntity('user').")";
$sql .= " AND u.accountancy_code <> ''";
//print $sql;
if (strlen(trim($search_subaccount))) {
$lengthpaddingaccount = 0;
if ($conf->global->ACCOUNTING_LENGTH_AACCOUNT) {
$lengthpaddingaccount = max($conf->global->ACCOUNTING_LENGTH_AACCOUNT);
}
$search_subaccount_tmp = $search_subaccount;
$weremovedsomezero = 0;
if (strlen($search_subaccount_tmp) <= $lengthpaddingaccount) {
for ($i = 0; $i < $lengthpaddingaccount; $i++) {
if (preg_match('/0$/', $search_subaccount_tmp)) {
$weremovedsomezero++;
$search_subaccount_tmp = preg_replace('/0$/', '', $search_subaccount_tmp);
}
}
}
//var_dump($search_subaccount); exit;
if ($search_subaccount_tmp) {
if ($weremovedsomezero) {
$search_subaccount_tmp_clean = $search_subaccount_tmp;
$search_subaccount_clean = $search_subaccount;
$startchar = '%';
if (strpos($search_subaccount_tmp, '^') === 0)
{
$startchar = '';
$search_subaccount_tmp_clean = preg_replace('/^\^/', '', $search_subaccount_tmp);
$search_subaccount_clean = preg_replace('/^\^/', '', $search_subaccount);
}
$sql .= " AND (u.accountancy_code LIKE '".$db->escape($startchar.$search_subaccount_tmp_clean)."'";
$sql .= " OR u.accountancy_code LIKE '".$db->escape($startchar.$search_subaccount_clean)."%')";
} else $sql .= natural_search("u.accountancy_code", $search_subaccount_tmp);
}
}
if (strlen(trim($search_label))) $sql .= natural_search("u.lastname", $search_label);
if (!empty($search_type) && $search_type >= 0) $sql .= " HAVING type LIKE '".$db->escape($search_type)."'";
$sql .= $db->order($sortfield, $sortorder);
// Count total nb of records
$nbtotalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
{
$resql = $db->query($sql);
$nbtotalofrecords = $db->num_rows($resql);
if (($page * $limit) > $nbtotalofrecords) // if total resultset is smaller then paging size (filtering), goto and load page 0
{
$page = 0;
$offset = 0;
}
}
$sql .= $db->plimit($limit + 1, $offset);
dol_syslog('accountancy/admin/subaccount.php:: $sql='.$sql);
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
$param = '';
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
if ($search_subaccount) $param .= '&search_subaccount='.urlencode($search_subaccount);
if ($search_label) $param .= '&search_label='.urlencode($search_label);
if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss);
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="action" value="list">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy', 0, '', '', $limit, 0, 0, 1);
print '<div class="warning">'.$langs->trans("WarningCreateSubAccounts").'</div>';
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
$moreforfilter = '';
$massactionbutton = '';
print '<div class="div-table-responsive">';
print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
// Line for search fields
print '<tr class="liste_titre_filter">';
if (!empty($arrayfields['subaccount']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="10" name="search_subaccount" value="'.$search_subaccount.'"></td>';
if (!empty($arrayfields['label']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_label" value="'.$search_label.'"></td>';
if (!empty($arrayfields['type']['checked'])) print '<td class="liste_titre center">'.$form->selectarray('search_type', array('0'=>$langs->trans('Customer'), '1'=>$langs->trans('Supplier'), '2'=>$langs->trans('Employee')), $search_type, 1).'</td>';
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { if (!empty($arrayfields['reconcilable']['checked'])) print '<td class="liste_titre">&nbsp;</td>'; }
print '<td class="liste_titre maxwidthsearch">';
$searchpicto = $form->showFilterAndCheckAddButtons($massactionbutton ? 1 : 0, 'checkforselect', 1);
print $searchpicto;
print '</td>';
print '</tr>';
print '<tr class="liste_titre">';
if (!empty($arrayfields['subaccount']['checked'])) print_liste_field_titre($arrayfields['subaccount']['label'], $_SERVER["PHP_SELF"], "subaccount", "", $param, '', $sortfield, $sortorder);
if (!empty($arrayfields['label']['checked'])) print_liste_field_titre($arrayfields['label']['label'], $_SERVER["PHP_SELF"], "label", "", $param, '', $sortfield, $sortorder);
if (!empty($arrayfields['type']['checked'])) print_liste_field_titre($arrayfields['type']['label'], $_SERVER["PHP_SELF"], "type", "", $param, '', $sortfield, $sortorder, 'center ');
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { if (!empty($arrayfields['reconcilable']['checked'])) print_liste_field_titre($arrayfields['reconcilable']['label'], $_SERVER["PHP_SELF"], 'reconcilable', '', $param, '', $sortfield, $sortorder, 'center '); }
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
print "</tr>\n";
$totalarray = array();
$i = 0;
while ($i < min($num, $limit))
{
$obj = $db->fetch_object($resql);
print '<tr class="oddeven">';
// Account number
if (!empty($arrayfields['subaccount']['checked']))
{
print "<td>";
print length_accounta($obj->subaccount);
print "</td>\n";
if (!$i) $totalarray['nbfield']++;
}
// Subaccount label
if (!empty($arrayfields['label']['checked']))
{
print "<td>";
print $obj->label;
print "</td>\n";
if (!$i) $totalarray['nbfield']++;
}
// Type
if (!empty($arrayfields['type']['checked']))
{
print '<td class="center">';
$s = '';
// Customer
if ($obj->type == 0)
{
$s .= '<a class="customer-back" style="padding-left: 6px; padding-right: 6px" title="'.$langs->trans("Customer").'" href="'.DOL_URL_ROOT.'/comm/card.php?socid='.$obj->rowid.'">'.$langs->trans("Customer").'</a>';
}
// Supplier
elseif ($obj->type == 1)
{
$s .= '<a class="vendor-back" style="padding-left: 6px; padding-right: 6px" title="'.$langs->trans("Supplier").'" href="'.DOL_URL_ROOT.'/fourn/card.php?socid='.$obj->rowid.'">'.$langs->trans("Supplier").'</a>';
}
// User
elseif ($obj->type == 2)
{
$s .= '<a class="user-back" style="padding-left: 6px; padding-right: 6px" title="'.$langs->trans("Employee").'" href="'.DOL_URL_ROOT.'/user/card.php?id='.$obj->id.'">'.$langs->trans("Employee").'</a>';
}
print $s;
print '</td>';
if (!$i) $totalarray['nbfield']++;
}
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) {
// Activated or not reconciliation on accounting account
if (!empty($arrayfields['reconcilable']['checked'])) {
print '<td class="center">';
if (empty($obj->reconcilable)) {
print '<a class="reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$obj->rowid.'&action=enable&mode=1">';
print img_picto($langs->trans("Disabled"), 'switch_off');
print '</a>';
} else {
print '<a class="reposition" href="'.$_SERVER["PHP_SELF"].'?id='.$obj->rowid.'&action=disable&mode=1">';
print img_picto($langs->trans("Activated"), 'switch_on');
print '</a>';
}
print '</td>';
if (!$i) {
$totalarray['nbfield']++;
}
}
}
// Action
print '<td class="center">';
$e = '';
// Customer
if ($obj->type == 0)
{
$e .= '<a class="editfielda" title="'.$langs->trans("Customer").'" href="'.DOL_URL_ROOT.'/societe/card.php?action=edit&socid='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"]).'">'.img_edit().'</a>';
}
// Supplier
elseif ($obj->type == 1)
{
$e .= '<a class="editfielda" title="'.$langs->trans("Supplier").'" href="'.DOL_URL_ROOT.'/societe/card.php?action=edit&socid='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"]).'">'.img_edit().'</a>';
}
// User
elseif ($obj->type == 2)
{
$e .= '<a class="editfielda" title="'.$langs->trans("Employee").'" href="'.DOL_URL_ROOT.'/user/card.php?action=edit&id='.$obj->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"]).'">'.img_edit().'</a>';
}
print $e;
print '</td>'."\n";
if (!$i) $totalarray['nbfield']++;
print '</tr>'."\n";
$i++;
}
$db->free($resql);
$parameters = array('arrayfields'=>$arrayfields, 'sql'=>$sql);
$reshook = $hookmanager->executeHooks('printFieldListFooter', $parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print "</table>";
print "</div>";
print '</form>';
} else {
dol_print_error($db);
}
// End of page
llxFooter();
$db->close();

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2016-2019 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2016-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
*
* This program is free software; you can redistribute it and/or modify
@ -31,6 +31,7 @@ require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php';
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingaccount.class.php';
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountancyexport.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
@ -45,8 +46,8 @@ $action = GETPOST('action', 'aZ09');
// Load variable for pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'alpha');
$sortorder = GETPOST('sortorder', 'alpha');
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
if (empty($page) || $page == -1 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha') || (empty($toselect) && $massaction === '0')) { $page = 0; } // If $page is not defined, or '' or -1 or if we click on clear filters or if we select empty mass action
$offset = $limit * $page;
@ -55,7 +56,7 @@ $pagenext = $page + 1;
//if (! $sortfield) $sortfield="p.date_fin";
//if (! $sortorder) $sortorder="DESC";
$show_subgroup = GETPOST('show_subgroup', 'alpha');
$search_date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth', 'int'), GETPOST('date_startday', 'int'), GETPOST('date_startyear', 'int'));
$search_date_end = dol_mktime(23, 59, 59, GETPOST('date_endmonth', 'int'), GETPOST('date_endday', 'int'), GETPOST('date_endyear', 'int'));
@ -130,10 +131,11 @@ if (!empty($search_accountancy_code_end)) {
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
{
$search_accountancy_code_start = '';
$search_accountancy_code_end = '';
$show_subgroup = '';
$search_date_start = '';
$search_date_end = '';
$search_accountancy_code_start = '';
$search_accountancy_code_end = '';
$filter = array();
}
@ -223,6 +225,12 @@ if ($action != 'export_csv')
$moreforfilter .= $form->selectDate($search_date_start ? $search_date_start : -1, 'date_start', 0, 0, 1, '', 1, 0);
$moreforfilter .= $langs->trans('DateEnd').': ';
$moreforfilter .= $form->selectDate($search_date_end ? $search_date_end : -1, 'date_end', 0, 0, 1, '', 1, 0);
$moreforfilter .= ' - ';
$moreforfilter .= $langs->trans('ShowSubtotalByGroup').': ';
$moreforfilter .= '<input type="checkbox" name="show_subgroup" value="show_subgroup"'.($show_subgroup == 'show_subgroup' ? ' checked' : '').'>';
$moreforfilter .= '</div>';
if (!empty($moreforfilter)) {
@ -237,15 +245,15 @@ if ($action != 'export_csv')
print '<table class="liste '.($moreforfilter ? "listwithfilterbefore" : "").'">';
print '<tr class="liste_titre_filter">';
print '<td class="liste_titre" colspan="6">';
print '<td class="liste_titre" colspan="5">';
print $langs->trans('From');
print $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, '');
print ' ';
print $langs->trans('to');
print $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, '');
print '</td>';
print '<td class="liste_titre right">';
$searchpicto = $form->showFilterAndCheckAddButtons(0);
print '<td class="liste_titre center">';
$searchpicto = $form->showFilterButtons();
print $searchpicto;
print '</td>';
@ -253,7 +261,6 @@ if ($action != 'export_csv')
print '<tr class="liste_titre">';
print_liste_field_titre("AccountAccounting", $_SERVER['PHP_SELF'], "t.numero_compte", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre("Label", $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre("OpeningBalance", $_SERVER['PHP_SELF'], "", $param, "", 'class="right"', $sortfield, $sortorder);
print_liste_field_titre("Debit", $_SERVER['PHP_SELF'], "t.debit", "", $param, 'class="right"', $sortfield, $sortorder);
print_liste_field_titre("Credit", $_SERVER['PHP_SELF'], "t.credit", "", $param, 'class="right"', $sortfield, $sortorder);
@ -267,9 +274,11 @@ if ($action != 'export_csv')
$sous_total_credit = 0;
$displayed_account = "";
$accountingaccountstatic = new AccountingAccount($db);
$sql = "SELECT t.numero_compte, (SUM(t.debit) - SUM(t.credit)) as opening_balance";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as t";
$sql .= " WHERE t.entity = ".$conf->entity; // Never do sharing into accounting features
$sql .= " WHERE t.entity = ".$conf->entity; // Never do sharing into accounting features
$sql .= " AND t.doc_date < '".$db->idate($search_date_start)."'";
$sql .= " GROUP BY t.numero_compte";
@ -283,44 +292,54 @@ if ($action != 'export_csv')
foreach ($object->lines as $line)
{
$accountingaccountstatic->fetch(null, $line->numero_compte, true);
if (!empty($accountingaccountstatic->account_number)) {
$accounting_account = $accountingaccountstatic->getNomUrl(0, 1);
} else {
$accounting_account = length_accountg($line->numero_compte);
}
$link = '';
$total_debit += $line->debit;
$total_credit += $line->credit;
$description = $object->get_compte_desc($line->numero_compte); // Search description of the account
$root_account_description = $object->get_compte_racine($line->numero_compte);
if (empty($description)) {
if (empty($accountingaccountstatic->account_number)) {
$link = '<a href="'.DOL_URL_ROOT.'/accountancy/admin/card.php?action=create&accountingaccount='.length_accountg($line->numero_compte).'">'.img_edit_add().'</a>';
}
print '<tr class="oddeven">';
// Display the accounting account
if (empty($displayed_account) || $root_account_description != $displayed_account)
if (!empty($show_subgroup))
{
// Display a sub-total per account
if ($displayed_account != "") {
print '<tr class="liste_total"><td class="right" colspan="3">'.$langs->trans("SubTotal").':</td><td class="nowrap right">'.price($sous_total_debit).'</td><td class="nowrap right">'.price($sous_total_credit).'</td><td class="nowrap right">'.price(price2num($sous_total_credit - $sous_total_debit)).'</td>';
print "<td>&nbsp;</td>\n";
// Show accounting account
if (empty($displayed_account) || $root_account_description != $displayed_account) {
// Show subtotal per accounting account
if ($displayed_account != "") {
print '<tr class="liste_total">';
print '<td class="right" colspan="2">'.$langs->trans("SubTotal").':</td>';
print '<td class="nowrap right">'.price($sous_total_debit).'</td>';
print '<td class="nowrap right">'.price($sous_total_credit).'</td>';
print '<td class="nowrap right">'.price(price2num($sous_total_credit - $sous_total_debit)).'</td>';
print "<td></td>\n";
print '</tr>';
}
// Show first line of a break
print '<tr class="trforbreak">';
print '<td colspan="6" style="font-weight:bold; border-bottom: 1pt solid black;">'.$line->numero_compte.($root_account_description ? ' - '.$root_account_description : '').'</td>';
print '</tr>';
$displayed_account = $root_account_description;
$sous_total_debit = 0;
$sous_total_credit = 0;
}
// Show first line of a break
print '<tr class="trforbreak">';
print '<td colspan="7" style="font-weight:bold; border-bottom: 1pt solid black;">'.$line->numero_compte.($root_account_description ? ' - '.$root_account_description : '').'</td>';
print '</tr>';
$displayed_account = $root_account_description;
$sous_total_debit = 0;
$sous_total_credit = 0;
}
// $object->get_compte_racine($line->numero_compte);
print '<td>'.length_accountg($line->numero_compte).'</td>';
print '<td>'.$description.'</td>';
print '<td>'.$accounting_account.'</td>';
print '<td class="nowraponall right">'.price($opening_balances["'".$line->numero_compte."'"]).'</td>';
print '<td class="nowraponall right">'.price($line->debit).'</td>';
print '<td class="nowraponall right">'.price($line->credit).'</td>';
print '<td class="nowraponall right">'.price($line->debit - $line->credit).'</td>';
print '<td class="nowraponall right">'.price(price2num($line->debit - $line->credit, 'MT')).'</td>';
print '<td class="center">'.$link;
print '</td>';
print "</tr>\n";
@ -330,12 +349,15 @@ if ($action != 'export_csv')
$sous_total_credit += $line->credit;
}
print '<tr class="liste_total"><td class="right" colspan="3">'.$langs->trans("SubTotal").':</td><td class="nowrap right">'.price($sous_total_debit).'</td><td class="nowrap right">'.price($sous_total_credit).'</td><td class="nowrap right">'.price(price2num($sous_total_debit - $sous_total_credit)).'</td>';
print "<td>&nbsp;</td>\n";
print '</tr>';
if (!empty($show_subgroup))
{
print '<tr class="liste_total"><td class="right" colspan="2">'.$langs->trans("SubTotal").':</td><td class="nowrap right">'.price($sous_total_debit).'</td><td class="nowrap right">'.price($sous_total_credit).'</td><td class="nowrap right">'.price(price2num($sous_total_debit - $sous_total_credit)).'</td>';
print "<td></td>\n";
print '</tr>';
}
print '<tr class="liste_total"><td class="right" colspan="3">'.$langs->trans("AccountBalance").':</td><td class="nowrap right">'.price($total_debit).'</td><td class="nowrap right">'.price($total_credit).'</td><td class="nowrap right">'.price(price2num($total_debit - $total_credit)).'</td>';
print "<td>&nbsp;</td>\n";
print '<tr class="liste_total"><td class="right" colspan="2">'.$langs->trans("AccountBalance").':</td><td class="nowrap right">'.price($total_debit).'</td><td class="nowrap right">'.price($total_credit).'</td><td class="nowrap right">'.price(price2num($total_debit - $total_credit)).'</td>';
print "<td></td>\n";
print '</tr>';
print "</table>";

View File

@ -114,11 +114,13 @@ if ($action == "confirm_update") {
$object->credit = $credit;
if (floatval($debit) != 0.0) {
$object->montant = $debit;
$object->montant = $debit; // deprecated
$object->amount = $debit;
$object->sens = 'D';
}
if (floatval($credit) != 0.0) {
$object->montant = $credit;
$object->montant = $credit; // deprecated
$object->amount = $credit;
$object->sens = 'C';
}
@ -138,9 +140,7 @@ if ($action == "confirm_update") {
}
}
}
}
elseif ($action == "add") {
} elseif ($action == "add") {
$error = 0;
if ((floatval($debit) != 0.0) && (floatval($credit) != 0.0))
@ -175,12 +175,14 @@ elseif ($action == "add") {
$object->fk_docdet = (int) GETPOST('fk_docdet', 'int');
if (floatval($debit) != 0.0) {
$object->montant = $debit;
$object->montant = $debit; // deprecated
$object->amount = $debit;
$object->sens = 'D';
}
if (floatval($credit) != 0.0) {
$object->montant = $credit;
$object->montant = $credit; // deprecated
$object->amount = $credit;
$object->sens = 'C';
}
@ -199,9 +201,7 @@ elseif ($action == "add") {
$action = '';
}
}
}
elseif ($action == "confirm_delete") {
} elseif ($action == "confirm_delete") {
$object = new BookKeeping($db);
$result = $object->fetch($id, null, $mode);
@ -216,9 +216,7 @@ elseif ($action == "confirm_delete") {
}
}
$action = '';
}
elseif ($action == "confirm_create") {
} elseif ($action == "confirm_create") {
$error = 0;
$object = new BookKeeping($db);
@ -247,7 +245,8 @@ elseif ($action == "confirm_create") {
$object->journal_label = $journal_label;
$object->fk_doc = 0;
$object->fk_docdet = 0;
$object->montant = 0;
$object->montant = 0; // deprecated
$object->amount = 0;
$result = $object->createStd($user, 0, $mode);
if ($result < 0) {
@ -293,7 +292,7 @@ if ($action == 'setjournal') {
}
if ($action == 'setdocref') {
$refdoc = trim(GETPOST('doc_ref', 'alpha'));
$refdoc = GETPOST('doc_ref', 'alpha');
$result = $object->updateByMvt($piece_num, 'doc_ref', $refdoc, $mode);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
@ -329,7 +328,7 @@ llxHeader('', $langs->trans("CreateMvts"));
// Confirmation to delete the command
if ($action == 'delete') {
$formconfirm = $html->formconfirm($_SERVER["PHP_SELF"].'?id='.$id.'&mode='.$mode, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'confirm_delete', '', 0, 1);
$formconfirm = $html->formconfirm($_SERVER["PHP_SELF"].'?id='.$id.'&mode='.$mode, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt', $langs->transnoentitiesnoconv("RegistrationInAccounting")), 'confirm_delete', '', 0, 1);
print $formconfirm;
}
@ -352,7 +351,7 @@ if ($action == 'create')
print '<input type="hidden" name="next_num_mvt" value="'.$next_num_mvt.'">'."\n";
print '<input type="hidden" name="mode" value="_tmp">'."\n";
dol_fiche_head();
print dol_get_fiche_head();
print '<table class="border centpercent">';
@ -387,7 +386,7 @@ if ($action == 'create')
print '</table>';
dol_fiche_end();
print dol_get_fiche_end();
print '<div class="center">';
print '<input type="submit" class="button" value="'.$langs->trans("Create").'">';
@ -416,7 +415,7 @@ if ($action == 'create')
$head[$h][2] = 'transaction';
$h++;
dol_fiche_head($head, 'transaction', '', -1);
print dol_get_fiche_head($head, 'transaction', '', -1);
//dol_banner_tab($object, '', $backlink);
@ -574,7 +573,7 @@ if ($action == 'create')
print '</div></div><!-ee-->';
dol_fiche_end();
print dol_get_fiche_end();
print '<div style="clear:both"></div>';
@ -628,9 +627,7 @@ if ($action == 'create')
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX))
{
print $formaccounting->select_auxaccount((GETPOSTISSET("subledger_account") ? GETPOST("subledger_account", "alpha") : $line->subledger_account), 'subledger_account', 1);
}
else
{
} else {
print '<input type="text" class="maxwidth150" name="subledger_account" value="'.(GETPOSTISSET("subledger_account") ? GETPOST("subledger_account", "alpha") : $line->subledger_account).'">';
}
print '</td>';
@ -685,9 +682,7 @@ if ($action == 'create')
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX))
{
print $formaccounting->select_auxaccount('', 'subledger_account', 1);
}
else
{
} else {
print '<input type="text" class="maxwidth150" name="subledger_account" value="">';
}
print '</td>';
@ -707,9 +702,7 @@ if ($action == 'create')
if ($total_debit == $total_credit)
{
print '<a class="button" href="'.$_SERVER["PHP_SELF"].'?piece_num='.$object->piece_num.'&action=valid">'.$langs->trans("ValidTransaction").'</a>';
}
else
{
} else {
print '<input type="submit" class="button" disabled="disabled" href="#" title="'.dol_escape_htmltag($langs->trans("MvtNotCorrectlyBalanced", $debit, $credit)).'" value="'.dol_escape_htmltag($langs->trans("ValidTransaction")).'">';
}
@ -726,7 +719,7 @@ if ($action == 'create')
}
}
dol_fiche_end();
print dol_get_fiche_end();
// End of page
llxFooter();

View File

@ -91,8 +91,8 @@ $search_not_reconciled = GETPOST('search_reconciled_option', 'alpha');
// Load variable for pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION);
$sortfield = GETPOST('sortfield', 'alpha');
$sortorder = GETPOST('sortorder', 'alpha');
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
if (empty($page) || $page < 0) { $page = 0; }
$offset = $limit * $page;
@ -108,7 +108,7 @@ $hookmanager->initHooks(array('bookkeepinglist'));
$formaccounting = new FormAccounting($db);
$form = new Form($db);
if (!in_array($action, array('export_file', 'delmouv', 'delmouvconfirm')) && !isset($_POST['begin']) && !isset($_GET['begin']) && !isset($_POST['formfilteraction']) && GETPOST('page', 'int') == '' && !GETPOST('noreset', 'int') && $user->rights->accounting->mouvements->export)
if (!in_array($action, array('export_file', 'delmouv', 'delmouvconfirm')) && !GETPOSTISSET('begin') && !isset($_POST['formfilteraction']) && GETPOST('page', 'int') == '' && !GETPOST('noreset', 'int') && $user->rights->accounting->mouvements->export)
{
if (empty($search_date_start) && empty($search_date_end) && !GETPOSTISSET('restore_lastsearch_values'))
{
@ -151,7 +151,7 @@ $arrayfields = array(
't.code_journal'=>array('label'=>$langs->trans("Codejournal"), 'checked'=>1),
't.date_creation'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0),
't.tms'=>array('label'=>$langs->trans("DateModification"), 'checked'=>0),
't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1),
't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1),
);
if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) unset($arrayfields['t.lettering_code']);
@ -176,145 +176,145 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
if (empty($reshook))
{
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
{
$search_mvt_num = '';
$search_doc_type = '';
$search_doc_ref = '';
$search_doc_date = '';
$search_accountancy_code = '';
$search_accountancy_code_start = '';
$search_accountancy_code_end = '';
$search_accountancy_aux_code = '';
$search_accountancy_aux_code_start = '';
$search_accountancy_aux_code_end = '';
$search_mvt_label = '';
$search_direction = '';
$search_ledger_code = '';
$search_date_start = '';
$search_date_end = '';
$search_date_creation_start = '';
$search_date_creation_end = '';
$search_date_modification_start = '';
$search_date_modification_end = '';
$search_date_export_start = '';
$search_date_export_end = '';
$search_debit = '';
$search_credit = '';
$search_lettering_code = '';
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
{
$search_mvt_num = '';
$search_doc_type = '';
$search_doc_ref = '';
$search_doc_date = '';
$search_accountancy_code = '';
$search_accountancy_code_start = '';
$search_accountancy_code_end = '';
$search_accountancy_aux_code = '';
$search_accountancy_aux_code_start = '';
$search_accountancy_aux_code_end = '';
$search_mvt_label = '';
$search_direction = '';
$search_ledger_code = '';
$search_date_start = '';
$search_date_end = '';
$search_date_creation_start = '';
$search_date_creation_end = '';
$search_date_modification_start = '';
$search_date_modification_end = '';
$search_date_export_start = '';
$search_date_export_end = '';
$search_debit = '';
$search_credit = '';
$search_lettering_code = '';
$search_not_reconciled = '';
}
}
// Must be after the remove filter action, before the export.
$param = '';
$filter = array();
if (!empty($search_date_start)) {
$filter['t.doc_date>='] = $search_date_start;
$tmp = dol_getdate($search_date_start);
$param .= '&search_date_startmonth='.urlencode($tmp['mon']).'&search_date_startday='.urlencode($tmp['mday']).'&search_date_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_end)) {
$filter['t.doc_date<='] = $search_date_end;
$tmp = dol_getdate($search_date_end);
$param .= '&search_date_endmonth='.urlencode($tmp['mon']).'&search_date_endday='.urlencode($tmp['mday']).'&search_date_endyear='.urlencode($tmp['year']);
}
if (!empty($search_doc_date)) {
$filter['t.doc_date'] = $search_doc_date;
$tmp = dol_getdate($search_doc_date);
$param .= '&doc_datemonth='.urlencode($tmp['mon']).'&doc_dateday='.urlencode($tmp['mday']).'&doc_dateyear='.urlencode($tmp['year']);
}
if (!empty($search_doc_type)) {
$filter['t.doc_type'] = $search_doc_type;
$param .= '&search_doc_type='.urlencode($search_doc_type);
}
if (!empty($search_doc_ref)) {
$filter['t.doc_ref'] = $search_doc_ref;
$param .= '&search_doc_ref='.urlencode($search_doc_ref);
}
if (!empty($search_accountancy_code)) {
$filter['t.numero_compte'] = $search_accountancy_code;
$param .= '&search_accountancy_code='.urlencode($search_accountancy_code);
}
if (!empty($search_accountancy_code_start)) {
$filter['t.numero_compte>='] = $search_accountancy_code_start;
$param .= '&search_accountancy_code_start='.urlencode($search_accountancy_code_start);
}
if (!empty($search_accountancy_code_end)) {
$filter['t.numero_compte<='] = $search_accountancy_code_end;
$param .= '&search_accountancy_code_end='.urlencode($search_accountancy_code_end);
}
if (!empty($search_accountancy_aux_code)) {
$filter['t.subledger_account'] = $search_accountancy_aux_code;
$param .= '&search_accountancy_aux_code='.urlencode($search_accountancy_aux_code);
}
if (!empty($search_accountancy_aux_code_start)) {
$filter['t.subledger_account>='] = $search_accountancy_aux_code_start;
$param .= '&search_accountancy_aux_code_start='.urlencode($search_accountancy_aux_code_start);
}
if (!empty($search_accountancy_aux_code_end)) {
$filter['t.subledger_account<='] = $search_accountancy_aux_code_end;
$param .= '&search_accountancy_aux_code_end='.urlencode($search_accountancy_aux_code_end);
}
if (!empty($search_mvt_label)) {
$filter['t.label_operation'] = $search_mvt_label;
$param .= '&search_mvt_label='.urlencode($search_mvt_label);
}
if (!empty($search_direction)) {
$filter['t.sens'] = $search_direction;
$param .= '&search_direction='.urlencode($search_direction);
}
if (!empty($search_ledger_code)) {
$filter['t.code_journal'] = $search_ledger_code;
$param .= '&search_ledger_code='.urlencode($search_ledger_code);
}
if (!empty($search_mvt_num)) {
$filter['t.piece_num'] = $search_mvt_num;
$param .= '&search_mvt_num='.urlencode($search_mvt_num);
}
if (!empty($search_date_creation_start)) {
$filter['t.date_creation>='] = $search_date_creation_start;
$tmp = dol_getdate($search_date_creation_start);
$param .= '&date_creation_startmonth='.urlencode($tmp['mon']).'&date_creation_startday='.urlencode($tmp['mday']).'&date_creation_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_creation_end)) {
$filter['t.date_creation<='] = $search_date_creation_end;
$tmp = dol_getdate($search_date_creation_end);
$param .= '&date_creation_endmonth='.urlencode($tmp['mon']).'&date_creation_endday='.urlencode($tmp['mday']).'&date_creation_endyear='.urlencode($tmp['year']);
}
if (!empty($search_date_modification_start)) {
$filter['t.tms>='] = $search_date_modification_start;
$tmp = dol_getdate($search_date_modification_start);
$param .= '&date_modification_startmonth='.urlencode($tmp['mon']).'&date_modification_startday='.urlencode($tmp['mday']).'&date_modification_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_modification_end)) {
$filter['t.tms<='] = $search_date_modification_end;
$tmp = dol_getdate($search_date_modification_end);
$param .= '&date_modification_endmonth='.urlencode($tmp['mon']).'&date_modification_endday='.urlencode($tmp['mday']).'&date_modification_endyear='.urlencode($tmp['year']);
}
if (!empty($search_date_export_start)) {
$filter['t.date_export>='] = $search_date_export_start;
$tmp = dol_getdate($search_date_export_start);
$param .= '&date_export_startmonth='.urlencode($tmp['mon']).'&date_export_startday='.urlencode($tmp['mday']).'&date_export_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_export_end)) {
$filter['t.date_export<='] = $search_date_export_end;
$tmp = dol_getdate($search_date_export_end);
$param .= '&date_export_endmonth='.urlencode($tmp['mon']).'&date_export_endday='.urlencode($tmp['mday']).'&date_export_endyear='.urlencode($tmp['year']);
}
if (!empty($search_debit)) {
$filter['t.debit'] = $search_debit;
$param .= '&search_debit='.urlencode($search_debit);
}
if (!empty($search_credit)) {
$filter['t.credit'] = $search_credit;
$param .= '&search_credit='.urlencode($search_credit);
}
if (!empty($search_lettering_code)) {
$filter['t.lettering_code'] = $search_lettering_code;
$param .= '&search_lettering_code='.urlencode($search_lettering_code);
}
// Must be after the remove filter action, before the export.
$param = '';
$filter = array();
if (!empty($search_date_start)) {
$filter['t.doc_date>='] = $search_date_start;
$tmp = dol_getdate($search_date_start);
$param .= '&search_date_startmonth='.urlencode($tmp['mon']).'&search_date_startday='.urlencode($tmp['mday']).'&search_date_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_end)) {
$filter['t.doc_date<='] = $search_date_end;
$tmp = dol_getdate($search_date_end);
$param .= '&search_date_endmonth='.urlencode($tmp['mon']).'&search_date_endday='.urlencode($tmp['mday']).'&search_date_endyear='.urlencode($tmp['year']);
}
if (!empty($search_doc_date)) {
$filter['t.doc_date'] = $search_doc_date;
$tmp = dol_getdate($search_doc_date);
$param .= '&doc_datemonth='.urlencode($tmp['mon']).'&doc_dateday='.urlencode($tmp['mday']).'&doc_dateyear='.urlencode($tmp['year']);
}
if (!empty($search_doc_type)) {
$filter['t.doc_type'] = $search_doc_type;
$param .= '&search_doc_type='.urlencode($search_doc_type);
}
if (!empty($search_doc_ref)) {
$filter['t.doc_ref'] = $search_doc_ref;
$param .= '&search_doc_ref='.urlencode($search_doc_ref);
}
if (!empty($search_accountancy_code)) {
$filter['t.numero_compte'] = $search_accountancy_code;
$param .= '&search_accountancy_code='.urlencode($search_accountancy_code);
}
if (!empty($search_accountancy_code_start)) {
$filter['t.numero_compte>='] = $search_accountancy_code_start;
$param .= '&search_accountancy_code_start='.urlencode($search_accountancy_code_start);
}
if (!empty($search_accountancy_code_end)) {
$filter['t.numero_compte<='] = $search_accountancy_code_end;
$param .= '&search_accountancy_code_end='.urlencode($search_accountancy_code_end);
}
if (!empty($search_accountancy_aux_code)) {
$filter['t.subledger_account'] = $search_accountancy_aux_code;
$param .= '&search_accountancy_aux_code='.urlencode($search_accountancy_aux_code);
}
if (!empty($search_accountancy_aux_code_start)) {
$filter['t.subledger_account>='] = $search_accountancy_aux_code_start;
$param .= '&search_accountancy_aux_code_start='.urlencode($search_accountancy_aux_code_start);
}
if (!empty($search_accountancy_aux_code_end)) {
$filter['t.subledger_account<='] = $search_accountancy_aux_code_end;
$param .= '&search_accountancy_aux_code_end='.urlencode($search_accountancy_aux_code_end);
}
if (!empty($search_mvt_label)) {
$filter['t.label_operation'] = $search_mvt_label;
$param .= '&search_mvt_label='.urlencode($search_mvt_label);
}
if (!empty($search_direction)) {
$filter['t.sens'] = $search_direction;
$param .= '&search_direction='.urlencode($search_direction);
}
if (!empty($search_ledger_code)) {
$filter['t.code_journal'] = $search_ledger_code;
$param .= '&search_ledger_code='.urlencode($search_ledger_code);
}
if (!empty($search_mvt_num)) {
$filter['t.piece_num'] = $search_mvt_num;
$param .= '&search_mvt_num='.urlencode($search_mvt_num);
}
if (!empty($search_date_creation_start)) {
$filter['t.date_creation>='] = $search_date_creation_start;
$tmp = dol_getdate($search_date_creation_start);
$param .= '&date_creation_startmonth='.urlencode($tmp['mon']).'&date_creation_startday='.urlencode($tmp['mday']).'&date_creation_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_creation_end)) {
$filter['t.date_creation<='] = $search_date_creation_end;
$tmp = dol_getdate($search_date_creation_end);
$param .= '&date_creation_endmonth='.urlencode($tmp['mon']).'&date_creation_endday='.urlencode($tmp['mday']).'&date_creation_endyear='.urlencode($tmp['year']);
}
if (!empty($search_date_modification_start)) {
$filter['t.tms>='] = $search_date_modification_start;
$tmp = dol_getdate($search_date_modification_start);
$param .= '&date_modification_startmonth='.urlencode($tmp['mon']).'&date_modification_startday='.urlencode($tmp['mday']).'&date_modification_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_modification_end)) {
$filter['t.tms<='] = $search_date_modification_end;
$tmp = dol_getdate($search_date_modification_end);
$param .= '&date_modification_endmonth='.urlencode($tmp['mon']).'&date_modification_endday='.urlencode($tmp['mday']).'&date_modification_endyear='.urlencode($tmp['year']);
}
if (!empty($search_date_export_start)) {
$filter['t.date_export>='] = $search_date_export_start;
$tmp = dol_getdate($search_date_export_start);
$param .= '&date_export_startmonth='.urlencode($tmp['mon']).'&date_export_startday='.urlencode($tmp['mday']).'&date_export_startyear='.urlencode($tmp['year']);
}
if (!empty($search_date_export_end)) {
$filter['t.date_export<='] = $search_date_export_end;
$tmp = dol_getdate($search_date_export_end);
$param .= '&date_export_endmonth='.urlencode($tmp['mon']).'&date_export_endday='.urlencode($tmp['mday']).'&date_export_endyear='.urlencode($tmp['year']);
}
if (!empty($search_debit)) {
$filter['t.debit'] = $search_debit;
$param .= '&search_debit='.urlencode($search_debit);
}
if (!empty($search_credit)) {
$filter['t.credit'] = $search_credit;
$param .= '&search_credit='.urlencode($search_credit);
}
if (!empty($search_lettering_code)) {
$filter['t.lettering_code'] = $search_lettering_code;
$param .= '&search_lettering_code='.urlencode($search_lettering_code);
}
if (!empty($search_not_reconciled)) {
$filter['t.reconciled_option'] = $search_not_reconciled;
$param .= '&search_not_reconciled='.urlencode($search_not_reconciled);
@ -351,18 +351,14 @@ if ($action == 'delbookkeepingyearconfirm' && $user->rights->accounting->mouveme
$result = $object->deleteByYearAndJournal($delyear, $deljournal, '', ($delmonth > 0 ? $delmonth : 0));
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
else
{
} else {
setEventMessages("RecordDeleted", null, 'mesgs');
}
// Make a redirect to avoid to launch the delete later after a back button
header("Location: list.php".($param ? '?'.$param : ''));
exit;
}
else
{
} else {
setEventMessages("NoRecordDeleted", null, 'warnings');
}
}
@ -373,9 +369,7 @@ if ($action == 'delmouvconfirm' && $user->rights->accounting->mouvements->suppri
$result = $object->deleteMvtNum($mvt_num);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
else
{
} else {
setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
}
@ -418,7 +412,7 @@ $sql .= " t.label_operation,";
$sql .= " t.debit,";
$sql .= " t.credit,";
$sql .= " t.lettering_code,";
$sql .= " t.montant,";
$sql .= " t.montant as amount,";
$sql .= " t.sens,";
$sql .= " t.fk_user_author,";
$sql .= " t.import_key,";
@ -480,55 +474,49 @@ if ($action == 'export_file' && $user->rights->accounting->mouvements->export) {
if ($result < 0)
{
setEventMessages($object->error, $object->errors, 'errors');
}
else
{
// Export files
} else {
// Export files
$accountancyexport = new AccountancyExport($db);
$accountancyexport->export($object->lines, $formatexportset);
if (!empty($accountancyexport->errors))
{
setEventMessages('', $accountancyexport->errors, 'errors');
}
else
{
// Specify as export : update field date_export
$error = 0;
$db->begin();
if (!empty($accountancyexport->errors))
{
setEventMessages('', $accountancyexport->errors, 'errors');
} else {
// Specify as export : update field date_export
$error = 0;
$db->begin();
if (is_array($object->lines))
{
foreach ($object->lines as $movement)
{
$now = dol_now();
if (is_array($object->lines))
{
foreach ($object->lines as $movement)
{
$now = dol_now();
$sql = " UPDATE ".MAIN_DB_PREFIX."accounting_bookkeeping";
$sql .= " SET date_export = '".$db->idate($now)."'";
$sql .= " WHERE rowid = ".$movement->id;
$sql = " UPDATE ".MAIN_DB_PREFIX."accounting_bookkeeping";
$sql .= " SET date_export = '".$db->idate($now)."'";
$sql .= " WHERE rowid = ".$movement->id;
dol_syslog("/accountancy/bookeeping/list.php Function export_file Specify movements as exported sql=".$sql, LOG_DEBUG);
$result = $db->query($sql);
if (!$result)
{
$error++;
break;
}
}
}
dol_syslog("/accountancy/bookeeping/list.php Function export_file Specify movements as exported sql=".$sql, LOG_DEBUG);
$result = $db->query($sql);
if (!$result)
{
$error++;
break;
}
}
}
if (!$error)
{
$db->commit();
// setEventMessages($langs->trans("AllExportedMovementsWereRecordedAsExported"), null, 'mesgs');
}
else
{
$error++;
$db->rollback();
setEventMessages($langs->trans("NotAllExportedMovementsCouldBeRecordedAsExported"), null, 'errors');
}
}
if (!$error)
{
$db->commit();
// setEventMessages($langs->trans("AllExportedMovementsWereRecordedAsExported"), null, 'mesgs');
} else {
$error++;
$db->rollback();
setEventMessages($langs->trans("NotAllExportedMovementsCouldBeRecordedAsExported"), null, 'errors');
}
}
exit;
}
}
@ -541,7 +529,7 @@ if ($action == 'export_file' && $user->rights->accounting->mouvements->export) {
$formother = new FormOther($db);
$formfile = new FormFile($db);
$title_page = $langs->trans("Bookkeeping");
$title_page = $langs->trans("Operations").' - '.$langs->trans("Journals");
// Count total nb of records
$nbtotalofrecords = '';
@ -559,9 +547,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
if (is_numeric($nbtotalofrecords) && $limit > $nbtotalofrecords)
{
$num = $nbtotalofrecords;
}
else
{
} else {
$sql .= $db->plimit($limit + 1, $offset);
$resql = $db->query($sql);
@ -622,41 +608,43 @@ if ($action == 'delbookkeepingyear') {
'default' => $deljournal
);
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?'.$param, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'delbookkeepingyearconfirm', $form_question, '', 1, 300);
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?'.$param, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt', $langs->transnoentitiesnoconv("RegistrationInAccounting")), 'delbookkeepingyearconfirm', $form_question, '', 1, 300);
print $formconfirm;
}
//$param=''; param started before
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.$contextpage;
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.$limit;
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="list">';
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.urlencode($optioncss).'">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="page" value="'.$page.'">';
print '<input type="hidden" name="sortfield" value="'.urlencode($sortfield).'">';
print '<input type="hidden" name="sortorder" value="'.urlencode($sortorder).'">';
if (count($filter)) $buttonLabel = $langs->trans("ExportFilteredList");
else $buttonLabel = $langs->trans("ExportList");
// Button re-export
if (!empty($conf->global->ACCOUNTING_REEXPORT)) {
$newcardbutton = '<a class="valignmiddle" href="'.$_SERVER['PHP_SELF'].'?action=setreexport&value=0'.($param ? '&'.$param : '').'">'.img_picto($langs->trans("Activated"), 'switch_on').'</a> ';
$newcardbutton = '<a class="valignmiddle" href="'.$_SERVER['PHP_SELF'].'?action=setreexport&token='.newToken().'&value=0'.($param ? '&'.$param : '').'">'.img_picto($langs->trans("Activated"), 'switch_on').'</a> ';
} else {
$newcardbutton = '<a class="valignmiddle" href="'.$_SERVER['PHP_SELF'].'?action=setreexport&value=1'.($param ? '&'.$param : '').'">'.img_picto($langs->trans("Disabled"), 'switch_off').'</a> ';
$newcardbutton = '<a class="valignmiddle" href="'.$_SERVER['PHP_SELF'].'?action=setreexport&token='.newToken().'&value=1'.($param ? '&'.$param : '').'">'.img_picto($langs->trans("Disabled"), 'switch_off').'</a> ';
}
$newcardbutton .= '<span class="valignmiddle marginrightonly">'.$langs->trans("IncludeDocsAlreadyExported").'</span>';
$newcardbutton .= dolGetButtonTitle($buttonLabel, $langs->trans("ExportFilteredList").' ('.$listofformat[$formatexportset].')', 'fa fa-file-export paddingleft', $_SERVER["PHP_SELF"].'?action=export_file'.($param ? '&'.$param : ''), $user->rights->accounting->mouvements->export);
$newcardbutton .= dolGetButtonTitle($langs->trans('GroupByAccountAccounting'), '', 'fa fa-stream paddingleft', DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php?'.$param);
$newcardbutton .= dolGetButtonTitle($langs->trans('ViewFlatList'), '', 'fa fa-list paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/list.php?'.$param, '', 1, array('morecss'=>'marginleftonly btnTitleSelected'));
$newcardbutton .= dolGetButtonTitle($langs->trans('GroupByAccountAccounting'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php?'.$param, '', 1, array('morecss'=>'marginleftonly'));
$newcardbutton .= dolGetButtonTitle($langs->trans('NewAccountingMvt'), '', 'fa fa-plus-circle paddingleft', './card.php?action=create', '', $user->rights->accounting->mouvements->creer);
$url = './card.php?action=create';
if (!empty($socid)) $url .= '&socid='.$socid;
$newcardbutton .= dolGetButtonTitle($langs->trans('NewAccountingMvt'), '', 'fa fa-plus-circle paddingleft', $url, '', $user->rights->accounting->mouvements->creer);
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit);
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit, 0, 0, 1);
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
@ -682,12 +670,10 @@ if (!empty($arrayfields['t.doc_date']['checked']))
{
print '<td class="liste_titre center">';
print '<div class="nowrap">';
print $langs->trans('From').' ';
print $form->selectDate($search_date_start ? $search_date_start : -1, 'search_date_start', 0, 0, 1);
print $form->selectDate($search_date_start ? $search_date_start : -1, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '</div>';
print '<div class="nowrap">';
print $langs->trans('to').' ';
print $form->selectDate($search_date_end ? $search_date_end : -1, 'search_date_end', 0, 0, 1);
print $form->selectDate($search_date_end ? $search_date_end : -1, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
print '</div>';
print '</td>';
}
@ -715,29 +701,25 @@ if (!empty($arrayfields['t.subledger_account']['checked']))
{
print '<td class="liste_titre">';
print '<div class="nowrap">';
print $langs->trans('From').' ';
// TODO For the moment we keep a free input text instead of a combo. The select_auxaccount has problem because it does not
// use setup of keypress to select thirdparty and this hang browser on large database.
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX))
{
print $langs->trans('From').' ';
print $formaccounting->select_auxaccount($search_accountancy_aux_code_start, 'search_accountancy_aux_code_start', 1);
}
else
{
print '<input type="text" class="maxwidth100" name="search_accountancy_aux_code_start" value="'.$search_accountancy_aux_code_start.'">';
} else {
print '<input type="text" class="maxwidth100" name="search_accountancy_aux_code_start" value="'.$search_accountancy_aux_code_start.'" placeholder="'.$langs->trans("From").'">';
}
print '</div>';
print '<div class="nowrap">';
print $langs->trans('to').' ';
// TODO For the moment we keep a free input text instead of a combo. The select_auxaccount has problem because it does not
// use setup of keypress to select thirdparty and this hang browser on large database.
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX))
{
print $langs->trans('to').' ';
print $formaccounting->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', 1);
}
else
{
print '<input type="text" class="maxwidth100" name="search_accountancy_aux_code_end" value="'.$search_accountancy_aux_code_end.'">';
} else {
print '<input type="text" class="maxwidth100" name="search_accountancy_aux_code_end" value="'.$search_accountancy_aux_code_end.'" placeholder="'.$langs->trans("to").'">';
}
print '</div>';
print '</td>';
@ -787,12 +769,10 @@ if (!empty($arrayfields['t.date_creation']['checked']))
{
print '<td class="liste_titre center">';
print '<div class="nowrap">';
print $langs->trans('From').' ';
print $form->selectDate($search_date_creation_start, 'date_creation_start', 0, 0, 1);
print $form->selectDate($search_date_creation_start, 'date_creation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '</div>';
print '<div class="nowrap">';
print $langs->trans('to').' ';
print $form->selectDate($search_date_creation_end, 'date_creation_end', 0, 0, 1);
print $form->selectDate($search_date_creation_end, 'date_creation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
print '</div>';
print '</td>';
}
@ -801,28 +781,24 @@ if (!empty($arrayfields['t.tms']['checked']))
{
print '<td class="liste_titre center">';
print '<div class="nowrap">';
print $langs->trans('From').' ';
print $form->selectDate($search_date_modification_start, 'date_modification_start', 0, 0, 1);
print $form->selectDate($search_date_modification_start, 'date_modification_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '</div>';
print '<div class="nowrap">';
print $langs->trans('to').' ';
print $form->selectDate($search_date_modification_end, 'date_modification_end', 0, 0, 1);
print $form->selectDate($search_date_modification_end, 'date_modification_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '</div>';
print '</td>';
}
// Date export
if (!empty($arrayfields['t.date_export']['checked']))
{
print '<td class="liste_titre center">';
print '<div class="nowrap">';
print $langs->trans('From').' ';
print $form->selectDate($search_date_export_start, 'date_export_start', 0, 0, 1);
print '</div>';
print '<div class="nowrap">';
print $langs->trans('to').' ';
print $form->selectDate($search_date_export_end, 'date_export_end', 0, 0, 1);
print '</div>';
print '</td>';
print '<td class="liste_titre center">';
print '<div class="nowrap">';
print $form->selectDate($search_date_export_start, 'date_export_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '</div>';
print '<div class="nowrap">';
print $form->selectDate($search_date_export_end, 'date_export_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
print '</div>';
print '</td>';
}
// Action column
print '<td class="liste_titre center">';
@ -878,7 +854,8 @@ while ($i < min($num, $limit))
$line->label_operation = $obj->label_operation;
$line->debit = $obj->debit;
$line->credit = $obj->credit;
$line->montant = $obj->montant;
$line->montant = $obj->amount; // deprecated
$line->amount = $obj->amount;
$line->sens = $obj->sens;
$line->lettering_code = $obj->lettering_code;
$line->fk_user_author = $obj->fk_user_author;
@ -916,69 +893,65 @@ while ($i < min($num, $limit))
// Document ref
if (!empty($arrayfields['t.doc_ref']['checked']))
{
if ($line->doc_type == 'customer_invoice')
{
$langs->loadLangs(array('bills'));
if ($line->doc_type == 'customer_invoice')
{
$langs->loadLangs(array('bills'));
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$objectstatic = new Facture($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'facture';
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$objectstatic = new Facture($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'facture';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
}
elseif ($line->doc_type == 'supplier_invoice')
{
$langs->loadLangs(array('bills'));
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
} elseif ($line->doc_type == 'supplier_invoice')
{
$langs->loadLangs(array('bills'));
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
$objectstatic = new FactureFournisseur($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'invoice_supplier';
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
$objectstatic = new FactureFournisseur($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'invoice_supplier';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $subdir, $filedir);
}
elseif ($line->doc_type == 'expense_report')
{
$langs->loadLangs(array('trips'));
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $subdir, $filedir);
} elseif ($line->doc_type == 'expense_report')
{
$langs->loadLangs(array('trips'));
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
$objectstatic = new ExpenseReport($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'expensereport';
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
$objectstatic = new ExpenseReport($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'expensereport';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
}
else
{
// Other type
}
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
} else {
// Other type
}
print '<td class="nowrap">';
print '<td class="nowrap">';
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
// Picto + Ref
print '<td class="nobordernopadding nowrap">';
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
// Picto + Ref
print '<td class="nobordernopadding nowrap">';
if ($line->doc_type == 'customer_invoice' || $line->doc_type == 'supplier_invoice' || $line->doc_type == 'expense_report')
{
print $objectstatic->getNomUrl(1, '', 0, 0, '', 0, -1, 1);
print $documentlink;
} else {
print $line->doc_ref;
}
print '</td></tr></table>';
if ($line->doc_type == 'customer_invoice' || $line->doc_type == 'supplier_invoice' || $line->doc_type == 'expense_report')
{
print $objectstatic->getNomUrl(1, '', 0, 0, '', 0, -1, 1);
print $documentlink;
} else {
print $line->doc_ref;
}
print '</td></tr></table>';
print "</td>\n";
print "</td>\n";
if (!$i) $totalarray['nbfield']++;
}
@ -1068,10 +1041,10 @@ while ($i < min($num, $limit))
print '<td class="nowraponall center">';
if (empty($line->date_export)) {
if ($user->rights->accounting->mouvements->creer) {
print '<a href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_edit().'</a>';
print '<a class="editfielda paddingleft marginrightonly" href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_edit().'</a>';
}
if ($user->rights->accounting->mouvements->supprimer) {
print '&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?action=delmouv&mvt_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_delete().'</a>';
print '<a class="reposition paddingleft marginrightonly" href="'.$_SERVER['PHP_SELF'].'?action=delmouv&mvt_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_delete().'</a>';
}
}
print '</td>';
@ -1092,9 +1065,9 @@ print '</div>';
// TODO Replace this with mass delete action
if ($user->rights->accounting->mouvements->supprimer_tous) {
print '<div class="tabsAction tabsActionNoBottom">'."\n";
print '<a class="butActionDelete" name="button_delmvt" href="'.$_SERVER["PHP_SELF"].'?action=delbookkeepingyear'.($param ? '&'.$param : '').'">'.$langs->trans("DeleteMvt").'</a>';
print '</div>';
print '<div class="tabsAction tabsActionNoBottom">'."\n";
print '<a class="butActionDelete" name="button_delmvt" href="'.$_SERVER["PHP_SELF"].'?action=delbookkeepingyear'.($param ? '&'.$param : '').'">'.$langs->trans("DeleteMvt").'</a>';
print '</div>';
}
print '</form>';

View File

@ -36,9 +36,9 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
// Load translation files required by the page
$langs->loadLangs(array("accountancy"));
$langs->loadLangs(array("accountancy", "compta"));
$action = GETPOST('action', 'alpha');
$action = GETPOST('action', 'aZ09');
$search_date_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int'));
$search_date_end = dol_mktime(0, 0, 0, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int'));
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
@ -54,6 +54,7 @@ if ($search_accountancy_code_end == - 1) {
}
$search_doc_ref = GETPOST('search_doc_ref', 'alpha');
$search_label_operation = GETPOST('search_label_operation', 'alpha');
$search_mvt_num = GETPOST('search_mvt_num', 'int');
$search_direction = GETPOST('search_direction', 'alpha');
$search_ledger_code = GETPOST('search_ledger_code', 'alpha');
$search_debit = GETPOST('search_debit', 'alpha');
@ -67,8 +68,8 @@ if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_
// Load variable for pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION);
$sortfield = GETPOST('sortfield', 'alpha');
$sortorder = GETPOST('sortorder', 'alpha');
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
if (empty($page) || $page < 0) { $page = 0; }
$offset = $limit * $page;
@ -79,12 +80,13 @@ if ($sortfield == "") $sortfield = "t.doc_date,t.rowid";
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
$object = new BookKeeping($db);
$formfile = new FormFile($db);
$hookmanager->initHooks(array('bookkeepingbyaccountlist'));
$formaccounting = new FormAccounting($db);
$form = new Form($db);
if (empty($search_date_start) && empty($search_date_end) && GETPOSTISSET('search_date_startday') && GETPOSTISSET('search_date_startmonth') && GETPOSTISSET('search_date_starthour')) {
if (empty($search_date_start) && empty($search_date_end) && !GETPOSTISSET('search_date_startday') && !GETPOSTISSET('search_date_startmonth') && !GETPOSTISSET('search_date_starthour')) {
$sql = "SELECT date_start, date_end from ".MAIN_DB_PREFIX."accounting_fiscalyear ";
$sql .= " where date_start < '".$db->idate(dol_now())."' and date_end > '".$db->idate(dol_now())."'";
$sql .= $db->plimit(1);
@ -136,7 +138,7 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
if (empty($reshook))
{
include DOL_DOCUMENT_ROOT . '/core/actions_changeselectedfields.inc.php';
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
{
@ -147,6 +149,7 @@ if (empty($reshook))
$search_label_account = '';
$search_doc_ref = '';
$search_label_operation = '';
$search_mvt_num = '';
$search_direction = '';
$search_ledger_code = '';
$search_date_start = '';
@ -169,51 +172,55 @@ if (empty($reshook))
if (!empty($search_date_start)) {
$filter['t.doc_date>='] = $search_date_start;
$param .= '&search_date_startmonth=' . GETPOST('search_date_startmonth', 'int') . '&search_date_startday=' . GETPOST('search_date_startday', 'int') . '&search_date_startyear=' . GETPOST('search_date_startyear', 'int');
$param .= '&search_date_startmonth='.GETPOST('search_date_startmonth', 'int').'&search_date_startday='.GETPOST('search_date_startday', 'int').'&search_date_startyear='.GETPOST('search_date_startyear', 'int');
}
if (!empty($search_date_end)) {
$filter['t.doc_date<='] = $search_date_end;
$param .= '&search_date_endmonth=' . GETPOST('search_date_endmonth', 'int') . '&search_date_endday=' . GETPOST('search_date_endday', 'int') . '&search_date_endyear=' . GETPOST('search_date_endyear', 'int');
$param .= '&search_date_endmonth='.GETPOST('search_date_endmonth', 'int').'&search_date_endday='.GETPOST('search_date_endday', 'int').'&search_date_endyear='.GETPOST('search_date_endyear', 'int');
}
if (!empty($search_doc_date)) {
$filter['t.doc_date'] = $search_doc_date;
$param .= '&doc_datemonth=' . GETPOST('doc_datemonth', 'int') . '&doc_dateday=' . GETPOST('doc_dateday', 'int') . '&doc_dateyear=' . GETPOST('doc_dateyear', 'int');
$param .= '&doc_datemonth='.GETPOST('doc_datemonth', 'int').'&doc_dateday='.GETPOST('doc_dateday', 'int').'&doc_dateyear='.GETPOST('doc_dateyear', 'int');
}
if (!empty($search_accountancy_code_start)) {
$filter['t.numero_compte>='] = $search_accountancy_code_start;
$param .= '&search_accountancy_code_start=' . urlencode($search_accountancy_code_start);
$param .= '&search_accountancy_code_start='.urlencode($search_accountancy_code_start);
}
if (!empty($search_accountancy_code_end)) {
$filter['t.numero_compte<='] = $search_accountancy_code_end;
$param .= '&search_accountancy_code_end=' . urlencode($search_accountancy_code_end);
$param .= '&search_accountancy_code_end='.urlencode($search_accountancy_code_end);
}
if (!empty($search_label_account)) {
$filter['t.label_compte'] = $search_label_account;
$param .= '&search_label_compte=' . urlencode($search_label_account);
$param .= '&search_label_compte='.urlencode($search_label_account);
}
if (!empty($search_mvt_num)) {
$filter['t.piece_num'] = $search_mvt_num;
$param .= '&search_mvt_num='.urlencode($search_mvt_num);
}
if (!empty($search_doc_ref)) {
$filter['t.doc_ref'] = $search_doc_ref;
$param .= '&search_doc_ref=' . urlencode($search_doc_ref);
$param .= '&search_doc_ref='.urlencode($search_doc_ref);
}
if (!empty($search_label_operation)) {
$filter['t.label_operation'] = $search_label_operation;
$param .= '&search_label_operation=' . urlencode($search_label_operation);
$param .= '&search_label_operation='.urlencode($search_label_operation);
}
if (!empty($search_direction)) {
$filter['t.sens'] = $search_direction;
$param .= '&search_direction=' . urlencode($search_direction);
$param .= '&search_direction='.urlencode($search_direction);
}
if (!empty($search_ledger_code)) {
$filter['t.code_journal'] = $search_ledger_code;
$param .= '&search_ledger_code=' . urlencode($search_ledger_code);
$param .= '&search_ledger_code='.urlencode($search_ledger_code);
}
if (!empty($search_debit)) {
$filter['t.debit'] = $search_debit;
$param .= '&search_debit=' . urlencode($search_debit);
$param .= '&search_debit='.urlencode($search_debit);
}
if (!empty($search_credit)) {
$filter['t.credit'] = $search_credit;
$param .= '&search_credit=' . urlencode($search_credit);
$param .= '&search_credit='.urlencode($search_credit);
}
if (!empty($search_lettering_code)) {
$filter['t.lettering_code'] = $search_lettering_code;
@ -255,18 +262,14 @@ if ($action == 'delbookkeepingyearconfirm' && $user->rights->accounting->mouveme
$result = $object->deleteByYearAndJournal($delyear, $deljournal, '', ($delmonth > 0 ? $delmonth : 0));
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
else
{
} else {
setEventMessages("RecordDeleted", null, 'mesgs');
}
// Make a redirect to avoid to launch the delete later after a back button
header("Location: listbyaccount.php".($param ? '?'.$param : ''));
exit;
}
else
{
} else {
setEventMessages("NoRecordDeleted", null, 'warnings');
}
}
@ -277,9 +280,7 @@ if ($action == 'delmouvconfirm' && $user->rights->accounting->mouvements->suppri
$result = $object->deleteMvtNum($mvt_num);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
else
{
} else {
setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
}
@ -298,7 +299,7 @@ $formfile = new FormFile($db);
$formother = new FormOther($db);
$form = new Form($db);
$title_page = $langs->trans("Bookkeeping").' '.strtolower($langs->trans("By")).' '.strtolower($langs->trans("AccountAccounting"));
$title_page = $langs->trans("Operations").' - '.$langs->trans("VueByAccountAccounting").' ('.$langs->trans("Bookkeeping").')';
llxHeader('', $title_page);
@ -362,7 +363,7 @@ if ($action == 'delbookkeepingyear') {
'default' => $deljournal
);
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?'.$param, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'delbookkeepingyearconfirm', $form_question, '', 1, 300);
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?'.$param, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt', $langs->transnoentitiesnoconv("RegistrationInAccounting")), 'delbookkeepingyearconfirm', $form_question, '', 1, 300);
print $formconfirm;
}
@ -374,16 +375,18 @@ if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$opt
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="page" value="'.$page.'">';
$newcardbutton .= dolGetButtonTitle($langs->trans('ViewFlatList'), '', 'fa fa-list paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/list.php?'.$param);
$newcardbutton .= dolGetButtonTitle($langs->trans('VueByAccountAccounting'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php?'.$param, '', 1, array('morecss'=>'marginleftonly btnTitleSelected'));
$newcardbutton .= dolGetButtonTitle($langs->trans('ViewFlatList'), '', 'fa fa-list paddingleft', DOL_URL_ROOT.'/accountancy/bookkeeping/list.php?'.$param);
$newcardbutton .= dolGetButtonTitle($langs->trans('NewAccountingMvt'), '', 'fa fa-plus-circle paddingleft', './card.php?action=create');
$newcardbutton .= ' &nbsp; ';
$newcardbutton .= dolGetButtonTitle($langs->trans('NewAccountingMvt'), '', 'fa fa-plus-circle paddingleft', DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?action=create');
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $result, $nbtotalofrecords, 'title_accountancy', 0, $viewflat.$newcardbutton, '', $limit);
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $result, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit, 0, 0, 1);
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
@ -398,10 +401,10 @@ $moreforfilter = '';
// Accountancy account
$moreforfilter .= '<div class="divsearchfield">';
$moreforfilter .= $langs->trans('AccountAccounting').': ';
$moreforfilter .= '<div class="nowrap">';
$moreforfilter .= '<div class="nowrap inline-block">';
$moreforfilter .= $langs->trans('From').' ';
$moreforfilter .= $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, 'maxwidth200');
$moreforfilter .= $langs->trans('to').' ';
$moreforfilter .= ' '.$langs->trans('to').' ';
$moreforfilter .= $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, 'maxwidth200');
$moreforfilter .= '</div>';
$moreforfilter .= '</div>';
@ -423,18 +426,16 @@ print '<tr class="liste_titre_filter">';
// Code journal
if (!empty($arrayfields['t.code_journal']['checked'])) {
print '<td class="liste_titre center"><input type="text" name="search_ledger_code" size="3" value="' . dol_escape_htmltag($search_ledger_code) . '"></td>';
print '<td class="liste_titre center"><input type="text" name="search_ledger_code" size="3" value="'.dol_escape_htmltag($search_ledger_code).'"></td>';
}
// Date document
if (!empty($arrayfields['t.doc_date']['checked'])) {
print '<td class="liste_titre center">';
print '<div class="nowrap">';
print $langs->trans('From') . ': ';
print $form->selectDate($search_date_start, 'search_date_start', 0, 0, 1);
print $form->selectDate($search_date_start, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '</div>';
print '<div class="nowrap">';
print $langs->trans('to') . ': ';
print $form->selectDate($search_date_end, 'search_date_end', 0, 0, 1);
print $form->selectDate($search_date_end, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
print '</div>';
print '</td>';
}
@ -445,19 +446,19 @@ if (!empty($arrayfields['t.piece_num']['checked']))
}
// Ref document
if (!empty($arrayfields['t.doc_ref']['checked'])) {
print '<td class="liste_titre"><input type="text" size="7" class="flat" name="search_doc_ref" value="' . dol_escape_htmltag($search_doc_ref) . '"/></td>';
print '<td class="liste_titre"><input type="text" size="7" class="flat" name="search_doc_ref" value="'.dol_escape_htmltag($search_doc_ref).'"/></td>';
}
// Label operation
if (!empty($arrayfields['t.label_operation']['checked'])) {
print '<td class="liste_titre"><input type="text" size="7" class="flat" name="search_label_operation" value="' . dol_escape_htmltag($search_label_operation) . '"/></td>';
print '<td class="liste_titre"><input type="text" size="7" class="flat" name="search_label_operation" value="'.dol_escape_htmltag($search_label_operation).'"/></td>';
}
// Debit
if (!empty($arrayfields['t.debit']['checked'])) {
print '<td class="liste_titre right"><input type="text" class="flat" name="search_debit" size="4" value="' . dol_escape_htmltag($search_debit) . '"></td>';
print '<td class="liste_titre right"><input type="text" class="flat" name="search_debit" size="4" value="'.dol_escape_htmltag($search_debit).'"></td>';
}
// Credit
if (!empty($arrayfields['t.credit']['checked'])) {
print '<td class="liste_titre right"><input type="text" class="flat" name="search_credit" size="4" value="' . dol_escape_htmltag($search_credit) . '"></td>';
print '<td class="liste_titre right"><input type="text" class="flat" name="search_credit" size="4" value="'.dol_escape_htmltag($search_credit).'"></td>';
}
// Lettering code
if (!empty($arrayfields['t.lettering_code']['checked']))
@ -533,15 +534,13 @@ while ($i < min($num, $limit))
$balance = $sous_total_debit - $sous_total_credit;
print '<tr class="liste_total">';
print '<td class="right" colspan="'.$colspan.'">'.$langs->trans("Balance").':</td>';
if ($balance > 0 )
if ($balance > 0)
{
print '<td class="nowraponall right">';
print price($sous_total_debit - $sous_total_credit);
print '</td>';
print '<td></td>';
}
else
{
} else {
print '<td></td>';
print '<td class="nowraponall right">';
print price($sous_total_credit - $sous_total_debit);
@ -613,8 +612,7 @@ while ($i < min($num, $limit))
$filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
}
elseif ($line->doc_type == 'supplier_invoice')
} elseif ($line->doc_type == 'supplier_invoice')
{
$langs->loadLangs(array('bills'));
@ -627,8 +625,7 @@ while ($i < min($num, $limit))
$filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $subdir, $filedir);
}
elseif ($line->doc_type == 'expense_report')
} elseif ($line->doc_type == 'expense_report')
{
$langs->loadLangs(array('trips'));
@ -641,9 +638,7 @@ while ($i < min($num, $limit))
$filedir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
}
else
{
} else {
// Other type
}
@ -670,7 +665,7 @@ while ($i < min($num, $limit))
if (!empty($arrayfields['t.label_operation']['checked'])) {
// Affiche un lien vers la facture client/fournisseur
$doc_ref = preg_replace('/\(.*\)/', '', $line->doc_ref);
print strlen(length_accounta($line->subledger_account)) == 0 ? '<td>' . $line->label_operation . '</td>' : '<td>' . $line->label_operation . '<br><span style="font-size:0.8em">(' . length_accounta($line->subledger_account) . ')</span></td>';
print strlen(length_accounta($line->subledger_account)) == 0 ? '<td>'.$line->label_operation.'</td>' : '<td>'.$line->label_operation.'<br><span style="font-size:0.8em">('.length_accounta($line->subledger_account).')</span></td>';
if (!$i) $totalarray['nbfield']++;
}
@ -685,7 +680,7 @@ while ($i < min($num, $limit))
// Amount credit
if (!empty($arrayfields['t.credit']['checked'])) {
print '<td class="nowrap right">' . ($line->credit ? price($line->credit) : '') . '</td>';
print '<td class="nowrap right">'.($line->credit ? price($line->credit) : '').'</td>';
if (!$i) $totalarray['nbfield']++;
if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalcredit';
$totalarray['val']['totalcredit'] += $line->credit;
@ -707,10 +702,10 @@ while ($i < min($num, $limit))
print '<td class="nowraponall center">';
if (empty($line->date_export)) {
if ($user->rights->accounting->mouvements->creer) {
print '<a href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_edit().'</a>';
print '<a class="editfielda" href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_edit().'</a>';
}
if ($user->rights->accounting->mouvements->supprimer) {
print '&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?action=delmouv&mvt_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_delete().'</a>';
print ' &nbsp; <a class="paddingleft" href="'.$_SERVER['PHP_SELF'].'?action=delmouv&mvt_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_delete().'</a>';
}
}
print '</td>';
@ -738,15 +733,13 @@ print '</tr>';
$balance = $sous_total_debit - $sous_total_credit;
print '<tr class="liste_total">';
print '<td class="right" colspan="'.$colspan.'">'.$langs->trans("Balance").':</td>';
if ($balance > 0 )
if ($balance > 0)
{
print '<td class="nowraponall right">';
print price($sous_total_debit - $sous_total_credit);
print '</td>';
print '<td></td>';
}
else
{
} else {
print '<td></td>';
print '<td class="nowraponall right">';
print price($sous_total_credit - $sous_total_debit);

View File

@ -0,0 +1,766 @@
<?php
/* Copyright (C) 2016 Neil Orley <neil.orley@oeris.fr>
* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com>
* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/accountancy/bookkeeping/listbysubaccount.php
* \ingroup Accountancy (Double entries)
* \brief List operation of ledger ordered by subaccount number
*/
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/bookkeeping.class.php';
require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
// Load translation files required by the page
$langs->loadLangs(array("accountancy", "compta"));
$action = GETPOST('action', 'aZ09');
$search_date_start = dol_mktime(0, 0, 0, GETPOST('search_date_startmonth', 'int'), GETPOST('search_date_startday', 'int'), GETPOST('search_date_startyear', 'int'));
$search_date_end = dol_mktime(0, 0, 0, GETPOST('search_date_endmonth', 'int'), GETPOST('search_date_endday', 'int'), GETPOST('search_date_endyear', 'int'));
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
$search_accountancy_code = GETPOST("search_accountancy_code");
$search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha');
if ($search_accountancy_code_start == - 1) {
$search_accountancy_code_start = '';
}
$search_accountancy_code_end = GETPOST('search_accountancy_code_end', 'alpha');
if ($search_accountancy_code_end == - 1) {
$search_accountancy_code_end = '';
}
$search_doc_ref = GETPOST('search_doc_ref', 'alpha');
$search_label_operation = GETPOST('search_label_operation', 'alpha');
$search_mvt_num = GETPOST('search_mvt_num', 'int');
$search_direction = GETPOST('search_direction', 'alpha');
$search_ledger_code = GETPOST('search_ledger_code', 'alpha');
$search_debit = GETPOST('search_debit', 'alpha');
$search_credit = GETPOST('search_credit', 'alpha');
$search_lettering_code = GETPOST('search_lettering_code', 'alpha');
$search_not_reconciled = GETPOST('search_reconciled_option', 'alpha');
if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_delmvt")) {
$action = 'delbookkeepingyear';
}
// Load variable for pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION);
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
if (empty($page) || $page < 0) { $page = 0; }
$offset = $limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
if ($sortorder == "") $sortorder = "ASC";
if ($sortfield == "") $sortfield = "t.doc_date,t.rowid";
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
$object = new BookKeeping($db);
$formfile = new FormFile($db);
$hookmanager->initHooks(array('bookkeepingbysubaccountlist'));
$formaccounting = new FormAccounting($db);
$form = new Form($db);
if (empty($search_date_start) && empty($search_date_end) && !GETPOSTISSET('search_date_startday') && !GETPOSTISSET('search_date_startmonth') && !GETPOSTISSET('search_date_starthour')) {
$sql = "SELECT date_start, date_end from ".MAIN_DB_PREFIX."accounting_fiscalyear ";
$sql .= " where date_start < '".$db->idate(dol_now())."' and date_end > '".$db->idate(dol_now())."'";
$sql .= $db->plimit(1);
$res = $db->query($sql);
if ($res->num_rows > 0) {
$fiscalYear = $db->fetch_object($res);
$search_date_start = strtotime($fiscalYear->date_start);
$search_date_end = strtotime($fiscalYear->date_end);
} else {
$month_start = ($conf->global->SOCIETE_FISCAL_MONTH_START ? ($conf->global->SOCIETE_FISCAL_MONTH_START) : 1);
$year_start = dol_print_date(dol_now(), '%Y');
if (dol_print_date(dol_now(), '%m') < $month_start) $year_start--; // If current month is lower that starting fiscal month, we start last year
$year_end = $year_start + 1;
$month_end = $month_start - 1;
if ($month_end < 1)
{
$month_end = 12;
$year_end--;
}
$search_date_start = dol_mktime(0, 0, 0, $month_start, 1, $year_start);
$search_date_end = dol_get_last_day($year_end, $month_end);
}
}
$arrayfields = array(
// 't.subledger_account'=>array('label'=>$langs->trans("SubledgerAccount"), 'checked'=>1),
't.code_journal'=>array('label'=>$langs->trans("Codejournal"), 'checked'=>1),
't.piece_num'=>array('label'=>$langs->trans("TransactionNumShort"), 'checked'=>1),
't.doc_date'=>array('label'=>$langs->trans("Docdate"), 'checked'=>1),
't.doc_ref'=>array('label'=>$langs->trans("Piece"), 'checked'=>1),
't.label_operation'=>array('label'=>$langs->trans("Label"), 'checked'=>1),
't.debit'=>array('label'=>$langs->trans("Debit"), 'checked'=>1),
't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1),
't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1),
);
if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) unset($arrayfields['t.lettering_code']);
/*
* Action
*/
if (GETPOST('cancel', 'alpha')) { $action = 'list'; $massaction = ''; }
if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction = ''; }
$parameters = array('socid'=>$socid);
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
if (empty($reshook))
{
include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php';
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
{
$search_doc_date = '';
$search_accountancy_code = '';
$search_accountancy_code_start = '';
$search_accountancy_code_end = '';
$search_label_account = '';
$search_doc_ref = '';
$search_label_operation = '';
$search_mvt_num = '';
$search_direction = '';
$search_ledger_code = '';
$search_date_start = '';
$search_date_end = '';
$search_date_startyear = '';
$search_date_startmonth = '';
$search_date_startday = '';
$search_date_endyear = '';
$search_date_endmonth = '';
$search_date_endday = '';
$search_debit = '';
$search_credit = '';
$search_lettering_code = '';
$search_not_reconciled = '';
}
// Must be after the remove filter action, before the export.
$param = '';
$filter = array();
if (!empty($search_date_start)) {
$filter['t.doc_date>='] = $search_date_start;
$param .= '&search_date_startmonth='.GETPOST('search_date_startmonth', 'int').'&search_date_startday='.GETPOST('search_date_startday', 'int').'&search_date_startyear='.GETPOST('search_date_startyear', 'int');
}
if (!empty($search_date_end)) {
$filter['t.doc_date<='] = $search_date_end;
$param .= '&search_date_endmonth='.GETPOST('search_date_endmonth', 'int').'&search_date_endday='.GETPOST('search_date_endday', 'int').'&search_date_endyear='.GETPOST('search_date_endyear', 'int');
}
if (!empty($search_doc_date)) {
$filter['t.doc_date'] = $search_doc_date;
$param .= '&doc_datemonth='.GETPOST('doc_datemonth', 'int').'&doc_dateday='.GETPOST('doc_dateday', 'int').'&doc_dateyear='.GETPOST('doc_dateyear', 'int');
}
if (!empty($search_accountancy_code_start)) {
$filter['t.subledger_account>='] = $search_accountancy_code_start;
$param .= '&search_accountancy_code_start='.urlencode($search_accountancy_code_start);
}
if (!empty($search_accountancy_code_end)) {
$filter['t.subledger_account<='] = $search_accountancy_code_end;
$param .= '&search_accountancy_code_end='.urlencode($search_accountancy_code_end);
}
if (!empty($search_label_account)) {
$filter['t.label_compte'] = $search_label_account;
$param .= '&search_label_compte='.urlencode($search_label_account);
}
if (!empty($search_mvt_num)) {
$filter['t.piece_num'] = $search_mvt_num;
$param .= '&search_mvt_num='.urlencode($search_mvt_num);
}
if (!empty($search_doc_ref)) {
$filter['t.doc_ref'] = $search_doc_ref;
$param .= '&search_doc_ref='.urlencode($search_doc_ref);
}
if (!empty($search_label_operation)) {
$filter['t.label_operation'] = $search_label_operation;
$param .= '&search_label_operation='.urlencode($search_label_operation);
}
if (!empty($search_direction)) {
$filter['t.sens'] = $search_direction;
$param .= '&search_direction='.urlencode($search_direction);
}
if (!empty($search_ledger_code)) {
$filter['t.code_journal'] = $search_ledger_code;
$param .= '&search_ledger_code='.urlencode($search_ledger_code);
}
if (!empty($search_debit)) {
$filter['t.debit'] = $search_debit;
$param .= '&search_debit='.urlencode($search_debit);
}
if (!empty($search_credit)) {
$filter['t.credit'] = $search_credit;
$param .= '&search_credit='.urlencode($search_credit);
}
if (!empty($search_lettering_code)) {
$filter['t.lettering_code'] = $search_lettering_code;
$param .= '&search_lettering_code='.urlencode($search_lettering_code);
}
if (!empty($search_not_reconciled)) {
$filter['t.reconciled_option'] = $search_not_reconciled;
$param .= '&search_not_reconciled='.urlencode($search_not_reconciled);
}
}
if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) {
$import_key = GETPOST('importkey', 'alpha');
if (!empty($import_key)) {
$result = $object->deleteByImportkey($import_key);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
// Make a redirect to avoid to launch the delete later after a back button
header("Location: listbyaccount.php".($param ? '?'.$param : ''));
exit;
}
}
if ($action == 'delbookkeepingyearconfirm' && $user->rights->accounting->mouvements->supprimer_tous) {
$delmonth = GETPOST('delmonth', 'int');
$delyear = GETPOST('delyear', 'int');
if ($delyear == -1) {
$delyear = 0;
}
$deljournal = GETPOST('deljournal', 'alpha');
if ($deljournal == -1) {
$deljournal = 0;
}
if (!empty($delmonth) || !empty($delyear) || !empty($deljournal))
{
$result = $object->deleteByYearAndJournal($delyear, $deljournal, '', ($delmonth > 0 ? $delmonth : 0));
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
} else {
setEventMessages("RecordDeleted", null, 'mesgs');
}
// Make a redirect to avoid to launch the delete later after a back button
header("Location: listbysubaccount.php".($param ? '?'.$param : ''));
exit;
} else {
setEventMessages("NoRecordDeleted", null, 'warnings');
}
}
if ($action == 'delmouvconfirm' && $user->rights->accounting->mouvements->supprimer) {
$mvt_num = GETPOST('mvt_num', 'int');
if (!empty($mvt_num)) {
$result = $object->deleteMvtNum($mvt_num);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
} else {
setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
}
header("Location: listbysubaccount.php?noreset=1".($param ? '&'.$param : ''));
exit;
}
}
/*
* View
*/
$formaccounting = new FormAccounting($db);
$formfile = new FormFile($db);
$formother = new FormOther($db);
$form = new Form($db);
$title_page = $langs->trans("Operations").' - '.$langs->trans("VueByAccountAccounting").' ('.$langs->trans("BookkeepingSubAccount").')';
llxHeader('', $title_page);
// List
$nbtotalofrecords = '';
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
$nbtotalofrecords = $object->fetchAllByAccount($sortorder, $sortfield, 0, 0, $filter, 'AND', 1);
if ($nbtotalofrecords < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
}
$result = $object->fetchAllByAccount($sortorder, $sortfield, $limit, $offset, $filter, 'AND', 1);
if ($result < 0) {
setEventMessages($object->error, $object->errors, 'errors');
}
$num = count($object->lines);
if ($action == 'delmouv') {
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?mvt_num='.GETPOST('mvt_num'), $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvtPartial'), 'delmouvconfirm', '', 0, 1);
print $formconfirm;
}
if ($action == 'delbookkeepingyear') {
$form_question = array();
$delyear = GETPOST('delyear', 'int');
$deljournal = GETPOST('deljournal', 'alpha');
if (empty($delyear)) {
$delyear = dol_print_date(dol_now(), '%Y');
}
$month_array = array();
for ($i = 1; $i <= 12; $i++) {
$month_array[$i] = $langs->trans("Month".sprintf("%02d", $i));
}
$year_array = $formaccounting->selectyear_accountancy_bookkepping($delyear, 'delyear', 0, 'array');
$journal_array = $formaccounting->select_journal($deljournal, 'deljournal', '', 1, 1, 1, '', 0, 1);
$form_question['delmonth'] = array(
'name' => 'delmonth',
'type' => 'select',
'label' => $langs->trans('DelMonth'),
'values' => $month_array,
'default' => ''
);
$form_question['delyear'] = array(
'name' => 'delyear',
'type' => 'select',
'label' => $langs->trans('DelYear'),
'values' => $year_array,
'default' => $delyear
);
$form_question['deljournal'] = array(
'name' => 'deljournal',
'type' => 'other', // We don't use select here, the journal_array is already a select html component
'label' => $langs->trans('DelJournal'),
'value' => $journal_array,
'default' => $deljournal
);
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?'.$param, $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt', $langs->transnoentitiesnoconv("RegistrationInAccounting")), 'delbookkeepingyearconfirm', $form_question, '', 1, 300);
print $formconfirm;
}
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="list">';
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
$newcardbutton = dolGetButtonTitle($langs->trans('ViewAccountList'), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php', '', 1, array('morecss'=>'marginleftonly btnTitleSelected'));
$newcardbutton .= dolGetButtonTitle($langs->trans('NewAccountingMvt'), '', 'fa fa-plus-circle paddingleft', DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?action=create');
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $result, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit);
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
if ($massactionbutton) $selectedfields .= $form->showCheckAddButtons('checkforselect', 1);
// Reverse sort order
if (preg_match('/^asc/i', $sortorder)) $sortorder = "asc";
else $sortorder = "desc";
$moreforfilter = '';
// Accountancy account
$moreforfilter .= '<div class="divsearchfield">';
$moreforfilter .= $langs->trans('AccountAccounting').': ';
$moreforfilter .= '<div class="nowrap inline-block">';
$moreforfilter .= $langs->trans('From').' ';
$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_start, 'search_accountancy_code_start', 1, 'maxwidth200');
$moreforfilter .= ' '.$langs->trans('to').' ';
$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_end, 'search_accountancy_code_end', 1, 'maxwidth200');
$moreforfilter .= '</div>';
$moreforfilter .= '</div>';
$parameters = array();
$reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook
if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint;
else $moreforfilter = $hookmanager->resPrint;
print '<div class="liste_titre liste_titre_bydiv centpercent">';
print $moreforfilter;
print '</div>';
print '<div class="div-table-responsive">';
print '<table class="tagtable liste centpercent">';
// Filters lines
print '<tr class="liste_titre_filter">';
// Code journal
if (!empty($arrayfields['t.code_journal']['checked'])) {
print '<td class="liste_titre center"><input type="text" name="search_ledger_code" size="3" value="'.dol_escape_htmltag($search_ledger_code).'"></td>';
}
// Date document
if (!empty($arrayfields['t.doc_date']['checked'])) {
print '<td class="liste_titre center">';
print '<div class="nowrap">';
print $form->selectDate($search_date_start, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '</div>';
print '<div class="nowrap">';
print $form->selectDate($search_date_end, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"));
print '</div>';
print '</td>';
}
// Movement number
if (!empty($arrayfields['t.piece_num']['checked']))
{
print '<td class="liste_titre"><input type="text" name="search_mvt_num" size="6" value="'.dol_escape_htmltag($search_mvt_num).'"></td>';
}
// Ref document
if (!empty($arrayfields['t.doc_ref']['checked'])) {
print '<td class="liste_titre"><input type="text" size="7" class="flat" name="search_doc_ref" value="'.dol_escape_htmltag($search_doc_ref).'"/></td>';
}
// Label operation
if (!empty($arrayfields['t.label_operation']['checked'])) {
print '<td class="liste_titre"><input type="text" size="7" class="flat" name="search_label_operation" value="'.dol_escape_htmltag($search_label_operation).'"/></td>';
}
// Debit
if (!empty($arrayfields['t.debit']['checked'])) {
print '<td class="liste_titre right"><input type="text" class="flat" name="search_debit" size="4" value="'.dol_escape_htmltag($search_debit).'"></td>';
}
// Credit
if (!empty($arrayfields['t.credit']['checked'])) {
print '<td class="liste_titre right"><input type="text" class="flat" name="search_credit" size="4" value="'.dol_escape_htmltag($search_credit).'"></td>';
}
// Lettering code
if (!empty($arrayfields['t.lettering_code']['checked']))
{
print '<td class="liste_titre center">';
print '<input type="text" size="3" class="flat" name="search_lettering_code" value="'.$search_lettering_code.'"/>';
print '<br><span class="nowrap"><input type="checkbox" name="search_reconciled_option" value="notreconciled"'.($search_not_reconciled == 'notreconciled' ? ' checked' : '').'>'.$langs->trans("NotReconciled").'</span>';
print '</td>';
}
// Fields from hook
$parameters = array('arrayfields'=>$arrayfields);
$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
// Action column
print '<td class="liste_titre center">';
$searchpicto = $form->showFilterButtons();
print $searchpicto;
print '</td>';
print "</tr>\n";
print '<tr class="liste_titre">';
if (!empty($arrayfields['t.code_journal']['checked'])) print_liste_field_titre($arrayfields['t.code_journal']['label'], $_SERVER['PHP_SELF'], "t.code_journal", "", $param, '', $sortfield, $sortorder, 'center ');
if (!empty($arrayfields['t.doc_date']['checked'])) print_liste_field_titre($arrayfields['t.doc_date']['label'], $_SERVER['PHP_SELF'], "t.doc_date", "", $param, '', $sortfield, $sortorder, 'center ');
if (!empty($arrayfields['t.piece_num']['checked'])) print_liste_field_titre($arrayfields['t.piece_num']['label'], $_SERVER['PHP_SELF'], "t.piece_num", "", $param, '', $sortfield, $sortorder);
if (!empty($arrayfields['t.doc_ref']['checked'])) print_liste_field_titre($arrayfields['t.doc_ref']['label'], $_SERVER['PHP_SELF'], "t.doc_ref", "", $param, "", $sortfield, $sortorder);
if (!empty($arrayfields['t.label_operation']['checked'])) print_liste_field_titre($arrayfields['t.label_operation']['label'], $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder);
if (!empty($arrayfields['t.debit']['checked'])) print_liste_field_titre($arrayfields['t.debit']['label'], $_SERVER['PHP_SELF'], "t.debit", "", $param, '', $sortfield, $sortorder, 'right ');
if (!empty($arrayfields['t.credit']['checked'])) print_liste_field_titre($arrayfields['t.credit']['label'], $_SERVER['PHP_SELF'], "t.credit", "", $param, '', $sortfield, $sortorder, 'right ');
if (!empty($arrayfields['t.lettering_code']['checked'])) print_liste_field_titre($arrayfields['t.lettering_code']['label'], $_SERVER['PHP_SELF'], "t.lettering_code", "", $param, '', $sortfield, $sortorder, 'center ');
// Hook fields
$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder);
$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
print "</tr>\n";
$total_debit = 0;
$total_credit = 0;
$sous_total_debit = 0;
$sous_total_credit = 0;
$displayed_account_number = null; // Start with undefined to be able to distinguish with empty
// Loop on record
// --------------------------------------------------------------------
$i = 0;
$totalarray = array();
while ($i < min($num, $limit))
{
$line = $object->lines[$i];
$total_debit += $line->debit;
$total_credit += $line->credit;
$accountg = length_accounta($line->subledger_account);
//if (empty($accountg)) $accountg = '-';
// Is it a break ?
if ($accountg != $displayed_account_number || !isset($displayed_account_number)) {
$colspan = $totalarray['nbfield'] - 3;
$colspanend = $totalarray['nbfield'] - 7;
// Show a subtotal by accounting account
if (isset($displayed_account_number)) {
print '<tr class="liste_total">';
print '<td class="right" colspan="'.$colspan.'">'.$langs->trans("TotalForAccount").' '.length_accounta($displayed_account_number).':</td>';
print '<td class="nowrap right">'.price($sous_total_debit).'</td>';
print '<td class="nowrap right">'.price($sous_total_credit).'</td>';
print '<td colspan="'.$colspanend.'"></td>';
print '</tr>';
// Show balance of last shown account
$balance = $sous_total_debit - $sous_total_credit;
print '<tr class="liste_total">';
print '<td class="right" colspan="'.$colspan.'">'.$langs->trans("Balance").':</td>';
if ($balance > 0)
{
print '<td class="nowraponall right">';
print price($sous_total_debit - $sous_total_credit);
print '</td>';
print '<td></td>';
} else {
print '<td></td>';
print '<td class="nowraponall right">';
print price($sous_total_credit - $sous_total_debit);
print '</td>';
}
print '<td colspan="'.$colspanend.'"></td>';
print '</tr>';
}
// Show the break account
print "<tr>";
print '<td colspan="'.($totalarray['nbfield'] ? $totalarray['nbfield'] : 9).'" style="font-weight:bold; border-bottom: 1pt solid black;">';
if ($line->subledger_account != "" && $line->subledger_account != '-1') print length_accounta($line->subledger_account).' : '.$object->get_compte_desc($line->numero_compte);
else print '<span class="error">'.$langs->trans("Unknown").'</span>';
print '</td>';
print '</tr>';
$displayed_account_number = $accountg;
//if (empty($displayed_account_number)) $displayed_account_number='-';
$sous_total_debit = 0;
$sous_total_credit = 0;
$colspan = 0;
}
print '<tr class="oddeven">';
// Journal code
if (!empty($arrayfields['t.code_journal']['checked']))
{
$accountingjournal = new AccountingJournal($db);
$result = $accountingjournal->fetch('', $line->code_journal);
$journaltoshow = (($result > 0) ? $accountingjournal->getNomUrl(0, 0, 0, '', 0) : $line->code_journal);
print '<td class="center">'.$journaltoshow.'</td>';
if (!$i) $totalarray['nbfield']++;
}
// Document date
if (!empty($arrayfields['t.doc_date']['checked']))
{
print '<td class="center">'.dol_print_date($line->doc_date, 'day').'</td>';
if (!$i) $totalarray['nbfield']++;
}
// Piece number
if (!empty($arrayfields['t.piece_num']['checked']))
{
print '<td>';
$object->id = $line->id;
$object->piece_num = $line->piece_num;
print $object->getNomUrl(1, '', 0, '', 1);
print '</td>';
if (!$i) $totalarray['nbfield']++;
}
// Document ref
if (!empty($arrayfields['t.doc_ref']['checked']))
{
if ($line->doc_type == 'customer_invoice')
{
$langs->loadLangs(array('bills'));
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$objectstatic = new Facture($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'facture';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
} elseif ($line->doc_type == 'supplier_invoice')
{
$langs->loadLangs(array('bills'));
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
$objectstatic = new FactureFournisseur($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'invoice_supplier';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $subdir, $filedir);
} elseif ($line->doc_type == 'expense_report')
{
$langs->loadLangs(array('trips'));
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
$objectstatic = new ExpenseReport($db);
$objectstatic->fetch($line->fk_doc);
//$modulepart = 'expensereport';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
$urlsource = $_SERVER['PHP_SELF'].'?id='.$objectstatic->id;
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
} else {
// Other type
}
print '<td class="nowrap">';
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
// Picto + Ref
print '<td class="nobordernopadding nowrap">';
if ($line->doc_type == 'customer_invoice' || $line->doc_type == 'supplier_invoice' || $line->doc_type == 'expense_report')
{
print $objectstatic->getNomUrl(1, '', 0, 0, '', 0, -1, 1);
print $documentlink;
} else {
print $line->doc_ref;
}
print '</td></tr></table>';
print "</td>\n";
if (!$i) $totalarray['nbfield']++;
}
// Label operation
if (!empty($arrayfields['t.label_operation']['checked'])) {
// Affiche un lien vers la facture client/fournisseur
$doc_ref = preg_replace('/\(.*\)/', '', $line->doc_ref);
print strlen(length_accounta($line->subledger_account)) == 0 ? '<td>'.$line->label_operation.'</td>' : '<td>'.$line->label_operation.'<br><span style="font-size:0.8em">('.length_accounta($line->subledger_account).')</span></td>';
if (!$i) $totalarray['nbfield']++;
}
// Amount debit
if (!empty($arrayfields['t.debit']['checked']))
{
print '<td class="nowrap right">'.($line->debit ? price($line->debit) : '').'</td>';
if (!$i) $totalarray['nbfield']++;
if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totaldebit';
$totalarray['val']['totaldebit'] += $line->debit;
}
// Amount credit
if (!empty($arrayfields['t.credit']['checked'])) {
print '<td class="nowrap right">'.($line->credit ? price($line->credit) : '').'</td>';
if (!$i) $totalarray['nbfield']++;
if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalcredit';
$totalarray['val']['totalcredit'] += $line->credit;
}
// Lettering code
if (!empty($arrayfields['t.lettering_code']['checked']))
{
print '<td class="center">'.$line->lettering_code.'</td>';
if (!$i) $totalarray['nbfield']++;
}
// Fields from hook
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
// Action column
print '<td class="nowraponall center">';
if (empty($line->date_export)) {
if ($user->rights->accounting->mouvements->creer) {
print '<a class="editfielda" href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_edit().'</a>';
}
if ($user->rights->accounting->mouvements->supprimer) {
print ' &nbsp; <a class="paddingleft" href="'.$_SERVER['PHP_SELF'].'?action=delmouv&mvt_num='.$line->piece_num.$param.'&page='.$page.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '').'">'.img_delete().'</a>';
}
}
print '</td>';
if (!$i) $totalarray['nbfield']++;
// Comptabilise le sous-total
$sous_total_debit += $line->debit;
$sous_total_credit += $line->credit;
print "</tr>\n";
$i++;
}
// Show sub-total of last shown account
$colspan = $totalarray['nbfield'] - 3;
$colspanend = $totalarray['nbfield'] - 8;
print '<tr class="liste_total">';
print '<td class="right" colspan="'.$colspan.'">'.$langs->trans("TotalForAccount").' '.$accountg.':</td>';
print '<td class="nowrap right">'.price($sous_total_debit).'</td>';
print '<td class="nowrap right">'.price($sous_total_credit).'</td>';
print '<td colspan="'.$colspanend.'"></td>';
print '</tr>';
// Show balance of last shown account
$balance = $sous_total_debit - $sous_total_credit;
print '<tr class="liste_total">';
print '<td class="right" colspan="'.$colspan.'">'.$langs->trans("Balance").':</td>';
if ($balance > 0)
{
print '<td class="nowraponall right">';
print price($sous_total_debit - $sous_total_credit);
print '</td>';
print '<td></td>';
} else {
print '<td></td>';
print '<td class="nowraponall right">';
print price($sous_total_credit - $sous_total_debit);
print '</td>';
}
print '<td colspan="'.$colspanend.'"></td>';
print '</tr>';
// Show total line
include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php';
print "</table>";
print '</div>';
// TODO Replace this with mass delete action
if ($user->rights->accounting->mouvements->supprimer_tous) {
print '<div class="tabsAction tabsActionNoBottom">'."\n";
print '<a class="butActionDelete" name="button_delmvt" href="'.$_SERVER["PHP_SELF"].'?action=delbookkeepingyear'.($param ? '&'.$param : '').'">'.$langs->trans("DeleteMvt").'</a>';
print '</div>';
}
print '</form>';
// End of page
llxFooter();
$db->close();

View File

@ -135,19 +135,19 @@ $head = societe_prepare_head($object);
dol_htmloutput_mesg(is_numeric($error) ? '' : $error, $errors, 'error');
dol_fiche_head($head, 'lettering_customer', $langs->trans("ThirdParty"), 0, 'company');
print dol_get_fiche_head($head, 'lettering_customer', $langs->trans("ThirdParty"), 0, 'company');
$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
dol_banner_tab($object, 'socid', $linkback, ($user->socid ? 0 : 1), 'rowid', 'nom', '', '', 0, '', '', 'arearefnobottom');
dol_fiche_end();
print dol_get_fiche_end();
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, ";
$sql .= " bk.subledger_account, bk.numero_compte , bk.label_compte, bk.debit, ";
$sql .= " bk.credit, bk.montant , bk.sens , bk.code_journal , bk.piece_num, bk.lettering_code ";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as bk";
$sql .= " WHERE (bk.subledger_account = '".$object->code_compta."' AND bk.numero_compte = '".$conf->global->ACCOUNTING_ACCOUNT_CUSTOMER."' )";
$sql .= " WHERE (bk.subledger_account = '".$db->escape($object->code_compta)."' AND bk.numero_compte = '".$db->escape($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER)."' )";
/*
if (dol_strlen($search_date_start) || dol_strlen($search_date_end)) {
@ -195,17 +195,17 @@ dol_syslog("/accountancy/bookkeeping/thirdparty_lettering_customer.php", LOG_DEB
if ($resql) {
$i = 0;
$param = "&socid=".$socid;
$param = "&socid=".$socid;
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'?socid='.$object->id.'" method="POST">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="socid" value="'.$object->id.'">';
$letteringbutton = '<a class="divButAction"><span class="valignmiddle"><input class="butAction" type="submit" value="lettering" name="lettering" id="lettering"></span></a>';
$letteringbutton = '<a class="divButAction"><span class="valignmiddle"><input class="butAction" type="submit" value="lettering" name="lettering" id="lettering"></span></a>';
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_companies', 0, $letteringbutton, '', $limit);
print '<div class="div-table-responsive-no-min">';
print '<table class="liste centpercent">'."\n";
print '<div class="div-table-responsive-no-min">';
print '<table class="liste centpercent">'."\n";
/*
print '<tr class="liste_titre">';
@ -244,13 +244,13 @@ if ($resql) {
print_liste_field_titre("Balancing", $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre("Codejournal", $_SERVER["PHP_SELF"], "bk.code_journal", "", $param, "", $sortfield, $sortorder, 'center ');
print_liste_field_titre("LetteringCode", $_SERVER["PHP_SELF"], "bk.lettering_code", "", $param, "", $sortfield, $sortorder, 'center ');
print_liste_field_titre("", "", "", '', '', "", $sortfield, $sortorder, 'maxwidthsearch center ');
print_liste_field_titre("", "", "", '', '', "", $sortfield, $sortorder, 'maxwidthsearch center ');
print "</tr>\n";
$solde = 0;
$tmp = '';
while ($obj = $db->fetch_object($resql)) {
while ($obj = $db->fetch_object($resql)) {
if ($tmp != $obj->lettering_code || empty($tmp)) $tmp = $obj->lettering_code;
/*if ($tmp != $obj->lettering_code || empty($obj->lettering_code))*/ $solde += ($obj->credit - $obj->debit);
@ -265,20 +265,20 @@ if ($resql) {
print '<td class="nowrap right">'.price(round($solde, 2)).'</td>';
// Journal
$accountingjournal = new AccountingJournal($db);
$result = $accountingjournal->fetch('', $obj->code_journal);
$journaltoshow = (($result > 0) ? $accountingjournal->getNomUrl(0, 0, 0, '', 0) : $obj->code_journal);
print '<td class="center">'.$journaltoshow.'</td>';
$accountingjournal = new AccountingJournal($db);
$result = $accountingjournal->fetch('', $obj->code_journal);
$journaltoshow = (($result > 0) ? $accountingjournal->getNomUrl(0, 0, 0, '', 0) : $obj->code_journal);
print '<td class="center">'.$journaltoshow.'</td>';
if (empty($obj->lettering_code)) {
print '<td class="nowrap center"><input type="checkbox" class="flat checkforselect" name="toselect[]" id="toselect[]" value="'.$obj->rowid.'" /></td>';
print '<td><a href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$obj->piece_num.'">';
print img_edit();
print '</a></td>'."\n";
} else {
print '<td class="center">'.$obj->lettering_code.'</td>';
print '<td></td>';
}
if (empty($obj->lettering_code)) {
print '<td class="nowrap center"><input type="checkbox" class="flat checkforselect" name="toselect[]" id="toselect[]" value="'.$obj->rowid.'" /></td>';
print '<td><a href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$obj->piece_num.'">';
print img_edit();
print '</a></td>'."\n";
} else {
print '<td class="center">'.$obj->lettering_code.'</td>';
print '<td></td>';
}
print "</tr>\n";
}
@ -299,9 +299,9 @@ if ($resql) {
print "</table>";
print '<div class="tabsAction tabsActionNoBottom">'."\n";
print $letteringbutton;
print '</div>';
print '<div class="tabsAction tabsActionNoBottom">'."\n";
print $letteringbutton;
print '</div>';
print "</form>";
$db->free($resql);

View File

@ -134,19 +134,19 @@ $head = societe_prepare_head($object);
dol_htmloutput_mesg(is_numeric($error) ? '' : $error, $errors, 'error');
dol_fiche_head($head, 'lettering_supplier', $langs->trans("ThirdParty"), 0, 'company');
print dol_get_fiche_head($head, 'lettering_supplier', $langs->trans("ThirdParty"), 0, 'company');
$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
dol_banner_tab($object, 'socid', $linkback, ($user->socid ? 0 : 1), 'rowid', 'nom', '', '', 0, '', '', 'arearefnobottom');
dol_fiche_end();
print dol_get_fiche_end();
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, ";
$sql .= " bk.subledger_account, bk.numero_compte , bk.label_compte, bk.debit, ";
$sql .= " bk.credit, bk.montant , bk.sens , bk.code_journal , bk.piece_num, bk.lettering_code, bk.date_validated ";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as bk";
$sql .= " WHERE (bk.subledger_account = '".$object->code_compta_fournisseur."' AND bk.numero_compte = '".$conf->global->ACCOUNTING_ACCOUNT_SUPPLIER."' )";
$sql .= " WHERE (bk.subledger_account = '".$db->escape($object->code_compta_fournisseur)."' AND bk.numero_compte = '".$db->escape($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER)."' )";
if (dol_strlen($search_date_start) || dol_strlen($search_date_end)) {
$sql .= " AND (bk.doc_date BETWEEN '".$db->idate($search_date_start)."' AND '".$db->idate($search_date_end)."' )";
}
@ -193,17 +193,17 @@ if ($resql) {
$num = $db->num_rows($resql);
$i = 0;
$param = "&socid=".$socid;
$param = "&socid=".$socid;
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'?socid='.$object->id.'" method="POST">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="socid" value="'.$object->id.'">';
$letteringbutton = '<a class="divButAction"><span class="valignmiddle"><input class="butAction" type="submit" value="lettering" name="lettering" id="lettering"></span></a>';
$letteringbutton = '<a class="divButAction"><span class="valignmiddle"><input class="butAction" type="submit" value="lettering" name="lettering" id="lettering"></span></a>';
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_companies', 0, $letteringbutton, '', $limit);
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_companies', 0, $letteringbutton, '', $limit);
print '<div class="div-table-responsive-no-min">';
print '<table class="liste centpercent">'."\n";
print '<div class="div-table-responsive-no-min">';
print '<table class="liste centpercent">'."\n";
/*
print '<tr class="liste_titre">';
@ -242,7 +242,7 @@ if ($resql) {
print_liste_field_titre("Balancing", $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder);
print_liste_field_titre("Codejournal", $_SERVER["PHP_SELF"], "bk.code_journal", "", $param, "", $sortfield, $sortorder, 'center ');
print_liste_field_titre("LetteringCode", $_SERVER["PHP_SELF"], "bk.lettering_code", "", $param, "", $sortfield, $sortorder, 'center ');
print_liste_field_titre("", "", "", '', '', "", $sortfield, $sortorder, 'maxwidthsearch center ');
print_liste_field_titre("", "", "", '', '', "", $sortfield, $sortorder, 'maxwidthsearch center ');
print "</tr>\n";
$solde = 0;
@ -261,21 +261,21 @@ if ($resql) {
print '<td class="nowrap right">'.price($obj->credit).'</td>';
print '<td class="nowrap right">'.price(round($solde, 2)).'</td>';
// Journal
$accountingjournal = new AccountingJournal($db);
$result = $accountingjournal->fetch('', $obj->code_journal);
$journaltoshow = (($result > 0) ? $accountingjournal->getNomUrl(0, 0, 0, '', 0) : $obj->code_journal);
print '<td class="center">'.$journaltoshow.'</td>';
// Journal
$accountingjournal = new AccountingJournal($db);
$result = $accountingjournal->fetch('', $obj->code_journal);
$journaltoshow = (($result > 0) ? $accountingjournal->getNomUrl(0, 0, 0, '', 0) : $obj->code_journal);
print '<td class="center">'.$journaltoshow.'</td>';
if (empty($obj->lettering_code) && empty($obj->date_validated)) {
print '<td class="nowrap center"><input type="checkbox" class="flat checkforselect" name="toselect[]" id="toselect[]" value="'.$obj->rowid.'" /></td>';
print '<td><a href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$obj->piece_num.'">';
print img_edit();
print '</a></td>'."\n";
print '<td><a href="'.DOL_URL_ROOT.'/accountancy/bookkeeping/card.php?piece_num='.$obj->piece_num.'">';
print img_edit();
print '</a></td>'."\n";
} else {
print '<td class="center">'.$obj->lettering_code.'</td>';
print '<td></td>';
}
print '<td class="center">'.$obj->lettering_code.'</td>';
print '<td></td>';
}
print "</tr>\n";
}
@ -296,9 +296,9 @@ if ($resql) {
print "</table>";
print '<div class="tabsAction tabsActionNoBottom">'."\n";
print '<div class="tabsAction tabsActionNoBottom">'."\n";
print $letteringbutton;
print '</div>';
print '</div>';
print "</form>";
$db->free($resql);

View File

@ -31,10 +31,10 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
*/
class AccountancyCategory // extends CommonObject
{
/**
* @var DoliDB Database handler.
*/
public $db;
/**
* @var DoliDB Database handler.
*/
public $db;
/**
* @var string Error string
@ -63,9 +63,9 @@ class AccountancyCategory // extends CommonObject
public $rowid;
/**
* @var int ID
*/
public $id;
* @var int ID
*/
public $id;
/**
* @var string Accountancy code
@ -73,11 +73,11 @@ class AccountancyCategory // extends CommonObject
public $code;
/**
* @var string Accountancy Category label
*/
public $label;
* @var string Accountancy Category label
*/
public $label;
/**
/**
* @var string Accountancy range account
*/
public $range_account;
@ -209,9 +209,7 @@ class AccountancyCategory // extends CommonObject
}
$this->db->rollback();
return -1 * $error;
}
else
{
} else {
$this->db->commit();
return $this->id;
}
@ -241,8 +239,7 @@ class AccountancyCategory // extends CommonObject
$sql .= " t.active";
$sql .= " FROM ".MAIN_DB_PREFIX."c_accounting_category as t";
if ($id) $sql .= " WHERE t.rowid = ".$id;
else
{
else {
$sql .= " WHERE t.entity IN (".getEntity('c_accounting_category').")"; // Dont't use entity if you use rowid
if ($code) $sql .= " AND t.code = '".$this->db->escape($code)."'";
elseif ($label) $sql .= " AND t.label = '".$this->db->escape($label)."'";
@ -270,9 +267,7 @@ class AccountancyCategory // extends CommonObject
$this->db->free($resql);
return 1;
}
else
{
} else {
$this->error = "Error ".$this->db->lasterror();
return -1;
}
@ -335,9 +330,7 @@ class AccountancyCategory // extends CommonObject
}
$this->db->rollback();
return -1 * $error;
}
else
{
} else {
$this->db->commit();
return 1;
}
@ -375,9 +368,7 @@ class AccountancyCategory // extends CommonObject
}
$this->db->rollback();
return -1 * $error;
}
else
{
} else {
$this->db->commit();
return 1;
}
@ -390,8 +381,8 @@ class AccountancyCategory // extends CommonObject
* @param int $id Id
* @return int <0 if KO, 0 if not found, >0 if OK
*/
public function display($id)
{
public function display($id)
{
global $conf;
$sql = "SELECT t.rowid, t.account_number, t.label";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_account as t";
@ -417,7 +408,7 @@ class AccountancyCategory // extends CommonObject
return -1;
}
}
}
/**
* Function to select accounting category of an accounting account present in chart of accounts
@ -426,8 +417,8 @@ class AccountancyCategory // extends CommonObject
*
* @return int <0 if KO, 0 if not found, >0 if OK
*/
public function getCptBK($id)
{
public function getCptBK($id)
{
global $conf;
$sql = "SELECT t.numero_compte, t.label_operation, t.doc_ref";
@ -466,7 +457,7 @@ class AccountancyCategory // extends CommonObject
return -1;
}
}
}
/**
* Function to select accounting category of an accounting account present in chart of accounts
@ -475,41 +466,41 @@ class AccountancyCategory // extends CommonObject
*
* @return int <0 if KO, 0 if not found, >0 if OK
*/
public function getAccountsWithNoCategory($id)
{
global $conf;
public function getAccountsWithNoCategory($id)
{
global $conf;
$sql = "SELECT aa.account_number as numero_compte, aa.label as label_compte";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_account as aa";
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " WHERE (aa.fk_accounting_category != ".$id." OR aa.fk_accounting_category IS NULL)";
$sql .= " AND asy.rowid = ".$conf->global->CHARTOFACCOUNTS;
$sql .= " AND aa.active = 1";
$sql .= " AND aa.entity = ".$conf->entity;
$sql .= " GROUP BY aa.account_number, aa.label";
$sql .= " ORDER BY aa.account_number, aa.label";
$sql = "SELECT aa.account_number as numero_compte, aa.label as label_compte";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_account as aa";
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."accounting_system as asy ON aa.fk_pcg_version = asy.pcg_version";
$sql .= " WHERE (aa.fk_accounting_category != ".$id." OR aa.fk_accounting_category IS NULL)";
$sql .= " AND asy.rowid = ".$conf->global->CHARTOFACCOUNTS;
$sql .= " AND aa.active = 1";
$sql .= " AND aa.entity = ".$conf->entity;
$sql .= " GROUP BY aa.account_number, aa.label";
$sql .= " ORDER BY aa.account_number, aa.label";
$this->lines_CptBk = array();
$this->lines_CptBk = array();
dol_syslog(__METHOD__, LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql) {
$num = $this->db->num_rows($resql);
if ($num) {
while ($obj = $this->db->fetch_object($resql)) {
$this->lines_cptbk[] = $obj;
}
}
dol_syslog(__METHOD__, LOG_DEBUG);
$resql = $this->db->query($sql);
if ($resql) {
$num = $this->db->num_rows($resql);
if ($num) {
while ($obj = $this->db->fetch_object($resql)) {
$this->lines_cptbk[] = $obj;
}
}
return $num;
} else {
$this->error = "Error ".$this->db->lasterror();
$this->errors[] = $this->error;
dol_syslog(__METHOD__." ".implode(','.$this->errors), LOG_ERR);
return $num;
} else {
$this->error = "Error ".$this->db->lasterror();
$this->errors[] = $this->error;
dol_syslog(__METHOD__." ".implode(','.$this->errors), LOG_ERR);
return -1;
}
}
return -1;
}
}
/**
* Function to add an accounting account in an accounting category
@ -519,8 +510,8 @@ class AccountancyCategory // extends CommonObject
*
* @return int <0 if KO, >0 if OK
*/
public function updateAccAcc($id_cat, $cpts = array())
{
public function updateAccAcc($id_cat, $cpts = array())
{
global $conf;
$error = 0;
@ -532,7 +523,7 @@ class AccountancyCategory // extends CommonObject
$sql .= " AND asy.rowid = ".$conf->global->CHARTOFACCOUNTS;
$sql .= " AND aa.active = 1";
$sql .= " AND aa.entity = ".$conf->entity;
$sql .= " ORDER BY LENGTH(aa.account_number) DESC;"; // LENGTH is ok with mysql and postgresql
$sql .= " ORDER BY LENGTH(aa.account_number) DESC;"; // LENGTH is ok with mysql and postgresql
$this->db->begin();
@ -548,13 +539,13 @@ class AccountancyCategory // extends CommonObject
$accountincptsadded = array();
while ($obj = $this->db->fetch_object($resql))
{
$account_number_formated = length_accountg($obj->account_number);
if (!empty($accountincptsadded[$account_number_formated])) continue;
$account_number_formated = length_accountg($obj->account_number);
if (!empty($accountincptsadded[$account_number_formated])) continue;
if (array_key_exists($account_number_formated, $cpts))
if (array_key_exists($account_number_formated, $cpts))
{
$accountincptsadded[$account_number_formated] = 1;
// We found an account number that is in list $cpts of account to add
$accountincptsadded[$account_number_formated] = 1;
// We found an account number that is in list $cpts of account to add
$sql = "UPDATE ".MAIN_DB_PREFIX."accounting_account";
$sql .= " SET fk_accounting_category=".$id_cat;
$sql .= " WHERE rowid=".$obj->rowid;
@ -581,7 +572,7 @@ class AccountancyCategory // extends CommonObject
return 1;
}
}
}
/**
* Function to delete an accounting account from an accounting category
@ -590,8 +581,8 @@ class AccountancyCategory // extends CommonObject
*
* @return int <0 if KO, >0 if OK
*/
public function deleteCptCat($cpt_id)
{
public function deleteCptCat($cpt_id)
{
$error = 0;
$sql = "UPDATE ".MAIN_DB_PREFIX."accounting_account as aa";
@ -607,7 +598,7 @@ class AccountancyCategory // extends CommonObject
}
// Commit or rollback
if ($error) {
if ($error) {
foreach ($this->errors as $errmsg) {
dol_syslog(__METHOD__." ".$errmsg, LOG_ERR);
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
@ -615,12 +606,12 @@ class AccountancyCategory // extends CommonObject
$this->db->rollback();
return -1 * $error;
} else {
} else {
$this->db->commit();
return 1;
}
}
return 1;
}
}
/**
* Function to know all category from accounting account
@ -709,9 +700,7 @@ class AccountancyCategory // extends CommonObject
$listofaccount .= "'".$cptcursor."'";
}
$sql .= " AND t.numero_compte IN (".$listofaccount.")";
}
else
{
} else {
$sql .= " AND t.numero_compte = '".$this->db->escape($cpt)."'";
}
if (!empty($date_start) && !empty($date_end) && (empty($month) || empty($year))) // If month/year provided, it is stronger than filter date_start/date_end
@ -792,7 +781,7 @@ class AccountancyCategory // extends CommonObject
'formula' => $obj->formula,
'position' => $obj->position,
'category_type' => $obj->category_type,
'bc' => $obj->sens
'bc' => $obj->sens
);
$i++;
}
@ -833,9 +822,7 @@ class AccountancyCategory // extends CommonObject
$sql .= " WHERE t.fk_accounting_category = ".$cat_id;
$sql .= " AND t.entity = ".$conf->entity;
$sql .= " ORDER BY t.account_number";
}
else
{
} else {
$sql = "SELECT t.rowid, t.account_number, t.label as account_label";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_account as t";
$sql .= " WHERE ".$predefinedgroupwhere;

View File

@ -55,7 +55,7 @@ class AccountancyExport
public static $EXPORT_TYPE_QUADRATUS = 60;
public static $EXPORT_TYPE_WINFIC = 70;
public static $EXPORT_TYPE_OPENCONCERTO = 100;
public static $EXPORT_TYPE_LDCOMPTA = 110;
public static $EXPORT_TYPE_LDCOMPTA = 110;
public static $EXPORT_TYPE_LDCOMPTA10 = 120;
public static $EXPORT_TYPE_FEC = 1000;
@ -111,7 +111,7 @@ class AccountancyExport
self::$EXPORT_TYPE_EBP => $langs->trans('Modelcsv_ebp'),
self::$EXPORT_TYPE_COGILOG => $langs->trans('Modelcsv_cogilog'),
self::$EXPORT_TYPE_AGIRIS => $langs->trans('Modelcsv_agiris'),
self::$EXPORT_TYPE_OPENCONCERTO => $langs->trans('Modelcsv_openconcerto'),
self::$EXPORT_TYPE_OPENCONCERTO => $langs->trans('Modelcsv_openconcerto'),
self::$EXPORT_TYPE_SAGE50_SWISS => $langs->trans('Modelcsv_Sage50_Swiss'),
self::$EXPORT_TYPE_LDCOMPTA => $langs->trans('Modelcsv_LDCompta'),
self::$EXPORT_TYPE_LDCOMPTA10 => $langs->trans('Modelcsv_LDCompta10'),
@ -144,9 +144,9 @@ class AccountancyExport
self::$EXPORT_TYPE_COGILOG => 'cogilog',
self::$EXPORT_TYPE_AGIRIS => 'agiris',
self::$EXPORT_TYPE_OPENCONCERTO => 'openconcerto',
self::$EXPORT_TYPE_SAGE50_SWISS => 'sage50ch',
self::$EXPORT_TYPE_LDCOMPTA => 'ldcompta',
self::$EXPORT_TYPE_LDCOMPTA10 => 'ldcompta10',
self::$EXPORT_TYPE_SAGE50_SWISS => 'sage50ch',
self::$EXPORT_TYPE_LDCOMPTA => 'ldcompta',
self::$EXPORT_TYPE_LDCOMPTA10 => 'ldcompta10',
self::$EXPORT_TYPE_FEC => 'fec',
);
@ -201,22 +201,22 @@ class AccountancyExport
self::$EXPORT_TYPE_AGIRIS => array(
'label' => $langs->trans('Modelcsv_agiris'),
),
self::$EXPORT_TYPE_OPENCONCERTO => array(
'label' => $langs->trans('Modelcsv_openconcerto'),
'ACCOUNTING_EXPORT_FORMAT' => 'csv',
),
self::$EXPORT_TYPE_OPENCONCERTO => array(
'label' => $langs->trans('Modelcsv_openconcerto'),
'ACCOUNTING_EXPORT_FORMAT' => 'csv',
),
self::$EXPORT_TYPE_SAGE50_SWISS => array(
'label' => $langs->trans('Modelcsv_Sage50_Swiss'),
'ACCOUNTING_EXPORT_FORMAT' => 'csv',
),
self::$EXPORT_TYPE_LDCOMPTA => array(
'label' => $langs->trans('Modelcsv_LDCompta'),
'ACCOUNTING_EXPORT_FORMAT' => 'csv',
),
self::$EXPORT_TYPE_LDCOMPTA => array(
'label' => $langs->trans('Modelcsv_LDCompta'),
'ACCOUNTING_EXPORT_FORMAT' => 'csv',
),
self::$EXPORT_TYPE_LDCOMPTA10 => array(
'label' => $langs->trans('Modelcsv_LDCompta10'),
'ACCOUNTING_EXPORT_FORMAT' => 'csv',
),
'label' => $langs->trans('Modelcsv_LDCompta10'),
'ACCOUNTING_EXPORT_FORMAT' => 'csv',
),
self::$EXPORT_TYPE_FEC => array(
'label' => $langs->trans('Modelcsv_FEC'),
'ACCOUNTING_EXPORT_FORMAT' => 'txt',
@ -254,7 +254,7 @@ class AccountancyExport
$filename = 'general_ledger-'.$this->getFormatCode($formatexportset);
$type_export = 'general_ledger';
global $db; // The tpl file use $db
global $db; // The tpl file use $db
include DOL_DOCUMENT_ROOT.'/accountancy/tpl/export_journal.tpl.php';
@ -289,21 +289,21 @@ class AccountancyExport
case self::$EXPORT_TYPE_AGIRIS :
$this->exportAgiris($TData);
break;
case self::$EXPORT_TYPE_OPENCONCERTO :
$this->exportOpenConcerto($TData);
break;
case self::$EXPORT_TYPE_OPENCONCERTO :
$this->exportOpenConcerto($TData);
break;
case self::$EXPORT_TYPE_SAGE50_SWISS :
$this->exportSAGE50SWISS($TData);
break;
case self::$EXPORT_TYPE_LDCOMPTA :
$this->exportLDCompta($TData);
break;
case self::$EXPORT_TYPE_LDCOMPTA10 :
$this->exportLDCompta10($TData);
break;
case self::$EXPORT_TYPE_FEC :
$this->exportFEC($TData);
break;
case self::$EXPORT_TYPE_LDCOMPTA :
$this->exportLDCompta($TData);
break;
case self::$EXPORT_TYPE_LDCOMPTA10 :
$this->exportLDCompta10($TData);
break;
case self::$EXPORT_TYPE_FEC :
$this->exportFEC($TData);
break;
case self::$EXPORT_TYPE_CHARLEMAGNE :
$this->exportCharlemagne($TData);
break;
@ -362,7 +362,7 @@ class AccountancyExport
if ($line->sens == 'D') {
print price($line->montant).$separator;
print ''.$separator;
}elseif ($line->sens == 'C') {
} elseif ($line->sens == 'C') {
print ''.$separator;
print price($line->montant).$separator;
}
@ -518,11 +518,12 @@ class AccountancyExport
$Tab['contrepartie'] = str_repeat(' ', 8);
// elarifr: date format must be fixed format : 6 char ddmmyy = %d%m%yand not defined by user / dolibarr setting
if (!empty($data->date_echeance))
if (!empty($data->date_echeance)) {
//$Tab['date_echeance'] = dol_print_date($data->date_echeance, $conf->global->ACCOUNTING_EXPORT_DATE);
$Tab['date_echeance'] = dol_print_date($data->date_echeance, '%d%m%y'); // elarifr: format must be ddmmyy
else
} else {
$Tab['date_echeance'] = '000000';
}
//elarifr please keep quadra named field lettrage(2) + codestat(3) instead of fake lettrage(5)
//$Tab['lettrage'] = str_repeat(' ', 5);
@ -597,12 +598,11 @@ class AccountancyExport
$Tab['num_compte'] = str_pad(self::trunc($code_compta, 6), 6, '0');
if($data->sens == 'D'){
$Tab['montant_debit'] = str_pad(number_format(abs($data->montant), 2, ',', ''), 13, ' ', STR_PAD_LEFT);
if ($data->sens == 'D') {
$Tab['montant_debit'] = str_pad(number_format(abs($data->montant), 2, ',', ''), 13, ' ', STR_PAD_LEFT);
$Tab['montant_crebit'] = str_pad(number_format(0, 2, ',', ''), 13, ' ', STR_PAD_LEFT);
}
else{
} else {
$Tab['montant_debit'] = str_pad(number_format(0, 2, ',', ''), 13, ' ', STR_PAD_LEFT);
$Tab['montant_crebit'] = str_pad(number_format(abs($data->montant), 2, ',', ''), 13, ' ', STR_PAD_LEFT);
@ -616,11 +616,12 @@ class AccountancyExport
$Tab['code_stat'] = str_repeat(' ', 4);
if (!empty($data->date_echeance))
if (!empty($data->date_echeance)) {
//$Tab['date_echeance'] = dol_print_date($data->date_echeance, $conf->global->ACCOUNTING_EXPORT_DATE);
$Tab['date_echeance'] = dol_print_date($data->date_echeance, '%d%m%Y');
else
} else {
$Tab['date_echeance'] = dol_print_date($data->doc_date, '%d%m%Y');
}
$Tab['monnaie'] = '1';
@ -658,10 +659,10 @@ class AccountancyExport
print $date.$separator;
print $line->code_journal.$separator;
if (empty($line->subledger_account)) {
print $line->numero_compte.$separator;
} else {
print $line->subledger_account.$separator;
}
print $line->numero_compte.$separator;
} else {
print $line->subledger_account.$separator;
}
//print substr(length_accountg($line->numero_compte), 0, 2) . $separator;
print '"'.dol_trunc($line->label_operation, 40, 'right', 'UTF-8', 1).'"'.$separator;
print '"'.dol_trunc($line->piece_num, 15, 'right', 'UTF-8', 1).'"'.$separator;
@ -713,36 +714,36 @@ class AccountancyExport
}
}
/**
* Export format : OpenConcerto
*
* @param array $objectLines data
* @return void
*/
public function exportOpenConcerto($objectLines)
{
/**
* Export format : OpenConcerto
*
* @param array $objectLines data
* @return void
*/
public function exportOpenConcerto($objectLines)
{
$separator = ';';
$end_line = "\n";
$separator = ';';
$end_line = "\n";
foreach ($objectLines as $line) {
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
foreach ($objectLines as $line) {
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
print $date.$separator;
print $line->code_journal.$separator;
if (empty($line->subledger_account)) {
print length_accountg($line->numero_compte).$separator;
} else {
print length_accounta($line->subledger_account).$separator;
}
print $line->doc_ref.$separator;
print $line->label_operation.$separator;
print price($line->debit).$separator;
print price($line->credit).$separator;
print $date.$separator;
print $line->code_journal.$separator;
if (empty($line->subledger_account)) {
print length_accountg($line->numero_compte).$separator;
} else {
print length_accounta($line->subledger_account).$separator;
}
print $line->doc_ref.$separator;
print $line->label_operation.$separator;
print price($line->debit).$separator;
print price($line->credit).$separator;
print $end_line;
}
}
print $end_line;
}
}
/**
* Export format : Configurable CSV
@ -821,25 +822,25 @@ class AccountancyExport
print $line->piece_num.$separator;
// FEC:EcritureDate
print $date_document . $separator;
print $date_document.$separator;
// FEC:CompteNum
print $line->numero_compte.$separator;
// FEC:CompteLib
print dol_string_unaccent($line->label_compte) . $separator;
print dol_string_unaccent($line->label_compte).$separator;
// FEC:CompAuxNum
print $line->subledger_account.$separator;
// FEC:CompAuxLib
print dol_string_unaccent($line->subledger_label) . $separator;
print dol_string_unaccent($line->subledger_label).$separator;
// FEC:PieceRef
print $line->doc_ref.$separator;
// FEC:PieceDate
print dol_string_unaccent($date_creation) . $separator;
print dol_string_unaccent($date_creation).$separator;
// FEC:EcritureLib
print $line->label_operation.$separator;
@ -857,7 +858,7 @@ class AccountancyExport
print $line->date_lettering.$separator;
// FEC:ValidDate
print $date_validation . $separator;
print $date_validation.$separator;
// FEC:Montantdevise
print $line->multicurrency_amount.$separator;
@ -869,164 +870,152 @@ class AccountancyExport
}
}
/**
* Export format : SAGE50SWISS
*
* https://onlinehelp.sageschweiz.ch/default.aspx?tabid=19984
* http://media.topal.ch/Public/Schnittstellen/TAF/Specification/Sage50-TAF-format.pdf
*
* @param array $objectLines data
*
* @return void
*/
public function exportSAGE50SWISS($objectLines)
{
// SAGE50SWISS
$this->separator = ',';
$this->end_line = "\r\n";
/**
* Export format : SAGE50SWISS
*
* https://onlinehelp.sageschweiz.ch/default.aspx?tabid=19984
* http://media.topal.ch/Public/Schnittstellen/TAF/Specification/Sage50-TAF-format.pdf
*
* @param array $objectLines data
*
* @return void
*/
public function exportSAGE50SWISS($objectLines)
{
// SAGE50SWISS
$this->separator = ',';
$this->end_line = "\r\n";
// Print header line
print "Blg,Datum,Kto,S/H,Grp,GKto,SId,SIdx,KIdx,BTyp,MTyp,Code,Netto,Steuer,FW-Betrag,Tx1,Tx2,PkKey,OpId,Flag";
print $this->end_line;
$thisPieceNum = "";
$thisPieceAccountNr = "";
$aSize = count($objectLines);
foreach ($objectLines as $aIndex=>$line)
// Print header line
print "Blg,Datum,Kto,S/H,Grp,GKto,SId,SIdx,KIdx,BTyp,MTyp,Code,Netto,Steuer,FW-Betrag,Tx1,Tx2,PkKey,OpId,Flag";
print $this->end_line;
$thisPieceNum = "";
$thisPieceAccountNr = "";
$aSize = count($objectLines);
foreach ($objectLines as $aIndex=>$line)
{
$sammelBuchung = false;
if ($aIndex - 2 >= 0 && $objectLines[$aIndex - 2]->piece_num == $line->piece_num)
{
$sammelBuchung = true;
}
elseif ($aIndex + 2 < $aSize && $objectLines[$aIndex + 2]->piece_num == $line->piece_num)
{
$sammelBuchung = true;
}
elseif ($aIndex + 1 < $aSize
&& $objectLines[$aIndex + 1]->piece_num == $line->piece_num
&& $aIndex - 1 < $aSize
&& $objectLines[$aIndex - 1]->piece_num == $line->piece_num
)
{
$sammelBuchung = true;
}
$sammelBuchung = false;
if ($aIndex - 2 >= 0 && $objectLines[$aIndex - 2]->piece_num == $line->piece_num)
{
$sammelBuchung = true;
} elseif ($aIndex + 2 < $aSize && $objectLines[$aIndex + 2]->piece_num == $line->piece_num)
{
$sammelBuchung = true;
} elseif ($aIndex + 1 < $aSize
&& $objectLines[$aIndex + 1]->piece_num == $line->piece_num
&& $aIndex - 1 < $aSize
&& $objectLines[$aIndex - 1]->piece_num == $line->piece_num
)
{
$sammelBuchung = true;
}
//Blg
print $line->piece_num.$this->separator;
//Blg
print $line->piece_num.$this->separator;
// Datum
$date = dol_print_date($line->doc_date, '%d.%m.%Y');
print $date.$this->separator;
// Datum
$date = dol_print_date($line->doc_date, '%d.%m.%Y');
print $date.$this->separator;
// Kto
print length_accountg($line->numero_compte).$this->separator;
// S/H
if ($line->sens == 'D')
{
print 'S'.$this->separator;
}
else
{
print 'H'.$this->separator;
}
//Grp
print self::trunc($line->code_journal, 1).$this->separator;
// GKto
if (empty($line->code_tiers))
{
if ($line->piece_num == $thisPieceNum)
{
print length_accounta($thisPieceAccountNr).$this->separator;
}
else
{
print "div".$this->separator;
}
}
else
{
print length_accounta($line->code_tiers).$this->separator;
}
//SId
print $this->separator;
//SIdx
print "0".$this->separator;
//KIdx
print "0".$this->separator;
//BTyp
print "0".$this->separator;
// Kto
print length_accountg($line->numero_compte).$this->separator;
// S/H
if ($line->sens == 'D')
{
print 'S'.$this->separator;
} else {
print 'H'.$this->separator;
}
//Grp
print self::trunc($line->code_journal, 1).$this->separator;
// GKto
if (empty($line->code_tiers))
{
if ($line->piece_num == $thisPieceNum)
{
print length_accounta($thisPieceAccountNr).$this->separator;
} else {
print "div".$this->separator;
}
} else {
print length_accounta($line->code_tiers).$this->separator;
}
//SId
print $this->separator;
//SIdx
print "0".$this->separator;
//KIdx
print "0".$this->separator;
//BTyp
print "0".$this->separator;
//MTyp 1=Fibu Einzelbuchung 2=Sammebuchung
if ($sammelBuchung)
{
print "2".$this->separator;
}
else
{
print "1".$this->separator;
}
// Code
print '""'.$this->separator;
// Netto
if ($line->montant >= 0)
{
print $line->montant.$this->separator;
}
else
{
print ($line->montant * -1).$this->separator;
}
// Steuer
print "0.00".$this->separator;
// FW-Betrag
print "0.00".$this->separator;
// Tx1
$line1 = self::toAnsi($line->label_compte, 29);
if ($line1 == "LIQ" || $line1 == "LIQ Beleg ok" || strlen($line1) <= 3)
{
$line1 = "";
}
$line2 = self::toAnsi($line->doc_ref, 29);
if (strlen($line1) == 0)
{
$line1 = $line2;
$line2 = "";
}
if (strlen($line1) > 0 && strlen($line2) > 0 && (strlen($line1) + strlen($line2)) < 27)
{
$line1 = $line1.' / '.$line2;
$line2 = "";
}
//MTyp 1=Fibu Einzelbuchung 2=Sammebuchung
if ($sammelBuchung)
{
print "2".$this->separator;
} else {
print "1".$this->separator;
}
// Code
print '""'.$this->separator;
// Netto
if ($line->montant >= 0)
{
print $line->montant.$this->separator;
} else {
print ($line->montant * -1).$this->separator;
}
// Steuer
print "0.00".$this->separator;
// FW-Betrag
print "0.00".$this->separator;
// Tx1
$line1 = self::toAnsi($line->label_compte, 29);
if ($line1 == "LIQ" || $line1 == "LIQ Beleg ok" || strlen($line1) <= 3)
{
$line1 = "";
}
$line2 = self::toAnsi($line->doc_ref, 29);
if (strlen($line1) == 0)
{
$line1 = $line2;
$line2 = "";
}
if (strlen($line1) > 0 && strlen($line2) > 0 && (strlen($line1) + strlen($line2)) < 27)
{
$line1 = $line1.' / '.$line2;
$line2 = "";
}
print '"'.self::toAnsi($line1).'"'.$this->separator;
// Tx2
print '"'.self::toAnsi($line2).'"'.$this->separator;
//PkKey
print "0".$this->separator;
//OpId
print $this->separator;
print '"'.self::toAnsi($line1).'"'.$this->separator;
// Tx2
print '"'.self::toAnsi($line2).'"'.$this->separator;
//PkKey
print "0".$this->separator;
//OpId
print $this->separator;
// Flag
print "0";
// Flag
print "0";
print $this->end_line;
print $this->end_line;
if ($line->piece_num !== $thisPieceNum)
{
$thisPieceNum = $line->piece_num;
$thisPieceAccountNr = $line->numero_compte;
}
}
}
if ($line->piece_num !== $thisPieceNum)
{
$thisPieceNum = $line->piece_num;
$thisPieceAccountNr = $line->numero_compte;
}
}
}
/**
* Export format : LD Compta version 9
* http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW9.pdf
*
* @param array $objectLines data
*
* @return void
*/
/**
* Export format : LD Compta version 9
* http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW9.pdf
*
* @param array $objectLines data
*
* @return void
*/
public function exportLDCompta($objectLines)
{
@ -1171,30 +1160,31 @@ class AccountancyExport
// TYPE C
if ($last_codeinvoice != $line->doc_ref) {
//recherche societe en fonction de son code client
$sql = "SELECT code_client, fk_forme_juridique, nom, address, zip, town, fk_pays, phone, siret FROM ".MAIN_DB_PREFIX."societe WHERE code_client = '".$line->thirdparty_code."'";
$sql = "SELECT code_client, fk_forme_juridique, nom, address, zip, town, fk_pays, phone, siret FROM ".MAIN_DB_PREFIX."societe";
$sql .= " WHERE code_client = '".$this->db->escape($line->thirdparty_code)."'";
$resql = $this->db->query($sql);
if ($resql && $this->db->num_rows($resql) > 0)
{
$soc = $this->db->fetch_object($resql);
$address = array('', '', '');
if (strpos($soc->address, "\n") !== false) {
$address = explode("\n", $soc->address);
if (is_array($address) && count($address) > 0) {
foreach ($address as $key=>$data) {
$address[$key] = str_replace(array("\t", "\n", "\r"), "", $data);
$address[$key] = dol_trunc($address[$key], 40, 'right', 'UTF-8', 1);
}
}
} else {
$address[0] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 0, 40);
$address[1] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 41, 40);
$address[2] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 82, 40);
}
$address = array('', '', '');
if (strpos($soc->address, "\n") !== false) {
$address = explode("\n", $soc->address);
if (is_array($address) && count($address) > 0) {
foreach ($address as $key=>$data) {
$address[$key] = str_replace(array("\t", "\n", "\r"), "", $data);
$address[$key] = dol_trunc($address[$key], 40, 'right', 'UTF-8', 1);
}
}
} else {
$address[0] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 0, 40);
$address[1] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 41, 40);
$address[2] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 82, 40);
}
$type_enregistrement = 'C';
//TYPE
//TYPE
print $type_enregistrement.$separator;
//NOCL
print $soc->code_client.$separator;
@ -1203,15 +1193,15 @@ class AccountancyExport
//LIBI
print $separator;
//TITR
print $separator;
print $separator;
//RSSO
print $soc->nom.$separator;
//CAD1
print $address[0].$separator;
print $address[0].$separator;
//CAD2
print $address[1].$separator;
print $address[1].$separator;
//CAD3
print $address[2].$separator;
print $address[2].$separator;
//COPO
print $soc->zip.$separator;
//BUDI
@ -1233,7 +1223,7 @@ class AccountancyExport
//COMM
print $separator;
//SIRE
print str_replace(" ", "", $soc->siret).$separator;
print str_replace(" ", "", $soc->siret).$separator;
//RIBP
print $separator;
//DOBQ
@ -1458,7 +1448,9 @@ class AccountancyExport
print self::trunc($line->code_journal, 6).$separator; //Journal code
if (!empty($line->subledger_account)) $account = $line->subledger_account;
else $account = $line->numero_compte;
else {
$account = $line->numero_compte;
}
print self::trunc($account, 15).$separator; //Account number
print self::trunc($line->label_compte, 60).$separator; //Account label
@ -1494,15 +1486,15 @@ class AccountancyExport
*
* @param string $str Original string to encode and optionaly truncate
* @param integer $size Truncate string after $size characters
* @return string String encoded in Windows-1251 charset
* @return string String encoded in Windows-1251 charset
*/
public static function toAnsi($str, $size = -1)
{
{
$retVal = dol_string_nohtmltag($str, 1, 'Windows-1251');
if ($retVal >= 0 && $size >= 0)
{
$retVal = mb_substr($retVal, 0, $size, 'Windows-1251');
}
return $retVal;
if ($retVal >= 0 && $size >= 0)
{
$retVal = mb_substr($retVal, 0, $size, 'Windows-1251');
}
return $retVal;
}
}

View File

@ -28,10 +28,10 @@
*/
class AccountancySystem
{
/**
* @var DoliDB Database handler.
*/
public $db;
/**
* @var DoliDB Database handler.
*/
public $db;
/**
* @var string Error code (or message)
@ -44,13 +44,13 @@ class AccountancySystem
public $rowid;
/**
* @var int ID
*/
* @var int ID
*/
public $fk_pcg_version;
/**
* @var string pcg type
*/
/**
* @var string pcg type
*/
public $pcg_type;
/**
@ -59,18 +59,18 @@ class AccountancySystem
public $numero;
/**
* @var string Accountancy System label
*/
public $label;
* @var string Accountancy System label
*/
public $label;
/**
* @var string account number
*/
/**
* @var string account number
*/
public $account_number;
/**
* @var string account parent
*/
/**
* @var string account parent
*/
public $account_parent;
/**
@ -78,10 +78,10 @@ class AccountancySystem
*
* @param DoliDB $db handler
*/
public function __construct($db)
{
public function __construct($db)
{
$this->db = $db;
}
}
/**
@ -93,42 +93,42 @@ class AccountancySystem
*/
public function fetch($rowid = 0, $ref = '')
{
global $conf;
global $conf;
if ($rowid > 0 || $ref)
{
$sql = "SELECT a.rowid, a.pcg_version, a.label, a.active";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_system as a";
$sql .= " WHERE";
if ($rowid) {
$sql .= " a.rowid = '".$rowid."'";
} elseif ($ref) {
$sql .= " a.pcg_version = '".$this->db->escape($ref)."'";
}
if ($rowid > 0 || $ref)
{
$sql = "SELECT a.rowid, a.pcg_version, a.label, a.active";
$sql .= " FROM ".MAIN_DB_PREFIX."accounting_system as a";
$sql .= " WHERE";
if ($rowid) {
$sql .= " a.rowid = ".((int) $rowid);
} elseif ($ref) {
$sql .= " a.pcg_version = '".$this->db->escape($ref)."'";
}
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
$result = $this->db->query($sql);
if ($result) {
$obj = $this->db->fetch_object($result);
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
$result = $this->db->query($sql);
if ($result) {
$obj = $this->db->fetch_object($result);
if ($obj) {
$this->id = $obj->rowid;
$this->rowid = $obj->rowid;
$this->pcg_version = $obj->pcg_version;
$this->ref = $obj->pcg_version;
$this->label = $obj->label;
$this->active = $obj->active;
if ($obj) {
$this->id = $obj->rowid;
$this->rowid = $obj->rowid;
$this->pcg_version = $obj->pcg_version;
$this->ref = $obj->pcg_version;
$this->label = $obj->label;
$this->active = $obj->active;
return $this->id;
} else {
return 0;
}
} else {
$this->error = "Error ".$this->db->lasterror();
$this->errors[] = "Error ".$this->db->lasterror();
}
}
return -1;
return $this->id;
} else {
return 0;
}
} else {
$this->error = "Error ".$this->db->lasterror();
$this->errors[] = "Error ".$this->db->lasterror();
}
}
return -1;
}
@ -138,8 +138,8 @@ class AccountancySystem
* @param User $user making insert
* @return int if KO, Id of line if OK
*/
public function create($user)
{
public function create($user)
{
$now = dol_now();
$sql = "INSERT INTO ".MAIN_DB_PREFIX."accounting_system";
@ -165,6 +165,6 @@ class AccountancySystem
dol_syslog($this->error, LOG_ERR);
}
return $result;
}
return $result;
}
}

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