forked from Wavyzz/dolibarr
Compare commits
1318 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a186e16568 | ||
|
|
a621032643 | ||
|
|
32646cb7f4 | ||
|
|
74b67eb6c6 | ||
|
|
667890247c | ||
|
|
c727bbb530 | ||
|
|
973a2ede97 | ||
|
|
e8fd551043 | ||
|
|
34b3113bb7 | ||
|
|
90854dc2bf | ||
|
|
b44ddaa696 | ||
|
|
03a9daa3e6 | ||
|
|
e5193f16cc | ||
|
|
9abde6c057 | ||
|
|
6aa8ba8935 | ||
|
|
f782ac6654 | ||
|
|
1e54e695b2 | ||
|
|
f2eb3c1a55 | ||
|
|
41a970c90f | ||
|
|
3d9b2a1676 | ||
|
|
7be0e0da1c | ||
|
|
cc1a3080d0 | ||
|
|
b5f887b3e4 | ||
|
|
a1534955a1 | ||
|
|
79371f66b0 | ||
|
|
4569cb82b2 | ||
|
|
04d33f4594 | ||
|
|
af6e95aa79 | ||
|
|
5d942c9d1a | ||
|
|
7dfb369a98 | ||
|
|
265aeb76e6 | ||
|
|
5ee74d7c07 | ||
|
|
1541e20870 | ||
|
|
53709cf509 | ||
|
|
10e32c056e | ||
|
|
5de6c193ff | ||
|
|
1f6e9a1a9e | ||
|
|
0a72aed3d7 | ||
|
|
ce8312c744 | ||
|
|
632147ad88 | ||
|
|
9aa5c94612 | ||
|
|
ba724204a4 | ||
|
|
ff696e0dad | ||
|
|
3dcd1aa05d | ||
|
|
8dfe4fe05f | ||
|
|
65d59405da | ||
|
|
0e2e8fe27f | ||
|
|
eb8d7f92c3 | ||
|
|
e1af439a6d | ||
|
|
57052e2fba | ||
|
|
2da16ade6c | ||
|
|
cd09099409 | ||
|
|
d09d036f06 | ||
|
|
ab8f78f29a | ||
|
|
8da328b183 | ||
|
|
108a5ff7cb | ||
|
|
026f38fe06 | ||
|
|
eea90cef56 | ||
|
|
246f7b054e | ||
|
|
8772c53723 | ||
|
|
0472ab4690 | ||
|
|
fa28a02d74 | ||
|
|
eeef78760a | ||
|
|
1d9310055e | ||
|
|
e81023c35a | ||
|
|
dcca3011ee | ||
|
|
e41a3a2f42 | ||
|
|
41d9324600 | ||
|
|
a8f11fec31 | ||
|
|
057d91698f | ||
|
|
96656ff148 | ||
|
|
5d6735f364 | ||
|
|
92b20d3595 | ||
|
|
b7ba9df6b4 | ||
|
|
8a46fd376f | ||
|
|
9ed7a3a5c5 | ||
|
|
729c12a8e4 | ||
|
|
c37c371392 | ||
|
|
0a23cf029d | ||
|
|
5d9aa40065 | ||
|
|
1aca7efce3 | ||
|
|
36accba5c9 | ||
|
|
1753e980b8 | ||
|
|
1d5b8cbb19 | ||
|
|
93558d5bbb | ||
|
|
865ecf7a94 | ||
|
|
e8d9e9e697 | ||
|
|
90443e26ac | ||
|
|
5fd4da66cb | ||
|
|
e2e6d4ba14 | ||
|
|
4bb18db905 | ||
|
|
57732d4265 | ||
|
|
6170b28c3b | ||
|
|
a865f49d72 | ||
|
|
c54e010126 | ||
|
|
cb9db6e3a8 | ||
|
|
a3aba28c95 | ||
|
|
547f1dd370 | ||
|
|
5305a983c7 | ||
|
|
f923c70f38 | ||
|
|
2637f9af63 | ||
|
|
fd6147578a | ||
|
|
592cfb5e93 | ||
|
|
6a2afabcac | ||
|
|
fc22565532 | ||
|
|
1cbe0e3f2d | ||
|
|
db32f882e8 | ||
|
|
acadef72c1 | ||
|
|
c577d1c51e | ||
|
|
56d78cf12a | ||
|
|
b5c88d5817 | ||
|
|
c2fa19a0b4 | ||
|
|
82400ca2a5 | ||
|
|
2fda3b1b46 | ||
|
|
824a601014 | ||
|
|
9ce23ac6b2 | ||
|
|
a4d93424dc | ||
|
|
63292255cc | ||
|
|
139ae3db00 | ||
|
|
6574e54a41 | ||
|
|
e6b4f1eab6 | ||
|
|
33a20ae9a1 | ||
|
|
6e4962bb39 | ||
|
|
6c1e0919c8 | ||
|
|
27e2c69e4e | ||
|
|
0d4eaca3e8 | ||
|
|
08c85a88c8 | ||
|
|
81b964db45 | ||
|
|
5e98d99321 | ||
|
|
749aeeb233 | ||
|
|
4174ebd9c0 | ||
|
|
965eb2d639 | ||
|
|
68415322ec | ||
|
|
2e9cf8d00b | ||
|
|
c7f38c4cf0 | ||
|
|
7a6edfd61f | ||
|
|
e9b8e81773 | ||
|
|
5a6d3b7c88 | ||
|
|
ce022ab36c | ||
|
|
ee96fb6470 | ||
|
|
318a783237 | ||
|
|
8c428081ab | ||
|
|
ff8aae1209 | ||
|
|
5b6439ca5e | ||
|
|
37f44f4a07 | ||
|
|
f8fcf7c16b | ||
|
|
521dec7792 | ||
|
|
b6faa6b605 | ||
|
|
b4f638602a | ||
|
|
eabe5ae616 | ||
|
|
8c08b3945b | ||
|
|
b9a91f92ea | ||
|
|
56ae51375d | ||
|
|
30543bda71 | ||
|
|
4f693b86c2 | ||
|
|
66bbc7f54f | ||
|
|
971b97d78f | ||
|
|
672a07fdac | ||
|
|
c41b59b14c | ||
|
|
ef789376e7 | ||
|
|
d20ba5a665 | ||
|
|
861b583668 | ||
|
|
549136efeb | ||
|
|
99a17cadb7 | ||
|
|
8e8efce7d1 | ||
|
|
9db211b1a7 | ||
|
|
d59ee06438 | ||
|
|
a779ce36f3 | ||
|
|
cb4cfbd27d | ||
|
|
1282494211 | ||
|
|
e5f6a64846 | ||
|
|
ff9070ff9c | ||
|
|
414a2366fb | ||
|
|
87c8d917e9 | ||
|
|
c888ce08c1 | ||
|
|
7d14cde45e | ||
|
|
3f862bf43e | ||
|
|
1b55935577 | ||
|
|
2576973dc3 | ||
|
|
6ab723e85c | ||
|
|
3b050c3452 | ||
|
|
188ed6984f | ||
|
|
08aa3eac00 | ||
|
|
9ef5f26624 | ||
|
|
758d91b4a3 | ||
|
|
099fcd7e4e | ||
|
|
c63a124d1c | ||
|
|
2f98d8035c | ||
|
|
8dfe39258b | ||
|
|
e431b5aacb | ||
|
|
35448e3307 | ||
|
|
a0fe2a8abc | ||
|
|
b2d790b46a | ||
|
|
0dc182553e | ||
|
|
9e50a06f2b | ||
|
|
a955df21bf | ||
|
|
d3bc6aadec | ||
|
|
7372a18283 | ||
|
|
ca557cfacd | ||
|
|
e44b14364a | ||
|
|
50b5226d10 | ||
|
|
4b9bb824d0 | ||
|
|
92a4314779 | ||
|
|
5709216427 | ||
|
|
ca6899c138 | ||
|
|
f79dec80e6 | ||
|
|
f0d787debb | ||
|
|
6bbc25e8c3 | ||
|
|
27542ed8ed | ||
|
|
36d6b472ce | ||
|
|
10ac74162e | ||
|
|
7886a6e838 | ||
|
|
04c233c229 | ||
|
|
35b3d4f40a | ||
|
|
ad4a8eac52 | ||
|
|
7360fcd03e | ||
|
|
4e72543fde | ||
|
|
111d6aa621 | ||
|
|
7c77a0d84b | ||
|
|
12b15a3d90 | ||
|
|
c69821794e | ||
|
|
223205cf9d | ||
|
|
5218550014 | ||
|
|
0a24298385 | ||
|
|
0ad6ee209a | ||
|
|
5ec351911d | ||
|
|
26f07992a9 | ||
|
|
6042b8df4e | ||
|
|
69ea0ea791 | ||
|
|
c7d886c918 | ||
|
|
7fdc63faa6 | ||
|
|
556888d55c | ||
|
|
5e1cd459b1 | ||
|
|
dff5b13700 | ||
|
|
44c5988853 | ||
|
|
2907df8253 | ||
|
|
ad05451427 | ||
|
|
2db08c8e0d | ||
|
|
fb27c98f9c | ||
|
|
8458025e1d | ||
|
|
4a5c7d299f | ||
|
|
18d4840f85 | ||
|
|
c529a92b92 | ||
|
|
0a078da8e4 | ||
|
|
617c930574 | ||
|
|
2f11f4e104 | ||
|
|
a017943083 | ||
|
|
047785b273 | ||
|
|
6bb598498e | ||
|
|
f25a6b2e67 | ||
|
|
400acf9f65 | ||
|
|
d9ca9fe22d | ||
|
|
f51b02026c | ||
|
|
f5a156ee06 | ||
|
|
1b5bcaccc6 | ||
|
|
263b679af4 | ||
|
|
925669ee33 | ||
|
|
f22017080d | ||
|
|
d7ac505cd0 | ||
|
|
e79a061c19 | ||
|
|
d7225327e7 | ||
|
|
2a386b6fea | ||
|
|
91cf5de54d | ||
|
|
980cb095da | ||
|
|
5e2962ef38 | ||
|
|
b1b7a7c725 | ||
|
|
89dcbfae82 | ||
|
|
c3f0f3cc4a | ||
|
|
20c00d0c43 | ||
|
|
a4af2e94a9 | ||
|
|
866934e6c5 | ||
|
|
a33d34a165 | ||
|
|
027c5582c3 | ||
|
|
da4f3fab14 | ||
|
|
12289ceb9e | ||
|
|
e57cd74f22 | ||
|
|
78a52eda96 | ||
|
|
50ede5224a | ||
|
|
c58d3d0cf7 | ||
|
|
ca66df2a7b | ||
|
|
3ee618d736 | ||
|
|
adeddc70ca | ||
|
|
3f839c2a96 | ||
|
|
fd1f5bbe01 | ||
|
|
5694a19c6a | ||
|
|
1b82b6af4d | ||
|
|
baa86d773b | ||
|
|
02ef5ad3b9 | ||
|
|
b6db71e5e6 | ||
|
|
d21f51a35e | ||
|
|
309691f1e7 | ||
|
|
680ae60b6f | ||
|
|
7080c8491d | ||
|
|
cf4ea4168d | ||
|
|
377c44eeab | ||
|
|
62420c5e7b | ||
|
|
e0e4da481a | ||
|
|
d9aa83e699 | ||
|
|
e811a9b13e | ||
|
|
b4581b6af8 | ||
|
|
594d9e321e | ||
|
|
cfcac7e053 | ||
|
|
a826e328c1 | ||
|
|
31f1ab73b1 | ||
|
|
c8936f9919 | ||
|
|
3369379ba1 | ||
|
|
34dd486b6c | ||
|
|
0f435f9901 | ||
|
|
a9117fe864 | ||
|
|
1795ec6a9d | ||
|
|
8ce929d509 | ||
|
|
c2ad40043f | ||
|
|
a232a19e7d | ||
|
|
529dfb8dfb | ||
|
|
f2fafe04b6 | ||
|
|
fb3d18f962 | ||
|
|
6277422115 | ||
|
|
a9a519e890 | ||
|
|
4eddcb7503 | ||
|
|
3d68ab4059 | ||
|
|
75290d1bd4 | ||
|
|
c3a02d0391 | ||
|
|
b9aee876e9 | ||
|
|
32d823c739 | ||
|
|
b9cbd84d4e | ||
|
|
4a3ffbb6d4 | ||
|
|
1691fcedfb | ||
|
|
f1f1f2b9c8 | ||
|
|
496d429dcd | ||
|
|
d40dea8084 | ||
|
|
bf7d5b56fb | ||
|
|
efd5924bdc | ||
|
|
231a866838 | ||
|
|
74ae9a2618 | ||
|
|
84105e996a | ||
|
|
989074f13a | ||
|
|
496150d747 | ||
|
|
8d3ebad52b | ||
|
|
ca16606b4f | ||
|
|
dd1904c521 | ||
|
|
f217959740 | ||
|
|
ca0dcb4db0 | ||
|
|
9e48920e1d | ||
|
|
ae16b45a5b | ||
|
|
08afb586f8 | ||
|
|
f7e5079e4e | ||
|
|
71ab4c4a70 | ||
|
|
78cf3c24c1 | ||
|
|
af2bd76500 | ||
|
|
69660d1a9d | ||
|
|
331db5e367 | ||
|
|
26a2fea8c7 | ||
|
|
e9c101349b | ||
|
|
3840d6c0a7 | ||
|
|
711339945c | ||
|
|
cee28d0253 | ||
|
|
cdc9d3dd1b | ||
|
|
4d134ade72 | ||
|
|
ea3f9e5e64 | ||
|
|
259737f082 | ||
|
|
a6dcf5f1c1 | ||
|
|
628978be53 | ||
|
|
1b5a0ce3bf | ||
|
|
0b82860582 | ||
|
|
5c9ad3ec9b | ||
|
|
5ff7e37696 | ||
|
|
b6b2553501 | ||
|
|
0dcd85485a | ||
|
|
7a9332815c | ||
|
|
019a825bf4 | ||
|
|
dd8b5ce023 | ||
|
|
0fc6e9b84f | ||
|
|
f8065eb4ed | ||
|
|
74c452678a | ||
|
|
5d3168c2a0 | ||
|
|
37c9afebd9 | ||
|
|
f09aea90df | ||
|
|
56a9f5c48b | ||
|
|
07556e061d | ||
|
|
19c0738b14 | ||
|
|
f453e43cca | ||
|
|
142a27d472 | ||
|
|
5d8b9056b4 | ||
|
|
ca52b5755f | ||
|
|
55e3f8365e | ||
|
|
6928b6543c | ||
|
|
bc457ebb66 | ||
|
|
23c4cfe913 | ||
|
|
3182537566 | ||
|
|
1344874e43 | ||
|
|
e1d117b52d | ||
|
|
06d31e8b9a | ||
|
|
a891211f78 | ||
|
|
709542e27d | ||
|
|
990af9d5cf | ||
|
|
ae857e7008 | ||
|
|
0bdd1c0c17 | ||
|
|
134369ada9 | ||
|
|
8fc9b78b47 | ||
|
|
7944c21fe5 | ||
|
|
59d5391c2a | ||
|
|
b517050e17 | ||
|
|
87d9dfa009 | ||
|
|
5a0622c906 | ||
|
|
6bd6b285fd | ||
|
|
23accef5c2 | ||
|
|
86ce4315be | ||
|
|
5dee3b5b2f | ||
|
|
9bd5ed627f | ||
|
|
bb92e64e43 | ||
|
|
b0a15f958f | ||
|
|
c17bc8b3c8 | ||
|
|
162da37f1a | ||
|
|
134a47a93f | ||
|
|
ffb3d810de | ||
|
|
e4e5ca3934 | ||
|
|
84b2929604 | ||
|
|
eb0c76f613 | ||
|
|
723a263cd3 | ||
|
|
68286199eb | ||
|
|
c25463a4ba | ||
|
|
173ad057f9 | ||
|
|
4d622316a8 | ||
|
|
215085e0e6 | ||
|
|
7ddf85cd33 | ||
|
|
a5d1f1f68f | ||
|
|
e52d71a880 | ||
|
|
00fce1d18a | ||
|
|
593f3b81e5 | ||
|
|
dda5775dd6 | ||
|
|
9b3f13458f | ||
|
|
9268955256 | ||
|
|
d765b03bd1 | ||
|
|
f819509442 | ||
|
|
74eac1d06a | ||
|
|
38d53cc03d | ||
|
|
49f8a6e733 | ||
|
|
4fa6d86127 | ||
|
|
03557b69c2 | ||
|
|
7a183ea026 | ||
|
|
b44d6744f9 | ||
|
|
7eb003c684 | ||
|
|
7a53e191a9 | ||
|
|
b4d2bf98fa | ||
|
|
d21bda604d | ||
|
|
5952ae28b8 | ||
|
|
487d26c7db | ||
|
|
6e1702c1a5 | ||
|
|
a76d4daff8 | ||
|
|
03e8a0737c | ||
|
|
d5acc85ef0 | ||
|
|
6851e24c3b | ||
|
|
fe0b1c5ee4 | ||
|
|
52f20a1047 | ||
|
|
39a422ef94 | ||
|
|
2b393d04e1 | ||
|
|
d35c7ed49b | ||
|
|
9e8ed3bf54 | ||
|
|
48323059e8 | ||
|
|
04be66eab7 | ||
|
|
f385e02c53 | ||
|
|
d784c621c9 | ||
|
|
990217fcb0 | ||
|
|
c4d8a25c5a | ||
|
|
f014365b65 | ||
|
|
10df9777b5 | ||
|
|
dd773d33fd | ||
|
|
ada7b74ba1 | ||
|
|
5482a3134a | ||
|
|
47cf447310 | ||
|
|
68a3716fd2 | ||
|
|
284378232b | ||
|
|
921be56379 | ||
|
|
215242a4a1 | ||
|
|
37f1b27bd2 | ||
|
|
b40177a8c8 | ||
|
|
641d9a6565 | ||
|
|
ce960c8d0d | ||
|
|
0b7aec1fa0 | ||
|
|
73ea5b0e2d | ||
|
|
2fd430bd2c | ||
|
|
ef0f7cfa6f | ||
|
|
375fe3f3e8 | ||
|
|
9cb5735165 | ||
|
|
c8bff3a71e | ||
|
|
8d88217434 | ||
|
|
70ad2fcee0 | ||
|
|
7a077a2d99 | ||
|
|
1a62a36b86 | ||
|
|
7b6ef7aca8 | ||
|
|
11f14b8fe5 | ||
|
|
241a97fd19 | ||
|
|
83a9be2428 | ||
|
|
bd8e8a4087 | ||
|
|
b0cafd47a0 | ||
|
|
f11accf4c2 | ||
|
|
085fe5f7ba | ||
|
|
2d192431bc | ||
|
|
bbfca90260 | ||
|
|
9926eac192 | ||
|
|
72b2fb442b | ||
|
|
63b15dd1b6 | ||
|
|
b026896a98 | ||
|
|
5e6254634f | ||
|
|
1edfa4a4fb | ||
|
|
b57ec55812 | ||
|
|
91db3b9344 | ||
|
|
448cd1cd36 | ||
|
|
9a9eef428b | ||
|
|
9dc904f0a5 | ||
|
|
491f72accc | ||
|
|
d08b3513dc | ||
|
|
6a5427ee4f | ||
|
|
3d79950c27 | ||
|
|
2c12a761ee | ||
|
|
930ae84dac | ||
|
|
ab4b1b1f29 | ||
|
|
4a291f181f | ||
|
|
c93a4c7fc0 | ||
|
|
566f683c54 | ||
|
|
454a804b4e | ||
|
|
878b268a5e | ||
|
|
377e331e6a | ||
|
|
6bd450dcd0 | ||
|
|
b3b3042afc | ||
|
|
d9191c74d8 | ||
|
|
cb8c8a1d50 | ||
|
|
d2e730f8e5 | ||
|
|
c4b3781df0 | ||
|
|
8ee5b16e89 | ||
|
|
d214dbb5fd | ||
|
|
b480fb2dfc | ||
|
|
9f0c3b0db1 | ||
|
|
d46d34915e | ||
|
|
ee55b82a8d | ||
|
|
25994e61bc | ||
|
|
93348630bf | ||
|
|
1bd00ac775 | ||
|
|
960416f9bf | ||
|
|
a6e728a4d8 | ||
|
|
4e4e737ff2 | ||
|
|
cd5982e45f | ||
|
|
ff4ec934e9 | ||
|
|
943e7c988f | ||
|
|
c699d71abc | ||
|
|
6261fa191f | ||
|
|
8273dbcd49 | ||
|
|
94498b191b | ||
|
|
db9fc264d9 | ||
|
|
99935ce11f | ||
|
|
921e904acc | ||
|
|
55e65bbabf | ||
|
|
fc1de5b4f3 | ||
|
|
7bc683b234 | ||
|
|
255bd6b26c | ||
|
|
e2592d9049 | ||
|
|
55298317e3 | ||
|
|
734a6de996 | ||
|
|
2c5e96bb28 | ||
|
|
c2030a7db5 | ||
|
|
384cb22d3a | ||
|
|
f61b6a1c31 | ||
|
|
3e55699275 | ||
|
|
d2e528d8c1 | ||
|
|
3148a181e7 | ||
|
|
1bc1fd4cb4 | ||
|
|
f4074428f8 | ||
|
|
32e4635e84 | ||
|
|
7b5072a21b | ||
|
|
2f8968478d | ||
|
|
ff5a2d459d | ||
|
|
071b909d38 | ||
|
|
79a6246666 | ||
|
|
7cdb832c24 | ||
|
|
fd95551940 | ||
|
|
25509e74d3 | ||
|
|
6a41d5bba8 | ||
|
|
b4cd670b09 | ||
|
|
1e9ae1bc02 | ||
|
|
2629a98851 | ||
|
|
1399ac9b41 | ||
|
|
053a1a2230 | ||
|
|
466b7e84ef | ||
|
|
4fba3ec872 | ||
|
|
ec98ffb492 | ||
|
|
59049cd047 | ||
|
|
8d8695ccd7 | ||
|
|
53c5ec51b8 | ||
|
|
4f5c5356c5 | ||
|
|
18fa4c4105 | ||
|
|
9c504c1b3d | ||
|
|
77b0800633 | ||
|
|
6c01cc16f8 | ||
|
|
642e75c3dd | ||
|
|
d3c23428d5 | ||
|
|
324c8e9b54 | ||
|
|
918e669c98 | ||
|
|
6553c40bea | ||
|
|
8dee17446d | ||
|
|
960512acd9 | ||
|
|
1194c61857 | ||
|
|
dfb7c3e194 | ||
|
|
b3fdb9f168 | ||
|
|
0eac798674 | ||
|
|
347667b346 | ||
|
|
8e324c36ff | ||
|
|
858a751eef | ||
|
|
ccfe6f18fe | ||
|
|
77868ad2a3 | ||
|
|
a7f022dcea | ||
|
|
8c1af0fdb8 | ||
|
|
03b540b948 | ||
|
|
5a53a16c17 | ||
|
|
da9c25348e | ||
|
|
15af3d68fc | ||
|
|
22ca5e0671 | ||
|
|
2f7bb18e2b | ||
|
|
de5a2d738b | ||
|
|
6d6abd4320 | ||
|
|
23df5596e8 | ||
|
|
fdbb6debc9 | ||
|
|
6660923e94 | ||
|
|
33cd20de68 | ||
|
|
3d69a1dc70 | ||
|
|
6ea4928c79 | ||
|
|
2c0a1904b8 | ||
|
|
e50d239322 | ||
|
|
18d5ec7750 | ||
|
|
40e16672e3 | ||
|
|
72130dacb9 | ||
|
|
1ba03566dc | ||
|
|
e04557948d | ||
|
|
2109a91992 | ||
|
|
0023d14e65 | ||
|
|
ffb345e724 | ||
|
|
9aafb82fd3 | ||
|
|
3698af39f1 | ||
|
|
7d4a7a4be0 | ||
|
|
f1f37c7b29 | ||
|
|
e3811840df | ||
|
|
b36e658b20 | ||
|
|
7fcb62359d | ||
|
|
997cb214f1 | ||
|
|
564b9df1e7 | ||
|
|
58ff96af30 | ||
|
|
5bc80f8626 | ||
|
|
d19febc2ca | ||
|
|
92b89437d1 | ||
|
|
1ac341e651 | ||
|
|
0a2099e0ac | ||
|
|
366f458b39 | ||
|
|
fd8f8ff4e1 | ||
|
|
7bba9db2f0 | ||
|
|
5e6ce8ea70 | ||
|
|
941362e683 | ||
|
|
4020d97362 | ||
|
|
180a0a4557 | ||
|
|
e17818c3dd | ||
|
|
4169aa716c | ||
|
|
cbafbe16a2 | ||
|
|
e9a0b0c290 | ||
|
|
30ea9a497d | ||
|
|
d7bd7371a6 | ||
|
|
261d0772f8 | ||
|
|
38d95aa5cd | ||
|
|
bb192195f1 | ||
|
|
87806346c7 | ||
|
|
d9ac7ab9da | ||
|
|
af440b7c49 | ||
|
|
a66926cf08 | ||
|
|
4f2af3bf67 | ||
|
|
30c6ae394b | ||
|
|
cd8dd236f4 | ||
|
|
a5b74189e6 | ||
|
|
2140f05eb4 | ||
|
|
0943b13ecc | ||
|
|
cefc8dcca2 | ||
|
|
5dd9f4e4c4 | ||
|
|
2344435416 | ||
|
|
4fcaaa3387 | ||
|
|
ca3f62e4ac | ||
|
|
e5f8f38fbf | ||
|
|
ded7b79a6f | ||
|
|
699557adbe | ||
|
|
afafe1a737 | ||
|
|
29649a1e2a | ||
|
|
e9b17aac8d | ||
|
|
b47761e05c | ||
|
|
ca4a1dc266 | ||
|
|
9a3e68b594 | ||
|
|
7115bd7033 | ||
|
|
eb7dd74026 | ||
|
|
88f6c71e88 | ||
|
|
c393f8149c | ||
|
|
ede084a111 | ||
|
|
f6e0ed08e2 | ||
|
|
e19f496d62 | ||
|
|
9e5c7d0acf | ||
|
|
5bae9db0a8 | ||
|
|
68bb552dcc | ||
|
|
da481049c1 | ||
|
|
f91e7e4917 | ||
|
|
009780b895 | ||
|
|
88a831c05a | ||
|
|
ae9c490134 | ||
|
|
99b4bfc91e | ||
|
|
6cc512ea16 | ||
|
|
3213148d87 | ||
|
|
c655720b78 | ||
|
|
2337d75d92 | ||
|
|
face2d644e | ||
|
|
2b317120d3 | ||
|
|
bc1724a3aa | ||
|
|
4303d3d3e8 | ||
|
|
2696a6a4d0 | ||
|
|
52af430ae2 | ||
|
|
e223189507 | ||
|
|
1e208e537f | ||
|
|
113144ea21 | ||
|
|
3ae61fcd73 | ||
|
|
c3f75ba2ec | ||
|
|
8360ca4b20 | ||
|
|
bdc73b5cae | ||
|
|
56259bae9a | ||
|
|
9915d97adf | ||
|
|
edc6abcea8 | ||
|
|
537b291fab | ||
|
|
c17c2a6c23 | ||
|
|
d491f2cf54 | ||
|
|
e2680fa29a | ||
|
|
a207365bd2 | ||
|
|
954c29786e | ||
|
|
e02aa4e41b | ||
|
|
ceb0a5b0b5 | ||
|
|
e5edc06f3d | ||
|
|
7ada0de654 | ||
|
|
2595f571c7 | ||
|
|
fe6453194e | ||
|
|
45ddde6940 | ||
|
|
4004aeb257 | ||
|
|
b7fbda8d08 | ||
|
|
1e6cc80438 | ||
|
|
e29d2588cf | ||
|
|
475abbe24b | ||
|
|
afacfa702d | ||
|
|
fb0f31c142 | ||
|
|
6434f255c3 | ||
|
|
f89195e39f | ||
|
|
02c67fe2fa | ||
|
|
9e3e8df60f | ||
|
|
650bddde0d | ||
|
|
6f52c62f2a | ||
|
|
434341316b | ||
|
|
55def0248c | ||
|
|
18ec65b4af | ||
|
|
1591b76050 | ||
|
|
bf9756b8c4 | ||
|
|
e042807b32 | ||
|
|
f3582d891a | ||
|
|
3f28c9a461 | ||
|
|
987fb806c6 | ||
|
|
f518bafda9 | ||
|
|
e39774a508 | ||
|
|
f073b7023a | ||
|
|
82a8c42441 | ||
|
|
9336828710 | ||
|
|
6d62e92e12 | ||
|
|
45345440a4 | ||
|
|
e29f4083e5 | ||
|
|
40565cdf06 | ||
|
|
ca14f9a0fa | ||
|
|
18a19dafe5 | ||
|
|
3d385dd378 | ||
|
|
2d1f151fb2 | ||
|
|
a9d1519f96 | ||
|
|
3d9d5d0ad5 | ||
|
|
baa502a224 | ||
|
|
cf96383bf9 | ||
|
|
54af917afb | ||
|
|
8b79b7f074 | ||
|
|
762ca96203 | ||
|
|
ddf3f8b244 | ||
|
|
d430b2896e | ||
|
|
987d3cf52e | ||
|
|
c7b1a43529 | ||
|
|
e327d609d7 | ||
|
|
a05ea83c5c | ||
|
|
e691045c3d | ||
|
|
cb98ec4d23 | ||
|
|
3811586cd0 | ||
|
|
92b245ae93 | ||
|
|
2b8da85eea | ||
|
|
49cfc1afd8 | ||
|
|
f5b9151f17 | ||
|
|
136d002639 | ||
|
|
aae1b9f7fe | ||
|
|
b8265d3604 | ||
|
|
30c167c6f4 | ||
|
|
cf039b26f9 | ||
|
|
928ed6eecc | ||
|
|
9f6a5d4cc9 | ||
|
|
bd3504c473 | ||
|
|
48183b396a | ||
|
|
fc2f2c6da7 | ||
|
|
0544434482 | ||
|
|
b6afd86354 | ||
|
|
4cf99585f8 | ||
|
|
e1db0ef855 | ||
|
|
66beb7c14f | ||
|
|
8d900baa82 | ||
|
|
33b663091e | ||
|
|
d9e26b8569 | ||
|
|
e9b387a4e9 | ||
|
|
4a9c85ae39 | ||
|
|
4d50ba5e37 | ||
|
|
64d2f906bc | ||
|
|
e3b9012486 | ||
|
|
a2f311d25a | ||
|
|
6d1eb9277b | ||
|
|
1a9afe6b20 | ||
|
|
d9a0edcf2b | ||
|
|
0cd05887ce | ||
|
|
d6887f3ca4 | ||
|
|
695771726f | ||
|
|
d4400cf80f | ||
|
|
387c2209d7 | ||
|
|
b3a064d309 | ||
|
|
860b6e7557 | ||
|
|
d9cef1c8d7 | ||
|
|
fa305fdaca | ||
|
|
36a0780f14 | ||
|
|
3f9731a3a0 | ||
|
|
d7d48936d2 | ||
|
|
78a427c996 | ||
|
|
c14b6884e3 | ||
|
|
c0b9fef229 | ||
|
|
d2d9ce3576 | ||
|
|
2afd38e2f6 | ||
|
|
6d894b7abd | ||
|
|
e0ebe85c13 | ||
|
|
160009630f | ||
|
|
aab9a2ff75 | ||
|
|
b41b22996f | ||
|
|
385f998254 | ||
|
|
8ed100ca87 | ||
|
|
1c7873b4f4 | ||
|
|
4c27ae6530 | ||
|
|
b1495e12ce | ||
|
|
82ace4b4ef | ||
|
|
908e5d7f0a | ||
|
|
84bca036c9 | ||
|
|
a0c013d87b | ||
|
|
c22e13b138 | ||
|
|
a8740352af | ||
|
|
91523b4b64 | ||
|
|
fe6fb12d18 | ||
|
|
635b9bb0fe | ||
|
|
ed045b2673 | ||
|
|
17a4447ccb | ||
|
|
ed63287797 | ||
|
|
10ab97944a | ||
|
|
84353087b2 | ||
|
|
7f56c4a785 | ||
|
|
b90a6024f5 | ||
|
|
6c3e5b19b4 | ||
|
|
a040cd0305 | ||
|
|
fc1a1c6afe | ||
|
|
d11dcc35c3 | ||
|
|
6798e9e6f5 | ||
|
|
df10b86d1f | ||
|
|
48245cf134 | ||
|
|
f6e2399f3c | ||
|
|
4564a5cffd | ||
|
|
a685026756 | ||
|
|
b77892451f | ||
|
|
21665cdc85 | ||
|
|
df91780552 | ||
|
|
e98671e404 | ||
|
|
42ee9845ad | ||
|
|
9764af7e9c | ||
|
|
eda3643639 | ||
|
|
c96937d101 | ||
|
|
f4df3d01b2 | ||
|
|
1aafd4667b | ||
|
|
ababad540a | ||
|
|
a90398af06 | ||
|
|
2fcb2ff19f | ||
|
|
b4fbb86548 | ||
|
|
3ea8d1895b | ||
|
|
b8a4c0d83b | ||
|
|
a70be95760 | ||
|
|
7f0e019c78 | ||
|
|
93735bf9cd | ||
|
|
285f215acf | ||
|
|
388e98fdf0 | ||
|
|
ab5c2b1fd5 | ||
|
|
922efaf49b | ||
|
|
02c5530e1f | ||
|
|
4b58213e5b | ||
|
|
64d877bc7b | ||
|
|
00e9ed1452 | ||
|
|
b5f48fb815 | ||
|
|
039fe92209 | ||
|
|
5edd8b1206 | ||
|
|
c8a93437ff | ||
|
|
67d6b6b3db | ||
|
|
94be1870ec | ||
|
|
1101c4e587 | ||
|
|
f7d4d78008 | ||
|
|
be46b2062e | ||
|
|
293c5a5626 | ||
|
|
cd1368cb71 | ||
|
|
2633e90890 | ||
|
|
e2dcc8f773 | ||
|
|
ce94788dd9 | ||
|
|
aebc04d30a | ||
|
|
21697eeda3 | ||
|
|
b68e85703f | ||
|
|
6819255b76 | ||
|
|
7972174787 | ||
|
|
436362502c | ||
|
|
3a9add0e70 | ||
|
|
e1129babbc | ||
|
|
93278b2dca | ||
|
|
0999f5e6f2 | ||
|
|
de90f24bd4 | ||
|
|
6b8ff56c20 | ||
|
|
80271cc852 | ||
|
|
7bc8a70b0a | ||
|
|
ab586b8f42 | ||
|
|
2749f1726c | ||
|
|
43f4c5ac96 | ||
|
|
c1d0cae24d | ||
|
|
910c4144e8 | ||
|
|
f6f9ca48dd | ||
|
|
8be14060d6 | ||
|
|
11e9cc68b7 | ||
|
|
7587e38302 | ||
|
|
e8ead1d924 | ||
|
|
cf05796f31 | ||
|
|
f670a68b04 | ||
|
|
0b790ef327 | ||
|
|
f6735ce8f2 | ||
|
|
536ab95207 | ||
|
|
f8ae5d9972 | ||
|
|
a44ffbf40c | ||
|
|
ff5bf040e8 | ||
|
|
f09fa5226a | ||
|
|
b8e68a5ef7 | ||
|
|
1e0e4d5d6d | ||
|
|
fb24fbba05 | ||
|
|
b72651fdfd | ||
|
|
27aeaaecb5 | ||
|
|
91fbccb594 | ||
|
|
f546103c01 | ||
|
|
817e16d652 | ||
|
|
ea60d0be63 | ||
|
|
3e7f0b364e | ||
|
|
3c29a7b8d8 | ||
|
|
01ec8693f2 | ||
|
|
855ac5467c | ||
|
|
26022f062f | ||
|
|
984fa0d5a0 | ||
|
|
7f746af10e | ||
|
|
b540bb29e0 | ||
|
|
86eaa78f1e | ||
|
|
18fdf3573f | ||
|
|
5b96066bf4 | ||
|
|
f7c07640dd | ||
|
|
53ceef5b6a | ||
|
|
c3b8949e2e | ||
|
|
85bea5a7c4 | ||
|
|
110787d66a | ||
|
|
d143bd8aec | ||
|
|
f2704036cd | ||
|
|
236898f4e7 | ||
|
|
a72b262f5b | ||
|
|
f726fcdcd8 | ||
|
|
1c6faf79a9 | ||
|
|
b8586d4950 | ||
|
|
384cfeccf6 | ||
|
|
46ccd61009 | ||
|
|
0f71ee1e49 | ||
|
|
afbfd66ee9 | ||
|
|
8e6de35d7b | ||
|
|
8e246f2a18 | ||
|
|
acbbffdb7f | ||
|
|
1cda760621 | ||
|
|
94ae75c2a0 | ||
|
|
eebf48b27c | ||
|
|
2e27355dec | ||
|
|
b1bae5f3dd | ||
|
|
697043bbd3 | ||
|
|
acab0200a6 | ||
|
|
e9ee7a23e6 | ||
|
|
3cc68c6972 | ||
|
|
a38e273ae8 | ||
|
|
ba2c035556 | ||
|
|
20e684ec69 | ||
|
|
3ca0d48b37 | ||
|
|
8bca68cfba | ||
|
|
3f59ca6418 | ||
|
|
e2660fd31c | ||
|
|
fecfe2e3a1 | ||
|
|
f5ab957faf | ||
|
|
d0af49cdce | ||
|
|
9573f1289a | ||
|
|
eb63350d55 | ||
|
|
450b1761b1 | ||
|
|
679b94dcaa | ||
|
|
70e71d32c7 | ||
|
|
b693525b3e | ||
|
|
63d41fa356 | ||
|
|
1f471d46eb | ||
|
|
83f3c9ab6e | ||
|
|
28fa0e4e5d | ||
|
|
3e04fe2319 | ||
|
|
4ac978303b | ||
|
|
92cd0372db | ||
|
|
a1e714f123 | ||
|
|
c4d898e155 | ||
|
|
6f4ff57612 | ||
|
|
5a366767fb | ||
|
|
7fe8c7eab3 | ||
|
|
273443550e | ||
|
|
f7d1ce1e09 | ||
|
|
1ed8639653 | ||
|
|
f52f59e80a | ||
|
|
3c9ca3860b | ||
|
|
56336e1d30 | ||
|
|
c83f0f7484 | ||
|
|
2ac03c2875 | ||
|
|
0a8a8bafa0 | ||
|
|
c9ab61b521 | ||
|
|
caecb0152f | ||
|
|
db00366c5d | ||
|
|
3327f1c074 | ||
|
|
b9fc642a35 | ||
|
|
63f0c07a07 | ||
|
|
e402e35d96 | ||
|
|
89bd8ecc21 | ||
|
|
6cb780d125 | ||
|
|
50b789456d | ||
|
|
64f6542f96 | ||
|
|
49c38042a9 | ||
|
|
3ac07ff84f | ||
|
|
0716951b6d | ||
|
|
9ef6204f7e | ||
|
|
df81065f73 | ||
|
|
2ec60c9d55 | ||
|
|
34e434a17e | ||
|
|
88297d5682 | ||
|
|
721371a08c | ||
|
|
896891130d | ||
|
|
9950295e41 | ||
|
|
ed4aa55857 | ||
|
|
47987f239d | ||
|
|
009cc36355 | ||
|
|
e32ac7644d | ||
|
|
62387f712c | ||
|
|
9bbedce3d6 | ||
|
|
bfbc9b303a | ||
|
|
e838000795 | ||
|
|
5b8c50cb72 | ||
|
|
5ca9c71449 | ||
|
|
98dfc7ca71 | ||
|
|
13b47774e2 | ||
|
|
50790a7f36 | ||
|
|
eac75497c0 | ||
|
|
d0c4af5855 | ||
|
|
8a14652eae | ||
|
|
165df931f1 | ||
|
|
22a8c207f4 | ||
|
|
2f1b25c67a | ||
|
|
683ddac0d4 | ||
|
|
a41f54c82f | ||
|
|
ed0f6b56b9 | ||
|
|
c7cdb64087 | ||
|
|
d46417c8bd | ||
|
|
372d719693 | ||
|
|
e9bddf5c26 | ||
|
|
d7e4e5f18c | ||
|
|
a13287e285 | ||
|
|
bc0d98b91c | ||
|
|
f7b6895dc6 | ||
|
|
71910b2181 | ||
|
|
193a10bc39 | ||
|
|
4c8a04cf38 | ||
|
|
644d83d799 | ||
|
|
733814a8a0 | ||
|
|
7cee643c05 | ||
|
|
19084286be | ||
|
|
7da01c3013 | ||
|
|
3408f67348 | ||
|
|
d204cfe6c6 | ||
|
|
3c75c29e6b | ||
|
|
7ad67ff91d | ||
|
|
3b6db77cb3 | ||
|
|
c6f57c46a8 | ||
|
|
a923ef5a6d | ||
|
|
00a12b9fc8 | ||
|
|
7380fa32ec | ||
|
|
a7656793da | ||
|
|
5135474232 | ||
|
|
5622c1947b | ||
|
|
a743110f03 | ||
|
|
4d2b4583d0 | ||
|
|
9476fbc3e7 | ||
|
|
7330c31204 | ||
|
|
70706d9ea7 | ||
|
|
6f0071bebe | ||
|
|
1f5da36fdb | ||
|
|
e3dfe60567 | ||
|
|
5658d783d6 | ||
|
|
73f6c9210f | ||
|
|
04564e83ea | ||
|
|
3860f24908 | ||
|
|
d0c179e1e9 | ||
|
|
878c4fb106 | ||
|
|
fbce8fcfe3 | ||
|
|
125e964352 | ||
|
|
b081cf5cba | ||
|
|
3ea9c297ea | ||
|
|
474260e526 | ||
|
|
6ecacb9c29 | ||
|
|
07d64f47e3 | ||
|
|
7466eaade3 | ||
|
|
9fcbec9f02 | ||
|
|
06ad21f2e8 | ||
|
|
ff44e2d2ac | ||
|
|
7c9583011a | ||
|
|
1c7ce31207 | ||
|
|
81b41c932f | ||
|
|
9a92545d8d | ||
|
|
64207ef58d | ||
|
|
eead9a93d3 | ||
|
|
3eda785ca5 | ||
|
|
076caa11ab | ||
|
|
31fca2897a | ||
|
|
5e4a412ec7 | ||
|
|
9b2da5bdae | ||
|
|
cb7342d4c8 | ||
|
|
4207d94f53 | ||
|
|
f512e0d161 | ||
|
|
3a9cc532d7 | ||
|
|
259f23e96b | ||
|
|
96481c3d52 | ||
|
|
9379f6fa9d | ||
|
|
4a012c13b2 | ||
|
|
947ccf0892 | ||
|
|
30379b4cba | ||
|
|
81ae6c45ea | ||
|
|
39f7742387 | ||
|
|
386d478b65 | ||
|
|
ddf233f2ed | ||
|
|
5fdf23bba8 | ||
|
|
84fc394e6f | ||
|
|
004397304e | ||
|
|
d3debccabe | ||
|
|
88d98acbba | ||
|
|
a05f9fad33 | ||
|
|
ab19bb2455 | ||
|
|
51f8c5ca87 | ||
|
|
b48c21dbcb | ||
|
|
e160ea2bee | ||
|
|
a7ba23d845 | ||
|
|
33fe7b5f70 | ||
|
|
7de191b097 | ||
|
|
925554d15e | ||
|
|
74667c2943 | ||
|
|
c516a54f78 | ||
|
|
81af385259 | ||
|
|
fec3377f24 | ||
|
|
4c0de74470 | ||
|
|
1657a6b50a | ||
|
|
a5379c7144 | ||
|
|
1e955a89ef | ||
|
|
0dbc37667c | ||
|
|
ca4b641094 | ||
|
|
55dd3ae0ae | ||
|
|
04a875f43b | ||
|
|
45579b0986 | ||
|
|
fbe6711353 | ||
|
|
94b6fbb223 | ||
|
|
ef86311639 | ||
|
|
61deab41f9 | ||
|
|
bcf17c79ef | ||
|
|
4ce1665a15 | ||
|
|
20fd489194 | ||
|
|
ade07865d6 | ||
|
|
3e807b00ba | ||
|
|
599bf89f60 | ||
|
|
5d9e713a1c | ||
|
|
d28eaf5824 | ||
|
|
f7b4e48d59 | ||
|
|
87e808fec4 | ||
|
|
a413e2861e | ||
|
|
d9f616d6e3 | ||
|
|
9be4b28bea | ||
|
|
c71da5d013 | ||
|
|
7eb4522636 | ||
|
|
8e1ffa5144 | ||
|
|
d38c6616e6 | ||
|
|
54d3703c42 | ||
|
|
c7c0eba10b | ||
|
|
ea13c707a2 | ||
|
|
b41ac2a428 | ||
|
|
a3328c5ef3 | ||
|
|
e9e0ce591b | ||
|
|
c1931a045e | ||
|
|
a848a8523a | ||
|
|
cc93a40c45 | ||
|
|
56e4fa1bb3 | ||
|
|
c767e553d3 | ||
|
|
4f1dd5439f | ||
|
|
7b8cafb710 | ||
|
|
0a5f971eb5 | ||
|
|
d3aeec0a7c | ||
|
|
2e1554def4 | ||
|
|
1fe4e4415e | ||
|
|
075757eb3d | ||
|
|
cb43928a5d | ||
|
|
1d05531aa8 | ||
|
|
26f6f04486 | ||
|
|
564f412957 | ||
|
|
13c3a8d3b3 | ||
|
|
ee29125579 | ||
|
|
8927d40cc4 | ||
|
|
37fce0d3ee | ||
|
|
8192e9dc67 | ||
|
|
8a9553522f | ||
|
|
f774733fcb | ||
|
|
6948e347c4 | ||
|
|
4841a5bf4a | ||
|
|
ca269864f7 | ||
|
|
1ff102f62a | ||
|
|
ee3226900c | ||
|
|
864c903d05 | ||
|
|
7e428885cc | ||
|
|
74b8b9f47d | ||
|
|
6d9967a5d3 | ||
|
|
dea03efd4f | ||
|
|
09359b8025 | ||
|
|
aa3b28a8be | ||
|
|
ca121dd689 | ||
|
|
6618205e6f | ||
|
|
4f4b778c8c | ||
|
|
0babab2824 | ||
|
|
95efdab62a | ||
|
|
325d635c48 | ||
|
|
dfe947885c | ||
|
|
5dc403cb66 | ||
|
|
ad22820872 | ||
|
|
6edaa7ac11 | ||
|
|
c4610fee8b | ||
|
|
f40c8ce507 | ||
|
|
4903287204 | ||
|
|
27bdee9df1 | ||
|
|
c9b715b7ad | ||
|
|
7afbb5ce9c | ||
|
|
467dc2da7a | ||
|
|
7e574e0429 | ||
|
|
4bdf10c995 | ||
|
|
ae5d94b01c | ||
|
|
13ffc186b7 | ||
|
|
8808b7df87 | ||
|
|
7f759c6ff5 | ||
|
|
838b6d1e71 | ||
|
|
25eae4db9c | ||
|
|
2b8a06cb5e | ||
|
|
20aa51f26b | ||
|
|
ce01cf278d | ||
|
|
6d1f62c1d9 | ||
|
|
f2b33c0d77 | ||
|
|
1f5c8f682c | ||
|
|
078112c649 | ||
|
|
35f32391a0 | ||
|
|
8d2ece83b7 | ||
|
|
3d279094c1 | ||
|
|
b1bb7de2fb | ||
|
|
e66313d47e | ||
|
|
b81c02de04 | ||
|
|
99b1c773a7 | ||
|
|
1fb6d1d43d | ||
|
|
c4a429fb56 | ||
|
|
26e0d63e31 | ||
|
|
fbcfc368b4 | ||
|
|
1041a58cb9 | ||
|
|
f7dda657b1 | ||
|
|
a6e3980acb | ||
|
|
7c2bed2846 | ||
|
|
ddf87e6d80 | ||
|
|
d4b67a6cef | ||
|
|
aaf9aef5c8 | ||
|
|
d39820d1ac | ||
|
|
adc996ee0a | ||
|
|
5ff4b638a5 | ||
|
|
a9d7bbc2ed | ||
|
|
e8407e3f0b | ||
|
|
fff7ee3e96 | ||
|
|
0123fa7696 | ||
|
|
a98b65ad99 | ||
|
|
a5a2d60755 | ||
|
|
55dc3d36ac | ||
|
|
deda6252f2 | ||
|
|
eb4ca743e4 | ||
|
|
834873ab15 | ||
|
|
c80e37edf6 | ||
|
|
3f2d6ac2ba | ||
|
|
945641a05b | ||
|
|
df89db3ed6 | ||
|
|
060df57cb1 | ||
|
|
6929efc417 | ||
|
|
8476477137 | ||
|
|
74ac69fc5a | ||
|
|
0d4c784a0e | ||
|
|
232f201007 | ||
|
|
145caacbea |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -16,6 +16,7 @@ default.properties
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
.idea
|
.idea
|
||||||
*.iml
|
*.iml
|
||||||
|
*.orig
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
/dolibarr_genesis.mp4
|
/dolibarr_genesis.mp4
|
||||||
# Log files
|
# Log files
|
||||||
|
|||||||
87
.travis.yml
87
.travis.yml
@@ -5,13 +5,15 @@
|
|||||||
# We use dist: trusty to have php 5.4+ available
|
# We use dist: trusty to have php 5.4+ available
|
||||||
os: linux
|
os: linux
|
||||||
dist: trusty
|
dist: trusty
|
||||||
sudo: required
|
#sudo: required
|
||||||
|
|
||||||
language: php
|
language: php
|
||||||
|
|
||||||
# Start on every boot
|
# Start on every boot
|
||||||
services:
|
services:
|
||||||
- memcached
|
- memcached
|
||||||
|
- mysql
|
||||||
|
- postgresql
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
mariadb: '10.0'
|
mariadb: '10.0'
|
||||||
@@ -29,60 +31,25 @@ addons:
|
|||||||
# We need pgloader for import mysql database into pgsql
|
# We need pgloader for import mysql database into pgsql
|
||||||
- pgloader
|
- pgloader
|
||||||
|
|
||||||
php:
|
|
||||||
- '5.5'
|
|
||||||
- '5.6'
|
|
||||||
- '7.0'
|
|
||||||
- '7.1'
|
|
||||||
- '7.2'
|
|
||||||
- '7.3'
|
|
||||||
- '7.4'
|
|
||||||
- nightly
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
# Set to true for very verbose output
|
# Set to true for very verbose output
|
||||||
- DEBUG=false
|
- DEBUG=false
|
||||||
jobs:
|
|
||||||
# MariaDB overrides MySQL installation so it's not possible to test both yet
|
|
||||||
#- DB=mysql
|
|
||||||
- DB=mariadb
|
|
||||||
- DB=postgresql
|
|
||||||
# TODO
|
|
||||||
#- DB=sqlite
|
|
||||||
# See https://docs.travis-ci.com/user/languages/php/#Apache-%2B-PHP
|
|
||||||
#- WS=apache
|
|
||||||
# See https://github.com/DracoBlue/travis-ci-nginx-php-fpm-test
|
|
||||||
#- WS=nginx
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- php: nightly
|
- php: nightly
|
||||||
# We exclude some combinations not usefull to save Travis CPU
|
include:
|
||||||
exclude:
|
- if: type = push
|
||||||
- php: '5.6'
|
php: '5.5'
|
||||||
env: DB=mariadb
|
env: DB=mysql
|
||||||
- php: '7.0'
|
- if: type = pull_request OR type = push
|
||||||
env: DB=mariadb
|
php: '7.4'
|
||||||
- php: '7.1'
|
env: DB=mysql
|
||||||
env: DB=mariadb
|
- if: type = push AND branch = develop
|
||||||
- php: '7.2'
|
php: nightly
|
||||||
env: DB=mariadb
|
env: DB=mysql
|
||||||
- php: '7.3'
|
|
||||||
env: DB=mariadb
|
|
||||||
- php: '5.6'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: '7.0'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: '7.1'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: '7.2'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: '7.3'
|
|
||||||
env: DB=postgresql
|
|
||||||
- php: nightly
|
|
||||||
env: DB=postgresql
|
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
@@ -115,11 +82,13 @@ install:
|
|||||||
echo "Updating Composer"
|
echo "Updating Composer"
|
||||||
rm $TRAVIS_BUILD_DIR/composer.json
|
rm $TRAVIS_BUILD_DIR/composer.json
|
||||||
rm $TRAVIS_BUILD_DIR/composer.lock
|
rm $TRAVIS_BUILD_DIR/composer.lock
|
||||||
|
composer -V
|
||||||
composer self-update
|
composer self-update
|
||||||
# To have composer making parallel downloads
|
# To have composer making parallel downloads
|
||||||
composer global require hirak/prestissimo
|
composer global require hirak/prestissimo
|
||||||
composer -n init
|
composer -n init
|
||||||
composer -n config vendor-dir htdocs/includes
|
composer -n config vendor-dir htdocs/includes
|
||||||
|
composer -n config -g vendor-dir htdocs/includes
|
||||||
echo
|
echo
|
||||||
|
|
||||||
- |
|
- |
|
||||||
@@ -148,6 +117,9 @@ install:
|
|||||||
- |
|
- |
|
||||||
echo "Adding path of binaries tools installed by composer to the PATH"
|
echo "Adding path of binaries tools installed by composer to the PATH"
|
||||||
export PATH="$TRAVIS_BUILD_DIR/htdocs/includes/bin:$PATH"
|
export PATH="$TRAVIS_BUILD_DIR/htdocs/includes/bin:$PATH"
|
||||||
|
echo $PATH
|
||||||
|
ls $TRAVIS_BUILD_DIR/vendor
|
||||||
|
ls $TRAVIS_BUILD_DIR/htdocs/includes/bin
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
|
||||||
@@ -174,15 +146,16 @@ before_script:
|
|||||||
|
|
||||||
- |
|
- |
|
||||||
echo "Versions information"
|
echo "Versions information"
|
||||||
|
echo
|
||||||
# Check PHP
|
# Check PHP
|
||||||
echo "PHP version"
|
echo "PHP version"
|
||||||
php -i | head -
|
php -i | head -
|
||||||
# Check PHP CodeSniffer installation
|
# Check PHP CodeSniffer version
|
||||||
echo "PHPCS version"
|
echo "PHPCS version"
|
||||||
which phpcs
|
which phpcs
|
||||||
phpcs --version | head -
|
phpcs --version | head -
|
||||||
phpcs -i | head -
|
phpcs -i | head -
|
||||||
# Check PHPUnit installation
|
# Check PHPUnit version
|
||||||
echo "PHPUnit version"
|
echo "PHPUnit version"
|
||||||
which phpunit
|
which phpunit
|
||||||
phpunit --version | head -
|
phpunit --version | head -
|
||||||
@@ -263,10 +236,7 @@ before_script:
|
|||||||
- sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars
|
- sudo sed -i -e "s,www-data,travis,g" /etc/apache2/envvars
|
||||||
- sudo chown -R travis:travis /var/lib/apache2/fastcgi
|
- sudo chown -R travis:travis /var/lib/apache2/fastcgi
|
||||||
- ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm
|
- ~/.phpenv/versions/$(phpenv version-name)/sbin/php-fpm
|
||||||
# configure apache virtual hosts for precise
|
# configure apache virtual hosts
|
||||||
#- sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/default
|
|
||||||
#- sudo cat /etc/apache2/sites-available/default
|
|
||||||
# configure apache virtual hosts for trusty
|
|
||||||
- sudo cp -f build/travis-ci/apache.conf /etc/apache2/sites-available/000-default.conf
|
- sudo cp -f build/travis-ci/apache.conf /etc/apache2/sites-available/000-default.conf
|
||||||
- sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf
|
- sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/000-default.conf
|
||||||
- sudo cat /etc/apache2/sites-available/000-default.conf
|
- sudo cat /etc/apache2/sites-available/000-default.conf
|
||||||
@@ -291,17 +261,18 @@ script:
|
|||||||
# Ensure we catch errors
|
# Ensure we catch errors
|
||||||
set -e
|
set -e
|
||||||
#parallel-lint --exclude htdocs/includes --blame .
|
#parallel-lint --exclude htdocs/includes --blame .
|
||||||
parallel-lint --exclude dev/namespacemig --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/tests --exclude htdocs/includes/jakub-onderka/php-parallel-lint/tests --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/php-token-stream/tests --exclude htdocs/includes/composer/autoload_static.php --blame .
|
parallel-lint --exclude dev/namespacemig --exclude htdocs/includes/composer --exclude htdocs/includes/myclabs --exclude htdocs/includes/webmozart --exclude htdocs/includes/phpspec --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/tests --exclude htdocs/includes/jakub-onderka/php-parallel-lint/tests --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/php-token-stream/tests --exclude htdocs/includes/composer/autoload_static.php --blame .
|
||||||
set +e
|
set +e
|
||||||
echo
|
echo
|
||||||
|
|
||||||
- |
|
- |
|
||||||
echo "Checking coding style (excluding Pull Requests builds)"
|
echo "Checking coding style (excluding Pull Requests builds to not overload travis, excluding also some jobs to avoid duplicate tests)"
|
||||||
# Ensure we catch errors
|
# Ensure we catch errors
|
||||||
set -e
|
set -e
|
||||||
# Exclusions are defined in the ruleset.xml file
|
# 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 .
|
if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_PHP_VERSION" = "7.4" ]; then
|
||||||
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
|
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
|
set +e
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -430,7 +401,7 @@ script:
|
|||||||
|
|
||||||
after_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
|
ls $TRAVIS_BUILD_DIR/documents
|
||||||
#cat $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
#cat $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
||||||
sudo tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
sudo tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
||||||
@@ -456,7 +427,7 @@ after_failure:
|
|||||||
# Dolibarr log file
|
# Dolibarr log file
|
||||||
echo "Debugging informations for file dolibarr.log (latest 50 lines)"
|
echo "Debugging informations for file dolibarr.log (latest 50 lines)"
|
||||||
tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
tail -n 50 $TRAVIS_BUILD_DIR/documents/dolibarr.log
|
||||||
# MariaDB log file
|
# Database log file
|
||||||
echo "Debugging informations for file mysql error.log"
|
echo "Debugging informations for file mysql error.log"
|
||||||
sudo tail -n 50 /var/log/mysql/error.log
|
sudo tail -n 50 /var/log/mysql/error.log
|
||||||
# TODO: PostgreSQL log file
|
# TODO: PostgreSQL log file
|
||||||
|
|||||||
227
ChangeLog
227
ChangeLog
@@ -2,6 +2,159 @@
|
|||||||
English Dolibarr ChangeLog
|
English Dolibarr ChangeLog
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
***** ChangeLog for 11.0.5 compared to 11.0.4 *****
|
||||||
|
FIX: $arraydefaultmessage is an object, as well as in /htdocs/core/class/html.formmail.class.php
|
||||||
|
FIX: 10.0 - pagination in prelevement/bons.php
|
||||||
|
FIX: 10.0 - undefined $langs if template file copy fails during activation of modContrat
|
||||||
|
FIX: 11.0 - fatal with postgres on contact/agenda.php
|
||||||
|
FIX: 11.0 - multicurrency amount not fetched when fetching payments from llx_paiement or llx_paiementfourn
|
||||||
|
FIX: 11.0 - when using pdftk as per hidden conf USE_PDFTK_FOR_PDF_CONCAT, check that the file exists before displaying a success message
|
||||||
|
FIX: #13841
|
||||||
|
FIX: #13877 - Can validate invoice if there is a credit note with VAT 0% on an invoice with other lines with a VAT non 0%
|
||||||
|
FIX: #13968
|
||||||
|
FIX: #14001
|
||||||
|
FIX: #14002
|
||||||
|
FIX: 9.0 - delete unused mandatory argument from migrate_clean_association: argument count mismatch causes a fatal error since php7
|
||||||
|
FIX: 9.0 - fatal during migration from 3.1 using PHP 7
|
||||||
|
FIX: Accountancy - Binding index - Add a filter on sql request for module Subtotal & Jalon
|
||||||
|
FIX: avoid error "Call to undefined function measuringUnitString()"
|
||||||
|
FIX: BlindBoolean SQL injection reported by Christian Weiler
|
||||||
|
FIX: Can create a credit note on situation invoice if previous is also
|
||||||
|
FIX: can install module even if (x) was appended during download.
|
||||||
|
FIX: copy value date of VariousPayment onto the new AccountLine
|
||||||
|
FIX: count of open day when date and start are not open should be 0
|
||||||
|
FIX: Default bank account was not loaded for document generation.
|
||||||
|
FIX: Do not show stats panel if the user does not have permissions
|
||||||
|
FIX: Fix link of the button to create a credit note and fix the awareness of a error that happen when wo create a credit note
|
||||||
|
FIX: force rounding 2 on export ld compta
|
||||||
|
FIX: free text on cash desk
|
||||||
|
FIX: links into emails of notifications
|
||||||
|
FIX: missing file manifest.json.php
|
||||||
|
FIX: missing GetNomURL Hook in warehouse class
|
||||||
|
FIX: missing hook init + table class + $page not set
|
||||||
|
FIX: missing rollbacks on trigger bad return
|
||||||
|
FIX: missing translation value for key "NoMorePredefinedProductToDispatch"
|
||||||
|
FIX: percent must be displayed on one line
|
||||||
|
FIX: php error if multicompany disabled
|
||||||
|
FIX: Privilege escalation reported by wizlynx WLX-2020-011
|
||||||
|
FIX: replace filter parameter "none" by "restricthtml"
|
||||||
|
FIX: Rounding Total TVA in "crabe" model pdf
|
||||||
|
FIX: Show ref_customer, amount on contract link object
|
||||||
|
FIX: Site ec.europa.eu has moved to https://
|
||||||
|
FIX: Tickets mail models doesn't work
|
||||||
|
FIX: vulnerability reported by wizlynx WLX-2020-012
|
||||||
|
FIX: We must only rename current bank receipt
|
||||||
|
FIX: when creating a VariousPayment, the value date is not copied onto the AccountLine that gets created at the same time, so the bank transaction's value date will be the payment date instead of the payment's value date
|
||||||
|
FIX: wrong url param
|
||||||
|
FIX: XSS using the renaming of .noexe files - reported by Nolan.
|
||||||
|
|
||||||
|
***** ChangeLog for 11.0.4 compared to 11.0.3 *****
|
||||||
|
FIX: #13749
|
||||||
|
FIX: #7594 Expense report multi pagebreak
|
||||||
|
FIX: Access to undeclared static property: Contact::$table_element
|
||||||
|
FIX: actions on supplier proposal not saved (bad trigger name)
|
||||||
|
FIX: Add function "completeTabsHead" to "addreplace" type hook.
|
||||||
|
FIX: All forms must use newToken()
|
||||||
|
FIX: Another "Access to undeclared static property: Contact::$table_element" && "Societe::$table_element"
|
||||||
|
FIX: author search supplier proposal list
|
||||||
|
FIX: A variable was erased by a temporary variable
|
||||||
|
FIX: Avoid infinite loop when a fetch is inside a compute field.
|
||||||
|
FIX: Backto link
|
||||||
|
FIX: Bad position of total in column
|
||||||
|
FIX: bad value in currency into discount created from down payment
|
||||||
|
FIX: buyprice extrafield langfile and tooltip
|
||||||
|
FIX: Buyprice was updated only if min price for this qty had same qty
|
||||||
|
FIX: Can switch from double to price type for extrafields
|
||||||
|
FIX: Can use decimal value in virtual products
|
||||||
|
FIX: child categories only with good entity rights
|
||||||
|
FIX: cloning of emailing when no content selected
|
||||||
|
FIX: closing tags
|
||||||
|
FIX: Combo list of available users to filter on the list of leaves.
|
||||||
|
FIX: Compatibility with multicompany, bad numerotation of task.
|
||||||
|
FIX: consistency of price w/wo vat wrong when price entered with tax
|
||||||
|
FIX: default value of selectMasssAction broken
|
||||||
|
FIX: draftordered replenish virtual stock
|
||||||
|
FIX: Error update SQL into stock reception
|
||||||
|
FIX: expensereport status in generated pdf
|
||||||
|
FIX: extra date field incorrect check
|
||||||
|
FIX: Extrafields of type price must be '' and not '0' if not defined
|
||||||
|
FIX: Foreign currency lost when splitting a discount
|
||||||
|
FIX: get remain to pay with rounding decimals
|
||||||
|
FIX: gzip and bzip2 must use option -f
|
||||||
|
FIX: IHM, unexpected quote
|
||||||
|
FIX: keep viewstatut for doli 3.5
|
||||||
|
FIX: Link missing into email of some notification
|
||||||
|
FIX: Look and feel v11
|
||||||
|
FIX: md stylesheet to be included by external modules like eldy
|
||||||
|
FIX: missing array option
|
||||||
|
FIX: missing default accountancy product buy code
|
||||||
|
FIX: missing fk_bank during export of suppliers invoices
|
||||||
|
FIX: missing member entity
|
||||||
|
FIX: missing selectedlines on supplier order but checkbox are displayed
|
||||||
|
FIX: Missing token and take into account max date when it can.
|
||||||
|
FIX: model export list must be sorted by label
|
||||||
|
FIX: multicurrency manage on hidden conf SUPPLIER_PROPOSAL_UPDATE_PRICE_ON_SUPPlIER_PROPOSAL
|
||||||
|
FIX: Must escape shell
|
||||||
|
FIX: Must exclude logs and some dirs for compressed backup
|
||||||
|
FIX: ordered stock already in $stock
|
||||||
|
FIX: picture migration script from doli 9.0
|
||||||
|
FIX: print pictures on shipment docs
|
||||||
|
FIX: product get purchase prices
|
||||||
|
FIX: product purchase prices
|
||||||
|
FIX: Protection when database has a corrupted product id
|
||||||
|
FIX: remove unused var, $usercancreate can be change by Multicompany
|
||||||
|
FIX: replenish stock to buy
|
||||||
|
FIX: Sanitizing menu parameter
|
||||||
|
FIX: Send email from bulk action of list of thirdparties
|
||||||
|
FIX: setup of suggested payment mode on proposals and orders
|
||||||
|
FIX: Several pb in export of documents
|
||||||
|
FIX: Situation invoice take into account the credit notes.
|
||||||
|
FIX: some others modules (like subtotal) use other product_type than 0 or 1 AND must not be considered in this report
|
||||||
|
FIX: sort by default role makes no sense
|
||||||
|
FIX: sort on company on member list
|
||||||
|
FIX: TakePOS buying price
|
||||||
|
FIX: text version of html emailing (removed the body style)
|
||||||
|
FIX: The "test smtp connectivity" failed on page to setup mass emailing
|
||||||
|
FIX: Error logs an Orderline::delete error, but this is an Orderline::insert error
|
||||||
|
FIX: Translation of tooltips of extrafields
|
||||||
|
FIX: Use getNomURL instead of hard coded link. Fix limit.
|
||||||
|
FIX: Use of image into free text for PDF if DOL_DATA_DIR is outside of
|
||||||
|
FIX: viewstatut to search status
|
||||||
|
FIX: we must export company mail address on contact vcard only if contact email address is empty
|
||||||
|
FIX: when we filter a list on a view status, we want this filter to be on bookmark that we create
|
||||||
|
FIX: Wrong Sql on getListOfTowns api method
|
||||||
|
FIX: wrong user right's name to top menu "commercial"
|
||||||
|
FIX: XSS Vulnerability reported by Mehmet Kelepçe / Gais Cyber Security
|
||||||
|
|
||||||
|
***** ChangeLog for 11.0.3 compared to 11.0.2 *****
|
||||||
|
FIX: unit price for selected supplier products not set. NaN was used.
|
||||||
|
FIX: use bad var to check if total is positive for each VAT rate when validating an invoice
|
||||||
|
FIX: status missing from last customer invoices box when using MAIN_STATUS_USES_CSS
|
||||||
|
FIX: translations for "orders" not loaded in the homepage box
|
||||||
|
FIX: #13194
|
||||||
|
FIX: #13274 cannot add or update 0 value for an int or double extrafield
|
||||||
|
FIX: #13285 SQL error during migration with pgsql
|
||||||
|
FIX: #13294
|
||||||
|
FIX: #13313
|
||||||
|
FIX: Clone Fourn Command, add line's extrafields
|
||||||
|
FIX: cols parameter not propagated to tpl
|
||||||
|
FIX: CSRF error when creating an intervention
|
||||||
|
FIX: date order was -1D and desc with label repetition
|
||||||
|
FIX: empty of series in graph of product distribution
|
||||||
|
FIX: fk_type subscription list via api REST
|
||||||
|
FIX: link when using anchor on "/" in website module
|
||||||
|
FIX: menu export document was not visible when using "simple accounting"
|
||||||
|
FIX: missing class declaration
|
||||||
|
FIX: missing global $conf
|
||||||
|
FIX: Missing token in some forms (avoid unset POST errors)
|
||||||
|
FIX: params of setEventMessage($langs->trans('ErrorProductClone')...
|
||||||
|
FIX: Remove unexisting link
|
||||||
|
FIX: mass action on stock movements
|
||||||
|
FIX: substitute lines dates values on doc generator (ODT, ...)
|
||||||
|
FIX: Ticket - Load Cache Messages Ticket, wrong message's status
|
||||||
|
FIX: Ticket Public - Private messages are displayed
|
||||||
|
FIX: wrong include - replace extrafields_create.tpl.php to extrafields_add.tpl.php
|
||||||
|
|
||||||
***** ChangeLog for 11.0.2 compared to 11.0.1 *****
|
***** ChangeLog for 11.0.2 compared to 11.0.1 *****
|
||||||
FIX: #10309
|
FIX: #10309
|
||||||
FIX: #13110
|
FIX: #13110
|
||||||
@@ -9,7 +162,8 @@ FIX: #13118
|
|||||||
FIX: #13124
|
FIX: #13124
|
||||||
FIX: #13131
|
FIX: #13131
|
||||||
FIX: #13135
|
FIX: #13135
|
||||||
FIX: #13146 #13198
|
FIX: #13146
|
||||||
|
FIX: #13198
|
||||||
FIX: #13175
|
FIX: #13175
|
||||||
FIX: #13182
|
FIX: #13182
|
||||||
FIX: #13183
|
FIX: #13183
|
||||||
@@ -349,6 +503,77 @@ Following changes may create regressions for some external modules, but were nec
|
|||||||
* The jquery plugin/dependency multiselect has been removed. It was not used by Dolibarr core.
|
* The jquery plugin/dependency multiselect has been removed. It was not used by Dolibarr core.
|
||||||
|
|
||||||
|
|
||||||
|
***** ChangeLog for 10.0.7 compared to 10.0.6 *****
|
||||||
|
FIX: 10.0 - missing translations for "orders" homepage "orders" box
|
||||||
|
FIX: 10.0 - status missing from last customer invoices box when using MAIN_STATUS_USES_CSS
|
||||||
|
FIX: 10.0 - translations for "orders" not loaded in the homepage box
|
||||||
|
FIX: #10309
|
||||||
|
FIX: #12875
|
||||||
|
FIX: #12932
|
||||||
|
FIX: #12966
|
||||||
|
FIX: #12973
|
||||||
|
FIX: #13304
|
||||||
|
FIX: advanced target emailing sql and ergonomy
|
||||||
|
FIX: an external user can not approved
|
||||||
|
FIX: Bad translation for productlot EatBy and SellBy
|
||||||
|
FIX: better check
|
||||||
|
FIX: better method to check user rights AND usergroup rights !
|
||||||
|
FIX: CA by prod list filter
|
||||||
|
FIX: can be a string or integer
|
||||||
|
FIX: Check on unicity on prof id was not triggered sometimes
|
||||||
|
FIX: clone of purchase order
|
||||||
|
FIX: compatibility with multicompany (avoid duplicate data)
|
||||||
|
FIX: complex export model loading
|
||||||
|
FIX: date filter not used if no operator
|
||||||
|
FIX: date order was -1D and desc with label repetition
|
||||||
|
FIX: default lang selection when filter
|
||||||
|
FIX: dom and missing param
|
||||||
|
FIX: drafts are now implemented for stats
|
||||||
|
FIX: Error in log for email sending with smtps was not complete
|
||||||
|
FIX: Extrafield position in export field list must respect "pos" field
|
||||||
|
FIX: FEC export format
|
||||||
|
FIX: FEC export have specific name
|
||||||
|
FIX: fetching account on current entity
|
||||||
|
FIX: Filenames must not contains non ascii char or we will get non ascii
|
||||||
|
FIX: fk_type subscription list via api REST
|
||||||
|
FIX: Force FEC export to txt format
|
||||||
|
FIX: get remain to pay with rounding decimals
|
||||||
|
FIX: Invert isSellerInEEC and isBuyerInEEC
|
||||||
|
FIX: keep assigned users in session when loading projects and tasks
|
||||||
|
FIX: length, width and height units coherence in product table
|
||||||
|
FIX: links in products/services index
|
||||||
|
FIX: Mail smtps truncated if content has a line with single .
|
||||||
|
FIX: missing array option
|
||||||
|
FIX: missing global $conf
|
||||||
|
FIX: missing hook parameter
|
||||||
|
FIX: Missing Linked objects Fichinter Ref. in PDF formats
|
||||||
|
FIX: missing "statut" for getNomUrl() function
|
||||||
|
FIX: multicompany for discount
|
||||||
|
FIX: must be == and not =
|
||||||
|
FIX: Problem with column label in subscription list
|
||||||
|
FIX: regex for include or exclude categories in full arbo
|
||||||
|
FIX: Remove unexisting link
|
||||||
|
FIX: remove unused var, $usercancreate can be change by Multicompany
|
||||||
|
FIX: require category class in extrafield
|
||||||
|
FIX: round MT in accountancy books
|
||||||
|
FIX: search with '0'
|
||||||
|
FIX: send expense report mail in HTML format
|
||||||
|
FIX: SQL request and phpunit
|
||||||
|
FIX: substitute lines dates values on doc generator (ODT, ...)
|
||||||
|
FIX: test on 0 better than isset
|
||||||
|
FIX: The "automatic bind" was linked EEC to export accountancy code
|
||||||
|
FIX: thirdparty alias name desappeared if we change country with THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION conf
|
||||||
|
FIX: timezone must be tzserver and not tzuser as well as on contract card
|
||||||
|
FIX: typo on ckeck method
|
||||||
|
FIX: use "usergroup" instead "user"
|
||||||
|
FIX: Visualization rights correction on last modified contacts box
|
||||||
|
FIX: Warning on admin/export_files
|
||||||
|
FIX: We want to be able to import data for extrafields of entity 0 too
|
||||||
|
FIX: when we filter a list on a view status, we want this filter to be on bookmark that we create
|
||||||
|
FIX: wrong test
|
||||||
|
FIX: XSS vulnerability in description of list of audit events.
|
||||||
|
FIX: z-index for moretabsList with constant MAIN_MAXTABS_IN_CARD
|
||||||
|
|
||||||
***** ChangeLog for 10.0.6 compared to 10.0.5 *****
|
***** ChangeLog for 10.0.6 compared to 10.0.5 *****
|
||||||
FIX Regression of 10.0.5 to create/edit proposals and orders.
|
FIX Regression of 10.0.5 to create/edit proposals and orders.
|
||||||
FIX: #12760 #12763 #12755 #12765 #12751
|
FIX: #12760 #12763 #12755 #12765 #12751
|
||||||
|
|||||||
@@ -542,7 +542,7 @@ $cfg['ThemePerServer'] = FALSE; // allow diferent theme for each co
|
|||||||
* %f will be replaced by a list of field names.
|
* %f will be replaced by a list of field names.
|
||||||
* (%t and %f only applies to DefaultQueryTable)
|
* (%t and %f only applies to DefaultQueryTable)
|
||||||
*/
|
*/
|
||||||
$cfg['DefaultQueryTable'] = 'SELECT * FROM %t WHERE 1';
|
$cfg['DefaultQueryTable'] = 'SELECT * FROM %t WHERE 1 = 1';
|
||||||
$cfg['DefaultQueryDatabase'] = '';
|
$cfg['DefaultQueryDatabase'] = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# \file build/makepack-dolibarr.pl
|
# \file build/makepack-dolibarr.pl
|
||||||
# \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps)
|
# \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps)
|
||||||
# \author (c)2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
# \author (c)2004-2020 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
#
|
#
|
||||||
# This is list of constant you can set to have generated packages moved into a specific dir:
|
# This is list of constant you can set to have generated packages moved into a specific dir:
|
||||||
#DESTIBETARC='/media/HDDATA1_LD/Mes Sites/Web/Dolibarr/dolibarr.org/files/lastbuild'
|
#DESTIBETARC='/media/HDDATA1_LD/Mes Sites/Web/Dolibarr/dolibarr.org/files/lastbuild'
|
||||||
@@ -19,7 +19,7 @@ use Term::ANSIColor;
|
|||||||
# Change this to defined target for option 98 and 99
|
# Change this to defined target for option 98 and 99
|
||||||
$PROJECT="dolibarr";
|
$PROJECT="dolibarr";
|
||||||
$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
|
$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
|
||||||
$PUBLISHBETARC="dolibarr\@vmprod1.dolibarr.org:/home/dolibarr/dolibarr.org/httpdocs/files";
|
$PUBLISHBETARC="dolibarr\@vmprod1.dolibarr.org:/home/dolibarr/asso.dolibarr.org/dolibarr_documents/website/www.dolibarr.org/files";
|
||||||
|
|
||||||
|
|
||||||
#@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
#@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
||||||
@@ -430,12 +430,14 @@ if ($nboftargetok) {
|
|||||||
$ret=`git tag -a -f -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD"`;
|
$ret=`git tag -a -f -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD"`;
|
||||||
print 'Run git push -f --tags'."\n";
|
print 'Run git push -f --tags'."\n";
|
||||||
$ret=`git push -f --tags`;
|
$ret=`git push -f --tags`;
|
||||||
|
#$ret=`git push -f origin "$MAJOR.$MINOR.$BUILD"`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print 'Run git push --tags'."\n";
|
print 'Run git push --tags'."\n";
|
||||||
$ret=`git push --tags`;
|
$ret=`git push --tags`;
|
||||||
|
#$ret=`git push origin "$MAJOR.$MINOR.$BUILD"`;
|
||||||
}
|
}
|
||||||
chdir("$olddir");
|
chdir("$olddir");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ ALL:
|
|||||||
Check "@CHANGE"
|
Check "@CHANGE"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PrestaShopWebservice:
|
PrestaShopWebservice:
|
||||||
---------------------
|
---------------------
|
||||||
Replace
|
Replace
|
||||||
@@ -27,6 +28,19 @@ With
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DEBUGBAR:
|
||||||
|
---------
|
||||||
|
|
||||||
|
Move
|
||||||
|
this.options = {
|
||||||
|
bodyMarginBottom: true,
|
||||||
|
bodyMarginBottomHeight: parseInt($('body').css('margin-bottom')),
|
||||||
|
};
|
||||||
|
few line lower in the
|
||||||
|
initialize: function() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ESCPOS:
|
ESCPOS:
|
||||||
-------
|
-------
|
||||||
Replace
|
Replace
|
||||||
@@ -104,6 +118,27 @@ with
|
|||||||
//return false;
|
//return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
* Replace in tcpdf.php
|
||||||
|
|
||||||
|
if (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) {
|
||||||
|
|
||||||
|
with
|
||||||
|
|
||||||
|
// @CHANGE LDR Add support for src="file://..." links
|
||||||
|
if (strpos($imgsrc, 'file://') === 0) {
|
||||||
|
$imgsrc = str_replace('file://', '/', $imgsrc);
|
||||||
|
$imgsrc = urldecode($imgsrc);
|
||||||
|
$testscrtype = @parse_url($imgsrc);
|
||||||
|
if (empty($testscrtype['query'])) {
|
||||||
|
// convert URL to server path
|
||||||
|
$imgsrc = str_replace(K_PATH_URL, K_PATH_MAIN, $imgsrc);
|
||||||
|
} elseif (preg_match('|^https?://|', $imgsrc) !== 1) {
|
||||||
|
// convert URL to server path
|
||||||
|
$imgsrc = str_replace(K_PATH_MAIN, K_PATH_URL, $imgsrc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* In tecnickcom/tcpdf/include/tcpdf_static, in function fopenLocal, replace
|
* In tecnickcom/tcpdf/include/tcpdf_static, in function fopenLocal, replace
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -54,5 +54,5 @@ fi
|
|||||||
|
|
||||||
echo Think to launch also:
|
echo Think to launch also:
|
||||||
echo "> dev/tools/fixaltlanguages.sh fix all"
|
echo "> dev/tools/fixaltlanguages.sh fix all"
|
||||||
echo "For v11: Replace also regex \(.*(sponge|cornas|eratosthene|cyan).*\) with ''"
|
echo "For v11: Replace also regex \(.*(sponge|cornas|eratosthene|cyan).*\) with '' on *.lang files"
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,6 @@ on Internet on web following sites:<br>
|
|||||||
<br>
|
<br>
|
||||||
* <a href="https://demo.dolibarr.org">Dolibarr demo (online)</a><br>
|
* <a href="https://demo.dolibarr.org">Dolibarr demo (online)</a><br>
|
||||||
<br>
|
<br>
|
||||||
* <a href="https://www.nltechno.com/pages/dolibarrwinbin.php">DoliWamp, the Dolibarr for Windows</a><br>
|
|
||||||
<br>
|
|
||||||
* <a href="https://www.dolistore.com">DoliStore (official addons/plugins market place)</a><br>
|
* <a href="https://www.dolistore.com">DoliStore (official addons/plugins market place)</a><br>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Download
|
|||||||
Install
|
Install
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* For a Quick guide, take a look at README file into root directory.
|
* For a Quick guide, take a look at README.md file into root directory.
|
||||||
|
|
||||||
* More complete documentations are also available on line on the Dolibarr Wiki:
|
* More complete documentations are also available on line on the Dolibarr Wiki:
|
||||||
https://wiki.dolibarr.org
|
https://wiki.dolibarr.org
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Download / Herunterladen
|
|||||||
Installation
|
Installation
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* Für eine kurze Einleitung, schau auf die README Datei im Hauptverzeichnis.
|
* Für eine kurze Einleitung, schau auf die README.md Datei im Hauptverzeichnis.
|
||||||
|
|
||||||
* Umfangreiche Dokumentationen sind im Dolibarr Wiki zu finden:
|
* Umfangreiche Dokumentationen sind im Dolibarr Wiki zu finden:
|
||||||
https://wiki.dolibarr.org/index.php/Hauptseite
|
https://wiki.dolibarr.org/index.php/Hauptseite
|
||||||
|
|||||||
@@ -19,9 +19,7 @@ https://www.dolistore.org
|
|||||||
Documentation utilisateur
|
Documentation utilisateur
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* Pour une prise en main et installation rapide, consultez le fichier
|
* Pour une prise en main et installation rapide, consultez le fichier README-FR.md à la racine.
|
||||||
README-FR à la racine.
|
|
||||||
|
|
||||||
* Une documentation utilisateur francophone plus consistante est disponible en
|
* Une documentation utilisateur francophone plus consistante est disponible en ligne sur le wiki de Dolibarr à l'adresse:
|
||||||
ligne sur le wiki de Dolibarr à l'adresse:
|
https://wiki.dolibarr.org
|
||||||
https://wiki.dolibarr.org
|
|
||||||
|
|||||||
@@ -4,4 +4,5 @@ User guide
|
|||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* All Dolibarr guides are available, on line, on the Dolibarr Web site:
|
* All Dolibarr guides are available, on line, on the Dolibarr Web site:
|
||||||
|
|
||||||
https://www.dolibarr.org
|
https://www.dolibarr.org
|
||||||
|
|||||||
@@ -3,9 +3,6 @@ README (french)
|
|||||||
Documentation utilisateur
|
Documentation utilisateur
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
* Pour une prise en main et installation rapide, consultez le fichier
|
La documentation utilisateur francophone est disponible en ligne sur le site Web de Dolibarr à l'adresse:
|
||||||
README-FR à la racine.
|
|
||||||
|
|
||||||
* Une documentation utilisateur francophone plus consistante est disponible en
|
|
||||||
ligne sur le site Web de Dolibarr à l'adresse:
|
|
||||||
https://www.dolibarr.fr
|
https://www.dolibarr.fr
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ if (empty($search_date_start) && !GETPOSTISSET('formfilteraction'))
|
|||||||
} else {
|
} else {
|
||||||
$month_start = ($conf->global->SOCIETE_FISCAL_MONTH_START ? ($conf->global->SOCIETE_FISCAL_MONTH_START) : 1);
|
$month_start = ($conf->global->SOCIETE_FISCAL_MONTH_START ? ($conf->global->SOCIETE_FISCAL_MONTH_START) : 1);
|
||||||
$year_start = dol_print_date(dol_now(), '%Y');
|
$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;
|
$year_end = $year_start + 1;
|
||||||
$month_end = $month_start - 1;
|
$month_end = $month_start - 1;
|
||||||
if ($month_end < 1)
|
if ($month_end < 1)
|
||||||
|
|||||||
@@ -44,14 +44,14 @@ $search_mvt_num = GETPOST('search_mvt_num', 'int');
|
|||||||
$search_doc_type = GETPOST("search_doc_type", 'alpha');
|
$search_doc_type = GETPOST("search_doc_type", 'alpha');
|
||||||
$search_doc_ref = GETPOST("search_doc_ref", 'alpha');
|
$search_doc_ref = GETPOST("search_doc_ref", 'alpha');
|
||||||
$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_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_date_end = dol_mktime(23, 59, 59, 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_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
|
||||||
$search_date_creation_start = dol_mktime(0, 0, 0, GETPOST('date_creation_startmonth', 'int'), GETPOST('date_creation_startday', 'int'), GETPOST('date_creation_startyear', 'int'));
|
$search_date_creation_start = dol_mktime(0, 0, 0, GETPOST('date_creation_startmonth', 'int'), GETPOST('date_creation_startday', 'int'), GETPOST('date_creation_startyear', 'int'));
|
||||||
$search_date_creation_end = dol_mktime(0, 0, 0, GETPOST('date_creation_endmonth', 'int'), GETPOST('date_creation_endday', 'int'), GETPOST('date_creation_endyear', 'int'));
|
$search_date_creation_end = dol_mktime(23, 59, 59, GETPOST('date_creation_endmonth', 'int'), GETPOST('date_creation_endday', 'int'), GETPOST('date_creation_endyear', 'int'));
|
||||||
$search_date_modification_start = dol_mktime(0, 0, 0, GETPOST('date_modification_startmonth', 'int'), GETPOST('date_modification_startday', 'int'), GETPOST('date_modification_startyear', 'int'));
|
$search_date_modification_start = dol_mktime(0, 0, 0, GETPOST('date_modification_startmonth', 'int'), GETPOST('date_modification_startday', 'int'), GETPOST('date_modification_startyear', 'int'));
|
||||||
$search_date_modification_end = dol_mktime(0, 0, 0, GETPOST('date_modification_endmonth', 'int'), GETPOST('date_modification_endday', 'int'), GETPOST('date_modification_endyear', 'int'));
|
$search_date_modification_end = dol_mktime(23, 59, 59, GETPOST('date_modification_endmonth', 'int'), GETPOST('date_modification_endday', 'int'), GETPOST('date_modification_endyear', 'int'));
|
||||||
$search_date_export_start = dol_mktime(0, 0, 0, GETPOST('date_export_startmonth', 'int'), GETPOST('date_export_startday', 'int'), GETPOST('date_export_startyear', 'int'));
|
$search_date_export_start = dol_mktime(0, 0, 0, GETPOST('date_export_startmonth', 'int'), GETPOST('date_export_startday', 'int'), GETPOST('date_export_startyear', 'int'));
|
||||||
$search_date_export_end = dol_mktime(0, 0, 0, GETPOST('date_export_endmonth', 'int'), GETPOST('date_export_endday', 'int'), GETPOST('date_export_endyear', 'int'));
|
$search_date_export_end = dol_mktime(23, 59, 59, GETPOST('date_export_endmonth', 'int'), GETPOST('date_export_endday', 'int'), GETPOST('date_export_endyear', 'int'));
|
||||||
|
|
||||||
//var_dump($search_date_start);exit;
|
//var_dump($search_date_start);exit;
|
||||||
if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_delmvt")) {
|
if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_delmvt")) {
|
||||||
@@ -933,7 +933,7 @@ while ($i < min($num, $limit))
|
|||||||
// Amount debit
|
// Amount debit
|
||||||
if (!empty($arrayfields['t.debit']['checked']))
|
if (!empty($arrayfields['t.debit']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap right">'.($line->debit ? price($line->debit) : '').'</td>';
|
print '<td class="nowrap right">'.($line->debit != 0 ? price($line->debit) : '').'</td>';
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totaldebit';
|
if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totaldebit';
|
||||||
$totalarray['val']['totaldebit'] += $line->debit;
|
$totalarray['val']['totaldebit'] += $line->debit;
|
||||||
@@ -942,7 +942,7 @@ while ($i < min($num, $limit))
|
|||||||
// Amount credit
|
// Amount credit
|
||||||
if (!empty($arrayfields['t.credit']['checked']))
|
if (!empty($arrayfields['t.credit']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap right">'.($line->credit ? price($line->credit) : '').'</td>';
|
print '<td class="nowrap right">'.($line->credit != 0 ? price($line->credit) : '').'</td>';
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalcredit';
|
if (!$i) $totalarray['pos'][$totalarray['nbfield']] = 'totalcredit';
|
||||||
$totalarray['val']['totalcredit'] += $line->credit;
|
$totalarray['val']['totalcredit'] += $line->credit;
|
||||||
@@ -966,7 +966,7 @@ while ($i < min($num, $limit))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ $langs->loadLangs(array("accountancy"));
|
|||||||
|
|
||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
$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_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_date_end = dol_mktime(23, 59, 59, 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_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 = GETPOST("search_accountancy_code");
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ if ($resql) {
|
|||||||
|
|
||||||
$param="&socid=".$socid;
|
$param="&socid=".$socid;
|
||||||
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '?socid=' . $object->id . '" method="POST">';
|
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '?socid=' . $object->id . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . newToken() . '">';
|
||||||
print '<input type="hidden" name="socid" value="' . $object->id . '">';
|
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>';
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ if ($resql) {
|
|||||||
|
|
||||||
$param="&socid=".$socid;
|
$param="&socid=".$socid;
|
||||||
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'?socid=' . $object->id . '" method="POST">';
|
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'?socid=' . $object->id . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . newToken() . '">';
|
||||||
print '<input type="hidden" name="socid" value="' . $object->id . '">';
|
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>';
|
||||||
|
|||||||
@@ -365,6 +365,7 @@ class AccountancyExport
|
|||||||
|
|
||||||
foreach ($objectLines as $line) {
|
foreach ($objectLines as $line) {
|
||||||
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
|
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
|
||||||
|
|
||||||
print $date.$separator;
|
print $date.$separator;
|
||||||
print $line->code_journal.$separator;
|
print $line->code_journal.$separator;
|
||||||
print length_accountg($line->numero_compte).$separator;
|
print length_accountg($line->numero_compte).$separator;
|
||||||
@@ -373,7 +374,7 @@ class AccountancyExport
|
|||||||
print price($line->debit).$separator;
|
print price($line->debit).$separator;
|
||||||
print price($line->credit).$separator;
|
print price($line->credit).$separator;
|
||||||
print 'E'.$separator;
|
print 'E'.$separator;
|
||||||
print length_accountg($line->subledger_account).$separator;
|
print length_accounta($line->subledger_account).$separator;
|
||||||
print $end_line;
|
print $end_line;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -497,9 +498,8 @@ class AccountancyExport
|
|||||||
$Tab['contrepartie'] = str_repeat(' ', 8);
|
$Tab['contrepartie'] = str_repeat(' ', 8);
|
||||||
|
|
||||||
// elarifr: date format must be fixed format : 6 char ddmmyy = %d%m%yand not defined by user / dolibarr setting
|
// 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_lim_reglement))
|
||||||
//$Tab['date_echeance'] = dol_print_date($data->date_echeance, $conf->global->ACCOUNTING_EXPORT_DATE);
|
$Tab['date_echeance'] = dol_print_date($data->date_lim_reglement, '%d%m%y'); // elarifr: format must be ddmmyy
|
||||||
$Tab['date_echeance'] = dol_print_date($data->date_echeance, '%d%m%y'); // elarifr: format must be ddmmyy
|
|
||||||
else
|
else
|
||||||
$Tab['date_echeance'] = '000000';
|
$Tab['date_echeance'] = '000000';
|
||||||
|
|
||||||
@@ -684,7 +684,7 @@ class AccountancyExport
|
|||||||
public function exportFEC($objectLines)
|
public function exportFEC($objectLines)
|
||||||
{
|
{
|
||||||
$separator = "\t";
|
$separator = "\t";
|
||||||
$end_line = "\n";
|
$end_line = "\r\n";
|
||||||
|
|
||||||
print "JournalCode".$separator;
|
print "JournalCode".$separator;
|
||||||
print "JournalLib".$separator;
|
print "JournalLib".$separator;
|
||||||
@@ -707,65 +707,70 @@ class AccountancyExport
|
|||||||
print $end_line;
|
print $end_line;
|
||||||
|
|
||||||
foreach ($objectLines as $line) {
|
foreach ($objectLines as $line) {
|
||||||
$date_creation = dol_print_date($line->date_creation, '%Y%m%d');
|
if ($line->debit == 0 && $line->credit == 0) {
|
||||||
$date_doc = dol_print_date($line->doc_date, '%Y%m%d');
|
unset($array[$line]);
|
||||||
$date_valid = dol_print_date($line->date_validated, '%Y%m%d');
|
} else {
|
||||||
|
$date_creation = dol_print_date($line->date_creation, '%Y%m%d');
|
||||||
|
$date_document = dol_print_date($line->doc_date, '%Y%m%d');
|
||||||
|
$date_lettering = dol_print_date($line->date_lettering, '%Y%m%d');
|
||||||
|
$date_validation = dol_print_date($line->date_validated, '%Y%m%d');
|
||||||
|
|
||||||
// FEC:JournalCode
|
// FEC:JournalCode
|
||||||
print $line->code_journal.$separator;
|
print $line->code_journal.$separator;
|
||||||
|
|
||||||
// FEC:JournalLib
|
// FEC:JournalLib
|
||||||
print $line->journal_label.$separator;
|
print $line->journal_label.$separator;
|
||||||
|
|
||||||
// FEC:EcritureNum
|
// FEC:EcritureNum
|
||||||
print $line->piece_num.$separator;
|
print $line->piece_num.$separator;
|
||||||
|
|
||||||
// FEC:EcritureDate
|
// FEC:EcritureDate
|
||||||
print $date_creation.$separator;
|
print $date_document . $separator;
|
||||||
|
|
||||||
// FEC:CompteNum
|
// FEC:CompteNum
|
||||||
print $line->numero_compte.$separator;
|
print $line->numero_compte.$separator;
|
||||||
|
|
||||||
// FEC:CompteLib
|
// FEC:CompteLib
|
||||||
print $line->label_compte.$separator;
|
print dol_string_unaccent($line->label_compte) . $separator;
|
||||||
|
|
||||||
// FEC:CompAuxNum
|
// FEC:CompAuxNum
|
||||||
print $line->subledger_account.$separator;
|
print $line->subledger_account.$separator;
|
||||||
|
|
||||||
// FEC:CompAuxLib
|
// FEC:CompAuxLib
|
||||||
print $line->subledger_label.$separator;
|
print dol_string_unaccent($line->subledger_label).$separator;
|
||||||
|
|
||||||
// FEC:PieceRef
|
// FEC:PieceRef
|
||||||
print $line->doc_ref.$separator;
|
print $line->doc_ref.$separator;
|
||||||
|
|
||||||
// FEC:PieceDate
|
// FEC:PieceDate
|
||||||
print $date_doc.$separator;
|
print $date_creation.$separator;
|
||||||
|
|
||||||
// FEC:EcritureLib
|
// FEC:EcritureLib
|
||||||
print $line->label_operation.$separator;
|
print dol_string_unaccent($line->label_operation).$separator;
|
||||||
|
|
||||||
// FEC:Debit
|
// FEC:Debit
|
||||||
print price2fec($line->debit).$separator;
|
print price2fec($line->debit).$separator;
|
||||||
|
|
||||||
// FEC:Credit
|
// FEC:Credit
|
||||||
print price2fec($line->credit).$separator;
|
print price2fec($line->credit).$separator;
|
||||||
|
|
||||||
// FEC:EcritureLet
|
// FEC:EcritureLet
|
||||||
print $line->lettering_code.$separator;
|
print $line->lettering_code.$separator;
|
||||||
|
|
||||||
// FEC:DateLet
|
// FEC:DateLet
|
||||||
print $line->date_lettering.$separator;
|
print $date_lettering.$separator;
|
||||||
|
|
||||||
// FEC:ValidDate
|
// FEC:ValidDate
|
||||||
print $date_valid.$separator;
|
print $date_validation.$separator;
|
||||||
|
|
||||||
// FEC:Montantdevise
|
// FEC:Montantdevise
|
||||||
print $line->multicurrency_amount.$separator;
|
print $line->multicurrency_amount.$separator;
|
||||||
|
|
||||||
// FEC:Idevise
|
// FEC:Idevise
|
||||||
print $line->multicurrency_code;
|
print $line->multicurrency_code;
|
||||||
|
|
||||||
print $end_line;
|
print $end_line;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -985,7 +990,7 @@ class AccountancyExport
|
|||||||
|
|
||||||
print $racine_subledger_account . $separator; // deprecated CPTG & CPTA use instead
|
print $racine_subledger_account . $separator; // deprecated CPTG & CPTA use instead
|
||||||
// MONT
|
// MONT
|
||||||
print price(abs($line->montant), 0, '', 1, 2).$separator;
|
print price(abs($line->montant), 0, '', 1, 2, 2).$separator;
|
||||||
// CODC
|
// CODC
|
||||||
print $line->sens.$separator;
|
print $line->sens.$separator;
|
||||||
// CPTG
|
// CPTG
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ $action = GETPOST('action', 'alpha');
|
|||||||
$cancel = GETPOST('cancel', 'alpha');
|
$cancel = GETPOST('cancel', 'alpha');
|
||||||
$backtopage = GETPOST('backtopage', 'alpha');
|
$backtopage = GETPOST('backtopage', 'alpha');
|
||||||
|
|
||||||
$codeventil = GETPOST('codeventil');
|
$codeventil = GETPOST('codeventil', 'int');
|
||||||
$id = GETPOST('id');
|
$id = GETPOST('id', 'int');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if ($user->socid > 0)
|
if ($user->socid > 0)
|
||||||
|
|||||||
@@ -251,6 +251,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa ON aa.rowid = fd
|
|||||||
$sql .= " WHERE f.datef >= '".$db->idate($search_date_start)."'";
|
$sql .= " WHERE f.datef >= '".$db->idate($search_date_start)."'";
|
||||||
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
||||||
$sql .= " AND f.fk_statut > 0";
|
$sql .= " AND f.fk_statut > 0";
|
||||||
|
$sql .= " AND fd.product_type <= 2";
|
||||||
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
||||||
$sql .= " AND aa.account_number IS NULL";
|
$sql .= " AND aa.account_number IS NULL";
|
||||||
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
@@ -327,10 +328,11 @@ $sql .= " WHERE f.datef >= '".$db->idate($search_date_start)."'";
|
|||||||
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
||||||
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
||||||
$sql .= " AND f.fk_statut > 0";
|
$sql .= " AND f.fk_statut > 0";
|
||||||
|
$sql .= " AND fd.product_type <= 2";
|
||||||
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.",".Facture::TYPE_REPLACEMENT.",".Facture::TYPE_CREDIT_NOTE.",".Facture::TYPE_SITUATION.")";
|
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.", ".Facture::TYPE_REPLACEMENT.", ".Facture::TYPE_CREDIT_NOTE.", ".Facture::TYPE_SITUATION.")";
|
||||||
} else {
|
} else {
|
||||||
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.",".Facture::TYPE_REPLACEMENT.",".Facture::TYPE_CREDIT_NOTE.",".Facture::TYPE_DEPOSIT.",".Facture::TYPE_SITUATION.")";
|
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.", ".Facture::TYPE_REPLACEMENT.", ".Facture::TYPE_CREDIT_NOTE.", ".Facture::TYPE_DEPOSIT.", ".Facture::TYPE_SITUATION.")";
|
||||||
}
|
}
|
||||||
$sql .= " AND aa.account_number IS NOT NULL";
|
$sql .= " AND aa.account_number IS NOT NULL";
|
||||||
$sql .= " GROUP BY fd.fk_code_ventilation,aa.account_number,aa.label";
|
$sql .= " GROUP BY fd.fk_code_ventilation,aa.account_number,aa.label";
|
||||||
@@ -403,10 +405,11 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
|
|||||||
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
||||||
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
||||||
$sql .= " AND f.fk_statut > 0";
|
$sql .= " AND f.fk_statut > 0";
|
||||||
|
$sql .= " AND fd.product_type <= 2";
|
||||||
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.",".Facture::TYPE_REPLACEMENT.",".Facture::TYPE_CREDIT_NOTE.",".Facture::TYPE_SITUATION.")";
|
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.", ".Facture::TYPE_REPLACEMENT.", ".Facture::TYPE_CREDIT_NOTE.", ".Facture::TYPE_SITUATION.")";
|
||||||
} else {
|
} else {
|
||||||
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.",".Facture::TYPE_REPLACEMENT.",".Facture::TYPE_CREDIT_NOTE.",".Facture::TYPE_DEPOSIT.",".Facture::TYPE_SITUATION.")";
|
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.", ".Facture::TYPE_REPLACEMENT.", ".Facture::TYPE_CREDIT_NOTE.", ".Facture::TYPE_DEPOSIT.", ".Facture::TYPE_SITUATION.")";
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_syslog('htdocs/accountancy/customer/index.php');
|
dol_syslog('htdocs/accountancy/customer/index.php');
|
||||||
@@ -455,10 +458,11 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
|
|||||||
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
$sql .= " AND f.datef <= '".$db->idate($search_date_end)."'";
|
||||||
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
$sql .= " AND f.entity IN (".getEntity('invoice', 0).")"; // We don't share object for accountancy
|
||||||
$sql .= " AND f.fk_statut > 0";
|
$sql .= " AND f.fk_statut > 0";
|
||||||
|
$sql .= " AND fd.product_type <= 2";
|
||||||
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.",".Facture::TYPE_REPLACEMENT.",".Facture::TYPE_CREDIT_NOTE.",".Facture::TYPE_SITUATION.")";
|
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.", ".Facture::TYPE_REPLACEMENT.", ".Facture::TYPE_CREDIT_NOTE.", ".Facture::TYPE_SITUATION.")";
|
||||||
} else {
|
} else {
|
||||||
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.",".Facture::TYPE_REPLACEMENT.",".Facture::TYPE_CREDIT_NOTE.",".Facture::TYPE_DEPOSIT.",".Facture::TYPE_SITUATION.")";
|
$sql .= " AND f.type IN (".Facture::TYPE_STANDARD.", ".Facture::TYPE_REPLACEMENT.", ".Facture::TYPE_CREDIT_NOTE.", ".Facture::TYPE_DEPOSIT.", ".Facture::TYPE_SITUATION.")";
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_syslog('htdocs/accountancy/customer/index.php');
|
dol_syslog('htdocs/accountancy/customer/index.php');
|
||||||
|
|||||||
@@ -332,7 +332,7 @@ if ($result) {
|
|||||||
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "fd.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "fd.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||||
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder, 'center ');
|
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder);
|
||||||
$clickpicto = $form->showCheckAddButtons();
|
$clickpicto = $form->showCheckAddButtons();
|
||||||
print_liste_field_titre($clickpicto, '', '', '', '', '', '', '', 'center ');
|
print_liste_field_titre($clickpicto, '', '', '', '', '', '', '', 'center ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
@@ -341,7 +341,7 @@ if ($result) {
|
|||||||
$product_static = new Product($db);
|
$product_static = new Product($db);
|
||||||
|
|
||||||
while ($objp = $db->fetch_object($result)) {
|
while ($objp = $db->fetch_object($result)) {
|
||||||
$codecompta = length_accountg($objp->account_number).' - '.$objp->label_compte;
|
$codecompta = length_accountg($objp->account_number).' - <span class="opacitymedium">'.$objp->label_compte.'</span>';
|
||||||
|
|
||||||
$facture_static->ref = $objp->ref;
|
$facture_static->ref = $objp->ref;
|
||||||
$facture_static->id = $objp->facid;
|
$facture_static->id = $objp->facid;
|
||||||
@@ -390,7 +390,7 @@ if ($result) {
|
|||||||
|
|
||||||
print '<td>'.$objp->tva_intra.'</td>';
|
print '<td>'.$objp->tva_intra.'</td>';
|
||||||
|
|
||||||
print '<td class="center">';
|
print '<td>';
|
||||||
print $codecompta.' <a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
print $codecompta.' <a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a>';
|
print '</a>';
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ $action = GETPOST('action', 'alpha');
|
|||||||
$cancel = GETPOST('cancel', 'alpha');
|
$cancel = GETPOST('cancel', 'alpha');
|
||||||
$backtopage = GETPOST('backtopage', 'alpha');
|
$backtopage = GETPOST('backtopage', 'alpha');
|
||||||
|
|
||||||
$codeventil = GETPOST('codeventil');
|
$codeventil = GETPOST('codeventil', 'int');
|
||||||
$id = GETPOST('id');
|
$id = GETPOST('id', 'int');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if ($user->socid > 0)
|
if ($user->socid > 0)
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ if ($result) {
|
|||||||
|
|
||||||
while ($i < min($num_lines, $limit)) {
|
while ($i < min($num_lines, $limit)) {
|
||||||
$objp = $db->fetch_object($result);
|
$objp = $db->fetch_object($result);
|
||||||
$codeCompta = length_accountg($objp->account_number).' - '.$objp->label;
|
$codeCompta = length_accountg($objp->account_number).' - <span class="opacitymedium">'.$objp->label.'</span>';
|
||||||
|
|
||||||
$expensereport_static->ref = $objp->ref;
|
$expensereport_static->ref = $objp->ref;
|
||||||
$expensereport_static->id = $objp->erid;
|
$expensereport_static->id = $objp->erid;
|
||||||
@@ -315,7 +315,7 @@ if ($result) {
|
|||||||
|
|
||||||
print '<td>'.$codeCompta.'</td>';
|
print '<td>'.$codeCompta.'</td>';
|
||||||
|
|
||||||
print '<td class="left"><a href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
print '<td class="left"><a class="editfielda" href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
|
|
||||||
|
|||||||
@@ -254,7 +254,9 @@ if ($result) {
|
|||||||
} else {
|
} else {
|
||||||
$tabpay[$obj->rowid]["lib"] = dol_trunc($obj->label, 60);
|
$tabpay[$obj->rowid]["lib"] = dol_trunc($obj->label, 60);
|
||||||
}
|
}
|
||||||
$links = $object->get_url($obj->rowid); // Get an array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> )
|
|
||||||
|
// Load of url links to the line into llx_bank
|
||||||
|
$links = $object->get_url($obj->rowid); // Get an array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> )
|
||||||
|
|
||||||
//var_dump($i);
|
//var_dump($i);
|
||||||
//var_dump($tabpay);
|
//var_dump($tabpay);
|
||||||
@@ -319,7 +321,8 @@ if ($result) {
|
|||||||
$chargestatic->id = $links[$key]['url_id'];
|
$chargestatic->id = $links[$key]['url_id'];
|
||||||
$chargestatic->ref = $links[$key]['url_id'];
|
$chargestatic->ref = $links[$key]['url_id'];
|
||||||
|
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' ' . $chargestatic->getNomUrl(2);
|
$tabpay[$obj->rowid]["lib"] .= ' '.$chargestatic->getNomUrl(2);
|
||||||
|
$reg = array();
|
||||||
if (preg_match('/^\((.*)\)$/i', $links[$key]['label'], $reg)) {
|
if (preg_match('/^\((.*)\)$/i', $links[$key]['label'], $reg)) {
|
||||||
if ($reg[1] == 'socialcontribution')
|
if ($reg[1] == 'socialcontribution')
|
||||||
$reg[1] = 'SocialContribution';
|
$reg[1] = 'SocialContribution';
|
||||||
@@ -331,12 +334,14 @@ if ($result) {
|
|||||||
$tabpay[$obj->rowid]["soclib"] = $chargestatic->getNomUrl(1, 30);
|
$tabpay[$obj->rowid]["soclib"] = $chargestatic->getNomUrl(1, 30);
|
||||||
$tabpay[$obj->rowid]["paymentscid"] = $chargestatic->id;
|
$tabpay[$obj->rowid]["paymentscid"] = $chargestatic->id;
|
||||||
|
|
||||||
|
// Retreive the accounting code of the social contribution of the payment from link of payment.
|
||||||
|
// Note: We have the social contribution id, it can be faster to get accounting code from social contribution id.
|
||||||
$sqlmid = 'SELECT cchgsoc.accountancy_code';
|
$sqlmid = 'SELECT cchgsoc.accountancy_code';
|
||||||
$sqlmid .= " FROM " . MAIN_DB_PREFIX . "c_chargesociales cchgsoc ";
|
$sqlmid .= " FROM ".MAIN_DB_PREFIX."c_chargesociales cchgsoc";
|
||||||
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "chargesociales as chgsoc ON chgsoc.fk_type=cchgsoc.id";
|
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."chargesociales as chgsoc ON chgsoc.fk_type=cchgsoc.id";
|
||||||
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementcharge as paycharg ON paycharg.fk_charge=chgsoc.rowid";
|
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."paiementcharge as paycharg ON paycharg.fk_charge=chgsoc.rowid";
|
||||||
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "bank_url as bkurl ON bkurl.url_id=paycharg.rowid";
|
$sqlmid .= " INNER JOIN ".MAIN_DB_PREFIX."bank_url as bkurl ON bkurl.url_id=paycharg.rowid AND bkurl.type = 'payment_sc'";
|
||||||
$sqlmid .= " WHERE bkurl.fk_bank=" . $obj->rowid;
|
$sqlmid .= " WHERE bkurl.fk_bank=".$obj->rowid;
|
||||||
|
|
||||||
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
|
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
|
||||||
$resultmid = $db->query($sqlmid);
|
$resultmid = $db->query($sqlmid);
|
||||||
@@ -858,7 +863,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["type_payment"] . '"' . $sep;
|
print '"' . $val["type_payment"] . '"' . $sep;
|
||||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
||||||
print " " . $sep;
|
print " " . $sep;
|
||||||
print '"' . $reflabel . '"' . $sep;
|
print '"' . $reflabel . '"' . $sep;
|
||||||
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
|
||||||
@@ -888,7 +893,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"' . $key . '"' . $sep;
|
print '"' . $key . '"' . $sep;
|
||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["type_payment"] . '"' . $sep;
|
print '"' . $val["type_payment"] . '"' . $sep;
|
||||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
if ($tabtype[$key] == 'payment_supplier') {
|
if ($tabtype[$key] == 'payment_supplier') {
|
||||||
print '"' . $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER . '"' . $sep;
|
print '"' . $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER . '"' . $sep;
|
||||||
} elseif($tabtype[$key] == 'payment') {
|
} elseif($tabtype[$key] == 'payment') {
|
||||||
@@ -898,7 +903,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
} elseif($tabtype[$key] == 'payment_salary') {
|
} elseif($tabtype[$key] == 'payment_salary') {
|
||||||
print '"' . $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT . '"' . $sep;
|
print '"' . $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT . '"' . $sep;
|
||||||
} else {
|
} else {
|
||||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
|
||||||
}
|
}
|
||||||
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
|
||||||
print '"' . $reflabel . '"' . $sep;
|
print '"' . $reflabel . '"' . $sep;
|
||||||
@@ -921,7 +926,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["type_payment"] . '"' . $sep;
|
print '"' . $val["type_payment"] . '"' . $sep;
|
||||||
print '"' . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
print '"' . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
||||||
print '"' . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
print '"' . length_accounta($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
||||||
print "" . $sep;
|
print "" . $sep;
|
||||||
print '"' . $reflabel . '"' . $sep;
|
print '"' . $reflabel . '"' . $sep;
|
||||||
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
|
||||||
@@ -1125,7 +1130,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
if ($tabtype[$key] == 'payment_vat') $account_ledger = $conf->global->ACCOUNTING_VAT_PAY_ACCOUNT;
|
if ($tabtype[$key] == 'payment_vat') $account_ledger = $conf->global->ACCOUNTING_VAT_PAY_ACCOUNT;
|
||||||
if ($tabtype[$key] == 'member') $account_ledger = $conf->global->ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT;
|
if ($tabtype[$key] == 'member') $account_ledger = $conf->global->ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT;
|
||||||
if ($tabtype[$key] == 'payment_various') $account_ledger = $tabpay[$key]["account_various"];
|
if ($tabtype[$key] == 'payment_various') $account_ledger = $tabpay[$key]["account_various"];
|
||||||
$accounttoshow = length_accounta($account_ledger);
|
$accounttoshow = length_accountg($account_ledger);
|
||||||
if (empty($accounttoshow) || $accounttoshow == 'NotDefined')
|
if (empty($accounttoshow) || $accounttoshow == 'NotDefined')
|
||||||
{
|
{
|
||||||
if ($tabtype[$key] == 'unknown')
|
if ($tabtype[$key] == 'unknown')
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ $action = GETPOST('action', 'alpha');
|
|||||||
$cancel = GETPOST('cancel', 'alpha');
|
$cancel = GETPOST('cancel', 'alpha');
|
||||||
$backtopage = GETPOST('backtopage', 'alpha');
|
$backtopage = GETPOST('backtopage', 'alpha');
|
||||||
|
|
||||||
$codeventil = GETPOST('codeventil');
|
$codeventil = GETPOST('codeventil', 'int');
|
||||||
$id = GETPOST('id');
|
$id = GETPOST('id', 'int');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if ($user->socid > 0)
|
if ($user->socid > 0)
|
||||||
|
|||||||
@@ -249,6 +249,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa ON aa.rowid = ff
|
|||||||
$sql .= " WHERE ff.datef >= '".$db->idate($search_date_start)."'";
|
$sql .= " WHERE ff.datef >= '".$db->idate($search_date_start)."'";
|
||||||
$sql .= " AND ff.datef <= '".$db->idate($search_date_end)."'";
|
$sql .= " AND ff.datef <= '".$db->idate($search_date_end)."'";
|
||||||
$sql .= " AND ff.fk_statut > 0";
|
$sql .= " AND ff.fk_statut > 0";
|
||||||
|
$sql .= " AND ffd.product_type <= 2";
|
||||||
$sql .= " AND ff.entity IN (".getEntity('facture_fourn', 0).")"; // We don't share object for accountancy
|
$sql .= " AND ff.entity IN (".getEntity('facture_fourn', 0).")"; // We don't share object for accountancy
|
||||||
$sql .= " AND aa.account_number IS NULL";
|
$sql .= " AND aa.account_number IS NULL";
|
||||||
$sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label";
|
$sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label";
|
||||||
@@ -319,6 +320,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa ON aa.rowid = ff
|
|||||||
$sql .= " WHERE ff.datef >= '".$db->idate($search_date_start)."'";
|
$sql .= " WHERE ff.datef >= '".$db->idate($search_date_start)."'";
|
||||||
$sql .= " AND ff.datef <= '".$db->idate($search_date_end)."'";
|
$sql .= " AND ff.datef <= '".$db->idate($search_date_end)."'";
|
||||||
$sql .= " AND ff.fk_statut > 0";
|
$sql .= " AND ff.fk_statut > 0";
|
||||||
|
$sql .= " AND ffd.product_type <= 2";
|
||||||
$sql .= " AND ff.entity IN (".getEntity('facture_fourn', 0).")"; // We don't share object for accountancy
|
$sql .= " AND ff.entity IN (".getEntity('facture_fourn', 0).")"; // We don't share object for accountancy
|
||||||
$sql .= " AND aa.account_number IS NOT NULL";
|
$sql .= " AND aa.account_number IS NOT NULL";
|
||||||
$sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label";
|
$sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label";
|
||||||
@@ -389,6 +391,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) // This part of code looks strange.
|
|||||||
$sql .= " WHERE ff.datef >= '".$db->idate($search_date_start)."'";
|
$sql .= " WHERE ff.datef >= '".$db->idate($search_date_start)."'";
|
||||||
$sql .= " AND ff.datef <= '".$db->idate($search_date_end)."'";
|
$sql .= " AND ff.datef <= '".$db->idate($search_date_end)."'";
|
||||||
$sql .= " AND ff.fk_statut > 0";
|
$sql .= " AND ff.fk_statut > 0";
|
||||||
|
$sql .= " AND ffd.product_type <= 2";
|
||||||
$sql .= " AND ff.entity IN (".getEntity('facture_fourn', 0).")"; // We don't share object for accountancy
|
$sql .= " AND ff.entity IN (".getEntity('facture_fourn', 0).")"; // We don't share object for accountancy
|
||||||
|
|
||||||
dol_syslog('htdocs/accountancy/supplier/index.php');
|
dol_syslog('htdocs/accountancy/supplier/index.php');
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ if ($result) {
|
|||||||
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||||
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("VATIntra", $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder, 'center ');
|
print_liste_field_titre("Account", $_SERVER["PHP_SELF"], "aa.account_number", "", $param, '', $sortfield, $sortorder);
|
||||||
$checkpicto = $form->showCheckAddButtons();
|
$checkpicto = $form->showCheckAddButtons();
|
||||||
print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center ');
|
print_liste_field_titre($checkpicto, '', '', '', '', '', '', '', 'center ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
@@ -347,7 +347,7 @@ if ($result) {
|
|||||||
while ($i < min($num_lines, $limit)) {
|
while ($i < min($num_lines, $limit)) {
|
||||||
$objp = $db->fetch_object($result);
|
$objp = $db->fetch_object($result);
|
||||||
|
|
||||||
$codecompta = length_accountg($objp->account_number).' - '.$objp->label;
|
$codecompta = length_accountg($objp->account_number).' - <span class="opacitymedium">'.$objp->label.'</span>';
|
||||||
|
|
||||||
$facturefournisseur_static->ref = $objp->ref;
|
$facturefournisseur_static->ref = $objp->ref;
|
||||||
$facturefournisseur_static->id = $objp->facid;
|
$facturefournisseur_static->id = $objp->facid;
|
||||||
@@ -399,7 +399,7 @@ if ($result) {
|
|||||||
|
|
||||||
print '<td>'.$objp->tva_intra.'</td>';
|
print '<td>'.$objp->tva_intra.'</td>';
|
||||||
|
|
||||||
print '<td class="center">';
|
print '<td>';
|
||||||
print $codecompta.' <a href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
print $codecompta.' <a href="./card.php?id='.$objp->rowid.'&backtopage='.urlencode($_SERVER["PHP_SELF"].($param ? '?'.$param : '')).'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
|
|||||||
@@ -243,18 +243,16 @@ if (empty($reshook))
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
$birthdate = '';
|
$birthdate = '';
|
||||||
if (isset($_POST["birthday"]) && $_POST["birthday"]
|
if (GETPOST("birthday", 'int') && GETPOST("birthmonth", 'int') && GETPOST("birthyear", 'int'))
|
||||||
&& isset($_POST["birthmonth"]) && $_POST["birthmonth"]
|
|
||||||
&& isset($_POST["birthyear"]) && $_POST["birthyear"])
|
|
||||||
{
|
{
|
||||||
$birthdate = dol_mktime(12, 0, 0, $_POST["birthmonth"], $_POST["birthday"], $_POST["birthyear"]);
|
$birthdate = dol_mktime(12, 0, 0, GETPOST("birthmonth", 'int'), GETPOST("birthday", 'int'), GETPOST("birthyear", 'int'));
|
||||||
}
|
}
|
||||||
$lastname = $_POST["lastname"];
|
$lastname = GETPOST("lastname", 'alphanohtml');
|
||||||
$firstname = $_POST["firstname"];
|
$firstname = GETPOST("firstname", 'alphanohtml');
|
||||||
$gender = $_POST["gender"];
|
$gender = GETPOST("gender", 'alphanohtml');
|
||||||
$societe = $_POST["societe"];
|
$societe = GETPOST("societe", 'alphanohtml');
|
||||||
$morphy = $_POST["morphy"];
|
$morphy = GETPOST("morphy", 'alphanohtml');
|
||||||
$login = $_POST["login"];
|
$login = GETPOST("login", 'alphanohtml');
|
||||||
if ($morphy != 'mor' && empty($lastname)) {
|
if ($morphy != 'mor' && empty($lastname)) {
|
||||||
$error++;
|
$error++;
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
@@ -284,19 +282,19 @@ if (empty($reshook))
|
|||||||
$object->oldcopy = clone $object;
|
$object->oldcopy = clone $object;
|
||||||
|
|
||||||
// Change values
|
// Change values
|
||||||
$object->civility_id = trim(GETPOST("civility_id", 'alpha'));
|
$object->civility_id = trim(GETPOST("civility_id", 'alphanohtml'));
|
||||||
$object->firstname = trim(GETPOST("firstname", 'alpha'));
|
$object->firstname = trim(GETPOST("firstname", 'alphanohtml'));
|
||||||
$object->lastname = trim(GETPOST("lastname", 'alpha'));
|
$object->lastname = trim(GETPOST("lastname", 'alphanohtml'));
|
||||||
$object->gender = trim(GETPOST("gender", 'alpha'));
|
$object->gender = trim(GETPOST("gender", 'alphanohtml'));
|
||||||
$object->login = trim(GETPOST("login", 'alpha'));
|
$object->login = trim(GETPOST("login", 'alphanohtml'));
|
||||||
$object->pass = trim(GETPOST("pass", 'alpha'));
|
$object->pass = trim(GETPOST("pass", 'alpha'));
|
||||||
|
|
||||||
$object->societe = trim(GETPOST("societe", 'alpha')); // deprecated
|
$object->societe = trim(GETPOST("societe", 'alphanohtml')); // deprecated
|
||||||
$object->company = trim(GETPOST("societe", 'alpha'));
|
$object->company = trim(GETPOST("societe", 'alphanohtml'));
|
||||||
|
|
||||||
$object->address = trim(GETPOST("address", 'alpha'));
|
$object->address = trim(GETPOST("address", 'alphanohtml'));
|
||||||
$object->zip = trim(GETPOST("zipcode", 'alpha'));
|
$object->zip = trim(GETPOST("zipcode", 'alphanohtml'));
|
||||||
$object->town = trim(GETPOST("town", 'alpha'));
|
$object->town = trim(GETPOST("town", 'alphanohtml'));
|
||||||
$object->state_id = GETPOST("state_id", 'int');
|
$object->state_id = GETPOST("state_id", 'int');
|
||||||
$object->country_id = GETPOST("country_id", 'int');
|
$object->country_id = GETPOST("country_id", 'int');
|
||||||
|
|
||||||
@@ -442,14 +440,14 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
|
|
||||||
$typeid = GETPOST("typeid", 'int');
|
$typeid = GETPOST("typeid", 'int');
|
||||||
$civility_id = GETPOST("civility_id", 'alpha');
|
$civility_id = GETPOST("civility_id", 'alphanohtml');
|
||||||
$lastname = GETPOST("lastname", 'alpha');
|
$lastname = GETPOST("lastname", 'alphanohtml');
|
||||||
$firstname = GETPOST("firstname", 'alpha');
|
$firstname = GETPOST("firstname", 'alphanohtml');
|
||||||
$gender = GETPOST("gender", 'alpha');
|
$gender = GETPOST("gender", 'alphanohtml');
|
||||||
$societe = GETPOST("societe", 'alpha');
|
$societe = GETPOST("societe", 'alphanohtml');
|
||||||
$address = GETPOST("address", 'alpha');
|
$address = GETPOST("address", 'alphanohtml');
|
||||||
$zip = GETPOST("zipcode", 'alpha');
|
$zip = GETPOST("zipcode", 'alphanohtml');
|
||||||
$town = GETPOST("town", 'alpha');
|
$town = GETPOST("town", 'alphanohtml');
|
||||||
$state_id = GETPOST("state_id", 'int');
|
$state_id = GETPOST("state_id", 'int');
|
||||||
$country_id = GETPOST("country_id", 'int');
|
$country_id = GETPOST("country_id", 'int');
|
||||||
|
|
||||||
@@ -461,13 +459,12 @@ if (empty($reshook))
|
|||||||
// $facebook=GETPOST("member_facebook", 'alpha');
|
// $facebook=GETPOST("member_facebook", 'alpha');
|
||||||
// $linkedin=GETPOST("member_linkedin", 'alpha');
|
// $linkedin=GETPOST("member_linkedin", 'alpha');
|
||||||
$email = preg_replace('/\s+/', '', GETPOST("member_email", 'alpha'));
|
$email = preg_replace('/\s+/', '', GETPOST("member_email", 'alpha'));
|
||||||
$login = GETPOST("member_login", 'alpha');
|
$login = GETPOST("member_login", 'alphanohtml');
|
||||||
$pass = GETPOST("password", 'alpha');
|
$pass = GETPOST("password", 'alpha');
|
||||||
$photo = GETPOST("photo", 'alpha');
|
$photo = GETPOST("photo", 'alpha');
|
||||||
//$comment=GETPOST("comment",'none');
|
//$comment=GETPOST("comment",'none');
|
||||||
$morphy = GETPOST("morphy", 'alpha');
|
$morphy = GETPOST("morphy", 'alphanohtml');
|
||||||
$subscription = GETPOST("subscription", 'alpha');
|
$public = GETPOST("public", 'alphanohtml');
|
||||||
$public = GETPOST("public", 'alpha');
|
|
||||||
|
|
||||||
$userid = GETPOST("userid", 'int');
|
$userid = GETPOST("userid", 'int');
|
||||||
$socid = GETPOST("socid", 'int');
|
$socid = GETPOST("socid", 'int');
|
||||||
@@ -944,7 +941,7 @@ else
|
|||||||
// Login
|
// Login
|
||||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
||||||
{
|
{
|
||||||
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="member_login" class="minwidth300" maxlength="50" value="'.(isset($_POST["member_login"]) ?GETPOST("member_login", 'alpha', 2) : $object->login).'" autofocus="autofocus"></td></tr>';
|
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="member_login" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET("member_login") ? GETPOST("member_login", 'alphanohtml', 2) : $object->login).'" autofocus="autofocus"></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Password
|
// Password
|
||||||
@@ -976,7 +973,7 @@ else
|
|||||||
print "</td>\n";
|
print "</td>\n";
|
||||||
|
|
||||||
// Company
|
// Company
|
||||||
print '<tr><td id="tdcompany">'.$langs->trans("Company").'</td><td><input type="text" name="societe" class="minwidth300" maxlength="128" value="'.(GETPOST('societe', 'alpha') ?GETPOST('societe', 'alpha') : $object->company).'"></td></tr>';
|
print '<tr><td id="tdcompany">'.$langs->trans("Company").'</td><td><input type="text" name="societe" class="minwidth300" maxlength="128" value="'.(GETPOSTISSET('societe') ? GETPOST('societe', 'alphanohtml') : $object->company).'"></td></tr>';
|
||||||
|
|
||||||
// Civility
|
// Civility
|
||||||
print '<tr><td>'.$langs->trans("UserTitle").'</td><td>';
|
print '<tr><td>'.$langs->trans("UserTitle").'</td><td>';
|
||||||
@@ -984,39 +981,39 @@ else
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Lastname
|
// Lastname
|
||||||
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" class="minwidth300" maxlength="50" value="'.(GETPOST('lastname', 'alpha') ?GETPOST('lastname', 'alpha') : $object->lastname).'"></td>';
|
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET('lastname') ? GETPOST('lastname', 'alphanohtml') : $object->lastname).'"></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Firstname
|
// Firstname
|
||||||
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" class="minwidth300" maxlength="50" value="'.(GETPOST('firstname', 'alpha') ?GETPOST('firstname', 'alpha') : $object->firstname).'"></td>';
|
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET('firstname') ? GETPOST('firstname', 'alphanohtml') : $object->firstname).'"></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Gender
|
// Gender
|
||||||
print '<tr><td>'.$langs->trans("Gender").'</td>';
|
print '<tr><td>'.$langs->trans("Gender").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$arraygender = array('man'=>$langs->trans("Genderman"), 'woman'=>$langs->trans("Genderwoman"));
|
$arraygender = array('man'=>$langs->trans("Genderman"), 'woman'=>$langs->trans("Genderwoman"));
|
||||||
print $form->selectarray('gender', $arraygender, GETPOST('gender'), 1);
|
print $form->selectarray('gender', $arraygender, GETPOST('gender', 'alphanohtml'), 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// EMail
|
// EMail
|
||||||
print '<tr><td>'.img_picto('', 'object_email').' '.($conf->global->ADHERENT_MAIL_REQUIRED ? '<span class="fieldrequired">' : '').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED ? '</span>' : '').'</td><td><input type="text" name="member_email" class="minwidth300" maxlength="255" value="'.(GETPOST('member_email', 'alpha') ?GETPOST('member_email', 'alpha') : $object->email).'"></td></tr>';
|
print '<tr><td>'.img_picto('', 'object_email').' '.($conf->global->ADHERENT_MAIL_REQUIRED ? '<span class="fieldrequired">' : '').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED ? '</span>' : '').'</td><td><input type="text" name="member_email" class="minwidth300" maxlength="255" value="'.(GETPOSTISSET('member_email') ? GETPOST('member_email', 'alpha') : $object->email).'"></td></tr>';
|
||||||
|
|
||||||
// Address
|
// Address
|
||||||
print '<tr><td class="tdtop">'.$langs->trans("Address").'</td><td>';
|
print '<tr><td class="tdtop">'.$langs->trans("Address").'</td><td>';
|
||||||
print '<textarea name="address" wrap="soft" class="quatrevingtpercent" rows="2">'.(GETPOST('address', 'alphanohtml') ?GETPOST('address', 'alphanohtml') : $object->address).'</textarea>';
|
print '<textarea name="address" wrap="soft" class="quatrevingtpercent" rows="2">'.(GETPOSTISSET('address') ?GETPOST('address', 'alphanohtml') : $object->address).'</textarea>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Zip / Town
|
// Zip / Town
|
||||||
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
|
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
|
||||||
print $formcompany->select_ziptown((GETPOST('zipcode', 'alphanohtml') ?GETPOST('zipcode', 'alphanohtml') : $object->zip), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6);
|
print $formcompany->select_ziptown((GETPOSTISSET('zipcode') ? GETPOST('zipcode', 'alphanohtml') : $object->zip), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6);
|
||||||
print ' ';
|
print ' ';
|
||||||
print $formcompany->select_ziptown((GETPOST('town', 'alphanohtml') ?GETPOST('town', 'alphanohtml') : $object->town), 'town', array('zipcode', 'selectcountry_id', 'state_id'));
|
print $formcompany->select_ziptown((GETPOSTISSET('town') ? GETPOST('town', 'alphanohtml') : $object->town), 'town', array('zipcode', 'selectcountry_id', 'state_id'));
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Country
|
// Country
|
||||||
$object->country_id = $object->country_id ? $object->country_id : $mysoc->country_id;
|
$object->country_id = $object->country_id ? $object->country_id : $mysoc->country_id;
|
||||||
print '<tr><td width="25%">'.$langs->trans('Country').'</td><td>';
|
print '<tr><td width="25%">'.$langs->trans('Country').'</td><td>';
|
||||||
print $form->select_country(GETPOST('country_id', 'alpha') ?GETPOST('country_id', 'alpha') : $object->country_id, 'country_id');
|
print $form->select_country(GETPOSTISSET('country_id') ? GETPOST('country_id', 'alpha') : $object->country_id, 'country_id');
|
||||||
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@@ -1026,7 +1023,7 @@ else
|
|||||||
print '<tr><td>'.$langs->trans('State').'</td><td>';
|
print '<tr><td>'.$langs->trans('State').'</td><td>';
|
||||||
if ($object->country_id)
|
if ($object->country_id)
|
||||||
{
|
{
|
||||||
print $formcompany->select_state(GETPOST('state_id', 'int') ?GETPOST('state_id', 'int') : $object->state_id, $object->country_code);
|
print $formcompany->select_state(GETPOSTISSET('state_id') ? GETPOST('state_id', 'int') : $object->state_id, $object->country_code);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1036,18 +1033,18 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Pro phone
|
// Pro phone
|
||||||
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.(GETPOST('phone', 'alpha') ?GETPOST('phone', 'alpha') : $object->phone).'"></td></tr>';
|
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.(GETPOSTISSET('phone') ? GETPOST('phone', 'alpha') : $object->phone).'"></td></tr>';
|
||||||
|
|
||||||
// Personal phone
|
// Personal phone
|
||||||
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.(GETPOST('phone_perso', 'alpha') ?GETPOST('phone_perso', 'alpha') : $object->phone_perso).'"></td></tr>';
|
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.(GETPOSTISSET('phone_perso') ? GETPOST('phone_perso', 'alpha') : $object->phone_perso).'"></td></tr>';
|
||||||
|
|
||||||
// Mobile phone
|
// Mobile phone
|
||||||
print '<tr><td>'.img_picto('', 'object_phoning_mobile').' '.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.(GETPOST('phone_mobile', 'alpha') ?GETPOST('phone_mobile', 'alpha') : $object->phone_mobile).'"></td></tr>';
|
print '<tr><td>'.img_picto('', 'object_phoning_mobile').' '.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.(GETPOSTISSET('phone_mobile') ? GETPOST('phone_mobile', 'alpha') : $object->phone_mobile).'"></td></tr>';
|
||||||
|
|
||||||
if (!empty($conf->socialnetworks->enabled)) {
|
if (!empty($conf->socialnetworks->enabled)) {
|
||||||
foreach ($socialnetworks as $key => $value) {
|
foreach ($socialnetworks as $key => $value) {
|
||||||
if (!$value['active']) break;
|
if (!$value['active']) break;
|
||||||
print '<tr><td>'.$langs->trans($value['label']).'</td><td><input type="text" name="member_'.$key.'" size="40" value="'.(GETPOST('member_'.$key, 'alpha') ?GETPOST('member_'.$key, 'alpha') : $object->socialnetworks[$key]).'"></td></tr>';
|
print '<tr><td>'.$langs->trans($value['label']).'</td><td><input type="text" name="member_'.$key.'" size="40" value="'.(GETPOSTISSET('member_'.$key) ? GETPOST('member_'.$key, 'alpha') : $object->socialnetworks[$key]).'"></td></tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1184,7 +1181,7 @@ else
|
|||||||
// Login
|
// Login
|
||||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
|
||||||
{
|
{
|
||||||
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="login" class="minwidth300" maxlength="50" value="'.(isset($_POST["login"]) ?GETPOST("login", 'alpha', 2) : $object->login).'"></td></tr>';
|
print '<tr><td><span class="fieldrequired">'.$langs->trans("Login").' / '.$langs->trans("Id").'</span></td><td><input type="text" name="login" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET("login") ? GETPOST("login", 'alphanohtml', 2) : $object->login).'"></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Password
|
// Password
|
||||||
@@ -1196,14 +1193,14 @@ else
|
|||||||
$morphys["phy"] = $langs->trans("Physical");
|
$morphys["phy"] = $langs->trans("Physical");
|
||||||
$morphys["mor"] = $langs->trans("Moral");
|
$morphys["mor"] = $langs->trans("Moral");
|
||||||
print '<tr><td><span class="fieldrequired">'.$langs->trans("MemberNature").'</span></td><td>';
|
print '<tr><td><span class="fieldrequired">'.$langs->trans("MemberNature").'</span></td><td>';
|
||||||
print $form->selectarray("morphy", $morphys, (GETPOSTISSET("morphy") ?GETPOST("morphy", 'alpha') : $object->morphy));
|
print $form->selectarray("morphy", $morphys, (GETPOSTISSET("morphy") ? GETPOST("morphy", 'alpha') : $object->morphy));
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
// Type
|
// Type
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td>';
|
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td>';
|
||||||
if ($user->rights->adherent->creer)
|
if ($user->rights->adherent->creer)
|
||||||
{
|
{
|
||||||
print $form->selectarray("typeid", $adht->liste_array(), (GETPOSTISSET("typeid") ?GETPOST("typeid", 'int') : $object->typeid));
|
print $form->selectarray("typeid", $adht->liste_array(), (GETPOSTISSET("typeid") ? GETPOST("typeid", 'int') : $object->typeid));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1213,27 +1210,27 @@ else
|
|||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
// Company
|
// Company
|
||||||
print '<tr><td id="tdcompany">'.$langs->trans("Company").'</td><td><input type="text" name="societe" class="minwidth300" maxlength="128" value="'.(isset($_POST["societe"]) ?GETPOST("societe", '', 2) : $object->company).'"></td></tr>';
|
print '<tr><td id="tdcompany">'.$langs->trans("Company").'</td><td><input type="text" name="societe" class="minwidth300" maxlength="128" value="'.(GETPOSTISSET("societe") ? GETPOST("societe", 'alphanohtml', 2) : $object->company).'"></td></tr>';
|
||||||
|
|
||||||
// Civility
|
// Civility
|
||||||
print '<tr><td>'.$langs->trans("UserTitle").'</td><td>';
|
print '<tr><td>'.$langs->trans("UserTitle").'</td><td>';
|
||||||
print $formcompany->select_civility(isset($_POST["civility_id"]) ? $_POST["civility_id"] : $object->civility_id)."\n";
|
print $formcompany->select_civility(GETPOSTISSET("civility_id") ? GETPOST("civility_id", 'alpha') : $object->civility_id)."\n";
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Lastname
|
// Lastname
|
||||||
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" class="minwidth300" maxlength="50" value="'.(isset($_POST["lastname"]) ?GETPOST("lastname", '', 2) : $object->lastname).'"></td>';
|
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET("lastname") ? GETPOST("lastname", 'alphanohtml', 2) : $object->lastname).'"></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Firstname
|
// Firstname
|
||||||
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" class="minwidth300" maxlength="50" value="'.(isset($_POST["firstname"]) ?GETPOST("firstname", '', 3) : $object->firstname).'"></td>';
|
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" class="minwidth300" maxlength="50" value="'.(GETPOSTISSET("firstname") ? GETPOST("firstname", 'alphanohtml', 3) : $object->firstname).'"></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Gender
|
// Gender
|
||||||
print '<tr><td>'.$langs->trans("Gender").'</td>';
|
print '<tr><td>'.$langs->trans("Gender").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$arraygender = array('man'=>$langs->trans("Genderman"), 'woman'=>$langs->trans("Genderwoman"));
|
$arraygender = array('man'=>$langs->trans("Genderman"), 'woman'=>$langs->trans("Genderwoman"));
|
||||||
print $form->selectarray('gender', $arraygender, GETPOST('gender') ?GETPOST('gender') : $object->gender, 1);
|
print $form->selectarray('gender', $arraygender, GETPOSTISSET('gender') ? GETPOST('gender', 'alphanohtml') : $object->gender, 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Photo
|
// Photo
|
||||||
@@ -1256,14 +1253,14 @@ else
|
|||||||
|
|
||||||
// Address
|
// Address
|
||||||
print '<tr><td>'.$langs->trans("Address").'</td><td>';
|
print '<tr><td>'.$langs->trans("Address").'</td><td>';
|
||||||
print '<textarea name="address" wrap="soft" class="quatrevingtpercent" rows="'.ROWS_2.'">'.(isset($_POST["address"]) ?GETPOST("address", '', 2) : $object->address).'</textarea>';
|
print '<textarea name="address" wrap="soft" class="quatrevingtpercent" rows="'.ROWS_2.'">'.(GETPOSTISSET("address") ? GETPOST("address", 'alphanohtml', 2) : $object->address).'</textarea>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Zip / Town
|
// Zip / Town
|
||||||
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
|
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
|
||||||
print $formcompany->select_ziptown((isset($_POST["zipcode"]) ?GETPOST("zipcode", '', 2) : $object->zip), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6);
|
print $formcompany->select_ziptown((GETPOSTISSET("zipcode") ? GETPOST("zipcode", 'alphanohtml', 2) : $object->zip), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6);
|
||||||
print ' ';
|
print ' ';
|
||||||
print $formcompany->select_ziptown((isset($_POST["town"]) ?GETPOST("town", '', 2) : $object->town), 'town', array('zipcode', 'selectcountry_id', 'state_id'));
|
print $formcompany->select_ziptown((GETPOSTISSET("town") ? GETPOST("town", 'alphanohtml', 2) : $object->town), 'town', array('zipcode', 'selectcountry_id', 'state_id'));
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Country
|
// Country
|
||||||
@@ -1282,18 +1279,18 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Pro phone
|
// Pro phone
|
||||||
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.(isset($_POST["phone"]) ?GETPOST("phone") : $object->phone).'"></td></tr>';
|
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePro").'</td><td><input type="text" name="phone" size="20" value="'.(GETPOSTISSET("phone") ? GETPOST("phone") : $object->phone).'"></td></tr>';
|
||||||
|
|
||||||
// Personal phone
|
// Personal phone
|
||||||
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.(isset($_POST["phone_perso"]) ?GETPOST("phone_perso") : $object->phone_perso).'"></td></tr>';
|
print '<tr><td>'.img_picto('', 'object_phoning').' '.$langs->trans("PhonePerso").'</td><td><input type="text" name="phone_perso" size="20" value="'.(GETPOSTISSET("phone_perso") ? GETPOST("phone_perso") : $object->phone_perso).'"></td></tr>';
|
||||||
|
|
||||||
// Mobile phone
|
// Mobile phone
|
||||||
print '<tr><td>'.img_picto('', 'object_phoning_mobile').' '.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.(isset($_POST["phone_mobile"]) ?GETPOST("phone_mobile") : $object->phone_mobile).'"></td></tr>';
|
print '<tr><td>'.img_picto('', 'object_phoning_mobile').' '.$langs->trans("PhoneMobile").'</td><td><input type="text" name="phone_mobile" size="20" value="'.(GETPOSTISSET("phone_mobile") ? GETPOST("phone_mobile") : $object->phone_mobile).'"></td></tr>';
|
||||||
|
|
||||||
if (!empty($conf->socialnetworks->enabled)) {
|
if (!empty($conf->socialnetworks->enabled)) {
|
||||||
foreach ($socialnetworks as $key => $value) {
|
foreach ($socialnetworks as $key => $value) {
|
||||||
if (!$value['active']) break;
|
if (!$value['active']) break;
|
||||||
print '<tr><td>'.$langs->trans($value['label']).'</td><td><input type="text" name="'.$key.'" class="minwidth100" value="'.(isset($_POST[$key]) ?GETPOST($key) : $object->socialnetworks[$key]).'"></td></tr>';
|
print '<tr><td>'.$langs->trans($value['label']).'</td><td><input type="text" name="'.$key.'" class="minwidth100" value="'.(GETPOSTISSET($key) ? GETPOST($key, 'alphanohtml') : $object->socialnetworks[$key]).'"></td></tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1304,7 +1301,7 @@ else
|
|||||||
|
|
||||||
// Public profil
|
// Public profil
|
||||||
print "<tr><td>".$langs->trans("Public")."</td><td>\n";
|
print "<tr><td>".$langs->trans("Public")."</td><td>\n";
|
||||||
print $form->selectyesno("public", (isset($_POST["public"]) ?GETPOST("public", '', 2) : $object->public), 1);
|
print $form->selectyesno("public", (GETPOSTISSET("public") ? GETPOST("public", 'alphanohtml', 2) : $object->public), 1);
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
// Categories
|
// Categories
|
||||||
@@ -1773,8 +1770,10 @@ else
|
|||||||
if ($action != 'editlogin' && $action != 'editthirdparty')
|
if ($action != 'editlogin' && $action != 'editthirdparty')
|
||||||
{
|
{
|
||||||
// Send
|
// Send
|
||||||
if ($object->statut == 1) {
|
if (empty($user->socid)) {
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a></div>';
|
if ($object->statut == 1) {
|
||||||
|
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a></div>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send card by email
|
// Send card by email
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ print '<br>';
|
|||||||
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("DocForAllMembersCards", ($conf->global->ADHERENT_CARD_TYPE?$conf->global->ADHERENT_CARD_TYPE:$langs->transnoentitiesnoconv("None"))).' ';
|
print img_picto('', 'puce').' '.$langs->trans("DocForAllMembersCards", ($conf->global->ADHERENT_CARD_TYPE?$conf->global->ADHERENT_CARD_TYPE:$langs->transnoentitiesnoconv("None"))).' ';
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
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="foruserid" value="all">';
|
print '<input type="hidden" name="foruserid" value="all">';
|
||||||
print '<input type="hidden" name="mode" value="card">';
|
print '<input type="hidden" name="mode" value="card">';
|
||||||
print '<input type="hidden" name="action" value="builddoc">';
|
print '<input type="hidden" name="action" value="builddoc">';
|
||||||
@@ -279,7 +279,7 @@ print '<br><br>';
|
|||||||
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("DocForOneMemberCards", ($conf->global->ADHERENT_CARD_TYPE?$conf->global->ADHERENT_CARD_TYPE:$langs->transnoentitiesnoconv("None"))).' ';
|
print img_picto('', 'puce').' '.$langs->trans("DocForOneMemberCards", ($conf->global->ADHERENT_CARD_TYPE?$conf->global->ADHERENT_CARD_TYPE:$langs->transnoentitiesnoconv("None"))).' ';
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
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="mode" value="cardlogin">';
|
print '<input type="hidden" name="mode" value="cardlogin">';
|
||||||
print '<input type="hidden" name="action" value="builddoc">';
|
print '<input type="hidden" name="action" value="builddoc">';
|
||||||
print $langs->trans("DescADHERENT_CARD_TYPE").' ';
|
print $langs->trans("DescADHERENT_CARD_TYPE").' ';
|
||||||
@@ -299,7 +299,7 @@ print '<br><br>';
|
|||||||
|
|
||||||
print img_picto('', 'puce').' '.$langs->trans("DocForLabels", $conf->global->ADHERENT_ETIQUETTE_TYPE).' ';
|
print img_picto('', 'puce').' '.$langs->trans("DocForLabels", $conf->global->ADHERENT_ETIQUETTE_TYPE).' ';
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
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="mode" value="label">';
|
print '<input type="hidden" name="mode" value="label">';
|
||||||
print '<input type="hidden" name="action" value="builddoc">';
|
print '<input type="hidden" name="action" value="builddoc">';
|
||||||
print $langs->trans("DescADHERENT_ETIQUETTE_TYPE").' ';
|
print $langs->trans("DescADHERENT_ETIQUETTE_TYPE").' ';
|
||||||
|
|||||||
@@ -1376,48 +1376,49 @@ class Adherent extends CommonObject
|
|||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/subscription.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/adherents/class/subscription.class.php';
|
||||||
|
|
||||||
$sql = "SELECT c.rowid, c.fk_adherent, c.subscription, c.note, c.fk_bank,";
|
$sql = "SELECT c.rowid, c.fk_adherent, c.fk_type, c.subscription, c.note, c.fk_bank,";
|
||||||
$sql.= " c.tms as datem,";
|
$sql .= " c.tms as datem,";
|
||||||
$sql.= " c.datec as datec,";
|
$sql .= " c.datec as datec,";
|
||||||
$sql.= " c.dateadh as dateh,";
|
$sql .= " c.dateadh as dateh,";
|
||||||
$sql.= " c.datef as datef";
|
$sql .= " c.datef as datef";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."subscription as c";
|
$sql .= " FROM ".MAIN_DB_PREFIX."subscription as c";
|
||||||
$sql.= " WHERE c.fk_adherent = ".$this->id;
|
$sql .= " WHERE c.fk_adherent = ".$this->id;
|
||||||
$sql.= " ORDER BY c.dateadh";
|
$sql .= " ORDER BY c.dateadh";
|
||||||
dol_syslog(get_class($this)."::fetch_subscriptions", LOG_DEBUG);
|
dol_syslog(get_class($this)."::fetch_subscriptions", LOG_DEBUG);
|
||||||
|
|
||||||
$resql=$this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$this->subscriptions=array();
|
$this->subscriptions = array();
|
||||||
|
|
||||||
$i=0;
|
$i = 0;
|
||||||
while ($obj = $this->db->fetch_object($resql))
|
while ($obj = $this->db->fetch_object($resql))
|
||||||
{
|
{
|
||||||
if ($i==0)
|
if ($i == 0)
|
||||||
{
|
{
|
||||||
$this->first_subscription_date=$this->db->jdate($obj->datec);
|
$this->first_subscription_date = $this->db->jdate($obj->datec);
|
||||||
$this->first_subscription_date_start=$this->db->jdate($obj->dateh);
|
$this->first_subscription_date_start = $this->db->jdate($obj->dateh);
|
||||||
$this->first_subscription_date_end=$this->db->jdate($obj->datef);
|
$this->first_subscription_date_end = $this->db->jdate($obj->datef);
|
||||||
$this->first_subscription_amount=$obj->subscription;
|
$this->first_subscription_amount = $obj->subscription;
|
||||||
}
|
}
|
||||||
$this->last_subscription_date=$this->db->jdate($obj->datec);
|
$this->last_subscription_date = $this->db->jdate($obj->datec);
|
||||||
$this->last_subscription_date_start=$this->db->jdate($obj->datef);
|
$this->last_subscription_date_start = $this->db->jdate($obj->dateh);
|
||||||
$this->last_subscription_date_end=$this->db->jdate($obj->datef);
|
$this->last_subscription_date_end = $this->db->jdate($obj->datef);
|
||||||
$this->last_subscription_amount=$obj->subscription;
|
$this->last_subscription_amount = $obj->subscription;
|
||||||
|
|
||||||
$subscription=new Subscription($this->db);
|
$subscription = new Subscription($this->db);
|
||||||
$subscription->id=$obj->rowid;
|
$subscription->id = $obj->rowid;
|
||||||
$subscription->fk_adherent=$obj->fk_adherent;
|
$subscription->fk_adherent = $obj->fk_adherent;
|
||||||
$subscription->amount=$obj->subscription;
|
$subscription->fk_type = $obj->fk_type;
|
||||||
$subscription->note=$obj->note;
|
$subscription->amount = $obj->subscription;
|
||||||
$subscription->fk_bank=$obj->fk_bank;
|
$subscription->note = $obj->note;
|
||||||
$subscription->datem=$this->db->jdate($obj->datem);
|
$subscription->fk_bank = $obj->fk_bank;
|
||||||
$subscription->datec=$this->db->jdate($obj->datec);
|
$subscription->datem = $this->db->jdate($obj->datem);
|
||||||
$subscription->dateh=$this->db->jdate($obj->dateh);
|
$subscription->datec = $this->db->jdate($obj->datec);
|
||||||
$subscription->datef=$this->db->jdate($obj->datef);
|
$subscription->dateh = $this->db->jdate($obj->dateh);
|
||||||
|
$subscription->datef = $this->db->jdate($obj->datef);
|
||||||
|
|
||||||
$this->subscriptions[]=$subscription;
|
$this->subscriptions[] = $subscription;
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@@ -1425,7 +1426,7 @@ class Adherent extends CommonObject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->error().' sql='.$sql;
|
$this->error = $this->db->error().' sql='.$sql;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2281,7 +2282,7 @@ class Adherent extends CommonObject
|
|||||||
$sql.= " WHERE a.fk_adherent_type = t.rowid";
|
$sql.= " WHERE a.fk_adherent_type = t.rowid";
|
||||||
$sql.= " AND a.statut = 1";
|
$sql.= " AND a.statut = 1";
|
||||||
$sql.= " AND a.entity IN (".getEntity('adherent').")";
|
$sql.= " AND a.entity IN (".getEntity('adherent').")";
|
||||||
$sql.= " AND ((a.datefin IS NULL or a.datefin < '".$this->db->idate($now)."') AND t.subscription = 1)";
|
$sql.= " AND ((a.datefin IS NULL or a.datefin < '".$this->db->idate($now)."') AND t.subscription = '1')";
|
||||||
|
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ $search_lastname = GETPOST("search_lastname", 'alpha');
|
|||||||
$search_firstname = GETPOST("search_firstname", 'alpha');
|
$search_firstname = GETPOST("search_firstname", 'alpha');
|
||||||
$search_gender = GETPOST("search_gender", 'alpha');
|
$search_gender = GETPOST("search_gender", 'alpha');
|
||||||
$search_civility = GETPOST("search_civility", 'alpha');
|
$search_civility = GETPOST("search_civility", 'alpha');
|
||||||
|
$search_company = GETPOST('search_company', 'alphanohtml');
|
||||||
$search_login = GETPOST("search_login", 'alpha');
|
$search_login = GETPOST("search_login", 'alpha');
|
||||||
$search_address = GETPOST("search_address", 'alpha');
|
$search_address = GETPOST("search_address", 'alpha');
|
||||||
$search_zip = GETPOST("search_zip", 'alpha');
|
$search_zip = GETPOST("search_zip", 'alpha');
|
||||||
@@ -254,6 +255,7 @@ $sql = "SELECT d.rowid, d.login, d.lastname, d.firstname, d.gender, d.societe as
|
|||||||
$sql .= " d.civility, d.datefin, d.address, d.zip, d.town, d.state_id, d.country,";
|
$sql .= " d.civility, d.datefin, d.address, d.zip, d.town, d.state_id, d.country,";
|
||||||
$sql .= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.skype, d.birth, d.public, d.photo,";
|
$sql .= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.skype, d.birth, d.public, d.photo,";
|
||||||
$sql .= " d.fk_adherent_type as type_id, d.morphy, d.statut, d.datec as date_creation, d.tms as date_update,";
|
$sql .= " d.fk_adherent_type as type_id, d.morphy, d.statut, d.datec as date_creation, d.tms as date_update,";
|
||||||
|
$sql .= " s.nom,";
|
||||||
$sql .= " t.libelle as type, t.subscription,";
|
$sql .= " t.libelle as type, t.subscription,";
|
||||||
$sql .= " state.code_departement as state_code, state.nom as state_name,";
|
$sql .= " state.code_departement as state_code, state.nom as state_name,";
|
||||||
// Add fields from extrafields
|
// Add fields from extrafields
|
||||||
@@ -269,6 +271,7 @@ if (is_array($extrafields->attributes[$object->table_element]['label']) && count
|
|||||||
if (!empty($search_categ) || !empty($catid)) $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_member as cm ON d.rowid = cm.fk_member"; // We need this table joined to the select in order to filter by categ
|
if (!empty($search_categ) || !empty($catid)) $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_member as cm ON d.rowid = cm.fk_member"; // We need this table joined to the select in order to filter by categ
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = d.country)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = d.country)";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = d.state_id)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = d.state_id)";
|
||||||
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on (s.rowid = d.fk_soc)";
|
||||||
$sql .= ", ".MAIN_DB_PREFIX."adherent_type as t";
|
$sql .= ", ".MAIN_DB_PREFIX."adherent_type as t";
|
||||||
$sql .= " WHERE d.fk_adherent_type = t.rowid ";
|
$sql .= " WHERE d.fk_adherent_type = t.rowid ";
|
||||||
if ($catid > 0) $sql .= " AND cm.fk_categorie = ".$db->escape($catid);
|
if ($catid > 0) $sql .= " AND cm.fk_categorie = ".$db->escape($catid);
|
||||||
@@ -289,6 +292,7 @@ if ($search_firstname) $sql .= natural_search("d.firstname", $search_firstname);
|
|||||||
if ($search_lastname) $sql .= natural_search(array("d.firstname", "d.lastname", "d.societe"), $search_lastname);
|
if ($search_lastname) $sql .= natural_search(array("d.firstname", "d.lastname", "d.societe"), $search_lastname);
|
||||||
if ($search_gender != '' && $search_gender != '-1') $sql .= " AND d.gender = '".$search_gender."'";
|
if ($search_gender != '' && $search_gender != '-1') $sql .= " AND d.gender = '".$search_gender."'";
|
||||||
if ($search_login) $sql .= natural_search("d.login", $search_login);
|
if ($search_login) $sql .= natural_search("d.login", $search_login);
|
||||||
|
if ($search_company) $sql .= natural_search("s.nom", $search_company);
|
||||||
if ($search_email) $sql .= natural_search("d.email", $search_email);
|
if ($search_email) $sql .= natural_search("d.email", $search_email);
|
||||||
if ($search_town) $sql .= natural_search("d.town", $search_town);
|
if ($search_town) $sql .= natural_search("d.town", $search_town);
|
||||||
if ($search_zip) $sql .= natural_search("d.zip", $search_zip);
|
if ($search_zip) $sql .= natural_search("d.zip", $search_zip);
|
||||||
@@ -853,7 +857,7 @@ while ($i < min($num, $limit))
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td class="nowrap left">';
|
print '<td class="nowrap left">';
|
||||||
if ($obj->subscription == 'yes')
|
if (!empty($obj->subscription))
|
||||||
{
|
{
|
||||||
print $langs->trans("SubscriptionNotReceived");
|
print $langs->trans("SubscriptionNotReceived");
|
||||||
if ($obj->statut > 0) print " ".img_warning();
|
if ($obj->statut > 0) print " ".img_warning();
|
||||||
@@ -868,7 +872,7 @@ while ($i < min($num, $limit))
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
// Date creation
|
// Date creation
|
||||||
|
|||||||
@@ -145,6 +145,8 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
|||||||
|
|
||||||
// Show filter box
|
// Show filter box
|
||||||
/*print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
/*print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
|
|
||||||
print '<table class="border centpercent">';
|
print '<table class="border centpercent">';
|
||||||
print '<tr class="liste_titre"><td class="liste_titre" colspan="2">'.$langs->trans("Filter").'</td></tr>';
|
print '<tr class="liste_titre"><td class="liste_titre" colspan="2">'.$langs->trans("Filter").'</td></tr>';
|
||||||
print '<tr><td>'.$langs->trans("Member").'</td><td>';
|
print '<tr><td>'.$langs->trans("Member").'</td><td>';
|
||||||
@@ -181,9 +183,9 @@ foreach ($data as $val)
|
|||||||
$oldyear--;
|
$oldyear--;
|
||||||
print '<tr class="oddeven" height="24">';
|
print '<tr class="oddeven" height="24">';
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print '<a href="month.php?year='.$oldyear.'&mode='.$mode.'">';
|
//print '<a href="month.php?year='.$oldyear.'&mode='.$mode.'">';
|
||||||
print $oldyear;
|
print $oldyear;
|
||||||
print '</a>';
|
//print '</a>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td class="right">0</td>';
|
print '<td class="right">0</td>';
|
||||||
print '<td class="right">0</td>';
|
print '<td class="right">0</td>';
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ $langs->loadLangs(array("members", "companies"));
|
|||||||
|
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
$massaction = GETPOST('massaction', 'alpha');
|
$massaction = GETPOST('massaction', 'alpha');
|
||||||
|
$contextpage = GETPOST('contextpage', 'aZ09');
|
||||||
$confirm = GETPOST('confirm', 'alpha');
|
$confirm = GETPOST('confirm', 'alpha');
|
||||||
$toselect = GETPOST('toselect', 'array');
|
$toselect = GETPOST('toselect', 'array');
|
||||||
|
|
||||||
@@ -116,7 +117,6 @@ if (empty($reshook))
|
|||||||
// Purge search criteria
|
// Purge search criteria
|
||||||
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
|
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 = "";
|
|
||||||
$search_type = "";
|
$search_type = "";
|
||||||
$search_ref = "";
|
$search_ref = "";
|
||||||
$search_lastname = "";
|
$search_lastname = "";
|
||||||
@@ -338,7 +338,7 @@ if (!empty($arrayfields['t.libelle']['checked']))
|
|||||||
if (!empty($arrayfields['d.bank']['checked']))
|
if (!empty($arrayfields['d.bank']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
$form->select_comptes($search_account, 'search_account', 0, '', 1);
|
$form->select_comptes($search_account, 'search_account', 0, '', 1, '', 0, 'maxwidth150');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -446,7 +446,7 @@ while ($i < min($num, $limit))
|
|||||||
// Type
|
// Type
|
||||||
if (!empty($arrayfields['d.fk_type']['checked']))
|
if (!empty($arrayfields['d.fk_type']['checked']))
|
||||||
{
|
{
|
||||||
print '<td>';
|
print '<td class="nowraponall">';
|
||||||
if ($typeid > 0)
|
if ($typeid > 0)
|
||||||
{
|
{
|
||||||
print $adht->getNomUrl(1);
|
print $adht->getNomUrl(1);
|
||||||
@@ -466,14 +466,14 @@ while ($i < min($num, $limit))
|
|||||||
// Firstname
|
// Firstname
|
||||||
if (!empty($arrayfields['d.firstname']['checked']))
|
if (!empty($arrayfields['d.firstname']['checked']))
|
||||||
{
|
{
|
||||||
print '<td>'.$adherent->firstname.'</td>';
|
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($adherent->firstname).'">'.$adherent->firstname.'</td>';
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Login
|
// Login
|
||||||
if (!empty($arrayfields['d.login']['checked']))
|
if (!empty($arrayfields['d.login']['checked']))
|
||||||
{
|
{
|
||||||
print '<td>'.$adherent->login.'</td>';
|
print '<td class="tdoverflowmax150" title="'.dol_escape_htmltag($adherent->login).'">'.$adherent->login.'</td>';
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -489,7 +489,7 @@ while ($i < min($num, $limit))
|
|||||||
// Banque
|
// Banque
|
||||||
if (!empty($arrayfields['d.bank']['checked']))
|
if (!empty($arrayfields['d.bank']['checked']))
|
||||||
{
|
{
|
||||||
print "<td>";
|
print '<td class="tdmaxoverflow150">';
|
||||||
if ($obj->fk_account > 0)
|
if ($obj->fk_account > 0)
|
||||||
{
|
{
|
||||||
$accountstatic->id = $obj->fk_account;
|
$accountstatic->id = $obj->fk_account;
|
||||||
@@ -524,7 +524,7 @@ while ($i < min($num, $limit))
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
// Date creation
|
// Date creation
|
||||||
|
|||||||
@@ -511,7 +511,7 @@ if ($rowid > 0)
|
|||||||
$sql .= " AND t.rowid = ".$object->id;
|
$sql .= " AND t.rowid = ".$object->id;
|
||||||
if ($sall)
|
if ($sall)
|
||||||
{
|
{
|
||||||
$sql .= natural_search(array("f.firstname", "d.lastname", "d.societe", "d.email", "d.login", "d.address", "d.town", "d.note_public", "d.note_private"), $sall);
|
$sql .= natural_search(array("d.firstname", "d.lastname", "d.societe", "d.email", "d.login", "d.address", "d.town", "d.note_public", "d.note_private"), $sall);
|
||||||
}
|
}
|
||||||
if ($status != '')
|
if ($status != '')
|
||||||
{
|
{
|
||||||
@@ -605,7 +605,7 @@ if ($rowid > 0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION ['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input class="flat" type="hidden" name="rowid" value="'.$object->id.'" size="12"></td>';
|
print '<input class="flat" type="hidden" name="rowid" value="'.$object->id.'" size="12"></td>';
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
@@ -710,7 +710,7 @@ if ($rowid > 0)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td class="nowrap left">';
|
print '<td class="nowrap left">';
|
||||||
if ($objp->subscription == 'yes')
|
if (!empty($objp->subscription))
|
||||||
{
|
{
|
||||||
print $langs->trans("SubscriptionNotReceived");
|
print $langs->trans("SubscriptionNotReceived");
|
||||||
if ($objp->statut > 0) print " ".img_warning();
|
if ($objp->statut > 0) print " ".img_warning();
|
||||||
|
|||||||
@@ -324,7 +324,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" name="agenda">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'" name="agenda">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . newToken() . '">';
|
||||||
print '<input type="hidden" name="action" value="set">';
|
print '<input type="hidden" name="action" value="set">';
|
||||||
|
|
||||||
print '<table class="noborder allwidth">'."\n";
|
print '<table class="noborder allwidth">'."\n";
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ $head=agenda_prepare_head();
|
|||||||
dol_fiche_head($head, 'reminders', $langs->trans("Agenda"), -1, 'action');
|
dol_fiche_head($head, 'reminders', $langs->trans("Agenda"), -1, 'action');
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" name="agenda">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'" name="agenda">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . newToken() . '">';
|
||||||
print '<input type="hidden" name="action" value="set">';
|
print '<input type="hidden" name="action" value="set">';
|
||||||
|
|
||||||
print '<table class="noborder allwidth">'."\n";
|
print '<table class="noborder allwidth">'."\n";
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ if (! empty($conf->global->CLICKTODIAL_URL))
|
|||||||
if (GETPOST('phonefortest')) $phonefortest=GETPOST('phonefortest');
|
if (GETPOST('phonefortest')) $phonefortest=GETPOST('phonefortest');
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . newToken() . '">';
|
||||||
print $langs->trans("LinkToTestClickToDial", $user->login).' : ';
|
print $langs->trans("LinkToTestClickToDial", $user->login).' : ';
|
||||||
print '<input class="flat" type="text" name="phonefortest" value="'.dol_escape_htmltag($phonefortest).'">';
|
print '<input class="flat" type="text" name="phonefortest" value="'.dol_escape_htmltag($phonefortest).'">';
|
||||||
print '<input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("RefreshPhoneLink")).'">';
|
print '<input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("RefreshPhoneLink")).'">';
|
||||||
|
|||||||
@@ -192,7 +192,8 @@ elseif ($action == 'set_ORDER_FREE_TEXT')
|
|||||||
{
|
{
|
||||||
setEventMessages($langs->trans("Error"), null, 'errors');
|
setEventMessages($langs->trans("Error"), null, 'errors');
|
||||||
}
|
}
|
||||||
} elseif ($action == "setshippableiconinlist") {
|
}
|
||||||
|
elseif ($action == "setshippableiconinlist") {
|
||||||
// Activate Set Shippable Icon In List
|
// Activate Set Shippable Icon In List
|
||||||
$setshippableiconinlist = GETPOST('value', 'int');
|
$setshippableiconinlist = GETPOST('value', 'int');
|
||||||
$res = dolibarr_set_const($db, "SHIPPABLE_ORDER_ICON_IN_LIST", $setshippableiconinlist, 'yesno', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, "SHIPPABLE_ORDER_ICON_IN_LIST", $setshippableiconinlist, 'yesno', 0, '', $conf->entity);
|
||||||
@@ -203,6 +204,25 @@ elseif ($action == 'set_ORDER_FREE_TEXT')
|
|||||||
setEventMessages($langs->trans("Error"), null, 'errors');
|
setEventMessages($langs->trans("Error"), null, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif ($action == 'setribchq')
|
||||||
|
{
|
||||||
|
$rib = GETPOST('rib', 'alpha');
|
||||||
|
$chq = GETPOST('chq', 'alpha');
|
||||||
|
|
||||||
|
$res = dolibarr_set_const($db, "FACTURE_RIB_NUMBER", $rib, 'chaine', 0, '', $conf->entity);
|
||||||
|
$res = dolibarr_set_const($db, "FACTURE_CHQ_NUMBER", $chq, 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
|
if (!$res > 0) $error++;
|
||||||
|
|
||||||
|
if (!$error)
|
||||||
|
{
|
||||||
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setEventMessages($langs->trans("Error"), null, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Activate ask for payment bank
|
// Activate ask for payment bank
|
||||||
elseif ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_ORDER')
|
elseif ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_ORDER')
|
||||||
@@ -514,7 +534,122 @@ foreach ($dirmodels as $reldir)
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print "<br>";
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Payment mode
|
||||||
|
*/
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInOrder"), '', '');
|
||||||
|
|
||||||
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||||
|
print '<input type="hidden" name="token" value="'.newToken().'" />';
|
||||||
|
|
||||||
|
print '<table class="noborder centpercent">';
|
||||||
|
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<td>';
|
||||||
|
print '<input type="hidden" name="action" value="setribchq">';
|
||||||
|
print $langs->trans("PaymentMode").'</td>';
|
||||||
|
print '<td align="right">';
|
||||||
|
if (empty($conf->facture->enabled)) {
|
||||||
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print "<td>".$langs->trans("SuggestPaymentByRIBOnAccount")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
if (empty($conf->facture->enabled))
|
||||||
|
{
|
||||||
|
if (!empty($conf->banque->enabled))
|
||||||
|
{
|
||||||
|
$sql = "SELECT rowid, label";
|
||||||
|
$sql .= " FROM ".MAIN_DB_PREFIX."bank_account";
|
||||||
|
$sql .= " WHERE clos = 0";
|
||||||
|
$sql .= " AND courant = 1";
|
||||||
|
$sql .= " AND entity IN (".getEntity('bank_account').")";
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows($resql);
|
||||||
|
$i = 0;
|
||||||
|
if ($num > 0)
|
||||||
|
{
|
||||||
|
print '<select name="rib" class="flat" id="rib">';
|
||||||
|
print '<option value="0">'.$langs->trans("DoNotSuggestPaymentMode").'</option>';
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$row = $db->fetch_row($resql);
|
||||||
|
|
||||||
|
print '<option value="'.$row[0].'"';
|
||||||
|
print $conf->global->FACTURE_RIB_NUMBER == $row[0] ? ' selected' : '';
|
||||||
|
print '>'.$row[1].'</option>';
|
||||||
|
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
print "</select>";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "<i>".$langs->trans("NoActiveBankAccountDefined")."</i>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("BankModuleNotActive").'</span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("SeeSetupOfModule", $langs->transnoentitiesnoconv("Module30Name")).'</span>';
|
||||||
|
}
|
||||||
|
print "</td></tr>";
|
||||||
|
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print "<td>".$langs->trans("SuggestPaymentByChequeToAddress")."</td>";
|
||||||
|
print "<td>";
|
||||||
|
if (empty($conf->facture->enabled))
|
||||||
|
{
|
||||||
|
print '<select class="flat" name="chq" id="chq">';
|
||||||
|
print '<option value="0">'.$langs->trans("DoNotSuggestPaymentMode").'</option>';
|
||||||
|
print '<option value="-1"'.($conf->global->FACTURE_CHQ_NUMBER ? ' selected' : '').'>'.$langs->trans("MenuCompanySetup").' ('.($mysoc->name ? $mysoc->name : $langs->trans("NotDefined")).')</option>';
|
||||||
|
|
||||||
|
$sql = "SELECT rowid, label";
|
||||||
|
$sql .= " FROM ".MAIN_DB_PREFIX."bank_account";
|
||||||
|
$sql .= " WHERE clos = 0";
|
||||||
|
$sql .= " AND courant = 1";
|
||||||
|
$sql .= " AND entity IN (".getEntity('bank_account').")";
|
||||||
|
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows($resql);
|
||||||
|
$i = 0;
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$row = $db->fetch_row($resql);
|
||||||
|
|
||||||
|
print '<option value="'.$row[0].'"';
|
||||||
|
print $conf->global->FACTURE_CHQ_NUMBER == $row[0] ? ' selected' : '';
|
||||||
|
print '>'.$langs->trans("OwnerOfBankAccount", $row[1]).'</option>';
|
||||||
|
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print "</select>";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("SeeSetupOfModule", $langs->transnoentitiesnoconv("Module30Name")).'</span>';
|
||||||
|
}
|
||||||
|
print "</td></tr>";
|
||||||
|
print "</table>";
|
||||||
|
print "</form>";
|
||||||
|
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Other options
|
* Other options
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ if (!$user->admin) accessforbidden();
|
|||||||
|
|
||||||
$id = GETPOST('rowid', 'int');
|
$id = GETPOST('rowid', 'int');
|
||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
|
$optioncss = GETPOST('optionscss', 'alphanohtml');
|
||||||
|
|
||||||
$mode = GETPOST('mode', 'aZ09') ?GETPOST('mode', 'aZ09') : 'createform'; // 'createform', 'filters', 'sortorder', 'focus'
|
$mode = GETPOST('mode', 'aZ09') ?GETPOST('mode', 'aZ09') : 'createform'; // 'createform', 'filters', 'sortorder', 'focus'
|
||||||
|
|
||||||
@@ -212,10 +213,10 @@ print "<br>\n";
|
|||||||
|
|
||||||
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
||||||
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
||||||
if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss);
|
if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss);
|
||||||
if ($defaulturl) $param .= '&defaulturl='.urlencode($defaulturl);
|
if ($defaulturl) $param .= '&defaulturl='.urlencode($defaulturl);
|
||||||
if ($defaultkey) $param .= '&defaultkey='.urlencode($defaultkey);
|
if ($defaultkey) $param .= '&defaultkey='.urlencode($defaultkey);
|
||||||
if ($defaultvalue) $param .= '&defaultvalue='.urlencode($defaultvalue);
|
if ($defaultvalue) $param .= '&defaultvalue='.urlencode($defaultvalue);
|
||||||
|
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug) ? '?debug=1' : '').'" method="POST">';
|
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug) ? '?debug=1' : '').'" method="POST">';
|
||||||
@@ -252,7 +253,7 @@ $texthelp = $langs->trans("PageUrlForDefaultValues");
|
|||||||
if ($mode == 'createform') $texthelp .= $langs->trans("PageUrlForDefaultValuesCreate", 'societe/card.php', 'societe/card.php?abc=val1&def=val2');
|
if ($mode == 'createform') $texthelp .= $langs->trans("PageUrlForDefaultValuesCreate", 'societe/card.php', 'societe/card.php?abc=val1&def=val2');
|
||||||
else $texthelp .= $langs->trans("PageUrlForDefaultValuesList", 'societe/list.php', 'societe/list.php?abc=val1&def=val2');
|
else $texthelp .= $langs->trans("PageUrlForDefaultValuesList", 'societe/list.php', 'societe/list.php?abc=val1&def=val2');
|
||||||
$texthelp .= '<br><br>'.$langs->trans("AlsoDefaultValuesAreEffectiveForActionCreate");
|
$texthelp .= '<br><br>'.$langs->trans("AlsoDefaultValuesAreEffectiveForActionCreate");
|
||||||
$texturl = $form->textwithpicto($langs->trans("Url"), $texthelp);
|
$texturl = $form->textwithpicto($langs->trans("RelativeURL"), $texthelp);
|
||||||
print_liste_field_titre($texturl, $_SERVER["PHP_SELF"], 'page,param', '', $param, '', $sortfield, $sortorder);
|
print_liste_field_titre($texturl, $_SERVER["PHP_SELF"], 'page,param', '', $param, '', $sortfield, $sortorder);
|
||||||
// Field
|
// Field
|
||||||
$texthelp = $langs->trans("TheKeyIsTheNameOfHtmlField");
|
$texthelp = $langs->trans("TheKeyIsTheNameOfHtmlField");
|
||||||
|
|||||||
@@ -644,6 +644,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
|
|||||||
if ($value == 'localtax2' && empty($_POST['localtax2_type'])) continue;
|
if ($value == 'localtax2' && empty($_POST['localtax2_type'])) continue;
|
||||||
if ($value == 'color' && empty($_POST['color'])) continue;
|
if ($value == 'color' && empty($_POST['color'])) continue;
|
||||||
if ($value == 'formula' && empty($_POST['formula'])) continue;
|
if ($value == 'formula' && empty($_POST['formula'])) continue;
|
||||||
|
if ($value == 'dayrule' && empty($_POST['dayrule'])) continue;
|
||||||
if ($value == 'sortorder') continue; // For a column name 'sortorder', we use the field name 'position'
|
if ($value == 'sortorder') continue; // For a column name 'sortorder', we use the field name 'position'
|
||||||
if ((!isset($_POST[$value]) || $_POST[$value] == '')
|
if ((!isset($_POST[$value]) || $_POST[$value] == '')
|
||||||
&& (!in_array($listfield[$f], array('decalage', 'module', 'accountancy_code', 'accountancy_code_sell', 'accountancy_code_buy', 'tracking')) // Fields that are not mandatory
|
&& (!in_array($listfield[$f], array('decalage', 'module', 'accountancy_code', 'accountancy_code_sell', 'accountancy_code_buy', 'tracking')) // Fields that are not mandatory
|
||||||
@@ -776,7 +777,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
|
|||||||
elseif (in_array($keycode, array('joinfile', 'private', 'position', 'scale'))) {
|
elseif (in_array($keycode, array('joinfile', 'private', 'position', 'scale'))) {
|
||||||
$sql .= (int) GETPOST($keycode, 'int');
|
$sql .= (int) GETPOST($keycode, 'int');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'";
|
$sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2017 Oscss-Shop <support@oscss-shop.fr>.
|
/* Copyright (C) 2017 Oscss-Shop <support@oscss-shop.fr>.
|
||||||
* Copyright (C) 2008-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2008-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modifyion 2.0 (the "License");
|
* This program is free software; you can redistribute it and/or modifyion 2.0 (the "License");
|
||||||
* it under the terms of the GNU General Public License as published bypliance with the License.
|
* it under the terms of the GNU General Public License as published bypliance with the License.
|
||||||
@@ -17,6 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('REQUIRE_JQUERY_BLOCKUI')) define('REQUIRE_JQUERY_BLOCKUI', 1);
|
if (!defined('REQUIRE_JQUERY_BLOCKUI')) define('REQUIRE_JQUERY_BLOCKUI', 1);
|
||||||
|
if (!defined('NOTOKENRENEWAL')) {
|
||||||
|
define('NOTOKENRENEWAL', 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ while ($i < min($num, $limit))
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
// Action column
|
// Action column
|
||||||
|
|||||||
@@ -640,7 +640,7 @@ if(!empty($conf->global->INVOICE_USE_DEFAULT_DOCUMENT)) // Hidden conf
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Modes de reglement
|
* Payment modes
|
||||||
*/
|
*/
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice"), '', '');
|
print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice"), '', '');
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ else
|
|||||||
print '<br>'."\n";
|
print '<br>'."\n";
|
||||||
|
|
||||||
print '<form name="formtest" method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
|
print '<form name="formtest" method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . newToken() . '">';
|
||||||
|
|
||||||
// Skins
|
// Skins
|
||||||
show_skin(null, 1);
|
show_skin(null, 1);
|
||||||
|
|||||||
@@ -154,9 +154,9 @@ if ($action == 'update')
|
|||||||
//dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", GETPOST("MAIN_DISABLE_JAVASCRIPT", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
//dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", GETPOST("MAIN_DISABLE_JAVASCRIPT", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", GETPOST("MAIN_BUTTON_HIDE_UNAUTHORIZED", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", GETPOST("MAIN_BUTTON_HIDE_UNAUTHORIZED", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_START_WEEK", GETPOST("MAIN_START_WEEK", 'int'), 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_START_WEEK", GETPOST("MAIN_START_WEEK", 'int'), 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", GETPOST("MAIN_DEFAULT_WORKING_DAYS", 'int'), 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", GETPOST("MAIN_DEFAULT_WORKING_DAYS", 'alpha'), 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", GETPOST("MAIN_DEFAULT_WORKING_HOURS", 'int'), 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", GETPOST("MAIN_DEFAULT_WORKING_HOURS", 'alpha'), 'chaine', 0, '', $conf->entity);
|
||||||
//dolibarr_set_const($db, "MAIN_SHOW_LOGO", GETPOST("MAIN_SHOW_LOGO", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_SHOW_LOGO", GETPOST("MAIN_SHOW_LOGO", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", GETPOST("MAIN_FIRSTNAME_NAME_POSITION", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", GETPOST("MAIN_FIRSTNAME_NAME_POSITION", 'aZ09'), 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
dolibarr_set_const($db, "MAIN_HELPCENTER_DISABLELINK", GETPOST('MAIN_HELPCENTER_DISABLELINK', 'aZ09'), 'chaine', 0, '', 0); // Param for all entities
|
dolibarr_set_const($db, "MAIN_HELPCENTER_DISABLELINK", GETPOST('MAIN_HELPCENTER_DISABLELINK', 'aZ09'), 'chaine', 0, '', 0); // Param for all entities
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2006-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2006-2020 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2011-2013 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011-2013 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
/**
|
/**
|
||||||
* \file htdocs/admin/ldap.php
|
* \file htdocs/admin/ldap.php
|
||||||
* \ingroup ldap
|
* \ingroup ldap
|
||||||
* \brief Page d'administration/configuration du module Ldap
|
* \brief Page to setup module LDAP
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../main.inc.php';
|
require '../main.inc.php';
|
||||||
@@ -57,19 +57,19 @@ if (empty($reshook))
|
|||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
$db->begin();
|
$db->begin();
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SERVER_TYPE', GETPOST("type"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SERVER_TYPE', GETPOST("type", 'aZ09'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SERVER_PROTOCOLVERSION', GETPOST("LDAP_SERVER_PROTOCOLVERSION"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SERVER_PROTOCOLVERSION', GETPOST("LDAP_SERVER_PROTOCOLVERSION", 'aZ09'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SERVER_HOST', GETPOST("host"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SERVER_HOST', GETPOST("host", 'alphanohtml'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SERVER_HOST_SLAVE', GETPOST("slave"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SERVER_HOST_SLAVE', GETPOST("slave", 'alphanohtml'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SERVER_PORT', GETPOST("port"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SERVER_PORT', GETPOST("port", 'int'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SERVER_DN', GETPOST("dn"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SERVER_DN', GETPOST("dn", 'alphanohtml'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_ADMIN_DN', GETPOST("admin"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_ADMIN_DN', GETPOST("admin", 'alphanohtml'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_ADMIN_PASS', GETPOST("pass"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_ADMIN_PASS', GETPOST("pass", 'none'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SERVER_USE_TLS', GETPOST("usetls"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SERVER_USE_TLS', GETPOST("usetls", 'aZ09'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_SYNCHRO_ACTIVE', GETPOST("activesynchro"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_SYNCHRO_ACTIVE', GETPOST("activesynchro", 'aZ09'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_CONTACT_ACTIVE', GETPOST("activecontact"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_CONTACT_ACTIVE', GETPOST("activecontact", 'aZ09'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_MEMBER_ACTIVE', GETPOST("activemembers"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_MEMBER_ACTIVE', GETPOST("activemembers", 'aZ09'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
if (! dolibarr_set_const($db, 'LDAP_MEMBER_TYPE_ACTIVE', GETPOST("activememberstypes"), 'chaine', 0, '', $conf->entity)) $error++;
|
if (! dolibarr_set_const($db, 'LDAP_MEMBER_TYPE_ACTIVE', GETPOST("activememberstypes", 'aZ09'), 'chaine', 0, '', $conf->entity)) $error++;
|
||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ $triggersendname = ''; // Disable triggers
|
|||||||
$paramname = 'id';
|
$paramname = 'id';
|
||||||
$mode = 'emailfortest';
|
$mode = 'emailfortest';
|
||||||
$trackid = (($action == 'testhtml') ? "testhtml" : "test");
|
$trackid = (($action == 'testhtml') ? "testhtml" : "test");
|
||||||
|
$sendcontext='';
|
||||||
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
|
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
|
||||||
|
|
||||||
if ($action == 'presend' && GETPOST('trackid', 'alphanohtml') == 'test') $action = 'test';
|
if ($action == 'presend' && GETPOST('trackid', 'alphanohtml') == 'test') $action = 'test';
|
||||||
@@ -718,7 +719,7 @@ else
|
|||||||
{
|
{
|
||||||
if (function_exists('fsockopen') && $port && $server)
|
if (function_exists('fsockopen') && $port && $server)
|
||||||
{
|
{
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=testconnect#formmailbeforetitle">'.$langs->trans("DoTestServerAvailability").'</a>';
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=testconnect&date='.dol_now().'#formmailbeforetitle">'.$langs->trans("DoTestServerAvailability").'</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -788,10 +789,11 @@ else
|
|||||||
// Run the test to connect
|
// Run the test to connect
|
||||||
if ($action == 'testconnect')
|
if ($action == 'testconnect')
|
||||||
{
|
{
|
||||||
|
print '<div id="formmailaftertstconnect" name="formmailaftertstconnect"></div>';
|
||||||
print load_fiche_titre($langs->trans("DoTestServerAvailability"));
|
print load_fiche_titre($langs->trans("DoTestServerAvailability"));
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
||||||
$mail = new CMailFile('', '', '', '');
|
$mail = new CMailFile('', '', '', '', array(), array(), array(), '', '', 0, '', '', '', '', $trackid, $sendcontext);
|
||||||
$result = $mail->check_server_port($server, $port);
|
$result = $mail->check_server_port($server, $port);
|
||||||
if ($result) print '<div class="ok">'.$langs->trans("ServerAvailableOnIPOrPort", $server, $port).'</div>';
|
if ($result) print '<div class="ok">'.$langs->trans("ServerAvailableOnIPOrPort", $server, $port).'</div>';
|
||||||
else
|
else
|
||||||
@@ -803,6 +805,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
setEventMessages($errormsg, null, 'errors');
|
setEventMessages($errormsg, null, 'errors');
|
||||||
|
print $errormsg;
|
||||||
}
|
}
|
||||||
print '<br>';
|
print '<br>';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -535,8 +535,9 @@ else
|
|||||||
print load_fiche_titre($langs->trans("DoTestServerAvailability"));
|
print load_fiche_titre($langs->trans("DoTestServerAvailability"));
|
||||||
|
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
||||||
$mail = new CMailFile('', '', '', '');
|
$mail = new CMailFile('', '', '', '', array(), array(), array(), '', '', 0, '', '', '', '', $trackid, $sendcontext);
|
||||||
$result=$mail->check_server_port($server, $port);
|
|
||||||
|
$result = $mail->check_server_port($server, $port);
|
||||||
if ($result) print '<div class="ok">'.$langs->trans("ServerAvailableOnIPOrPort", $server, $port).'</div>';
|
if ($result) print '<div class="ok">'.$langs->trans("ServerAvailableOnIPOrPort", $server, $port).'</div>';
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ if ($conf->societe->enabled) $elementList['thirdparty'] = $langs->tran
|
|||||||
if ($conf->adherent->enabled) $elementList['member'] = $langs->trans('MailToMember');
|
if ($conf->adherent->enabled) $elementList['member'] = $langs->trans('MailToMember');
|
||||||
if ($conf->contrat->enabled) $elementList['contract'] = $langs->trans('MailToSendContract');
|
if ($conf->contrat->enabled) $elementList['contract'] = $langs->trans('MailToSendContract');
|
||||||
if ($conf->projet->enabled) $elementList['project'] = $langs->trans('MailToProject');
|
if ($conf->projet->enabled) $elementList['project'] = $langs->trans('MailToProject');
|
||||||
|
if ($conf->ticket->enabled) $elementList['ticket_send'] = $langs->trans('MailToTicket');
|
||||||
$elementList['user'] = $langs->trans('MailToUser');
|
$elementList['user'] = $langs->trans('MailToUser');
|
||||||
|
|
||||||
$parameters = array('elementList'=>$elementList);
|
$parameters = array('elementList'=>$elementList);
|
||||||
@@ -256,7 +257,7 @@ if (empty($reshook))
|
|||||||
$sql = "INSERT INTO ".$tabname[$id]." (";
|
$sql = "INSERT INTO ".$tabname[$id]." (";
|
||||||
// List of fields
|
// List of fields
|
||||||
$sql .= $tabfieldinsert[$id];
|
$sql .= $tabfieldinsert[$id];
|
||||||
$sql .= ",active)";
|
$sql .= ",active,enabled)";
|
||||||
$sql .= " VALUES(";
|
$sql .= " VALUES(";
|
||||||
|
|
||||||
// List of values
|
// List of values
|
||||||
@@ -288,7 +289,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$sql .= ", 1)";
|
$sql .= ", 1, 1)";
|
||||||
|
|
||||||
dol_syslog("actionadd", LOG_DEBUG);
|
dol_syslog("actionadd", LOG_DEBUG);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ if ($action == 'install')
|
|||||||
|
|
||||||
// $original_file should match format module_modulename-x.y[.z].zip
|
// $original_file should match format module_modulename-x.y[.z].zip
|
||||||
$original_file = basename($_FILES["fileinstall"]["name"]);
|
$original_file = basename($_FILES["fileinstall"]["name"]);
|
||||||
|
$original_file = preg_replace('/\(\d+\)\.zip$/i', '.zip', $original_file);
|
||||||
$newfile = $conf->admin->dir_temp.'/'.$original_file.'/'.$original_file;
|
$newfile = $conf->admin->dir_temp.'/'.$original_file.'/'.$original_file;
|
||||||
|
|
||||||
if (!$original_file)
|
if (!$original_file)
|
||||||
@@ -930,7 +931,7 @@ if ($mode == 'marketplace')
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
<form method="POST" class="centpercent" id="searchFormList" action="<?php echo $dolistore->url ?>">
|
<form method="POST" class="centpercent" id="searchFormList" action="<?php echo $dolistore->url ?>">
|
||||||
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken'] ?>">
|
<input type="hidden" name="token" value="<?php echo newToken(); ?>">
|
||||||
<input type="hidden" name="mode" value="marketplace">
|
<input type="hidden" name="mode" value="marketplace">
|
||||||
<div class="divsearchfield"><?php echo $langs->trans('Keyword') ?>:
|
<div class="divsearchfield"><?php echo $langs->trans('Keyword') ?>:
|
||||||
<input name="search_keyword" placeholder="<?php echo $langs->trans('Chercher un module') ?>" id="search_keyword" type="text" size="50" value="<?php echo $options['search'] ?>"><br>
|
<input name="search_keyword" placeholder="<?php echo $langs->trans('Chercher un module') ?>" id="search_keyword" type="text" size="50" value="<?php echo $options['search'] ?>"><br>
|
||||||
|
|||||||
@@ -74,35 +74,31 @@ if ($action == "set")
|
|||||||
else $error++;
|
else $error++;
|
||||||
|
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_ICS", GETPOST("PRELEVEMENT_ICS"), 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, "PRELEVEMENT_ICS", GETPOST("PRELEVEMENT_ICS"), 'chaine', 0, '', $conf->entity);
|
||||||
if (! $res > 0) $error++;
|
if (! ($res > 0)) $error++;
|
||||||
|
|
||||||
if (GETPOST("PRELEVEMENT_USER") > 0)
|
if (GETPOST("PRELEVEMENT_USER") > 0)
|
||||||
{
|
{
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_USER", GETPOST("PRELEVEMENT_USER"), 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, "PRELEVEMENT_USER", GETPOST("PRELEVEMENT_USER"), 'chaine', 0, '', $conf->entity);
|
||||||
if (! $res > 0) $error++;
|
if (! ($res > 0)) $error++;
|
||||||
}
|
}
|
||||||
if (GETPOST("PRELEVEMENT_END_TO_END") || GETPOST("PRELEVEMENT_END_TO_END")=="")
|
if (GETPOST("PRELEVEMENT_END_TO_END") || GETPOST("PRELEVEMENT_END_TO_END")=="")
|
||||||
{
|
{
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_END_TO_END", GETPOST("PRELEVEMENT_END_TO_END"), 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, "PRELEVEMENT_END_TO_END", GETPOST("PRELEVEMENT_END_TO_END"), 'chaine', 0, '', $conf->entity);
|
||||||
if (! $res > 0) $error++;
|
if (! ($res > 0)) $error++;
|
||||||
}
|
}
|
||||||
if (GETPOST("PRELEVEMENT_USTRD") || GETPOST("PRELEVEMENT_USTRD")=="")
|
if (GETPOST("PRELEVEMENT_USTRD") || GETPOST("PRELEVEMENT_USTRD")=="")
|
||||||
{
|
{
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_USTRD", GETPOST("PRELEVEMENT_USTRD"), 'chaine', 0, '', $conf->entity);
|
$res = dolibarr_set_const($db, "PRELEVEMENT_USTRD", GETPOST("PRELEVEMENT_USTRD"), 'chaine', 0, '', $conf->entity);
|
||||||
if (! $res > 0) $error++;
|
if (! ($res > 0)) $error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GETPOST("PRELEVEMENT_ADDDAYS") || GETPOST("PRELEVEMENT_ADDDAYS")=="")
|
$res = dolibarr_set_const($db, "PRELEVEMENT_ADDDAYS", GETPOST("PRELEVEMENT_ADDDAYS"), 'chaine', 0, '', $conf->entity);
|
||||||
{
|
if (! ($res > 0)) $error++;
|
||||||
$res = dolibarr_set_const($db, "PRELEVEMENT_ADDDAYS", GETPOST("PRELEVEMENT_ADDDAYS"), 'chaine', 0, '', $conf->entity);
|
|
||||||
if (! $res > 0) $error++;
|
if (! $error) {
|
||||||
} elseif (! $error)
|
|
||||||
{
|
|
||||||
$db->commit();
|
$db->commit();
|
||||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
setEventMessages($langs->trans("Error"), null, 'errors');
|
setEventMessages($langs->trans("Error"), null, 'errors');
|
||||||
}
|
}
|
||||||
@@ -251,9 +247,10 @@ print '</td></tr>';
|
|||||||
//ADDDAYS
|
//ADDDAYS
|
||||||
print '<tr class="pair"><td>'.$langs->trans("ADDDAYS").'</td>';
|
print '<tr class="pair"><td>'.$langs->trans("ADDDAYS").'</td>';
|
||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
if (! $conf->global->PRELEVEMENT_ADDDAYS) $conf->global->PRELEVEMENT_ADDDAYS=0;
|
if (empty($conf->global->PRELEVEMENT_ADDDAYS)) $conf->global->PRELEVEMENT_ADDDAYS=0;
|
||||||
print '<input type="text" name="PRELEVEMENT_ADDDAYS" value="'.$conf->global->PRELEVEMENT_ADDDAYS.'" size="15" ></td>';
|
print '<input type="text" name="PRELEVEMENT_ADDDAYS" value="'.$conf->global->PRELEVEMENT_ADDDAYS.'" size="15" ></td>';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|||||||
@@ -512,29 +512,35 @@ foreach ($dirmodels as $reldir)
|
|||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Payment mode
|
* Payment mode
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInProposal"), '', '');
|
||||||
|
|
||||||
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||||
|
print '<input type="hidden" name="token" value="'.newToken().'" />';
|
||||||
|
|
||||||
|
print '<table class="noborder centpercent">';
|
||||||
|
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<td>';
|
||||||
|
print '<input type="hidden" name="action" value="setribchq">';
|
||||||
|
print $langs->trans("PaymentMode").'</td>';
|
||||||
|
print '<td align="right">';
|
||||||
|
if (empty($conf->facture->enabled)) {
|
||||||
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||||
|
}
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print "<td>".$langs->trans("SuggestPaymentByRIBOnAccount")."</td>";
|
||||||
|
print "<td>";
|
||||||
if (empty($conf->facture->enabled))
|
if (empty($conf->facture->enabled))
|
||||||
{
|
{
|
||||||
print '<br>';
|
|
||||||
print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInProposal"), '', '');
|
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'" />';
|
|
||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
print '<td>';
|
|
||||||
print '<input type="hidden" name="action" value="setribchq">';
|
|
||||||
print $langs->trans("PaymentMode").'</td>';
|
|
||||||
print '<td align="right"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
|
||||||
print "<td>".$langs->trans("SuggestPaymentByRIBOnAccount")."</td>";
|
|
||||||
print "<td>";
|
|
||||||
if (!empty($conf->banque->enabled))
|
if (!empty($conf->banque->enabled))
|
||||||
{
|
{
|
||||||
$sql = "SELECT rowid, label";
|
$sql = "SELECT rowid, label";
|
||||||
@@ -571,13 +577,19 @@ if (empty($conf->facture->enabled))
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print $langs->trans("BankModuleNotActive");
|
print '<span class="opacitymedium">'.$langs->trans("BankModuleNotActive").'</span>';
|
||||||
}
|
}
|
||||||
print "</td></tr>";
|
}
|
||||||
|
else {
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("SeeSetupOfModule", $langs->transnoentitiesnoconv("Module30Name")).'</span>';
|
||||||
|
}
|
||||||
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print "<td>".$langs->trans("SuggestPaymentByChequeToAddress")."</td>";
|
print "<td>".$langs->trans("SuggestPaymentByChequeToAddress")."</td>";
|
||||||
print "<td>";
|
print "<td>";
|
||||||
|
if (empty($conf->facture->enabled))
|
||||||
|
{
|
||||||
print '<select class="flat" name="chq" id="chq">';
|
print '<select class="flat" name="chq" id="chq">';
|
||||||
print '<option value="0">'.$langs->trans("DoNotSuggestPaymentMode").'</option>';
|
print '<option value="0">'.$langs->trans("DoNotSuggestPaymentMode").'</option>';
|
||||||
print '<option value="-1"'.($conf->global->FACTURE_CHQ_NUMBER ? ' selected' : '').'>'.$langs->trans("MenuCompanySetup").' ('.($mysoc->name ? $mysoc->name : $langs->trans("NotDefined")).')</option>';
|
print '<option value="-1"'.($conf->global->FACTURE_CHQ_NUMBER ? ' selected' : '').'>'.$langs->trans("MenuCompanySetup").' ('.($mysoc->name ? $mysoc->name : $langs->trans("NotDefined")).')</option>';
|
||||||
@@ -605,10 +617,14 @@ if (empty($conf->facture->enabled))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "</select>";
|
print "</select>";
|
||||||
print "</td></tr>";
|
|
||||||
print "</table>";
|
|
||||||
print "</form>";
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("SeeSetupOfModule", $langs->transnoentitiesnoconv("Module30Name")).'</span>';
|
||||||
|
}
|
||||||
|
print "</td></tr>";
|
||||||
|
print "</table>";
|
||||||
|
print "</form>";
|
||||||
|
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|||||||
@@ -41,12 +41,31 @@ $action = GETPOST('action', 'alpha');
|
|||||||
/*
|
/*
|
||||||
* Action
|
* Action
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$reg = array();
|
||||||
|
|
||||||
if (preg_match('/set_([a-z0-9_\-]+)/i', $action, $reg))
|
if (preg_match('/set_([a-z0-9_\-]+)/i', $action, $reg))
|
||||||
{
|
{
|
||||||
$code=$reg[1];
|
$code=$reg[1];
|
||||||
|
|
||||||
|
// If constant is for a unique choice, delete other choices
|
||||||
|
if (in_array($code, array('STOCK_CALCULATE_ON_BILL', 'STOCK_CALCULATE_ON_VALIDATE_ORDER', 'STOCK_CALCULATE_ON_SHIPMENT', 'STOCK_CALCULATE_ON_SHIPMENT_CLOSE'))) {
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_BILL', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_VALIDATE_ORDER', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SHIPMENT', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SHIPMENT_CLOSE', $conf->entity);
|
||||||
|
}
|
||||||
|
if (in_array($code, array('STOCK_CALCULATE_ON_SUPPLIER_BILL', 'STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER', 'STOCK_CALCULATE_ON_RECEPTION', 'STOCK_CALCULATE_ON_RECEPTION_CLOSE', 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER'))) {
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SUPPLIER_BILL', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_RECEPTION', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_RECEPTION_CLOSE', $conf->entity);
|
||||||
|
dolibarr_del_const($db, 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER', $conf->entity);
|
||||||
|
}
|
||||||
|
|
||||||
if (dolibarr_set_const($db, $code, 1, 'chaine', 0, '', $conf->entity) > 0)
|
if (dolibarr_set_const($db, $code, 1, 'chaine', 0, '', $conf->entity) > 0)
|
||||||
{
|
{
|
||||||
header("Location: ".$_SERVER["PHP_SELF"]);
|
header("Location: ".$_SERVER["PHP_SELF"]);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -114,7 +133,7 @@ print '<td class="right">';
|
|||||||
if (! empty($conf->facture->enabled))
|
if (! empty($conf->facture->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_BILL');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_BILL', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_BILL);
|
print $form->selectarray("STOCK_CALCULATE_ON_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_BILL);
|
||||||
@@ -134,7 +153,7 @@ print '<td class="right">';
|
|||||||
if (! empty($conf->commande->enabled))
|
if (! empty($conf->commande->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_VALIDATE_ORDER');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_VALIDATE_ORDER', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER);
|
print $form->selectarray("STOCK_CALCULATE_ON_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER);
|
||||||
@@ -156,7 +175,7 @@ print '<td class="right">';
|
|||||||
if (! empty($conf->expedition->enabled))
|
if (! empty($conf->expedition->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT);
|
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT);
|
||||||
@@ -176,7 +195,7 @@ print '<td class="right">';
|
|||||||
if (! empty($conf->expedition->enabled))
|
if (! empty($conf->expedition->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT_CLOSE');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SHIPMENT_CLOSE', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE);
|
print $form->selectarray("STOCK_CALCULATE_ON_SHIPMENT_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE);
|
||||||
@@ -189,18 +208,12 @@ else
|
|||||||
print "</td>\n</tr>\n";
|
print "</td>\n</tr>\n";
|
||||||
$found++;
|
$found++;
|
||||||
|
|
||||||
/*if (! $found)
|
|
||||||
{
|
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
|
||||||
print '<td colspan="2">'.$langs->trans("NoModuleToManageStockDecrease").'</td>';
|
|
||||||
print "</tr>\n";
|
|
||||||
}*/
|
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|
||||||
// Title rule for stock increase
|
// Title rule for stock increase
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
@@ -216,7 +229,7 @@ print '<td class="right">';
|
|||||||
if (! empty($conf->fournisseur->enabled))
|
if (! empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_BILL');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_BILL', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL);
|
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_BILL", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL);
|
||||||
@@ -237,7 +250,7 @@ print '<td class="right">';
|
|||||||
if (! empty($conf->fournisseur->enabled))
|
if (! empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER);
|
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER);
|
||||||
@@ -257,7 +270,7 @@ if (!empty($conf->reception->enabled))
|
|||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
|
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION);
|
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION);
|
||||||
@@ -272,7 +285,7 @@ if (!empty($conf->reception->enabled))
|
|||||||
print '<td class="right">';
|
print '<td class="right">';
|
||||||
|
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION_CLOSE');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_RECEPTION_CLOSE', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION_CLOSE);
|
print $form->selectarray("STOCK_CALCULATE_ON_RECEPTION_CLOSE", $arrval, $conf->global->STOCK_CALCULATE_ON_RECEPTION_CLOSE);
|
||||||
@@ -288,7 +301,7 @@ else
|
|||||||
if (! empty($conf->fournisseur->enabled))
|
if (! empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER');
|
print ajax_constantonoff('STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER', array(), null, 0, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
||||||
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER);
|
print $form->selectarray("STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", $arrval, $conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER);
|
||||||
|
|||||||
@@ -200,7 +200,6 @@ if (in_array($type, array('mysql', 'mysqli'))) {
|
|||||||
print '<div class="formelementrow">';
|
print '<div class="formelementrow">';
|
||||||
print '<input type="checkbox" name="use_transaction" value="yes" id="checkbox_use_transaction" />';
|
print '<input type="checkbox" name="use_transaction" value="yes" id="checkbox_use_transaction" />';
|
||||||
print '<label for="checkbox_use_transaction">'.$langs->trans("UseTransactionnalMode").'</label>';
|
print '<label for="checkbox_use_transaction">'.$langs->trans("UseTransactionnalMode").'</label>';
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
if (! empty($conf->global->MYSQL_OLD_OPTION_DISABLE_FK)) {
|
if (! empty($conf->global->MYSQL_OLD_OPTION_DISABLE_FK)) {
|
||||||
@@ -303,7 +302,7 @@ if (in_array($type, array('mysql', 'mysqli'))) {
|
|||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '<fieldset><legend>'.$langs->trans('ExportStructure').'</legend>';
|
print '<fieldset><legend>'.$langs->trans('ExportStructure').'</legend>';
|
||||||
print '<input type="checkbox" name="nobin_drop"'.((! isset($_GET["nobin_drop"]) && ! isset($_POST["nobin_drop"])) || GETPOST('nobin_drop'))?' checked':''.' id="checkbox_dump_drop" />';
|
print '<input type="checkbox" name="nobin_drop"'.(((! isset($_GET["nobin_drop"]) && ! isset($_POST["nobin_drop"])) || GETPOST('nobin_drop'))?' checked':'').' id="checkbox_dump_drop" />';
|
||||||
print '<label for="checkbox_dump_drop">'.$langs->trans("AddDropTable").'</label>';
|
print '<label for="checkbox_dump_drop">'.$langs->trans("AddDropTable").'</label>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '</fieldset>';
|
print '</fieldset>';
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ if ($action == 'delete')
|
|||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
$formadmin = new FormAdmin($db);
|
$formadmin = new FormAdmin($db);
|
||||||
|
|
||||||
$wikihelp = 'EN:Setup|FR:Paramétrage|ES:Configuración';
|
$wikihelp = 'EN:Setup_Translation|FR:Paramétrage_Traduction|ES:Configuración_Traducción';
|
||||||
llxHeader('', $langs->trans("Setup"), $wikihelp);
|
llxHeader('', $langs->trans("Setup"), $wikihelp);
|
||||||
|
|
||||||
$param = '&mode='.$mode;
|
$param = '&mode='.$mode;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
||||||
|
* Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -42,6 +43,8 @@ $action = GETPOST('action', 'alpha');
|
|||||||
$backtopage = GETPOST('backtopage', 'alpha');
|
$backtopage = GETPOST('backtopage', 'alpha');
|
||||||
|
|
||||||
$value = GETPOST('value', 'alpha');
|
$value = GETPOST('value', 'alpha');
|
||||||
|
$label = GETPOST('label', 'alpha');
|
||||||
|
$scandir = GETPOST('scandir', 'alpha');
|
||||||
$type = 'user';
|
$type = 'user';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class DolibarrApi
|
|||||||
/**
|
/**
|
||||||
* @var DoliDb $db Database object
|
* @var DoliDb $db Database object
|
||||||
*/
|
*/
|
||||||
protected static $db;
|
protected $db;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Restler $r Restler object
|
* @var Restler $r Restler object
|
||||||
@@ -137,6 +137,15 @@ class DolibarrApi
|
|||||||
unset($object->labelStatus);
|
unset($object->labelStatus);
|
||||||
unset($object->labelStatusShort);
|
unset($object->labelStatusShort);
|
||||||
|
|
||||||
|
unset($object->stats_propale);
|
||||||
|
unset($object->stats_commande);
|
||||||
|
unset($object->stats_contrat);
|
||||||
|
unset($object->stats_facture);
|
||||||
|
unset($object->stats_commande_fournisseur);
|
||||||
|
unset($object->stats_reception);
|
||||||
|
unset($object->stats_mrptoconsume);
|
||||||
|
unset($object->stats_mrptoproduce);
|
||||||
|
|
||||||
unset($object->element);
|
unset($object->element);
|
||||||
unset($object->fk_element);
|
unset($object->fk_element);
|
||||||
unset($object->table_element);
|
unset($object->table_element);
|
||||||
|
|||||||
@@ -281,7 +281,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
if (empty($reshook))
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
// Send
|
// Send
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a>'."\n";
|
if (empty($user->socid)) {
|
||||||
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a>'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
if ($user->rights->asset->write)
|
if ($user->rights->asset->write)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -459,7 +459,7 @@ while ($i < min($num, $limit))
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
// Action column
|
// Action column
|
||||||
|
|||||||
@@ -546,7 +546,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
$result = $object->getLinesArray();
|
$result = $object->getLinesArray();
|
||||||
|
|
||||||
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid', 'int')).'" method="POST">
|
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid', 'int')).'" method="POST">
|
||||||
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'].'">
|
<input type="hidden" name="token" value="' . newToken().'">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
||||||
<input type="hidden" name="mode" value="">
|
<input type="hidden" name="mode" value="">
|
||||||
<input type="hidden" name="id" value="' . $object->id.'">
|
<input type="hidden" name="id" value="' . $object->id.'">
|
||||||
@@ -601,7 +601,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
if (empty($reshook))
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
// Send
|
// Send
|
||||||
//print '<a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=presend&mode=init#formmailbeforetitle">' . $langs->trans('SendMail') . '</a>'."\n";
|
//if (empty($user->socid)) {
|
||||||
|
// print '<a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=presend&mode=init#formmailbeforetitle">' . $langs->trans('SendMail') . '</a>'."\n";
|
||||||
|
//}
|
||||||
|
|
||||||
// Back to draft
|
// Back to draft
|
||||||
if ($object->status == $object::STATUS_VALIDATED)
|
if ($object->status == $object::STATUS_VALIDATED)
|
||||||
|
|||||||
@@ -482,7 +482,7 @@ $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfi
|
|||||||
$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : '');
|
$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : '');
|
||||||
|
|
||||||
print '<div class="div-table-responsive">'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
|
print '<div class="div-table-responsive">'; // You can use div-table-responsive-no-min if you dont need reserved height for your table
|
||||||
print '<table class="tagtable liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
|
print '<table class="tagtable nobottomiftotal liste'.($moreforfilter ? " listwithfilterbefore" : "").'">'."\n";
|
||||||
|
|
||||||
|
|
||||||
// Fields title search
|
// Fields title search
|
||||||
@@ -502,7 +502,7 @@ foreach ($object->fields as $key => $val)
|
|||||||
elseif (strpos($val['type'], 'integer:') === 0) {
|
elseif (strpos($val['type'], 'integer:') === 0) {
|
||||||
print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth150', 1);
|
print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth150', 1);
|
||||||
}
|
}
|
||||||
elseif (! preg_match('/^(date|timestamp)/', $val['type'])) print '<input type="text" class="flat maxwidth75" name="search_'.$key.'" value="'.dol_escape_htmltag($search[$key]).'">';
|
elseif (!preg_match('/^(date|timestamp)/', $val['type'])) print '<input type="text" class="flat maxwidth75" name="search_'.$key.'" value="'.dol_escape_htmltag($search[$key]).'">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -582,6 +582,7 @@ while ($i < ($limit ? min($num, $limit) : $num))
|
|||||||
elseif ($key == 'ref') $cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
elseif ($key == 'ref') $cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
|
||||||
|
|
||||||
if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $key != 'status') $cssforfield .= ($cssforfield ? ' ' : '').'right';
|
if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $key != 'status') $cssforfield .= ($cssforfield ? ' ' : '').'right';
|
||||||
|
if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100';
|
||||||
|
|
||||||
if (!empty($arrayfields['t.'.$key]['checked']))
|
if (!empty($arrayfields['t.'.$key]['checked']))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ function printBookmarksList()
|
|||||||
|
|
||||||
if (! empty($conf->use_javascript_ajax)) { // Bookmark autosubmit can't work when javascript is off.
|
if (! empty($conf->use_javascript_ajax)) { // Bookmark autosubmit can't work when javascript is off.
|
||||||
require_once DOL_DOCUMENT_ROOT.'/bookmarks/class/bookmark.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/bookmarks/class/bookmark.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php';
|
||||||
if (! isset($conf->global->BOOKMARKS_SHOW_IN_MENU)) $conf->global->BOOKMARKS_SHOW_IN_MENU=5;
|
if (! isset($conf->global->BOOKMARKS_SHOW_IN_MENU)) $conf->global->BOOKMARKS_SHOW_IN_MENU=5;
|
||||||
|
|
||||||
$langs->load("bookmarks");
|
$langs->load("bookmarks");
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ class Categories extends DolibarrApi
|
|||||||
throw new RestException(404, 'category not found');
|
throw new RestException(404, 'category not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DolibarrApi::_checkAccessToResource('category', $this->category->id)) {
|
if (!DolibarrApi::_checkAccessToResource('categorie', $this->category->id)) {
|
||||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -261,7 +261,7 @@ class Categories extends DolibarrApi
|
|||||||
throw new RestException(404, 'category not found');
|
throw new RestException(404, 'category not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DolibarrApi::_checkAccessToResource('category', $this->category->id)) {
|
if (!DolibarrApi::_checkAccessToResource('categorie', $this->category->id)) {
|
||||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -750,7 +750,7 @@ class Categories extends DolibarrApi
|
|||||||
throw new RestException(404, 'category not found');
|
throw new RestException(404, 'category not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DolibarrApi::_checkAccessToResource('category', $this->category->id)) {
|
if (!DolibarrApi::_checkAccessToResource('categorie', $this->category->id)) {
|
||||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -781,8 +781,8 @@ class Categorie extends CommonObject
|
|||||||
|
|
||||||
$objs = array();
|
$objs = array();
|
||||||
|
|
||||||
$tmpclass = $this->MAP_OBJ_CLASS[$type];
|
$classnameforobj = $this->MAP_OBJ_CLASS[$type];
|
||||||
$obj = new $tmpclass($this->db);
|
$obj = new $classnameforobj($this->db);
|
||||||
|
|
||||||
$sql = "SELECT c.fk_".$this->MAP_CAT_FK[$type];
|
$sql = "SELECT c.fk_".$this->MAP_CAT_FK[$type];
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."categorie_".$this->MAP_CAT_TABLE[$type]." as c";
|
$sql .= " FROM ".MAIN_DB_PREFIX."categorie_".$this->MAP_CAT_TABLE[$type]." as c";
|
||||||
@@ -810,8 +810,11 @@ class Categorie extends CommonObject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$obj = new $this->MAP_OBJ_CLASS[$type]($this->db);
|
$classnameforobj = $this->MAP_OBJ_CLASS[$type];
|
||||||
$obj->fetch($rec['fk_'.$this->MAP_CAT_FK[$type]]);
|
|
||||||
|
$obj = new $classnameforobj($this->db);
|
||||||
|
$obj->fetch($rec['fk_' . $this->MAP_CAT_FK[$type]]);
|
||||||
|
|
||||||
$objs[] = $obj;
|
$objs[] = $obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -966,6 +969,7 @@ class Categorie extends CommonObject
|
|||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."categorie";
|
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."categorie";
|
||||||
$sql .= " WHERE fk_parent = ".$this->id;
|
$sql .= " WHERE fk_parent = ".$this->id;
|
||||||
|
$sql .= " AND entity IN (".getEntity('category').")";
|
||||||
|
|
||||||
$res = $this->db->query($sql);
|
$res = $this->db->query($sql);
|
||||||
if ($res)
|
if ($res)
|
||||||
|
|||||||
@@ -681,6 +681,7 @@ class ActionComm extends CommonObject
|
|||||||
|
|
||||||
$sql = "SELECT a.id,";
|
$sql = "SELECT a.id,";
|
||||||
$sql .= " a.id as ref,";
|
$sql .= " a.id as ref,";
|
||||||
|
$sql .= " a.entity,";
|
||||||
$sql .= " a.ref_ext,";
|
$sql .= " a.ref_ext,";
|
||||||
$sql .= " a.datep,";
|
$sql .= " a.datep,";
|
||||||
$sql .= " a.datep2,";
|
$sql .= " a.datep2,";
|
||||||
@@ -717,6 +718,7 @@ class ActionComm extends CommonObject
|
|||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->id = $obj->id;
|
$this->id = $obj->id;
|
||||||
|
$this->entity = $obj->entity;
|
||||||
$this->ref = $obj->ref;
|
$this->ref = $obj->ref;
|
||||||
$this->ref_ext = $obj->ref_ext;
|
$this->ref_ext = $obj->ref_ext;
|
||||||
|
|
||||||
@@ -903,7 +905,7 @@ class ActionComm extends CommonObject
|
|||||||
|
|
||||||
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
||||||
$res=$this->db->query($sql);
|
$res=$this->db->query($sql);
|
||||||
if ($res < 0) {
|
if (!$res) {
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@@ -914,7 +916,7 @@ class ActionComm extends CommonObject
|
|||||||
|
|
||||||
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
|
||||||
$res=$this->db->query($sql);
|
$res=$this->db->query($sql);
|
||||||
if ($res < 0) {
|
if (!$res) {
|
||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -718,7 +718,7 @@ if ($resql)
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
|
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ $nav .= " (<a href=\"?year=".$nowyear."&month=".$nowmonth."&day="
|
|||||||
$picto = 'calendarweek';
|
$picto = 'calendarweek';
|
||||||
|
|
||||||
$nav .= ' <form name="dateselect" action="'.$_SERVER["PHP_SELF"].'?action=show_peruser'.$param.'">';
|
$nav .= ' <form name="dateselect" action="'.$_SERVER["PHP_SELF"].'?action=show_peruser'.$param.'">';
|
||||||
$nav .= '<input type="hidden" name="token" value="'.$_SESSION ['newtoken'].'">';
|
$nav .= '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
$nav .= '<input type="hidden" name="action" value="'.$action.'">';
|
$nav .= '<input type="hidden" name="action" value="'.$action.'">';
|
||||||
$nav .= '<input type="hidden" name="filtert" value="'.$filtert.'">';
|
$nav .= '<input type="hidden" name="filtert" value="'.$filtert.'">';
|
||||||
$nav .= '<input type="hidden" name="usergroup" value="'.$usergroup.'">';
|
$nav .= '<input type="hidden" name="usergroup" value="'.$usergroup.'">';
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ $nav .= " <a href=\"?year=".$next_year."&month=".$next_month."&da
|
|||||||
$nav .= " (<a href=\"?year=".$nowyear."&month=".$nowmonth."&day=".$nowday.$param."\">".$langs->trans("Today")."</a>)";
|
$nav .= " (<a href=\"?year=".$nowyear."&month=".$nowmonth."&day=".$nowday.$param."\">".$langs->trans("Today")."</a>)";
|
||||||
|
|
||||||
/*$nav.=' <form name="dateselect" action="'.$_SERVER["PHP_SELF"].'?action=show_peruser'.$param.'">';
|
/*$nav.=' <form name="dateselect" action="'.$_SERVER["PHP_SELF"].'?action=show_peruser'.$param.'">';
|
||||||
$nav.='<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
|
$nav.='<input type="hidden" name="token" value="' . newToken() . '">';
|
||||||
$nav.='<input type="hidden" name="action" value="' . $action . '">';
|
$nav.='<input type="hidden" name="action" value="' . $action . '">';
|
||||||
$nav.='<input type="hidden" name="filtert" value="' . $filtert . '">';
|
$nav.='<input type="hidden" name="filtert" value="' . $filtert . '">';
|
||||||
$nav.='<input type="hidden" name="usergroup" value="' . $usergroup . '">';
|
$nav.='<input type="hidden" name="usergroup" value="' . $usergroup . '">';
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||||
* Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
|
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
|
||||||
* Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010-2020 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2013 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2013 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2015-2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2015-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||||
@@ -581,7 +581,7 @@ if ($object->id > 0)
|
|||||||
$boxstat .= '<table summary="'.dol_escape_htmltag($langs->trans("DolibarrStateBoard")).'" class="border boxtable boxtablenobottom boxtablenotop" width="100%">';
|
$boxstat .= '<table summary="'.dol_escape_htmltag($langs->trans("DolibarrStateBoard")).'" class="border boxtable boxtablenobottom boxtablenotop" width="100%">';
|
||||||
$boxstat .= '<tr class="impair"><td colspan="2" class="tdboxstats nohover">';
|
$boxstat .= '<tr class="impair"><td colspan="2" class="tdboxstats nohover">';
|
||||||
|
|
||||||
if (!empty($conf->propal->enabled))
|
if (!empty($conf->propal->enabled) && $user->rights->propal->lire)
|
||||||
{
|
{
|
||||||
// Box proposals
|
// Box proposals
|
||||||
$tmp = $object->getOutstandingProposals();
|
$tmp = $object->getOutstandingProposals();
|
||||||
@@ -599,7 +599,7 @@ if ($object->id > 0)
|
|||||||
if ($link) $boxstat .= '</a>';
|
if ($link) $boxstat .= '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->commande->enabled))
|
if (!empty($conf->commande->enabled) && $user->rights->commande->lire)
|
||||||
{
|
{
|
||||||
// Box commandes
|
// Box commandes
|
||||||
$tmp = $object->getOutstandingOrders();
|
$tmp = $object->getOutstandingOrders();
|
||||||
@@ -617,7 +617,7 @@ if ($object->id > 0)
|
|||||||
if ($link) $boxstat .= '</a>';
|
if ($link) $boxstat .= '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->facture->enabled))
|
if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
|
||||||
{
|
{
|
||||||
// Box factures
|
// Box factures
|
||||||
$tmp = $object->getOutstandingBills();
|
$tmp = $object->getOutstandingBills();
|
||||||
@@ -751,7 +751,7 @@ if ($object->id > 0)
|
|||||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as c";
|
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as c";
|
||||||
$sql .= " WHERE c.fk_soc = s.rowid ";
|
$sql .= " WHERE c.fk_soc = s.rowid ";
|
||||||
$sql .= " AND s.rowid = ".$object->id;
|
$sql .= " AND s.rowid = ".$object->id;
|
||||||
$sql .= " AND c.entity = ".$conf->entity;
|
$sql .= " AND c.entity IN (".getEntity('commande').')';
|
||||||
$sql .= " ORDER BY c.date_commande DESC";
|
$sql .= " ORDER BY c.date_commande DESC";
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
@@ -905,7 +905,7 @@ if ($object->id > 0)
|
|||||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c";
|
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c";
|
||||||
$sql .= " WHERE c.fk_soc = s.rowid ";
|
$sql .= " WHERE c.fk_soc = s.rowid ";
|
||||||
$sql .= " AND s.rowid = ".$object->id;
|
$sql .= " AND s.rowid = ".$object->id;
|
||||||
$sql .= " AND c.entity = ".$conf->entity;
|
$sql .= " AND c.entity IN (".getEntity('contract').")";
|
||||||
$sql .= " ORDER BY c.datec DESC";
|
$sql .= " ORDER BY c.datec DESC";
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
@@ -975,7 +975,7 @@ if ($object->id > 0)
|
|||||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."fichinter as f";
|
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."fichinter as f";
|
||||||
$sql .= " WHERE f.fk_soc = s.rowid";
|
$sql .= " WHERE f.fk_soc = s.rowid";
|
||||||
$sql .= " AND s.rowid = ".$object->id;
|
$sql .= " AND s.rowid = ".$object->id;
|
||||||
$sql .= " AND f.entity = ".$conf->entity;
|
$sql .= " AND f.entity IN (".getEntity('intervention').")";
|
||||||
$sql .= " ORDER BY f.tms DESC";
|
$sql .= " ORDER BY f.tms DESC";
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
@@ -1044,7 +1044,7 @@ if ($object->id > 0)
|
|||||||
$sql .= ', s.nom, s.rowid as socid';
|
$sql .= ', s.nom, s.rowid as socid';
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture_rec as f";
|
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture_rec as f";
|
||||||
$sql .= " WHERE f.fk_soc = s.rowid AND s.rowid = ".$object->id;
|
$sql .= " WHERE f.fk_soc = s.rowid AND s.rowid = ".$object->id;
|
||||||
$sql .= " AND f.entity = ".$conf->entity;
|
$sql .= " AND f.entity IN (".getEntity('invoice').")";
|
||||||
$sql .= ' GROUP BY f.rowid, f.titre, f.amount, f.total, f.tva, f.total_ttc,';
|
$sql .= ' GROUP BY f.rowid, f.titre, f.amount, f.total, f.tva, f.total_ttc,';
|
||||||
$sql .= ' f.date_last_gen, f.datec, f.frequency, f.unit_frequency,';
|
$sql .= ' f.date_last_gen, f.datec, f.frequency, f.unit_frequency,';
|
||||||
$sql .= ' f.suspended, f.date_when,';
|
$sql .= ' f.suspended, f.date_when,';
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ if (!empty($conf->propal->enabled) && $user->rights->propal->lire)
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<th colspan="3">'.$langs->trans("ProposalsDraft").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=0"><span class="badge">'.$num.'</span></a></th></tr>';
|
print '<th colspan="3">'.$langs->trans("ProposalsDraft").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?search_status=0"><span class="badge">'.$num.'</span></a></th></tr>';
|
||||||
|
|
||||||
if ($num > 0)
|
if ($num > 0)
|
||||||
{
|
{
|
||||||
@@ -755,7 +755,7 @@ if (!empty($conf->propal->enabled) && $user->rights->propal->lire)
|
|||||||
{
|
{
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><th colspan="5">'.$langs->trans("ProposalsOpened").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=1"><span class="badge">'.$num.'</span></th></tr>';
|
print '<tr class="liste_titre"><th colspan="5">'.$langs->trans("ProposalsOpened").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?search_status=1"><span class="badge">'.$num.'</span></th></tr>';
|
||||||
|
|
||||||
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
||||||
while ($i < $nbofloop)
|
while ($i < $nbofloop)
|
||||||
@@ -863,7 +863,7 @@ if (!empty($conf->commande->enabled) && $user->rights->commande->lire)
|
|||||||
{
|
{
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><th class="liste_titre" colspan="5">'.$langs->trans("OrdersOpened").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1"><span class="badge">'.$num.'</span></th></tr>';
|
print '<tr class="liste_titre"><th class="liste_titre" colspan="5">'.$langs->trans("OrdersOpened").' <a href="'.DOL_URL_ROOT.'/commande/list.php?search_status=1"><span class="badge">'.$num.'</span></th></tr>';
|
||||||
|
|
||||||
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
||||||
while ($i < $nbofloop)
|
while ($i < $nbofloop)
|
||||||
|
|||||||
@@ -90,13 +90,13 @@ if (empty($reshook))
|
|||||||
// Action clone object
|
// Action clone object
|
||||||
if ($action == 'confirm_clone' && $confirm == 'yes')
|
if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||||
{
|
{
|
||||||
if (empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"]))
|
if (! GETPOST("clone_content", 'alpha') && ! GETPOST("clone_receivers", 'alpha'))
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans("NoCloneOptionsSpecified"), null, 'errors');
|
setEventMessages($langs->trans("NoCloneOptionsSpecified"), null, 'errors');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$result = $object->createFromClone($user, $object->id, $_REQUEST["clone_content"], $_REQUEST["clone_receivers"]);
|
$result = $object->createFromClone($user, $object->id, GETPOST("clone_content", 'alpha'), GETPOST("clone_receivers", 'alpha'));
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
header("Location: ".$_SERVER['PHP_SELF'].'?id='.$result);
|
header("Location: ".$_SERVER['PHP_SELF'].'?id='.$result);
|
||||||
@@ -345,6 +345,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if (!empty($conf->global->MAILING_DELAY))
|
if (!empty($conf->global->MAILING_DELAY))
|
||||||
{
|
{
|
||||||
|
dol_syslog("Wait a delay of MAILING_DELAY=".$conf->global->MAILING_DELAY);
|
||||||
sleep($conf->global->MAILING_DELAY);
|
sleep($conf->global->MAILING_DELAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -992,7 +993,7 @@ else
|
|||||||
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=settodraft&id='.$object->id.'">'.$langs->trans("SetToDraft").'</a>';
|
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=settodraft&id='.$object->id.'">'.$langs->trans("SetToDraft").'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($object->statut == 0 || $object->statut == 1) && $user->rights->mailing->creer)
|
if (($object->statut == 0 || $object->statut == 1 || $object->statut == 2) && $user->rights->mailing->creer)
|
||||||
{
|
{
|
||||||
if (!empty($conf->fckeditor->enabled) && !empty($conf->global->FCKEDITOR_ENABLE_MAILING))
|
if (!empty($conf->fckeditor->enabled) && !empty($conf->global->FCKEDITOR_ENABLE_MAILING))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined,
|
|||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
if (!$sortfield) $sortfield = "email";
|
if (!$sortfield) $sortfield = "mc.statut,email";
|
||||||
if (!$sortorder) $sortorder = "ASC";
|
if (!$sortorder) $sortorder = "DESC,ASC";
|
||||||
|
|
||||||
$id = GETPOST('id', 'int');
|
$id = GETPOST('id', 'int');
|
||||||
$rowid = GETPOST('rowid', 'int');
|
$rowid = GETPOST('rowid', 'int');
|
||||||
|
|||||||
@@ -615,7 +615,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
//Standard Extrafield feature
|
//Standard Extrafield feature
|
||||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) {
|
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) {
|
||||||
$elementtype = Societe::$table_element;
|
$socstatic = new Societe($this->db);
|
||||||
|
$elementtype = $socstatic->table_element;
|
||||||
|
|
||||||
$extrafields->fetch_name_optionals_label($elementtype);
|
$extrafields->fetch_name_optionals_label($elementtype);
|
||||||
|
|
||||||
@@ -639,6 +640,10 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
if ($arrayquery['options_'.$key]!=''){
|
if ($arrayquery['options_'.$key]!=''){
|
||||||
$sqlwhere[]= " (te.".$key." = ".$arrayquery['options_'.$key].")";
|
$sqlwhere[]= " (te.".$key." = ".$arrayquery['options_'.$key].")";
|
||||||
}
|
}
|
||||||
|
} elseif ($extrafields->attributes[$elementtype]['type'][$key] == 'link') {
|
||||||
|
if ($arrayquery['options_'.$key] > 0) {
|
||||||
|
$sqlwhere[]= " (te.".$key." = ".((int) $arrayquery['options_'.$key]).")";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (is_array($arrayquery['options_'.$key])) {
|
if (is_array($arrayquery['options_'.$key])) {
|
||||||
$sqlwhere[]= " (te.".$key." IN ('".implode("','", $arrayquery['options_'.$key])."'))";
|
$sqlwhere[]= " (te.".$key." IN ('".implode("','", $arrayquery['options_'.$key])."'))";
|
||||||
@@ -665,7 +670,6 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->thirdparty_lines[$i] = $obj->rowid;
|
$this->thirdparty_lines[$i] = $obj->rowid;
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
@@ -752,7 +756,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
//Standard Extrafield feature
|
//Standard Extrafield feature
|
||||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) {
|
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) {
|
||||||
$elementtype = Contact::$table_element;
|
$contactstatic = new Contact($this->db);
|
||||||
|
$elementtype = $contactstatic->table_element;
|
||||||
|
|
||||||
// fetch optionals attributes and labels
|
// fetch optionals attributes and labels
|
||||||
dol_include_once('/core/class/extrafields.class.php');
|
dol_include_once('/core/class/extrafields.class.php');
|
||||||
@@ -854,7 +859,8 @@ class AdvanceTargetingMailing extends CommonObject
|
|||||||
|
|
||||||
//Standard Extrafield feature
|
//Standard Extrafield feature
|
||||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) {
|
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) {
|
||||||
$elementtype = Societe::$table_element;
|
$socstatic = new Societe($this->db);
|
||||||
|
$elementtype = $socstatic->table_element;
|
||||||
|
|
||||||
// fetch optionals attributes and labels
|
// fetch optionals attributes and labels
|
||||||
dol_include_once('/core/class/extrafields.class.php');
|
dol_include_once('/core/class/extrafields.class.php');
|
||||||
|
|||||||
@@ -273,8 +273,8 @@ class Mailing extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param User $user User making the clone
|
* @param User $user User making the clone
|
||||||
* @param int $fromid Id of object to clone
|
* @param int $fromid Id of object to clone
|
||||||
* @param int $option1 1=Copy content, 0=Forget content
|
* @param int $option1 1=Clone content, 0=Forget content
|
||||||
* @param int $option2 Not used
|
* @param int $option2 1=Clone recipients
|
||||||
* @return int New id of clone
|
* @return int New id of clone
|
||||||
*/
|
*/
|
||||||
public function createFromClone(User $user, $fromid, $option1, $option2)
|
public function createFromClone(User $user, $fromid, $option1, $option2)
|
||||||
@@ -305,7 +305,7 @@ class Mailing extends CommonObject
|
|||||||
$object->bgcolor = '';
|
$object->bgcolor = '';
|
||||||
$object->bgimage = '';
|
$object->bgimage = '';
|
||||||
|
|
||||||
$object->email_from = '';
|
//$object->email_from = ''; // We do not reset from email because it is a mandatory value
|
||||||
$object->email_replyto = '';
|
$object->email_replyto = '';
|
||||||
$object->email_errorsto = '';
|
$object->email_errorsto = '';
|
||||||
|
|
||||||
@@ -331,7 +331,7 @@ class Mailing extends CommonObject
|
|||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
//Clone target
|
// Clone recipient targets
|
||||||
if (!empty($option2)) {
|
if (!empty($option2)) {
|
||||||
require_once DOL_DOCUMENT_ROOT .'/core/modules/mailings/modules_mailings.php';
|
require_once DOL_DOCUMENT_ROOT .'/core/modules/mailings/modules_mailings.php';
|
||||||
|
|
||||||
|
|||||||
@@ -157,6 +157,7 @@ print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
|||||||
$limit = 10;
|
$limit = 10;
|
||||||
$sql = "SELECT m.rowid, m.titre, m.nbemail, m.statut, m.date_creat";
|
$sql = "SELECT m.rowid, m.titre, m.nbemail, m.statut, m.date_creat";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."mailing as m";
|
$sql .= " FROM ".MAIN_DB_PREFIX."mailing as m";
|
||||||
|
$sql .= " WHERE m.entity = ".$conf->entity;
|
||||||
$sql .= " ORDER BY m.date_creat DESC";
|
$sql .= " ORDER BY m.date_creat DESC";
|
||||||
$sql .= " LIMIT ".$limit;
|
$sql .= " LIMIT ".$limit;
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ require_once DOL_DOCUMENT_ROOT.'/comm/mailing/class/mailing.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/emailing.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/emailing.lib.php';
|
||||||
|
|
||||||
$id = GETPOST('id');
|
$id = GETPOST('id', 'int');
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->load("mails");
|
$langs->load("mails");
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ if (empty($reshook))
|
|||||||
$duration = GETPOST('duree_validite', 'int');
|
$duration = GETPOST('duree_validite', 'int');
|
||||||
|
|
||||||
if (empty($datep)) {
|
if (empty($datep)) {
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("DatePropal")), null, 'errors');
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
@@ -1541,7 +1541,7 @@ if ($action == 'create')
|
|||||||
$object = new Propal($db);
|
$object = new Propal($db);
|
||||||
|
|
||||||
print '<form name="addprop" action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
print '<form name="addprop" action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION ['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="action" value="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
if ($origin != 'project' && $originid) {
|
if ($origin != 'project' && $originid) {
|
||||||
print '<input type="hidden" name="origin" value="'.$origin.'">';
|
print '<input type="hidden" name="origin" value="'.$origin.'">';
|
||||||
@@ -1614,7 +1614,7 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Date
|
// Date
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans('Date').'</td><td>';
|
print '<tr><td class="fieldrequired">'.$langs->trans('DatePropal').'</td><td>';
|
||||||
print $form->selectDate('', '', '', '', '', "addprop", 1, 1);
|
print $form->selectDate('', '', '', '', '', "addprop", 1, 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@@ -1675,7 +1675,7 @@ if ($action == 'create')
|
|||||||
$langs->load("projects");
|
$langs->load("projects");
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>'.$langs->trans("Project").'</td><td>';
|
print '<td>'.$langs->trans("Project").'</td><td>';
|
||||||
$numprojet = $formproject->select_projects(($soc->id > 0 ? $soc->id : -1), $projectid, 'projectid', 0, 0, 1, 1);
|
$numprojet = $formproject->select_projects(($soc->id > 0 ? $soc->id : -1), $projectid, 'projectid', 0, 0, 1, 1, 0, 0, 0, '', 0, 0, 'maxwidth500');
|
||||||
print ' <a href="'.DOL_URL_ROOT.'/projet/card.php?socid='.$soc->id.'&action=create&status=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create&socid='.$soc->id).'"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans("AddProject").'"></span></a>';
|
print ' <a href="'.DOL_URL_ROOT.'/projet/card.php?socid='.$soc->id.'&action=create&status=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create&socid='.$soc->id).'"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans("AddProject").'"></span></a>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@@ -2044,7 +2044,7 @@ if ($action == 'create')
|
|||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
||||||
print $langs->trans('Date');
|
print $langs->trans('DatePropal');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($action != 'editdate' && $object->statut == Propal::STATUS_DRAFT && $usercancreate)
|
if ($action != 'editdate' && $object->statut == Propal::STATUS_DRAFT && $usercancreate)
|
||||||
print '<td class="right"><a class="editfielda" href="'.$_SERVER["PHP_SELF"].'?action=editdate&id='.$object->id.'">'.img_edit($langs->trans('SetDate'), 1).'</a></td>';
|
print '<td class="right"><a class="editfielda" href="'.$_SERVER["PHP_SELF"].'?action=editdate&id='.$object->id.'">'.img_edit($langs->trans('SetDate'), 1).'</a></td>';
|
||||||
@@ -2052,7 +2052,7 @@ if ($action == 'create')
|
|||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
if ($object->statut == Propal::STATUS_DRAFT && $action == 'editdate' && $usercancreate) {
|
if ($object->statut == Propal::STATUS_DRAFT && $action == 'editdate' && $usercancreate) {
|
||||||
print '<form name="editdate" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
|
print '<form name="editdate" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" 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="setdate">';
|
print '<input type="hidden" name="action" value="setdate">';
|
||||||
print $form->selectDate($object->date, 're', '', '', 0, "editdate");
|
print $form->selectDate($object->date, 're', '', '', 0, "editdate");
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
||||||
@@ -2078,7 +2078,7 @@ if ($action == 'create')
|
|||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
if ($object->statut == Propal::STATUS_DRAFT && $action == 'editecheance' && $usercancreate) {
|
if ($object->statut == Propal::STATUS_DRAFT && $action == 'editecheance' && $usercancreate) {
|
||||||
print '<form name="editecheance" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
|
print '<form name="editecheance" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" 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="setecheance">';
|
print '<input type="hidden" name="action" value="setecheance">';
|
||||||
print $form->selectDate($object->fin_validite, 'ech', '', '', '', "editecheance");
|
print $form->selectDate($object->fin_validite, 'ech', '', '', '', "editecheance");
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
||||||
@@ -2412,7 +2412,7 @@ if ($action == 'create')
|
|||||||
$result = $object->getLinesArray();
|
$result = $object->getLinesArray();
|
||||||
|
|
||||||
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid')).'" method="POST">
|
print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid')).'" method="POST">
|
||||||
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'].'">
|
<input type="hidden" name="token" value="' . newToken().'">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
||||||
<input type="hidden" name="mode" value="">
|
<input type="hidden" name="mode" value="">
|
||||||
<input type="hidden" name="id" value="' . $object->id.'">
|
<input type="hidden" name="id" value="' . $object->id.'">
|
||||||
@@ -2498,11 +2498,13 @@ if ($action == 'create')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Send
|
// Send
|
||||||
if ($object->statut == Propal::STATUS_VALIDATED || $object->statut == Propal::STATUS_SIGNED || !empty($conf->global->PROPOSAL_SENDBYEMAIL_FOR_ALL_STATUS)) {
|
if (empty($user->socid)) {
|
||||||
if ($usercansend) {
|
if ($object->statut == Propal::STATUS_VALIDATED || $object->statut == Propal::STATUS_SIGNED || !empty($conf->global->PROPOSAL_SENDBYEMAIL_FOR_ALL_STATUS)) {
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a>';
|
if ($usercansend) {
|
||||||
} else
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a>';
|
||||||
print '<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans('SendMail').'</a>';
|
} else
|
||||||
|
print '<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans('SendMail').'</a>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a sale order
|
// Create a sale order
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||||
* Copyright (C) 2008 Raphael Bertrand <raphael.bertrand@resultic.fr>
|
* Copyright (C) 2008 Raphael Bertrand <raphael.bertrand@resultic.fr>
|
||||||
* Copyright (C) 2010-2019 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010-2020 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2010-2017 Philippe Grand <philippe.grand@atoo-net.com>
|
* Copyright (C) 2010-2017 Philippe Grand <philippe.grand@atoo-net.com>
|
||||||
* Copyright (C) 2012-2014 Christophe Battarel <christophe.battarel@altairis.fr>
|
* Copyright (C) 2012-2014 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||||
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
||||||
@@ -2992,8 +2992,11 @@ class Propal extends CommonObject
|
|||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
|
$main = MAIN_DB_PREFIX . 'propaldet';
|
||||||
|
$ef = $main . "_extrafields";
|
||||||
|
$sqlef = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_propal = " . $this->id . ")";
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."propaldet WHERE fk_propal = ".$this->id;
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."propaldet WHERE fk_propal = ".$this->id;
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sqlef) && $this->db->query($sql))
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."propal WHERE rowid = ".$this->id;
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."propal WHERE rowid = ".$this->id;
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
@@ -3008,6 +3011,9 @@ class Propal extends CommonObject
|
|||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
|
// Delete record into ECM index (Note that delete is also done when deleting files with the dol_delete_dir_recursive
|
||||||
|
$this->deleteEcmFiles();
|
||||||
|
|
||||||
// We remove directory
|
// We remove directory
|
||||||
$ref = dol_sanitizeFileName($this->ref);
|
$ref = dol_sanitizeFileName($this->ref);
|
||||||
if ($conf->propal->multidir_output[$this->entity] && !empty($this->ref))
|
if ($conf->propal->multidir_output[$this->entity] && !empty($this->ref))
|
||||||
@@ -3393,8 +3399,8 @@ class Propal extends CommonObject
|
|||||||
$response->warning_delay = $delay_warning / 60 / 60 / 24;
|
$response->warning_delay = $delay_warning / 60 / 60 / 24;
|
||||||
$response->label = $label;
|
$response->label = $label;
|
||||||
$response->labelShort = $labelShort;
|
$response->labelShort = $labelShort;
|
||||||
$response->url = DOL_URL_ROOT.'/comm/propal/list.php?viewstatut='.$status.'&mainmenu=commercial&leftmenu=propals';
|
$response->url = DOL_URL_ROOT.'/comm/propal/list.php?search_status='.$status.'&mainmenu=commercial&leftmenu=propals';
|
||||||
$response->url_late = DOL_URL_ROOT.'/comm/propal/list.php?viewstatut='.$status.'&mainmenu=commercial&leftmenu=propals&sortfield=p.datep&sortorder=asc';
|
$response->url_late = DOL_URL_ROOT.'/comm/propal/list.php?search_status='.$status.'&mainmenu=commercial&leftmenu=propals&sortfield=p.datep&sortorder=asc';
|
||||||
$response->img = img_object('', "propal");
|
$response->img = img_object('', "propal");
|
||||||
|
|
||||||
// This assignment in condition is not a bug. It allows walking the results.
|
// This assignment in condition is not a bug. It allows walking the results.
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ if (!empty($conf->propal->enabled))
|
|||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
$langs->load("propal");
|
$langs->load("propal");
|
||||||
print '<td colspan="2">'.$langs->trans("DraftPropals").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=0"><span class="badge">'.$num.'</span></a></td></tr>';
|
print '<td colspan="2">'.$langs->trans("DraftPropals").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?search_status=0"><span class="badge">'.$num.'</span></a></td></tr>';
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
||||||
@@ -335,7 +335,7 @@ if (!empty($conf->propal->enabled) && $user->rights->propale->lire)
|
|||||||
{
|
{
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td colspan="5">'.$langs->trans("ProposalsOpened").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></td></tr>';
|
print '<tr class="liste_titre"><td colspan="5">'.$langs->trans("ProposalsOpened").' <a href="'.DOL_URL_ROOT.'/comm/propal/list.php?search_status=1"><span class="badge">'.$num.'</span></a></td></tr>';
|
||||||
|
|
||||||
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
$nbofloop = min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD) ? 500 : $conf->global->MAIN_MAXLIST_OVERLOAD));
|
||||||
while ($i < $nbofloop)
|
while ($i < $nbofloop)
|
||||||
@@ -423,7 +423,7 @@ if (! empty($conf->propal->enabled))
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td colspan="3">'.$langs->trans("ProposalsToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></td></tr>';
|
print '<td colspan="3">'.$langs->trans("ProposalsToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?search_status=1"><span class="badge">'.$num.'</span></a></td></tr>';
|
||||||
|
|
||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
@@ -496,7 +496,7 @@ if (! empty($conf->propal->enabled))
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td colspan="3">'.$langs->trans("OnProcessOrders").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=2"><span class="badge">'.$num.'</span></a></td></tr>';
|
print '<td colspan="3">'.$langs->trans("OnProcessOrders").' <a href="'.DOL_URL_ROOT.'/commande/list.php?search_status=2"><span class="badge">'.$num.'</span></a></td></tr>';
|
||||||
|
|
||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ $search_categ_cus = trim(GETPOST("search_categ_cus", 'int'));
|
|||||||
$search_btn = GETPOST('button_search', 'alpha');
|
$search_btn = GETPOST('button_search', 'alpha');
|
||||||
$search_remove_btn = GETPOST('button_removefilter', 'alpha');
|
$search_remove_btn = GETPOST('button_removefilter', 'alpha');
|
||||||
|
|
||||||
$viewstatut = GETPOST('viewstatut', 'alpha');
|
$search_status = GETPOST('search_status', 'alpha');
|
||||||
$optioncss = GETPOST('optioncss', 'alpha');
|
$optioncss = GETPOST('optioncss', 'alpha');
|
||||||
$object_statut = GETPOST('search_statut', 'alpha');
|
$object_statut = GETPOST('search_statut', 'alpha');
|
||||||
|
|
||||||
@@ -157,7 +157,7 @@ $arrayfields = array(
|
|||||||
'state.nom'=>array('label'=>"StateShort", 'checked'=>0),
|
'state.nom'=>array('label'=>"StateShort", 'checked'=>0),
|
||||||
'country.code_iso'=>array('label'=>"Country", 'checked'=>0),
|
'country.code_iso'=>array('label'=>"Country", 'checked'=>0),
|
||||||
'typent.code'=>array('label'=>"ThirdPartyType", 'checked'=>$checkedtypetiers),
|
'typent.code'=>array('label'=>"ThirdPartyType", 'checked'=>$checkedtypetiers),
|
||||||
'p.date'=>array('label'=>"Date", 'checked'=>1),
|
'p.date'=>array('label'=>"DatePropal", 'checked'=>1),
|
||||||
'p.fin_validite'=>array('label'=>"DateEnd", 'checked'=>1),
|
'p.fin_validite'=>array('label'=>"DateEnd", 'checked'=>1),
|
||||||
'p.date_livraison'=>array('label'=>"DeliveryDate", 'checked'=>0),
|
'p.date_livraison'=>array('label'=>"DeliveryDate", 'checked'=>0),
|
||||||
'ava.rowid'=>array('label'=>"AvailabilityPeriod", 'checked'=>0),
|
'ava.rowid'=>array('label'=>"AvailabilityPeriod", 'checked'=>0),
|
||||||
@@ -229,13 +229,13 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x'
|
|||||||
$search_monthdelivery = '';
|
$search_monthdelivery = '';
|
||||||
$search_daydelivery = '';
|
$search_daydelivery = '';
|
||||||
$search_availability = '';
|
$search_availability = '';
|
||||||
$viewstatut = '';
|
$search_status = '';
|
||||||
$object_statut = '';
|
$object_statut = '';
|
||||||
$toselect = '';
|
$toselect = '';
|
||||||
$search_array_options = array();
|
$search_array_options = array();
|
||||||
$search_categ_cus = 0;
|
$search_categ_cus = 0;
|
||||||
}
|
}
|
||||||
if ($object_statut != '') $viewstatut = $object_statut;
|
if ($object_statut != '') $search_status = $object_statut;
|
||||||
|
|
||||||
if (empty($reshook))
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
@@ -338,9 +338,9 @@ if ($search_categ_cus == -2) $sql .= " AND cc.fk_categorie IS NULL";
|
|||||||
|
|
||||||
if ($search_product_category > 0) $sql .= " AND cp.fk_categorie = ".$db->escape($search_product_category);
|
if ($search_product_category > 0) $sql .= " AND cp.fk_categorie = ".$db->escape($search_product_category);
|
||||||
if ($socid > 0) $sql .= ' AND s.rowid = '.$socid;
|
if ($socid > 0) $sql .= ' AND s.rowid = '.$socid;
|
||||||
if ($viewstatut != '' && $viewstatut != '-1')
|
if ($search_status != '' && $search_status != '-1')
|
||||||
{
|
{
|
||||||
$sql .= ' AND p.fk_statut IN ('.$db->escape($viewstatut).')';
|
$sql .= ' AND p.fk_statut IN ('.$db->escape($search_status).')';
|
||||||
}
|
}
|
||||||
$sql .= dolSqlDateFilter("p.datep", $search_day, $search_month, $search_year);
|
$sql .= dolSqlDateFilter("p.datep", $search_day, $search_month, $search_year);
|
||||||
$sql .= dolSqlDateFilter("p.fin_validite", $search_dayfin, $search_month_end, $search_yearfin);
|
$sql .= dolSqlDateFilter("p.fin_validite", $search_dayfin, $search_month_end, $search_yearfin);
|
||||||
@@ -412,7 +412,7 @@ if ($resql)
|
|||||||
|
|
||||||
llxHeader('', $langs->trans('Proposal'), $help_url);
|
llxHeader('', $langs->trans('Proposal'), $help_url);
|
||||||
|
|
||||||
$param = '&viewstatut='.urlencode($viewstatut);
|
$param = '&search_status='.urlencode($search_status);
|
||||||
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
||||||
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
||||||
if ($sall) $param .= '&sall='.urlencode($sall);
|
if ($sall) $param .= '&sall='.urlencode($sall);
|
||||||
@@ -468,7 +468,7 @@ if ($resql)
|
|||||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'commercial', 0, $newcardbutton, '', $limit);
|
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'commercial', 0, $newcardbutton, '', $limit);
|
||||||
|
|
||||||
$topicmail = "SendPropalRef";
|
$topicmail = "SendPropalRef";
|
||||||
$modelmail = "proposal_send";
|
$modelmail = "propal_send";
|
||||||
$objecttmp = new Propal($db);
|
$objecttmp = new Propal($db);
|
||||||
$trackid = 'pro'.$object->id;
|
$trackid = 'pro'.$object->id;
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php';
|
||||||
@@ -706,7 +706,7 @@ if ($resql)
|
|||||||
if (!empty($arrayfields['p.fk_statut']['checked']))
|
if (!empty($arrayfields['p.fk_statut']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="liste_titre maxwidthonsmartphone right">';
|
print '<td class="liste_titre maxwidthonsmartphone right">';
|
||||||
$formpropal->selectProposalStatus($viewstatut, 1, 0, 1, 'customer', 'search_statut');
|
$formpropal->selectProposalStatus($search_status, 1, 0, 1, 'customer', 'search_statut');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
// Action column
|
// Action column
|
||||||
@@ -1029,9 +1029,7 @@ if ($resql)
|
|||||||
$nbofsalesrepresentative = count($listsalesrepresentatives);
|
$nbofsalesrepresentative = count($listsalesrepresentatives);
|
||||||
if ($nbofsalesrepresentative > 3) // We print only number
|
if ($nbofsalesrepresentative > 3) // We print only number
|
||||||
{
|
{
|
||||||
print '<a href="'.DOL_URL_ROOT.'/societe/commerciaux.php?socid='.$companystatic->id.'">';
|
|
||||||
print $nbofsalesrepresentative;
|
print $nbofsalesrepresentative;
|
||||||
print '</a>';
|
|
||||||
}
|
}
|
||||||
elseif ($nbofsalesrepresentative > 0)
|
elseif ($nbofsalesrepresentative > 0)
|
||||||
{
|
{
|
||||||
@@ -1067,7 +1065,7 @@ if ($resql)
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
// Date creation
|
// Date creation
|
||||||
|
|||||||
@@ -242,7 +242,9 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
|||||||
//{
|
//{
|
||||||
// Show filter box
|
// Show filter box
|
||||||
print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="mode" value="'.$mode.'">';
|
print '<input type="hidden" name="mode" value="'.$mode.'">';
|
||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td class="liste_titre" colspan="2">'.$langs->trans("Filter").'</td></tr>';
|
print '<tr class="liste_titre"><td class="liste_titre" colspan="2">'.$langs->trans("Filter").'</td></tr>';
|
||||||
// Company
|
// Company
|
||||||
|
|||||||
@@ -129,6 +129,13 @@ if ($action == 'confirm_split' && GETPOST("confirm") == 'yes')
|
|||||||
$newdiscount1->amount_tva = price2num($newdiscount1->amount_ttc - $newdiscount1->amount_ht);
|
$newdiscount1->amount_tva = price2num($newdiscount1->amount_ttc - $newdiscount1->amount_ht);
|
||||||
$newdiscount2->amount_tva = price2num($newdiscount2->amount_ttc - $newdiscount2->amount_ht);
|
$newdiscount2->amount_tva = price2num($newdiscount2->amount_ttc - $newdiscount2->amount_ht);
|
||||||
|
|
||||||
|
$newdiscount1->multicurrency_amount_ttc = $amount_ttc_1 * ($discount->multicurrency_amount_ttc / $discount->amount_ttc);
|
||||||
|
$newdiscount2->multicurrency_amount_ttc = price2num($discount->multicurrency_amount_ttc - $newdiscount1->multicurrency_amount_ttc);
|
||||||
|
$newdiscount1->multicurrency_amount_ht = price2num($newdiscount1->multicurrency_amount_ttc / (1 + $newdiscount1->tva_tx / 100), 'MT');
|
||||||
|
$newdiscount2->multicurrency_amount_ht = price2num($newdiscount2->multicurrency_amount_ttc / (1 + $newdiscount2->tva_tx / 100), 'MT');
|
||||||
|
$newdiscount1->multicurrency_amount_tva = price2num($newdiscount1->multicurrency_amount_ttc - $newdiscount1->multicurrency_amount_ht);
|
||||||
|
$newdiscount2->multicurrency_amount_tva = price2num($newdiscount2->multicurrency_amount_ttc - $newdiscount2->multicurrency_amount_ht);
|
||||||
|
|
||||||
$db->begin();
|
$db->begin();
|
||||||
$discount->fk_facture_source = 0; // This is to delete only the require record (that we will recreate with two records) and not all family with same fk_facture_source
|
$discount->fk_facture_source = 0; // This is to delete only the require record (that we will recreate with two records) and not all family with same fk_facture_source
|
||||||
// This is to delete only the require record (that we will recreate with two records) and not all family with same fk_invoice_supplier_source
|
// This is to delete only the require record (that we will recreate with two records) and not all family with same fk_invoice_supplier_source
|
||||||
|
|||||||
@@ -1594,8 +1594,8 @@ if ($action == 'create' && $usercancreate)
|
|||||||
$note_public = $object->getDefaultCreateValueFor('note_public');
|
$note_public = $object->getDefaultCreateValueFor('note_public');
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<form name="crea_commande" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
print '<form name="crea_commande" 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="add">';
|
print '<input type="hidden" name="action" value="add">';
|
||||||
print '<input type="hidden" name="socid" value="' . $soc->id . '">' . "\n";
|
print '<input type="hidden" name="socid" value="' . $soc->id . '">' . "\n";
|
||||||
print '<input type="hidden" name="remise_percent" value="' . $soc->remise_percent . '">';
|
print '<input type="hidden" name="remise_percent" value="' . $soc->remise_percent . '">';
|
||||||
@@ -1734,7 +1734,7 @@ if ($action == 'create' && $usercancreate)
|
|||||||
$langs->load("projects");
|
$langs->load("projects");
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>'.$langs->trans("Project").'</td><td>';
|
print '<td>'.$langs->trans("Project").'</td><td>';
|
||||||
$numprojet = $formproject->select_projects(($soc->id > 0 ? $soc->id : -1), $projectid, 'projectid', 0, 0, 1, 0, 0, 0, 0, '', 0, 0);
|
$numprojet = $formproject->select_projects(($soc->id > 0 ? $soc->id : -1), $projectid, 'projectid', 0, 0, 1, 0, 0, 0, 0, '', 0, 0, 'maxwidth500');
|
||||||
print ' <a href="'.DOL_URL_ROOT.'/projet/card.php?socid='.$soc->id.'&action=create&status=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create&socid='.$soc->id).'"><span class="fa fa-plus-circle valignmiddle" title="'.$langs->trans("AddProject").'"></span></a>';
|
print ' <a href="'.DOL_URL_ROOT.'/projet/card.php?socid='.$soc->id.'&action=create&status=1&backtopage='.urlencode($_SERVER["PHP_SELF"].'?action=create&socid='.$soc->id).'"><span class="fa fa-plus-circle valignmiddle" title="'.$langs->trans("AddProject").'"></span></a>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@@ -2100,7 +2100,7 @@ if ($action == 'create' && $usercancreate)
|
|||||||
$morehtmlref .= '<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
|
$morehtmlref .= '<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
|
||||||
$morehtmlref .= '<input type="hidden" name="action" value="classin">';
|
$morehtmlref .= '<input type="hidden" name="action" value="classin">';
|
||||||
$morehtmlref .= '<input type="hidden" name="token" value="'.newToken().'">';
|
$morehtmlref .= '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
$morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
|
$morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', 0, 0, 1, 0, 1, 0, 0, '', 1, 0, 'maxwidth500');
|
||||||
$morehtmlref .= '<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
|
$morehtmlref .= '<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
|
||||||
$morehtmlref .= '</form>';
|
$morehtmlref .= '</form>';
|
||||||
} else {
|
} else {
|
||||||
@@ -2177,7 +2177,7 @@ if ($action == 'create' && $usercancreate)
|
|||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
if ($action == 'editdate') {
|
if ($action == 'editdate') {
|
||||||
print '<form name="setdate" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
|
print '<form name="setdate" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" 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="setdate">';
|
print '<input type="hidden" name="action" value="setdate">';
|
||||||
print $form->selectDate($object->date, 'order_', '', '', '', "setdate");
|
print $form->selectDate($object->date, 'order_', '', '', '', "setdate");
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
||||||
@@ -2198,7 +2198,7 @@ if ($action == 'create' && $usercancreate)
|
|||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
if ($action == 'editdate_livraison') {
|
if ($action == 'editdate_livraison') {
|
||||||
print '<form name="setdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
|
print '<form name="setdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" 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="setdate_livraison">';
|
print '<input type="hidden" name="action" value="setdate_livraison">';
|
||||||
print $form->selectDate($object->date_livraison ? $object->date_livraison : - 1, 'liv_', '', '', '', "setdate_livraison");
|
print $form->selectDate($object->date_livraison ? $object->date_livraison : - 1, 'liv_', '', '', '', "setdate_livraison");
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
|
||||||
@@ -2492,7 +2492,7 @@ if ($action == 'create' && $usercancreate)
|
|||||||
$result = $object->getLinesArray();
|
$result = $object->getLinesArray();
|
||||||
|
|
||||||
print '<form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid')).'" method="POST">
|
print '<form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid')).'" method="POST">
|
||||||
<input type="hidden" name="token" value="' . $_SESSION ['newtoken'].'">
|
<input type="hidden" name="token" value="' . newToken().'">
|
||||||
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
<input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
|
||||||
<input type="hidden" name="mode" value="">
|
<input type="hidden" name="mode" value="">
|
||||||
<input type="hidden" name="id" value="' . $object->id.'">';
|
<input type="hidden" name="id" value="' . $object->id.'">';
|
||||||
@@ -2548,11 +2548,13 @@ if ($action == 'create' && $usercancreate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Send
|
// Send
|
||||||
if ($object->statut > Commande::STATUS_DRAFT || !empty($conf->global->COMMANDE_SENDBYEMAIL_FOR_ALL_STATUS)) {
|
if (empty($user->socid)) {
|
||||||
if ($usercansend) {
|
if ($object->statut > Commande::STATUS_DRAFT || !empty($conf->global->COMMANDE_SENDBYEMAIL_FOR_ALL_STATUS)) {
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a>';
|
if ($usercansend) {
|
||||||
} else
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a>';
|
||||||
print '<a class="butActionRefused classfortooltip" href="#">'.$langs->trans('SendMail').'</a>';
|
} else
|
||||||
|
print '<a class="butActionRefused classfortooltip" href="#">'.$langs->trans('SendMail').'</a>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valid
|
// Valid
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||||
* Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010-2020 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2011 Jean Heimburger <jean@tiaris.info>
|
* Copyright (C) 2011 Jean Heimburger <jean@tiaris.info>
|
||||||
* Copyright (C) 2012-2014 Christophe Battarel <christophe.battarel@altairis.fr>
|
* Copyright (C) 2012-2014 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||||
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
||||||
@@ -1014,7 +1014,7 @@ class Commande extends CommonOrder
|
|||||||
// Complete vat rate with code
|
// Complete vat rate with code
|
||||||
$vatrate = $line->tva_tx;
|
$vatrate = $line->tva_tx;
|
||||||
if ($line->vat_src_code && !preg_match('/\(.*\)/', $vatrate)) $vatrate .= ' ('.$line->vat_src_code.')';
|
if ($line->vat_src_code && !preg_match('/\(.*\)/', $vatrate)) $vatrate .= ' ('.$line->vat_src_code.')';
|
||||||
|
$origin = (!empty($line->origin) ? $line->origin : $this->element);
|
||||||
$result = $this->addline(
|
$result = $this->addline(
|
||||||
$line->desc,
|
$line->desc,
|
||||||
$line->subprice,
|
$line->subprice,
|
||||||
@@ -1039,7 +1039,7 @@ class Commande extends CommonOrder
|
|||||||
$line->label,
|
$line->label,
|
||||||
$line->array_options,
|
$line->array_options,
|
||||||
$line->fk_unit,
|
$line->fk_unit,
|
||||||
$this->element,
|
$origin,
|
||||||
$line->id
|
$line->id
|
||||||
);
|
);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
@@ -2254,6 +2254,7 @@ class Commande extends CommonOrder
|
|||||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'expedition as e';
|
$sql .= ' FROM '.MAIN_DB_PREFIX.'expedition as e';
|
||||||
$sql .= ', '.MAIN_DB_PREFIX.'element_element as el';
|
$sql .= ', '.MAIN_DB_PREFIX.'element_element as el';
|
||||||
$sql .= ' WHERE el.fk_source = '.$this->id;
|
$sql .= ' WHERE el.fk_source = '.$this->id;
|
||||||
|
$sql .= " AND el.sourcetype = 'commande'";
|
||||||
$sql .= " AND el.fk_target = e.rowid";
|
$sql .= " AND el.fk_target = e.rowid";
|
||||||
$sql .= " AND el.targettype = 'shipping'";
|
$sql .= " AND el.targettype = 'shipping'";
|
||||||
|
|
||||||
@@ -3289,6 +3290,7 @@ class Commande extends CommonOrder
|
|||||||
if (isset($this->note_public)) $this->note_public = trim($this->note_public);
|
if (isset($this->note_public)) $this->note_public = trim($this->note_public);
|
||||||
if (isset($this->modelpdf)) $this->modelpdf = trim($this->modelpdf);
|
if (isset($this->modelpdf)) $this->modelpdf = trim($this->modelpdf);
|
||||||
if (isset($this->import_key)) $this->import_key = trim($this->import_key);
|
if (isset($this->import_key)) $this->import_key = trim($this->import_key);
|
||||||
|
$delivery_date = empty($this->delivery_date) ? $this->date_livraison : $this->delivery_date;
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
// Put here code to add control on parameters values
|
// Put here code to add control on parameters values
|
||||||
@@ -3313,6 +3315,8 @@ class Commande extends CommonOrder
|
|||||||
$sql .= " fk_projet=".(isset($this->fk_project) ? $this->fk_project : "null").",";
|
$sql .= " fk_projet=".(isset($this->fk_project) ? $this->fk_project : "null").",";
|
||||||
$sql .= " fk_cond_reglement=".(isset($this->cond_reglement_id) ? $this->cond_reglement_id : "null").",";
|
$sql .= " fk_cond_reglement=".(isset($this->cond_reglement_id) ? $this->cond_reglement_id : "null").",";
|
||||||
$sql .= " fk_mode_reglement=".(isset($this->mode_reglement_id) ? $this->mode_reglement_id : "null").",";
|
$sql .= " fk_mode_reglement=".(isset($this->mode_reglement_id) ? $this->mode_reglement_id : "null").",";
|
||||||
|
$sql .= " date_livraison=".(strval($this->delivery_date) != '' ? "'".$this->db->idate($this->delivery_date)."'" : 'null').",";
|
||||||
|
$sql .= " fk_shipping_method=".(isset($this->shipping_method_id) ? $this->shipping_method_id : "null").",";
|
||||||
$sql .= " fk_account=".($this->fk_account > 0 ? $this->fk_account : "null").",";
|
$sql .= " fk_account=".($this->fk_account > 0 ? $this->fk_account : "null").",";
|
||||||
$sql .= " note_private=".(isset($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "null").",";
|
$sql .= " note_private=".(isset($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "null").",";
|
||||||
$sql .= " note_public=".(isset($this->note_public) ? "'".$this->db->escape($this->note_public)."'" : "null").",";
|
$sql .= " note_public=".(isset($this->note_public) ? "'".$this->db->escape($this->note_public)."'" : "null").",";
|
||||||
@@ -3396,6 +3400,19 @@ class Commande extends CommonOrder
|
|||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$error)
|
||||||
|
{
|
||||||
|
// Delete extrafields of order details
|
||||||
|
$main = MAIN_DB_PREFIX . 'commandedet';
|
||||||
|
$ef = $main . "_extrafields";
|
||||||
|
$sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_commande = " . $this->id . ")";
|
||||||
|
if (!$this->db->query($sql))
|
||||||
|
{
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = $this->db->lasterror();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
// Delete order details
|
// Delete order details
|
||||||
@@ -3448,6 +3465,9 @@ class Commande extends CommonOrder
|
|||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
|
// Delete record into ECM index (Note that delete is also done when deleting files with the dol_delete_dir_recursive
|
||||||
|
$this->deleteEcmFiles();
|
||||||
|
|
||||||
// Remove directory with files
|
// Remove directory with files
|
||||||
$comref = dol_sanitizeFileName($this->ref);
|
$comref = dol_sanitizeFileName($this->ref);
|
||||||
if ($conf->commande->multidir_output[$this->entity] && !empty($this->ref))
|
if ($conf->commande->multidir_output[$this->entity] && !empty($this->ref))
|
||||||
@@ -3527,7 +3547,7 @@ class Commande extends CommonOrder
|
|||||||
$response->warning_delay=$conf->commande->client->warning_delay/60/60/24;
|
$response->warning_delay=$conf->commande->client->warning_delay/60/60/24;
|
||||||
$response->label=$langs->trans("OrdersToProcess");
|
$response->label=$langs->trans("OrdersToProcess");
|
||||||
$response->labelShort = $langs->trans("Opened");
|
$response->labelShort = $langs->trans("Opened");
|
||||||
$response->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3&mainmenu=commercial&leftmenu=orders';
|
$response->url=DOL_URL_ROOT.'/commande/list.php?search_status=-3&mainmenu=commercial&leftmenu=orders';
|
||||||
$response->img=img_object('', "order");
|
$response->img=img_object('', "order");
|
||||||
|
|
||||||
$generic_commande = new Commande($this->db);
|
$generic_commande = new Commande($this->db);
|
||||||
@@ -4409,7 +4429,7 @@ class OrderLine extends CommonOrderLine
|
|||||||
|
|
||||||
foreach ($this->errors as $errmsg)
|
foreach ($this->errors as $errmsg)
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
dol_syslog(get_class($this)."::insert ".$errmsg, LOG_ERR);
|
||||||
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
$this->error .= ($this->error ? ', '.$errmsg : $errmsg);
|
||||||
}
|
}
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ if ($resql)
|
|||||||
{
|
{
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>'.$commandestatic->LibStatut($status, $bool, 0).'</td>';
|
print '<td>'.$commandestatic->LibStatut($status, $bool, 0).'</td>';
|
||||||
print '<td class="right"><a href="list.php?viewstatut='.$status.'">'.(isset($vals[$status.$bool]) ? $vals[$status.$bool] : 0).' ';
|
print '<td class="right"><a href="list.php?search_status='.$status.'">'.(isset($vals[$status.$bool]) ? $vals[$status.$bool] : 0).' ';
|
||||||
print $commandestatic->LibStatut($status, $bool, 3);
|
print $commandestatic->LibStatut($status, $bool, 3);
|
||||||
print '</a>';
|
print '</a>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@@ -347,7 +347,7 @@ if (!empty($conf->commande->enabled))
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<th colspan="3">'.$langs->trans("OrdersToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=1"><span class="badge">'.$num.'</span></a></th></tr>';
|
print '<th colspan="3">'.$langs->trans("OrdersToProcess").' <a href="'.DOL_URL_ROOT.'/commande/list.php?search_status=1"><span class="badge">'.$num.'</span></a></th></tr>';
|
||||||
|
|
||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
@@ -429,7 +429,7 @@ if (!empty($conf->commande->enabled))
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<th colspan="3">'.$langs->trans("OnProcessOrders").' <a href="'.DOL_URL_ROOT.'/commande/list.php?viewstatut=2"><span class="badge">'.$num.'</span></a></th></tr>';
|
print '<th colspan="3">'.$langs->trans("OnProcessOrders").' <a href="'.DOL_URL_ROOT.'/commande/list.php?search_status=2"><span class="badge">'.$num.'</span></a></th></tr>';
|
||||||
|
|
||||||
if ($num)
|
if ($num)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ $search_total_ttc = GETPOST('search_total_ttc', 'alpha');
|
|||||||
$search_categ_cus = trim(GETPOST("search_categ_cus", 'int'));
|
$search_categ_cus = trim(GETPOST("search_categ_cus", 'int'));
|
||||||
$optioncss = GETPOST('optioncss', 'alpha');
|
$optioncss = GETPOST('optioncss', 'alpha');
|
||||||
$billed = GETPOST('billed', 'int');
|
$billed = GETPOST('billed', 'int');
|
||||||
$viewstatut = GETPOST('viewstatut', 'int');
|
$search_status = GETPOST('search_status', 'int');
|
||||||
$search_btn = GETPOST('button_search', 'alpha');
|
$search_btn = GETPOST('button_search', 'alpha');
|
||||||
$search_remove_btn = GETPOST('button_removefilter', 'alpha');
|
$search_remove_btn = GETPOST('button_removefilter', 'alpha');
|
||||||
$search_project_ref = GETPOST('search_project_ref', 'alpha');
|
$search_project_ref = GETPOST('search_project_ref', 'alpha');
|
||||||
@@ -205,7 +205,7 @@ if (empty($reshook))
|
|||||||
$search_deliveryyear = '';
|
$search_deliveryyear = '';
|
||||||
$search_project_ref = '';
|
$search_project_ref = '';
|
||||||
$search_project = '';
|
$search_project = '';
|
||||||
$viewstatut = '';
|
$search_status = '';
|
||||||
$billed = '';
|
$billed = '';
|
||||||
$toselect = '';
|
$toselect = '';
|
||||||
$search_array_options = array();
|
$search_array_options = array();
|
||||||
@@ -288,23 +288,23 @@ if ($search_ref) $sql .= natural_search('c.ref', $search_ref);
|
|||||||
if ($search_ref_customer) $sql .= natural_search('c.ref_client', $search_ref_customer);
|
if ($search_ref_customer) $sql .= natural_search('c.ref_client', $search_ref_customer);
|
||||||
if ($sall) $sql .= natural_search(array_keys($fieldstosearchall), $sall);
|
if ($sall) $sql .= natural_search(array_keys($fieldstosearchall), $sall);
|
||||||
if ($billed != '' && $billed >= 0) $sql .= ' AND c.facture = '.$billed;
|
if ($billed != '' && $billed >= 0) $sql .= ' AND c.facture = '.$billed;
|
||||||
if ($viewstatut <> '')
|
if ($search_status <> '')
|
||||||
{
|
{
|
||||||
if ($viewstatut < 4 && $viewstatut > -3)
|
if ($search_status < 4 && $search_status > -3)
|
||||||
{
|
{
|
||||||
if ($viewstatut == 1 && empty($conf->expedition->enabled)) $sql .= ' AND c.fk_statut IN (1,2)'; // If module expedition disabled, we include order with status 'sending in process' into 'validated'
|
if ($search_status == 1 && empty($conf->expedition->enabled)) $sql .= ' AND c.fk_statut IN (1,2)'; // If module expedition disabled, we include order with status 'sending in process' into 'validated'
|
||||||
else $sql .= ' AND c.fk_statut = '.$viewstatut; // brouillon, validee, en cours, annulee
|
else $sql .= ' AND c.fk_statut = '.$search_status; // brouillon, validee, en cours, annulee
|
||||||
}
|
}
|
||||||
if ($viewstatut == 4)
|
if ($search_status == 4)
|
||||||
{
|
{
|
||||||
$sql .= ' AND c.facture = 1'; // invoice created
|
$sql .= ' AND c.facture = 1'; // invoice created
|
||||||
}
|
}
|
||||||
if ($viewstatut == -2) // To process
|
if ($search_status == -2) // To process
|
||||||
{
|
{
|
||||||
//$sql.= ' AND c.fk_statut IN (1,2,3) AND c.facture = 0';
|
//$sql.= ' AND c.fk_statut IN (1,2,3) AND c.facture = 0';
|
||||||
$sql .= " AND ((c.fk_statut IN (1,2)) OR (c.fk_statut = 3 AND c.facture = 0))"; // If status is 2 and facture=1, it must be selected
|
$sql .= " AND ((c.fk_statut IN (1,2)) OR (c.fk_statut = 3 AND c.facture = 0))"; // If status is 2 and facture=1, it must be selected
|
||||||
}
|
}
|
||||||
if ($viewstatut == -3) // To bill
|
if ($search_status == -3) // To bill
|
||||||
{
|
{
|
||||||
//$sql.= ' AND c.fk_statut in (1,2,3)';
|
//$sql.= ' AND c.fk_statut in (1,2,3)';
|
||||||
//$sql.= ' AND c.facture = 0'; // invoice not created
|
//$sql.= ' AND c.facture = 0'; // invoice not created
|
||||||
@@ -367,21 +367,21 @@ if ($resql)
|
|||||||
{
|
{
|
||||||
$title = $langs->trans('ListOfOrders');
|
$title = $langs->trans('ListOfOrders');
|
||||||
}
|
}
|
||||||
if (strval($viewstatut) == '0')
|
if (strval($search_status) == '0')
|
||||||
$title .= ' - '.$langs->trans('StatusOrderDraftShort');
|
$title .= ' - '.$langs->trans('StatusOrderDraftShort');
|
||||||
if ($viewstatut == 1)
|
if ($search_status == 1)
|
||||||
$title .= ' - '.$langs->trans('StatusOrderValidatedShort');
|
$title .= ' - '.$langs->trans('StatusOrderValidatedShort');
|
||||||
if ($viewstatut == 2)
|
if ($search_status == 2)
|
||||||
$title .= ' - '.$langs->trans('StatusOrderSentShort');
|
$title .= ' - '.$langs->trans('StatusOrderSentShort');
|
||||||
if ($viewstatut == 3)
|
if ($search_status == 3)
|
||||||
$title .= ' - '.$langs->trans('StatusOrderToBillShort');
|
$title .= ' - '.$langs->trans('StatusOrderToBillShort');
|
||||||
if ($viewstatut == 4)
|
if ($search_status == 4)
|
||||||
$title .= ' - '.$langs->trans('StatusOrderProcessedShort');
|
$title .= ' - '.$langs->trans('StatusOrderProcessedShort');
|
||||||
if ($viewstatut == -1)
|
if ($search_status == -1)
|
||||||
$title .= ' - '.$langs->trans('StatusOrderCanceledShort');
|
$title .= ' - '.$langs->trans('StatusOrderCanceledShort');
|
||||||
if ($viewstatut == -2)
|
if ($search_status == -2)
|
||||||
$title .= ' - '.$langs->trans('StatusOrderToProcessShort');
|
$title .= ' - '.$langs->trans('StatusOrderToProcessShort');
|
||||||
if ($viewstatut == -3)
|
if ($search_status == -3)
|
||||||
$title .= ' - '.$langs->trans('StatusOrderValidated').', '.(empty($conf->expedition->enabled) ? '' : $langs->trans("StatusOrderSent").', ').$langs->trans('StatusOrderToBill');
|
$title .= ' - '.$langs->trans('StatusOrderValidated').', '.(empty($conf->expedition->enabled) ? '' : $langs->trans("StatusOrderSent").', ').$langs->trans('StatusOrderToBill');
|
||||||
|
|
||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
@@ -404,7 +404,7 @@ if ($resql)
|
|||||||
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
||||||
if ($sall) $param .= '&sall='.urlencode($sall);
|
if ($sall) $param .= '&sall='.urlencode($sall);
|
||||||
if ($socid > 0) $param .= '&socid='.urlencode($socid);
|
if ($socid > 0) $param .= '&socid='.urlencode($socid);
|
||||||
if ($viewstatut != '') $param .= '&viewstatut='.urlencode($viewstatut);
|
if ($search_status != '') $param .= '&search_status='.urlencode($search_status);
|
||||||
if ($search_orderday) $param .= '&search_orderday='.urlencode($search_orderday);
|
if ($search_orderday) $param .= '&search_orderday='.urlencode($search_orderday);
|
||||||
if ($search_ordermonth) $param .= '&search_ordermonth='.urlencode($search_ordermonth);
|
if ($search_ordermonth) $param .= '&search_ordermonth='.urlencode($search_ordermonth);
|
||||||
if ($search_orderyear) $param .= '&search_orderyear='.urlencode($search_orderyear);
|
if ($search_orderyear) $param .= '&search_orderyear='.urlencode($search_orderyear);
|
||||||
@@ -462,7 +462,7 @@ if ($resql)
|
|||||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
print '<input type="hidden" name="page" value="'.$page.'">';
|
print '<input type="hidden" name="page" value="'.$page.'">';
|
||||||
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
|
||||||
print '<input type="hidden" name="viewstatut" value="'.$viewstatut.'">';
|
print '<input type="hidden" name="search_status" value="'.$search_status.'">';
|
||||||
print '<input type="hidden" name="socid" value="'.$socid.'">';
|
print '<input type="hidden" name="socid" value="'.$socid.'">';
|
||||||
|
|
||||||
|
|
||||||
@@ -717,7 +717,7 @@ if ($resql)
|
|||||||
-3=>$langs->trans("StatusOrderValidatedShort").'+'.$langs->trans("StatusOrderSentShort").'+'.$langs->trans("StatusOrderDelivered"),
|
-3=>$langs->trans("StatusOrderValidatedShort").'+'.$langs->trans("StatusOrderSentShort").'+'.$langs->trans("StatusOrderDelivered"),
|
||||||
Commande::STATUS_CANCELED=>$langs->trans("StatusOrderCanceledShort")
|
Commande::STATUS_CANCELED=>$langs->trans("StatusOrderCanceledShort")
|
||||||
);
|
);
|
||||||
print $form->selectarray('viewstatut', $liststatus, $viewstatut, -4, 0, 0, '', 0, 0, 0, '', 'maxwidth100');
|
print $form->selectarray('search_status', $liststatus, $search_status, -4, 0, 0, '', 0, 0, 0, '', 'maxwidth100');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
// Status billed
|
// Status billed
|
||||||
@@ -820,7 +820,7 @@ if ($resql)
|
|||||||
|
|
||||||
$generic_commande->getLinesArray(); // This set ->lines
|
$generic_commande->getLinesArray(); // This set ->lines
|
||||||
|
|
||||||
print $generic_commande->getNomUrl(1, ($viewstatut != 2 ? 0 : $obj->fk_statut), 0, 0, 0, 1, 1);
|
print $generic_commande->getNomUrl(1, ($search_status != 2 ? 0 : $obj->fk_statut), 0, 0, 0, 1, 1);
|
||||||
|
|
||||||
// Show shippable Icon (create subloop, so may be slow)
|
// Show shippable Icon (create subloop, so may be slow)
|
||||||
if ($conf->stock->enabled)
|
if ($conf->stock->enabled)
|
||||||
@@ -1075,7 +1075,7 @@ if ($resql)
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i);
|
$parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
$reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
// Date creation
|
// Date creation
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ $socid = GETPOST('socid', 'int');
|
|||||||
$selected = GETPOST('orders_to_invoice');
|
$selected = GETPOST('orders_to_invoice');
|
||||||
$sortfield = GETPOST("sortfield", 'alpha');
|
$sortfield = GETPOST("sortfield", 'alpha');
|
||||||
$sortorder = GETPOST("sortorder", 'alpha');
|
$sortorder = GETPOST("sortorder", 'alpha');
|
||||||
$viewstatut = GETPOST('viewstatut', 'alpha');
|
$search_status = GETPOST('search_status', 'alpha');
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -255,7 +255,9 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
|||||||
|
|
||||||
// Show filter box
|
// Show filter box
|
||||||
print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||||
print '<input type="hidden" name="mode" value="'.$mode.'">';
|
print '<input type="hidden" name="mode" value="'.$mode.'">';
|
||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td class="liste_titre" colspan="2">'.$langs->trans("Filter").'</td></tr>';
|
print '<tr class="liste_titre"><td class="liste_titre" colspan="2">'.$langs->trans("Filter").'</td></tr>';
|
||||||
// Company
|
// Company
|
||||||
|
|||||||
@@ -16,11 +16,17 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/**
|
|
||||||
|
/**
|
||||||
* \file htdocs/compta/accounting-files.php
|
* \file htdocs/compta/accounting-files.php
|
||||||
* \ingroup compta
|
* \ingroup compta
|
||||||
* \brief Page to show portoflio and files of a thirdparty and download it
|
* \brief Page to show portoflio and files of a thirdparty and download it
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if ((array_key_exists('action', $_GET) && $_GET['action'] == 'dl') || (array_key_exists('action', $_POST) && $_POST['action'] == 'dl')) { // To not replace token when downloading file
|
||||||
|
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1');
|
||||||
|
}
|
||||||
|
|
||||||
require '../main.inc.php';
|
require '../main.inc.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
@@ -106,7 +112,7 @@ $error = 0;
|
|||||||
|
|
||||||
$filesarray = array();
|
$filesarray = array();
|
||||||
$result = false;
|
$result = false;
|
||||||
if (($action == "searchfiles" || $action == "dl")) {
|
if (($action == 'searchfiles' || $action == 'dl')) {
|
||||||
if (empty($date_start))
|
if (empty($date_start))
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("DateStart")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("DateStart")), null, 'errors');
|
||||||
@@ -235,7 +241,7 @@ if (($action == "searchfiles" || $action == "dl")) {
|
|||||||
{
|
{
|
||||||
$result = true;
|
$result = true;
|
||||||
|
|
||||||
$files = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview\.png)$', '', SORT_ASC, 1);
|
$files = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', '', SORT_ASC, 1);
|
||||||
//var_dump($upload_dir);
|
//var_dump($upload_dir);
|
||||||
//var_dump($files);
|
//var_dump($files);
|
||||||
|
|
||||||
@@ -459,7 +465,7 @@ if (!empty($date_start) && !empty($date_stop))
|
|||||||
$param .= '&date_stopyear='.GETPOST('date_stopyear', 'int');
|
$param .= '&date_stopyear='.GETPOST('date_stopyear', 'int');
|
||||||
|
|
||||||
print '<form name="dl" action="?action=dl" method="POST" >'."\n";
|
print '<form name="dl" action="?action=dl" method="POST" >'."\n";
|
||||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
print '<input type="hidden" name="token" value="'.currentToken().'">';
|
||||||
|
|
||||||
echo dol_print_date($date_start, 'day')." - ".dol_print_date($date_stop, 'day');
|
echo dol_print_date($date_start, 'day')." - ".dol_print_date($date_stop, 'day');
|
||||||
|
|
||||||
|
|||||||
@@ -92,12 +92,12 @@ include_once DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php';
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
$title = $langs->trans("FinancialAccount").' - '.$langs->trans("Documents");
|
$title = $langs->trans("FinancialAccount").' - '.$langs->trans("Documents");
|
||||||
$helpurl = "";
|
$helpurl = "";
|
||||||
llxHeader('', $title, $helpurl);
|
llxHeader('', $title, $helpurl);
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
|
|
||||||
if ($id > 0 || !empty($ref)) {
|
if ($id > 0 || !empty($ref)) {
|
||||||
if ($object->fetch($id, $ref)) {
|
if ($object->fetch($id, $ref)) {
|
||||||
$upload_dir = $conf->bank->dir_output."/".$id."/statement/".dol_sanitizeFileName($num);
|
$upload_dir = $conf->bank->dir_output."/".$id."/statement/".dol_sanitizeFileName($num);
|
||||||
@@ -114,13 +114,9 @@ if ($id > 0 || !empty($ref)) {
|
|||||||
$totalsize += $file['size'];
|
$totalsize += $file['size'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$morehtmlref = '';
|
|
||||||
|
|
||||||
|
|
||||||
$title = $langs->trans("AccountStatement").' '.$num.' - '.$langs->trans("BankAccount").' '.$object->getNomUrl(1, 'receipts');
|
$title = $langs->trans("AccountStatement").' '.$num.' - '.$langs->trans("BankAccount").' '.$object->getNomUrl(1, 'receipts');
|
||||||
print load_fiche_titre($title, '', '');
|
print load_fiche_titre($title, '', '');
|
||||||
|
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
|
|||||||
@@ -495,6 +495,12 @@ $sql .= " ".MAIN_DB_PREFIX."bank as b";
|
|||||||
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (b.rowid = ef.fk_object)";
|
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (b.rowid = ef.fk_object)";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu ON bu.fk_bank = b.rowid AND type = 'company'";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu ON bu.fk_bank = b.rowid AND type = 'company'";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON bu.url_id = s.rowid";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON bu.url_id = s.rowid";
|
||||||
|
|
||||||
|
// Add fields from hooks
|
||||||
|
$parameters = array();
|
||||||
|
$reshook = $hookmanager->executeHooks('printFieldListJoin', $parameters); // Note that $action and $object may have been modified by hook
|
||||||
|
$sql .= $hookmanager->resPrint;
|
||||||
|
|
||||||
$sql .= " WHERE b.fk_account = ba.rowid";
|
$sql .= " WHERE b.fk_account = ba.rowid";
|
||||||
$sql .= " AND ba.entity IN (".getEntity('bank_account').")";
|
$sql .= " AND ba.entity IN (".getEntity('bank_account').")";
|
||||||
if ($search_account > 0) $sql .= " AND b.fk_account = ".$search_account;
|
if ($search_account > 0) $sql .= " AND b.fk_account = ".$search_account;
|
||||||
@@ -1157,14 +1163,14 @@ if ($resql)
|
|||||||
} else {
|
} else {
|
||||||
$color = '#'.$conf->global->BANK_COLORIZE_MOVEMENT_COLOR1;
|
$color = '#'.$conf->global->BANK_COLORIZE_MOVEMENT_COLOR1;
|
||||||
}
|
}
|
||||||
$backgroundcolor = 'style="background-color: '.$color.';"';
|
$backgroundcolor = 'style="background: '.$color.';"';
|
||||||
} else {
|
} else {
|
||||||
if (empty($conf->global->BANK_COLORIZE_MOVEMENT_COLOR2)) {
|
if (empty($conf->global->BANK_COLORIZE_MOVEMENT_COLOR2)) {
|
||||||
$color = '#7fdb86';
|
$color = '#7fdb86';
|
||||||
} else {
|
} else {
|
||||||
$color = '#'.$conf->global->BANK_COLORIZE_MOVEMENT_COLOR2;
|
$color = '#'.$conf->global->BANK_COLORIZE_MOVEMENT_COLOR2;
|
||||||
}
|
}
|
||||||
$backgroundcolor = 'style="background-color: '.$color.';"';
|
$backgroundcolor = 'style="background: '.$color.';"';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print '<tr class="oddeven" '.$backgroundcolor.'>';
|
print '<tr class="oddeven" '.$backgroundcolor.'>';
|
||||||
@@ -1507,6 +1513,11 @@ if ($resql)
|
|||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fields from hook
|
||||||
|
$parameters=array('arrayfields'=>$arrayfields, 'obj'=>$objp, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
|
$reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $objecttmp); // Note that $action and $objecttmpect may have been modified by hook
|
||||||
|
print $hookmanager->resPrint;
|
||||||
|
|
||||||
// Action edit/delete
|
// Action edit/delete
|
||||||
print '<td class="nowraponall" align="center">';
|
print '<td class="nowraponall" align="center">';
|
||||||
// Transaction reconciliated or edit link
|
// Transaction reconciliated or edit link
|
||||||
|
|||||||
@@ -214,6 +214,76 @@ class Account extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $date_solde;
|
public $date_solde;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'type' if the field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password')
|
||||||
|
* Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)"
|
||||||
|
* 'label' the translation key.
|
||||||
|
* 'enabled' is a condition when the field must be managed.
|
||||||
|
* 'position' is the sort order of field.
|
||||||
|
* 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0).
|
||||||
|
* 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing)
|
||||||
|
* 'noteditable' says if field is not editable (1 or 0)
|
||||||
|
* 'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created.
|
||||||
|
* 'index' if we want an index in database.
|
||||||
|
* 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...).
|
||||||
|
* 'searchall' is 1 if we want to search in this field when making a search from the quick search button.
|
||||||
|
* 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8).
|
||||||
|
* 'css' is the CSS style to use on field. For example: 'maxwidth200'
|
||||||
|
* 'help' is a string visible as a tooltip on field
|
||||||
|
* 'showoncombobox' if value of the field must be visible into the label of the combobox that list record
|
||||||
|
* 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code.
|
||||||
|
* 'arraykeyval' to set list of value if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel")
|
||||||
|
* 'comment' is not used. You can store here any text of your choice. It is not used by application.
|
||||||
|
*
|
||||||
|
* Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// BEGIN MODULEBUILDER PROPERTIES
|
||||||
|
/**
|
||||||
|
* @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor.
|
||||||
|
*/
|
||||||
|
public $fields=array(
|
||||||
|
'rowid' =>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>10),
|
||||||
|
'ref' =>array('type'=>'varchar(12)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'showoncombobox'=>1, 'position'=>25),
|
||||||
|
'label' =>array('type'=>'varchar(30)', 'label'=>'Label', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>30),
|
||||||
|
'entity' =>array('type'=>'integer', 'label'=>'Entity', 'default'=>1, 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>35, 'index'=>1),
|
||||||
|
'bank' =>array('type'=>'varchar(60)', 'label'=>'Bank', 'enabled'=>1, 'visible'=>-1, 'position'=>40),
|
||||||
|
'code_banque' =>array('type'=>'varchar(128)', 'label'=>'Code banque', 'enabled'=>1, 'visible'=>-1, 'position'=>45),
|
||||||
|
'code_guichet' =>array('type'=>'varchar(6)', 'label'=>'Code guichet', 'enabled'=>1, 'visible'=>-1, 'position'=>50),
|
||||||
|
'number' =>array('type'=>'varchar(255)', 'label'=>'Number', 'enabled'=>1, 'visible'=>-1, 'position'=>55),
|
||||||
|
'cle_rib' =>array('type'=>'varchar(5)', 'label'=>'Cle rib', 'enabled'=>1, 'visible'=>-1, 'position'=>60),
|
||||||
|
'bic' =>array('type'=>'varchar(11)', 'label'=>'Bic', 'enabled'=>1, 'visible'=>-1, 'position'=>65),
|
||||||
|
'iban_prefix' =>array('type'=>'varchar(34)', 'label'=>'Iban prefix', 'enabled'=>1, 'visible'=>-1, 'position'=>70),
|
||||||
|
'country_iban' =>array('type'=>'varchar(2)', 'label'=>'Country iban', 'enabled'=>1, 'visible'=>-1, 'position'=>75),
|
||||||
|
'cle_iban' =>array('type'=>'varchar(2)', 'label'=>'Cle iban', 'enabled'=>1, 'visible'=>-1, 'position'=>80),
|
||||||
|
'domiciliation' =>array('type'=>'varchar(255)', 'label'=>'Domiciliation', 'enabled'=>1, 'visible'=>-1, 'position'=>85),
|
||||||
|
'state_id' =>array('type'=>'integer', 'label'=>'State id', 'enabled'=>1, 'visible'=>-1, 'position'=>90),
|
||||||
|
'fk_pays' =>array('type'=>'integer', 'label'=>'Fk pays', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>95),
|
||||||
|
'proprio' =>array('type'=>'varchar(60)', 'label'=>'Proprio', 'enabled'=>1, 'visible'=>-1, 'position'=>100),
|
||||||
|
'owner_address' =>array('type'=>'text', 'label'=>'Owner address', 'enabled'=>1, 'visible'=>-1, 'position'=>105),
|
||||||
|
'courant' =>array('type'=>'smallint(6)', 'label'=>'Courant', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>110),
|
||||||
|
'clos' =>array('type'=>'smallint(6)', 'label'=>'Clos', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>115),
|
||||||
|
'rappro' =>array('type'=>'smallint(6)', 'label'=>'Rappro', 'enabled'=>1, 'visible'=>-1, 'position'=>120),
|
||||||
|
'url' =>array('type'=>'varchar(128)', 'label'=>'Url', 'enabled'=>1, 'visible'=>-1, 'position'=>125),
|
||||||
|
'account_number' =>array('type'=>'varchar(32)', 'label'=>'Account number', 'enabled'=>1, 'visible'=>-1, 'position'=>130),
|
||||||
|
'accountancy_journal' =>array('type'=>'varchar(20)', 'label'=>'Accountancy journal', 'enabled'=>1, 'visible'=>-1, 'position'=>135),
|
||||||
|
'currency_code' =>array('type'=>'varchar(3)', 'label'=>'Currency code', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>140),
|
||||||
|
'min_allowed' =>array('type'=>'integer', 'label'=>'Min allowed', 'enabled'=>1, 'visible'=>-1, 'position'=>145),
|
||||||
|
'min_desired' =>array('type'=>'integer', 'label'=>'Min desired', 'enabled'=>1, 'visible'=>-1, 'position'=>150),
|
||||||
|
'comment' =>array('type'=>'text', 'label'=>'Comment', 'enabled'=>1, 'visible'=>-1, 'position'=>155),
|
||||||
|
'datec' =>array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-1, 'position'=>156),
|
||||||
|
'tms' =>array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>157),
|
||||||
|
'fk_user_author' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'Fk user author', 'enabled'=>1, 'visible'=>-1, 'position'=>160),
|
||||||
|
'fk_user_modif' =>array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>165),
|
||||||
|
'note_public' =>array('type'=>'text', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>0, 'position'=>170),
|
||||||
|
'model_pdf' =>array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'position'=>175),
|
||||||
|
'import_key' =>array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>180),
|
||||||
|
'extraparams' =>array('type'=>'varchar(255)', 'label'=>'Extraparams', 'enabled'=>1, 'visible'=>-1, 'position'=>185),
|
||||||
|
'fk_accountancy_journal' =>array('type'=>'integer', 'label'=>'Fk accountancy journal', 'enabled'=>1, 'visible'=>-1, 'position'=>190),
|
||||||
|
);
|
||||||
|
// END MODULEBUILDER PROPERTIES
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Current account
|
* Current account
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -422,7 +422,11 @@ class PaymentVarious extends CommonObject
|
|||||||
$sign * abs($this->amount),
|
$sign * abs($this->amount),
|
||||||
$this->num_payment,
|
$this->num_payment,
|
||||||
($this->category_transaction > 0 ? $this->category_transaction : 0),
|
($this->category_transaction > 0 ? $this->category_transaction : 0),
|
||||||
$user
|
$user,
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
$this->datev
|
||||||
);
|
);
|
||||||
|
|
||||||
// Update fk_bank into llx_paiement.
|
// Update fk_bank into llx_paiement.
|
||||||
|
|||||||
@@ -385,8 +385,8 @@ if ($result)
|
|||||||
print $langs->trans("VATPayment");
|
print $langs->trans("VATPayment");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
elseif ($links[$key]['type']=='payment_salary') {
|
elseif ($links[$key]['type'] == 'payment_salary') {
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/salaries/card.php?id='.$links[$key]['url_id'].'">';
|
print '<a href="'.DOL_URL_ROOT.'/salaries/card.php?id='.$links[$key]['url_id'].'">';
|
||||||
print img_object($langs->trans('ShowPaymentSalary'), 'payment').' ';
|
print img_object($langs->trans('ShowPaymentSalary'), 'payment').' ';
|
||||||
print $langs->trans("SalaryPayment");
|
print $langs->trans("SalaryPayment");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ print '<input type="hidden" name="action" value="list">';
|
|||||||
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
||||||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
print '<input type="hidden" name="page" value="'.$page.'">';
|
print '<input type="hidden" name="page" value="'.$page.'">';
|
||||||
print '<input type="hidden" name="viewstatut" value="'.$viewstatut.'">';
|
print '<input type="hidden" name="search_status" value="'.$search_status.'">';
|
||||||
|
|
||||||
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'bank', 0, $newcardbutton, '', $limit, 1);
|
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'bank', 0, $newcardbutton, '', $limit, 1);
|
||||||
|
|
||||||
@@ -529,7 +529,7 @@ foreach ($accounts as $key=>$type)
|
|||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php';
|
||||||
// Fields from hook
|
// Fields from hook
|
||||||
$parameters=array('arrayfields'=>$arrayfields);
|
$parameters=array('arrayfields'=>$arrayfields, 'obj'=>$obj, 'i'=>$i, 'totalarray'=>&$totalarray);
|
||||||
$reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $objecttmp); // Note that $action and $objecttmpect may have been modified by hook
|
$reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $objecttmp); // Note that $action and $objecttmpect may have been modified by hook
|
||||||
print $hookmanager->resPrint;
|
print $hookmanager->resPrint;
|
||||||
// Date creation
|
// Date creation
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ $sqlrequestforbankline = $sql;
|
|||||||
if ($action == 'confirm_editbankreceipt' && !empty($oldbankreceipt) && !empty($newbankreceipt))
|
if ($action == 'confirm_editbankreceipt' && !empty($oldbankreceipt) && !empty($newbankreceipt))
|
||||||
{
|
{
|
||||||
// TODO Add a test to check newbankreceipt does not exists yet
|
// TODO Add a test to check newbankreceipt does not exists yet
|
||||||
$sqlupdate = 'UPDATE '.MAIN_DB_PREFIX.'bank SET num_releve = "'.$db->escape($newbankreceipt).'" WHERE num_releve = "'.$db->escape($oldbankreceipt).'"';
|
$sqlupdate = 'UPDATE '.MAIN_DB_PREFIX.'bank SET num_releve = "'.$db->escape($newbankreceipt).'" WHERE num_releve = "'.$db->escape($oldbankreceipt).'" AND fk_account = '.$id;
|
||||||
$result = $db->query($sqlupdate);
|
$result = $db->query($sqlupdate);
|
||||||
if ($result < 0) dol_print_error($db);
|
if ($result < 0) dol_print_error($db);
|
||||||
|
|
||||||
|
|||||||
@@ -51,8 +51,12 @@ $sens = GETPOST("sens", "int");
|
|||||||
$amount = price2num(GETPOST("amount", "alpha"));
|
$amount = price2num(GETPOST("amount", "alpha"));
|
||||||
$paymenttype = GETPOST("paymenttype", "int");
|
$paymenttype = GETPOST("paymenttype", "int");
|
||||||
$accountancy_code = GETPOST("accountancy_code", "alpha");
|
$accountancy_code = GETPOST("accountancy_code", "alpha");
|
||||||
$subledger_account = GETPOST("subledger_account", "alpha");
|
|
||||||
$projectid = (GETPOST('projectid', 'int') ? GETPOST('projectid', 'int') : GETPOST('fk_project', 'int'));
|
$projectid = (GETPOST('projectid', 'int') ? GETPOST('projectid', 'int') : GETPOST('fk_project', 'int'));
|
||||||
|
if (!empty($conf->accounting->enabled) && !empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX)) {
|
||||||
|
$subledger_account = GETPOST("subledger_account", "alpha") > 0 ? GETPOST("subledger_account", "alpha") : '';
|
||||||
|
} else {
|
||||||
|
$subledger_account = GETPOST("subledger_account", "alpha");
|
||||||
|
}
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$socid = GETPOST("socid", "int");
|
$socid = GETPOST("socid", "int");
|
||||||
@@ -115,7 +119,7 @@ if (empty($reshook))
|
|||||||
$object->category_transaction = GETPOST("category_transaction", 'alpha');
|
$object->category_transaction = GETPOST("category_transaction", 'alpha');
|
||||||
|
|
||||||
$object->accountancy_code = GETPOST("accountancy_code") > 0 ? GETPOST("accountancy_code", "alpha") : "";
|
$object->accountancy_code = GETPOST("accountancy_code") > 0 ? GETPOST("accountancy_code", "alpha") : "";
|
||||||
$object->subledger_account = GETPOST("subledger_account") > 0 ? GETPOST("subledger_account", "alpha") : "";
|
$object->subledger_account = $subledger_account;
|
||||||
|
|
||||||
$object->sens = GETPOST('sens');
|
$object->sens = GETPOST('sens');
|
||||||
$object->fk_project = GETPOST('fk_project', 'int');
|
$object->fk_project = GETPOST('fk_project', 'int');
|
||||||
@@ -219,9 +223,11 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'setsubledger_account') {
|
if ($action == 'setsubledger_account') {
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
$result = $object->fetch($id);
|
$result = $object->fetch($id);
|
||||||
|
|
||||||
$object->subledger_account = (GETPOST("subledger_account") > 0 ? GETPOST("subledger_account", "alpha") : "");
|
$object->subledger_account = $subledger_account;
|
||||||
|
|
||||||
$res = $object->update($user);
|
$res = $object->update($user);
|
||||||
if ($res > 0) {
|
if ($res > 0) {
|
||||||
@@ -386,7 +392,7 @@ if ($action == 'create')
|
|||||||
// Subledger account
|
// Subledger account
|
||||||
if (!empty($conf->accounting->enabled))
|
if (!empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("SubledgerAccount").'</td>';
|
print '<tr><td>'.$langs->trans("SubledgerAccount").'aaaa</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX))
|
if (!empty($conf->global->ACCOUNTANCY_COMBO_FOR_AUX))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ $offset = $conf->liste_limit * $page;
|
|||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
if (! $sortfield) $sortfield="v.datep,v.rowid";
|
if (! $sortfield) $sortfield="v.datep,v.rowid";
|
||||||
if (! $sortorder) $sortorder="DESC";
|
if (! $sortorder) $sortorder="DESC,DESC";
|
||||||
|
|
||||||
$filtre=GETPOST("filtre", 'alpha');
|
$filtre=GETPOST("filtre", 'alpha');
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ if ($result)
|
|||||||
if ($typeid > 0) $param.='&typeid='.urlencode($typeid);
|
if ($typeid > 0) $param.='&typeid='.urlencode($typeid);
|
||||||
if ($search_amount_deb) $param.='&search_amount_deb='.urlencode($search_amount_deb);
|
if ($search_amount_deb) $param.='&search_amount_deb='.urlencode($search_amount_deb);
|
||||||
if ($search_amount_cred) $param.='&search_amount_cred='.urlencode($search_amount_cred);
|
if ($search_amount_cred) $param.='&search_amount_cred='.urlencode($search_amount_cred);
|
||||||
if ($search_account > 0) $param.='&search_amount='.urlencode($search_account);
|
if ($search_account > 0) $param.='&search_account='.urlencode($search_account);
|
||||||
//if ($search_date) $param.='&search_date='.$search_date;
|
//if ($search_date) $param.='&search_date='.$search_date;
|
||||||
if ($search_accountancy_code > 0) $param.='&search_accountancy_code='.urlencode($search_accountancy_code);
|
if ($search_accountancy_code > 0) $param.='&search_accountancy_code='.urlencode($search_accountancy_code);
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user