2
0
forked from Wavyzz/dolibarr

Compare commits

...

1631 Commits

Author SHA1 Message Date
Laurent Destailleur
cd6ceaf3f4 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/holiday/fiche.php
2013-04-29 19:04:15 +02:00
simnandez
52b9a3ad91 Update ChangeLog 2013-04-29 12:49:56 +02:00
Laurent Destailleur
840dcfec38 Fix: Bad detection of PDF format. 2013-04-29 09:25:42 +02:00
Laurent Destailleur
9bbe5014e6 Fix: Bad field size on old installations 2013-04-28 23:50:40 +02:00
Laurent Destailleur
f6c2bd4928 Fix: Uniformize menu conditions 2013-04-28 23:25:28 +02:00
Laurent Destailleur
ce47a7d731 printSearchForm hook match specifications 2013-04-28 20:53:23 +02:00
Laurent Destailleur
b21a13b789 Fix: compatibility with jmobile 2013-04-28 20:29:21 +02:00
Laurent Destailleur
670d01e14e Fix: Remove space char at end of document and viewimage. 2013-04-28 18:46:34 +02:00
Laurent Destailleur
27ae971f35 Fix: W3C 2013-04-28 12:46:52 +02:00
Laurent Destailleur
e17e12775d Usage 2013-04-28 02:48:14 +02:00
Laurent Destailleur
80e470a4ce Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/comm/propal/class/propal.class.php
	htdocs/compta/facture.php
	htdocs/compta/facture/impayees.php
	htdocs/compta/index.php
	htdocs/core/boxes/box_produits_alerte_stock.php
	htdocs/core/class/html.form.class.php
	htdocs/core/modules/syslog/mod_syslog_file.php
	htdocs/fourn/facture/impayees.php
	htdocs/holiday/class/holiday.class.php
	htdocs/holiday/fiche.php
2013-04-28 01:24:58 +02:00
Laurent Destailleur
7b85baa5e4 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-28 01:12:48 +02:00
Laurent Destailleur
2e81fa342e Uniformize code, order of fiels in card and language files. 2013-04-28 01:12:40 +02:00
Laurent Destailleur
757473cf86 Replace table with div 2013-04-28 00:36:49 +02:00
Laurent Destailleur
e86800516e Merge pull request #895 from jfefe/develop
Fix : use standard method to show extrafields on propal
2013-04-27 14:24:51 -07:00
jfefe
54f0d1b1a5 Fix : use standard method to show extrafields 2013-04-27 22:57:29 +02:00
Laurent Destailleur
4c9a728799 Merge pull request #890 from marcosgdf/translations
Improved translations
2013-04-27 12:53:15 -07:00
Laurent Destailleur
07baa244ed No need to make a test on a var 2013-04-27 21:38:49 +02:00
Laurent Destailleur
38bc86dc2a Missing menu entry for home page 2013-04-27 21:37:30 +02:00
Laurent Destailleur
9dc0a19ed3 More logs 2013-04-27 21:36:52 +02:00
Laurent Destailleur
e4ea3b9b0e Propagation of param missing. 2013-04-27 21:35:30 +02:00
simnandez
823b716042 Trad: Add ca_ES holiday translations 2013-04-27 17:52:14 +02:00
simnandez
d982148b7b Fix: [ bug #855 ] Holiday approval email in French 2013-04-27 17:20:02 +02:00
Laurent Destailleur
e29f533b7a Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/comm/propal/class/propal.class.php
2013-04-27 15:15:31 +02:00
Laurent Destailleur
52952c6fce Uniformize code for liste_array
Fix visibility of elements into product page (manage external users)
2013-04-27 15:08:35 +02:00
Marcos García
be5fcfdce3 Improved es_ES translations + replaced lang key in margins module admin page 2013-04-27 12:56:57 +02:00
Marcos García
36574771a6 Translation of barcode internal engine string 2013-04-27 12:49:19 +02:00
Marcos García
5784cb120a Moved GenbarcodeLocation from products.lang to admin.lang 2013-04-27 12:32:20 +02:00
Laurent Destailleur
50dd0ef7ee Merge pull request #885 from FHenry/develop
Review extrafield for compliance with wiki
2013-04-26 13:08:37 -07:00
Laurent Destailleur
b721111409 Merge pull request #883 from marcosgdf/bug-846
Fixed bug #846: Create a supplier invoice (without project)
2013-04-26 13:05:52 -07:00
Laurent Destailleur
0a282c018a Merge pull request #886 from jfefe/doc_ods
Using of MAIN_DOC_USE_TIMING on ODT
2013-04-26 13:04:08 -07:00
Laurent Destailleur
f04abccdf3 Look cleaner 2013-04-26 21:07:51 +02:00
fhenry
91885a8bd4 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-26 20:54:53 +02:00
Laurent Destailleur
162cb4ffea Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-26 19:17:51 +02:00
Laurent Destailleur
2a74cb81f0 Fix: Removed warnings 2013-04-26 19:13:39 +02:00
fhenry
5dce16863f Review delete extrafield in delete class method 2013-04-26 17:20:21 +02:00
fhenry
53ca1546d0 Fetch optionnal into fetch of propal 2013-04-26 16:58:04 +02:00
fhenry
e76f997ded Fix adherent class mistake 2013-04-26 16:53:22 +02:00
fhenry
5d8e541292 Fetch_optionals into fetch commande 2013-04-26 16:51:01 +02:00
Regis Houssin
d25687276e Fix: bypass the second test if the first is ok 2013-04-26 16:29:29 +02:00
Regis Houssin
3684271627 Fix: avoid error 2013-04-26 16:21:48 +02:00
Regis Houssin
34036c2a5c Fix: big security problem with multicompany 2013-04-26 16:07:35 +02:00
fhenry
c988944f1a PDF admin : Add option to hide num TVA intra into adress of customer 2013-04-26 13:25:51 +02:00
Regis Houssin
3b934118c5 Fix: security problem with multicompany 2013-04-26 12:36:02 +02:00
fhenry
b9f7d4c302 Fix bug on invoice extrafield type date 2013-04-26 12:20:15 +02:00
fhenry
30ad2f1609 Fix bug in fetch_optionals 2013-04-26 10:51:17 +02:00
fhenry
b4f3e9d5a8 fix table name in migration script 2013-04-26 10:34:11 +02:00
fhenry
a06581771c Reveiw extrafield for womplaiance with wiki
http://wiki.dolibarr.org/index.php/Extrafields
2013-04-26 10:29:14 +02:00
jfefe
34749d9f72 Merge branch 'doc_ods' of github.com:jfefe/dolibarr into doc_ods 2013-04-26 08:49:21 +02:00
jfefe
8835868749 Implement MAIN_DOC_USE_TIMING into project and order ODT 2013-04-26 08:48:44 +02:00
jfefe
8a958c31e3 Use MAIN_DOC_USE_TIMING on invoices (odt) 2013-04-26 08:48:44 +02:00
jfefe
036e81a089 Use MAIN_DOC_USE_TIMING on proposals (ODT) 2013-04-26 08:48:44 +02:00
jfefe
bfc15fb99f Change name of hidden option to add timing in filename (MAIN_DOC_USE_TIMING) 2013-04-26 08:48:43 +02:00
fhenry
d0f44bf25f Add zero entity into extrafeild deletion 2013-04-26 08:46:25 +02:00
Marcos García
6ac6f6e911 Fixed bug #846: Create a supplier invoice (without project) 2013-04-26 06:34:41 +02:00
jfefe
44712ea99a Implement MAIN_DOC_USE_TIMING into project and order ODT 2013-04-26 01:33:56 +02:00
Laurent Destailleur
271dcf578f Fix: Better error message during import of csv with records split onto
several lines.
2013-04-25 23:49:24 +02:00
Laurent Destailleur
4c1f301f4e Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-25 20:39:47 +02:00
Laurent Destailleur
3ecb61f18e Fix: Using div 2013-04-25 20:36:38 +02:00
Laurent Destailleur
36b314a2d6 Try to solve some problems with table (replaced by div). 2013-04-25 20:27:45 +02:00
Regis Houssin
4f600b6465 Fix: use $conf->entity if defined 2013-04-25 15:53:20 +02:00
Regis Houssin
ce3b8e5cc8 Fix: broken features with multicompany 2013-04-25 15:49:27 +02:00
Laurent Destailleur
edc84f4168 Fix: Label must be same into combo list than into admin page. 2013-04-25 13:12:57 +02:00
Laurent Destailleur
0a5415ee2a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-25 13:09:28 +02:00
Laurent Destailleur
542a9608a7 Missing translation 2013-04-25 13:04:06 +02:00
simnandez
9dde709c3e Fix: typo errors 2013-04-25 13:01:38 +02:00
Laurent Destailleur
726c83d2d2 Merge pull request #877 from FHenry/develop
Fix bug on Extrafield list table type
2013-04-25 01:23:57 -07:00
Laurent Destailleur
023b6f2e8b Fix: Use entity 2013-04-25 10:22:08 +02:00
Laurent Destailleur
86ea79c860 Fix: dol_check_secure_access_document is also used by viewimage. This
also solve bug of not found supplier doc and solve some security holes.
2013-04-25 10:06:54 +02:00
Laurent Destailleur
cce857d6ee Fix: When box is removed, it is added into combo box of available boxes. 2013-04-25 01:35:33 +02:00
Laurent Destailleur
3c5520f418 Fix: missing translation 2013-04-25 01:17:45 +02:00
Laurent Destailleur
4e0ef01389 Qual: nowrap="nowrap" is replaced with a CSS class style .nowrap 2013-04-25 01:13:13 +02:00
fhenry
8c440b3f57 Remove entity check in list table extrafield 2013-04-25 00:14:43 +02:00
fhenry
507da4fc3b Add Zero entity to shared extrafield 2013-04-25 00:09:47 +02:00
fhenry
f1a97d4705 remove ver_export 2013-04-25 00:02:29 +02:00
fhenry
9a0f9477a6 Fix multicompany problem with extrafield list from table 2013-04-25 00:01:38 +02:00
fhenry
7fdf2f3482 Fix for php 5 2013-04-24 23:54:02 +02:00
fhenry
faced82abe Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-24 23:49:49 +02:00
fhenry
928a1afe18 Fix bug on Extrafield list table type 2013-04-24 21:32:22 +02:00
Laurent Destailleur
4a0c6c425e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-24 19:15:54 +02:00
Laurent Destailleur
00e39a219e Merge pull request #876 from jfefe/test_ui
Minor interface improvements (theme eldy) : link uderline on hover / bold in array titles
2013-04-24 10:15:38 -07:00
Laurent Destailleur
3896b99bad Add UK with GB. 2013-04-24 19:14:59 +02:00
fhenry
7b1616d0c5 Better management extrafield from list of table 2013-04-24 19:14:03 +02:00
Laurent Destailleur
0301d04fc4 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-24 19:01:09 +02:00
Laurent Destailleur
20b9331b3c Fix: W3C 2013-04-24 18:58:01 +02:00
Laurent Destailleur
ac4c236dbc Merge pull request #874 from grandoc/develop
Develop
2013-04-24 09:02:51 -07:00
Laurent Destailleur
f67bf0eef2 Merge pull request #873 from FHenry/develop
Add debug script and better ODT error management
2013-04-24 09:02:20 -07:00
fhenry
5789a5d6e9 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-24 17:53:59 +02:00
fhenry
d9551abb70 Fix trad for Extrafield from table 2013-04-24 17:32:08 +02:00
jfefe
9ea1f2c4ed Use MAIN_DOC_USE_TIMING on invoices (odt) 2013-04-24 17:13:47 +02:00
jfefe
e1120dfe08 Use MAIN_DOC_USE_TIMING on proposals (ODT) 2013-04-24 17:10:54 +02:00
Laurent Destailleur
74e7dc319d Fix: package adodb and nusoap not available on opensuse 2013-04-24 16:52:17 +02:00
fhenry
9ce7e44f00 use price method rather than price2num. price are use in all PDF, so it
should be the same on ODT
2013-04-24 16:47:15 +02:00
Laurent Destailleur
d3d2ffe43e Qual: A better error management for suse rpm package 2013-04-24 16:16:41 +02:00
Laurent Destailleur
9a2b72f8f8 Compatibility with jmobile 2013-04-24 15:49:43 +02:00
Grand Philippe
1200155441 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-04-24 15:19:13 +02:00
Grand Philippe
d2a718d0e6 fix undefined offset 2013-04-24 15:18:42 +02:00
fhenry
41c8a9aa6a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-24 15:07:03 +02:00
Laurent Destailleur
304cf641c0 Prepare 3.4 2013-04-24 14:39:34 +02:00
Laurent Destailleur
95f6b576b2 Look: Minor fix 2013-04-24 14:20:23 +02:00
jfefe
c17775b9a1 Minor interface improvements (theme eldy) : link uderline on hover / bold in array titles 2013-04-24 13:39:39 +02:00
Laurent Destailleur
bca399623f Fix: finish merge 2013-04-24 12:44:36 +02:00
Laurent Destailleur
f7aa90b3b3 Add user help 2013-04-24 12:43:23 +02:00
Laurent Destailleur
cbf44bf175 Change to be compatible with jmobile 2013-04-24 12:10:04 +02:00
fhenry
d9a2805100 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-24 08:50:51 +02:00
Laurent Destailleur
a8ea2a9d06 Prepare code for small screens 2013-04-24 04:06:13 +02:00
Laurent Destailleur
d5f3f47782 New: Use div for tabs. 2013-04-24 03:56:13 +02:00
Laurent Destailleur
b3e2050186 Fix: Remove warning 2013-04-23 23:44:49 +02:00
fhenry
bd1b440743 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-23 23:28:44 +02:00
Laurent Destailleur
854b9df96d Qual: Clean code of box management 2013-04-23 16:18:26 +02:00
Laurent Destailleur
203d4e3ca8 Prepare database for parameters into boxes 2013-04-23 14:17:04 +02:00
Laurent Destailleur
7dce8d2306 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	build/debian/changelog
	build/doxygen/dolibarr-doxygen.doxyfile
	build/exe/doliwamp/doliwamp.iss
	build/launchpad/README
	build/makepack-dolibarr.pl
	build/perl/virtualmin/dolibarr.pl
	build/rpm/dolibarr_fedora.spec
	build/rpm/dolibarr_generic.spec
	build/rpm/dolibarr_mandriva.spec
	build/rpm/dolibarr_opensuse.spec
	htdocs/core/modules/syslog/mod_syslog_file.php
	htdocs/filefunc.inc.php
	htdocs/product/class/product.class.php
2013-04-23 14:04:56 +02:00
Laurent Destailleur
39d3d1a34e Enhance script to send email to sale representatives 2013-04-23 12:00:31 +02:00
Laurent Destailleur
78a0c7ace2 Fix: log must use the mask defined into setup 2013-04-23 12:00:02 +02:00
fhenry
0513cbe655 Add debug log (dol_syslog) 2013-04-23 11:12:07 +02:00
Laurent Destailleur
494e9dbe18 Removed warning 2013-04-22 20:45:47 +02:00
Laurent Destailleur
6f5ce77846 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-22 20:42:25 +02:00
Laurent Destailleur
4e939f558a Restore font weight 2013-04-22 20:41:38 +02:00
Laurent Destailleur
dabd68aba6 Merge pull request #866 from atm-maxime/develop
Fix : column missing in migration for price by qty
2013-04-22 11:40:17 -07:00
Laurent Destailleur
9135fd0272 Merge pull request #868 from jfefe/webservices
New webservice to retrieve a document (work on invoice, propal, order and generic
2013-04-22 11:35:35 -07:00
Laurent Destailleur
2c4515f40e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-22 20:00:01 +02:00
Laurent Destailleur
5d74f228d8 Removed version into trigger page (version on trigger is useless since
trigger depend on module. Only version of module is required).
2013-04-22 19:59:41 +02:00
Regis Houssin
81333c700b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-22 16:45:15 +02:00
Regis Houssin
7f6a87ab35 FIXME regresion if code with not in numeric base 2013-04-22 16:44:25 +02:00
Maxime Kohlhaas
a747ef6939 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-04-22 16:38:13 +02:00
simnandez
de5a57a3c8 Fix: Uniformize creation in orders 2013-04-22 16:23:59 +02:00
fhenry
3fdc57cc56 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-22 16:20:35 +02:00
jfefe
7be75cde8d Change name of hidden option to add timing in filename (MAIN_DOC_USE_TIMING) 2013-04-22 16:13:48 +02:00
fhenry
ee4839c92e Better management for ODT to PDF 2013-04-22 15:50:26 +02:00
Regis Houssin
28757c8d88 Fix: missing commit 2013-04-22 15:26:14 +02:00
Regis Houssin
29a8c10504 Fix: broken features 2013-04-22 15:09:19 +02:00
jfefe
b5e66cc492 Mutualize code for security check when accessing a document by document.php and bywebservice 2013-04-22 15:00:29 +02:00
Regis Houssin
733872e9c9 Fix: merge problem 2013-04-22 14:48:08 +02:00
Regis Houssin
1be6a2c120 Fix: broken features for fileupload 2013-04-22 14:39:25 +02:00
jfefe
28cbe7d0b3 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into webservices 2013-04-22 14:34:11 +02:00
Laurent Destailleur
e65e6516c5 Fix: Logon theme on amarok 2013-04-22 14:33:47 +02:00
jfefe
60382f4b2c New webservice to retrieve a document (work on invoice, propal, order and generic) 2013-04-22 13:18:40 +02:00
Laurent Destailleur
ed4c18b9d3 Update changelog.
Fix: Fix template ODS.
2013-04-22 13:15:33 +02:00
Laurent Destailleur
335c8cd511 Look: Minor change 2013-04-22 13:01:38 +02:00
Laurent Destailleur
c87c7703cd Qual: Make code simpler. 2013-04-22 13:01:22 +02:00
Laurent Destailleur
54040bed1d Fix: No slash alone 2013-04-22 12:48:56 +02:00
Laurent Destailleur
5b4b058399 Perf: Minor perf enhancement 2013-04-22 12:30:52 +02:00
fhenry
e6f9c567d9 Fix odt as PDF generation 2013-04-22 12:08:35 +02:00
Maxime Kohlhaas
882da5d7d7 Fix : price by quantity, bad column name 2013-04-22 11:54:30 +02:00
Laurent Destailleur
5cbb0359aa Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-22 10:33:46 +02:00
Laurent Destailleur
ee843924dd Fix: Some translation change to have things more clear. 2013-04-22 10:33:06 +02:00
Regis Houssin
ab4a3dcaa7 Fix: missing rename field 2013-04-22 10:18:03 +02:00
Maxime Kohlhaas
7c01e984f8 Fix : column missing in migration for price by qty 2013-04-22 10:05:32 +02:00
Laurent Destailleur
7ff2e559aa Fix: PGsql compatibility 2013-04-22 01:59:52 +02:00
Laurent Destailleur
89ad634230 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/compta/facture/class/facture.class.php
	htdocs/core/class/hookmanager.class.php
	htdocs/langs/fr_FR/holiday.lang
2013-04-22 01:39:49 +02:00
Laurent Destailleur
9b07271460 Merge pull request #864 from jfefe/doc_ods
Task [#838] : Can generate ods document on thirdparty
2013-04-21 16:32:07 -07:00
Laurent Destailleur
577346f44d Merge pull request #863 from defrance69/patch-28
Update products.lang
2013-04-21 16:27:10 -07:00
Laurent Destailleur
64c94b1a4d Merge pull request #862 from defrance69/patch-27
Update products.lang
2013-04-21 16:26:55 -07:00
Laurent Destailleur
87ce23c4b8 Merge pull request #858 from marcosgdf/fix-notifications-alert-bug
Notifications popup messages were not showing real notifications that we...
2013-04-21 16:08:33 -07:00
Laurent Destailleur
11023fa210 Merge pull request #857 from marcosgdf/task-823
New: [ task #823 ] Shipping_validate email notification
2013-04-21 16:07:37 -07:00
Laurent Destailleur
e19e0ff557 Fix: Error management 2013-04-22 00:57:56 +02:00
Laurent Destailleur
ecb19e2225 Fix: Removed warning 2013-04-22 00:28:12 +02:00
Laurent Destailleur
3f09cbec7e Merge pull request #855 from marcosgdf/minor-refactor
ECM Refactor
2013-04-21 15:18:15 -07:00
Laurent Destailleur
49552b999c Merge pull request #854 from marcosgdf/develop
Refactor + replaced "OK" and "Error" status install messages with images
2013-04-21 15:15:34 -07:00
Laurent Destailleur
9f3164d710 Merge pull request #849 from GPCsolutions/ca_report_improvments
Improved reports
2013-04-21 15:13:34 -07:00
Laurent Destailleur
42b3d6e317 Merge pull request #865 from FHenry/develop
Add extrafield select from table
2013-04-21 15:12:04 -07:00
Laurent Destailleur
1f0adfaff5 Can remove an element from category when on category view. 2013-04-21 23:44:33 +02:00
Laurent Destailleur
5893fadb58 Look: Minor style enhancement 2013-04-21 17:56:29 +02:00
fhenry
d6514e1cd6 Add extrafield select from table 2013-04-21 17:36:23 +02:00
JF FERRY
8cb7770a6a Add ODS document for example 2013-04-21 17:06:25 +02:00
JF FERRY
642ba10d84 New hidden option to introduce timing value into odt document nam 2013-04-21 17:04:54 +02:00
Laurent Destailleur
f4513d1beb Move option ate better place 2013-04-21 16:01:36 +02:00
BENKE Charles
72e571fcd5 Update products.lang
Add Fabrication Feature
2013-04-21 16:16:13 +03:00
BENKE Charles
0a853c9c7c Update products.lang 2013-04-21 16:14:40 +03:00
JF FERRY
83028b958a Task #838 : retieve extension to work with ods document 2013-04-21 15:12:48 +02:00
JF FERRY
fcf1eeba20 Task #838 - change regex to look at ods document too 2013-04-21 14:55:32 +02:00
Marcos García
5b248805c2 Notifications popup messages were not showing real notifications that were going to be sent 2013-04-21 14:24:19 +02:00
Marcos García
82e3a8d0b9 New: [ task #823 ] Shipping_validate email notification 2013-04-21 14:14:30 +02:00
Marcos García
293fc89a9f Missing copyright 2013-04-21 12:45:34 +02:00
Marcos García
17902a8455 Removed var_dump 2013-04-21 12:44:13 +02:00
Marcos García
7befeae371 ECM Refactor 2013-04-21 12:42:58 +02:00
Laurent Destailleur
ab2709f684 Filter on agenda event are autoselected on "manual event". 2013-04-21 12:26:44 +02:00
Laurent Destailleur
01ec3d79ca Reduce default size of description 2013-04-21 11:59:15 +02:00
Marcos García
52b4daf696 Refactor + replaced "OK" and "Error" status install messages with images 2013-04-21 10:43:34 +02:00
Raphaël Doursenaud
6cce2c0b10 Added forgotten file 2013-04-21 10:19:07 +02:00
Raphaël Doursenaud
50eb88db5d Fixed turnover by user
Mistakingly used distinct in SQL request
2013-04-21 10:11:19 +02:00
Laurent Destailleur
a7f169d102 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-20 23:43:19 +02:00
Laurent Destailleur
c282ff91d6 Fix: pgsql compatibility 2013-04-20 23:43:02 +02:00
simnandez
7b0c7c1a55 Update ChangeLog 2013-04-20 22:42:06 +02:00
Laurent Destailleur
9c11b6a246 Merge pull request #851 from FHenry/develop
Add hidden option MAIN_ODT_AS_PDF to save ODT as PDF
2013-04-20 12:02:16 -07:00
Laurent Destailleur
12caa20e38 Merge pull request #850 from atm-maxime/develop
Carrier conf modification
2013-04-20 11:42:44 -07:00
Laurent Destailleur
a4c23b1dcd Merge pull request #852 from marcosgdf/develop
Refactor + es_ES translations improvement + minor stetic change
2013-04-20 11:42:16 -07:00
Laurent Destailleur
4d54b8a22f Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-20 20:30:48 +02:00
Laurent Destailleur
dd13c334c7 New: Compatibility with jmobile 2013-04-20 20:30:18 +02:00
Laurent Destailleur
2008fd1419 Fix: Optimize for small screen 2013-04-20 17:49:24 +02:00
fhenry
cae761d522 [ task #640 ] Better deposit invoice management 2013-04-20 17:10:03 +02:00
Maxime Kohlhaas
ef13ea8690 New # 786 : can link project from supplier invoice creation 2013-04-20 14:33:00 +02:00
fhenry
61b78666a2 Change-Id: I07221687a67be28376ee9146eaa46567486300ce 2013-04-20 13:29:40 +02:00
Maxime Kohlhaas
129da11a52 Fix : consumption 2013-04-20 13:13:33 +02:00
Maxime Kohlhaas
571037d396 Fix : consumption on company 2013-04-20 13:09:26 +02:00
fhenry
dd8a84bce3 Fix [ bug #833 ] Accounting journals are broken 2013-04-20 13:08:06 +02:00
Maxime Kohlhaas
cf945f0187 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-04-20 13:00:33 +02:00
Marcos García
1e00ccd07d Purchases and sellsjournal used tabs in their copyright comment. Restored 'em 2013-04-20 12:59:34 +02:00
Marcos García
c3c57351d0 Updated copyright 2013-04-20 12:57:50 +02:00
Marcos García
651b1ae7ce Refactor + es_ES translations improvement + minor stetic change 2013-04-20 12:55:31 +02:00
Maxime Kohlhaas
a9974f66b2 Fix : url was given even if value of tracking was empty + remove old use of "methode_expedition..." files 2013-04-20 11:03:36 +02:00
fhenry
ffb97010c9 Better file name management 2013-04-20 11:03:23 +02:00
fhenry
96126d9c99 Save PDF file 2013-04-20 10:54:11 +02:00
fhenry
413ee7ec78 Add hidden option MAIN_ODT_AS_PDF to save ODT as PDF (only if
libreoffice/jodconverter/exec shell right)
2013-04-20 10:44:01 +02:00
Juanjo Menent
62c104e3b6 Merge pull request #847 from GPCsolutions/installpass
Hide database password behind a password field
2013-04-20 00:49:37 -07:00
Juanjo Menent
2d9da0c4cf Merge pull request #848 from GPCsolutions/note
Note update fixes batch
2013-04-20 00:43:05 -07:00
Juanjo Menent
7f5d6fd012 Merge pull request #846 from FHenry/develop
Better extrafield management
2013-04-20 00:39:58 -07:00
Raphaël Doursenaud
f2bd1461b2 Improved reports
Added amount without VAT for "CREANCES-DETTES" mode
Added turnover by products/services
Added categories filter for users and products/services
Added period management
Added list sorting
2013-04-20 07:33:10 +02:00
fhenry
62c9366d69 fix debug 2013-04-20 07:21:26 +02:00
fhenry
75194ddb57 Ifo user visibility and maxlength product label regarding db column size 2013-04-20 07:05:31 +02:00
Raphaël Doursenaud
13c48d4970 Fixed more private note updates 2013-04-20 06:43:14 +02:00
Raphaël Doursenaud
a564edbb87 Fixed private note update 2013-04-20 06:43:14 +02:00
Raphaël Doursenaud
62f0f6011f Fixed note typo 2013-04-20 06:43:13 +02:00
Raphaël Doursenaud
052d75321f Fixed user note with new update note API 2013-04-20 06:43:13 +02:00
Raphaël Doursenaud
e1a3d46ea0 Fixed for new API for note update 2013-04-20 06:43:13 +02:00
Raphaël Doursenaud
bf84436482 Fixed typo and used new API for note update 2013-04-20 06:43:13 +02:00
Raphaël Doursenaud
e3610dfa49 Forgotten update_note parameter
Fixes project cloning
2013-04-20 05:53:18 +02:00
Raphaël Doursenaud
96043bd3d3 Hide database password behind a password field 2013-04-20 05:37:52 +02:00
fhenry
7b080dec65 Better extrafield management 2013-04-20 05:11:25 +02:00
Laurent Destailleur
162ccf68b6 Merge pull request #841 from FHenry/develop
fix [ bug #825 ] User first name not visible into users->perms
2013-04-19 17:21:16 -07:00
fhenry
e2d0d0d414 Fix fix as Eldy wish it 2013-04-20 00:10:20 +02:00
Maxime Kohlhaas
bfb05c78cd Change carrier config into dict instead of dedicated conf page 2013-04-19 20:20:10 +02:00
Maxime Kohlhaas
26aba2b609 Add tracking url for carriers in dict 2013-04-19 19:46:49 +02:00
Laurent Destailleur
eebbcbec57 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-19 19:18:39 +02:00
Laurent Destailleur
bb3f40a1bf Qual: Clean code to be able to update combo box when removing a box.
Qual: Opensurvey tables
2013-04-19 15:26:53 +02:00
Laurent Destailleur
08ae1d289b Pgsql compatibility 2013-04-19 15:02:53 +02:00
Laurent Destailleur
570e4391a5 Fix: Box with product out of stocks for pgsql 2013-04-19 14:51:39 +02:00
Regis Houssin
556574cbc9 FIXME: this field not exist in llx_product_fournisseur_price 2013-04-19 13:47:30 +02:00
Regis Houssin
5d7b94f661 Fix: the purchase price, manually entered is not taken recovered 2013-04-19 13:30:08 +02:00
Regis Houssin
077698d789 Fix: for avoid missing the customer discount 2013-04-19 12:47:53 +02:00
Laurent Destailleur
56a0f70ad3 Fix: margin disabled into demo for foundation 2013-04-19 10:33:25 +02:00
Laurent Destailleur
ea4b78b326 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-19 10:09:02 +02:00
Laurent Destailleur
8a69cdd433 Fix: delete of survey 2013-04-19 10:08:30 +02:00
Regis Houssin
45300ccdd8 Fix: no result with a number with a comma 2013-04-19 09:55:22 +02:00
Laurent Destailleur
5c1b3d86c3 Fix: Uniformize pdf code for typhon. This should also solve problem
of overlapped text into delivery receipts.
2013-04-19 09:44:37 +02:00
Laurent Destailleur
8eedf3db96 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-19 09:11:09 +02:00
Laurent Destailleur
d5a4f73501 Add fill/reset 2013-04-19 09:10:56 +02:00
fhenry
738ed467b3 Fix bug on update invoice line in PgSQL 2013-04-19 07:54:55 +02:00
Laurent Destailleur
6860aa05c7 Fix: Missing test 2013-04-19 00:20:21 +02:00
Laurent Destailleur
ac8868e2d2 Fix: Use correct format for js 2013-04-18 19:56:14 +02:00
Laurent Destailleur
a880a8c51e Qual: Work to prepare usage of jquery data plugins. 2013-04-18 19:37:50 +02:00
fhenry
ce60e503bc Fix trans for [ task #826 ] Increasing stock when deleting an invoice 2013-04-18 18:10:56 +02:00
Regis Houssin
301ae58cdd Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-18 11:16:09 +02:00
Regis Houssin
ebb09db710 Fix: for avoid errors 2013-04-18 11:05:31 +02:00
Juanjo Menent
e58e326c9c Merge pull request #842 from atm-maxime/develop
2 minor fixes
2013-04-18 01:20:40 -07:00
Maxime Kohlhaas
6c62d0cd28 Print forgotten 2013-04-18 10:12:16 +02:00
Regis Houssin
b6bcffa4d9 Fix: missing field 2013-04-18 09:44:33 +02:00
Regis Houssin
2538a9e20e Fix: duplicate sql request 2013-04-18 09:39:43 +02:00
Maxime Kohlhaas
dcdbdd42fb Fix : action list couldn't be sorted by label, action type was kept in filter 2013-04-18 09:25:19 +02:00
Maxime Kohlhaas
1381373c95 Fix : set emetteur to MYCOMPANY when payment is a customer 2013-04-18 09:24:29 +02:00
fhenry
c0c1de7992 [ task #826 ] Increasing stock when deleting an invoice 2013-04-18 08:40:29 +02:00
Laurent Destailleur
31ce3d67a3 Merge remote-tracking branch 'origin/3.3' into develop 2013-04-17 23:18:15 +02:00
Laurent Destailleur
29b3973611 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-17 23:17:21 +02:00
Laurent Destailleur
ff2adc40a4 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	ChangeLog
	htdocs/admin/dict.php
	htdocs/comm/prospect/fiche.php
2013-04-17 23:15:57 +02:00
fhenry
07a4709b45 fix [ bug #825 ] User first name not visible into users->perms 2013-04-17 21:14:46 +02:00
simnandez
c9074231b5 Fix: Spelling es_ES boxes lang
Trad: Add ca_ES missing translations
2013-04-17 17:06:19 +02:00
Juanjo Menent
fa4490ef79 Merge pull request #840 from FHenry/develop
[ task #741 ] Gestion des interventions/Add intervention box
2013-04-17 07:59:34 -07:00
Laurent Destailleur
e505ce3e7d Update soap setup 2013-04-17 16:26:50 +02:00
Laurent Destailleur
f9541590c7 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-17 16:26:33 +02:00
Laurent Destailleur
bcacbab481 Qual: No need to use two menu entries for this. 2013-04-17 16:26:14 +02:00
fhenry
4927aae891 [ task #741 ] Gestion des interventions/Add intervention box 2013-04-17 16:20:01 +02:00
Laurent Destailleur
41ed4b57c4 Merge pull request #838 from FHenry/develop
Fix [ bug #824 ] MAIN_DB_PREFIX not use into dictionnary
2013-04-17 02:58:16 -07:00
Regis Houssin
4c13a4049c Fix: use empty instead isset 2013-04-17 10:41:54 +02:00
fhenry
2b05cb3cea Update changelog 2013-04-17 09:52:30 +02:00
fhenry
2bac3982ba Update Changelog 2013-04-17 09:48:44 +02:00
fhenry
1b044fd9d6 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-16 20:07:42 +02:00
Laurent Destailleur
d28316f4a8 Look: Optimize size 2013-04-16 16:33:05 +02:00
Laurent Destailleur
b30c492494 Fix: pgsql upgrade 2013-04-16 16:29:21 +02:00
fhenry
7e3ca0ce16 Fix bug
http://www.dolibarr.org/forum/527-bugs-on-a-stable-version/22542-table-prefix-bug#22548
2013-04-16 16:02:13 +02:00
Laurent Destailleur
5b110ebae9 Qual: Include is_erasable() into test 2013-04-16 15:49:00 +02:00
Laurent Destailleur
4fe49b6736 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-16 15:01:07 +02:00
Laurent Destailleur
248de05196 Fix: bug into is_erasable function. 2013-04-16 15:00:41 +02:00
Laurent Destailleur
a11c771993 Qual: More PHPUnit tests 2013-04-16 13:34:37 +02:00
Laurent Destailleur
fac558f678 Merge pull request #835 from FHenry/develop
Task Project Extrafield : Forget to add to index tables
2013-04-16 02:39:44 -07:00
fhenry
cba73b238c Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/comm/propal.php

Change-Id: I5639c70165c8e1149f3934248737817a02efff0c
2013-04-16 11:37:51 +02:00
Laurent Destailleur
9659ecba70 Merge pull request #836 from jfefe/extrafields
Fix on extrafields date type : do not show current date when field not r...
2013-04-16 02:33:01 -07:00
simnandez
e0ec88a286 Update ChangeLog
Conflicts:
	ChangeLog
2013-04-16 09:03:38 +02:00
fhenry
eb0d2cc5d8 Fix [ bug #789 ] VAT not being calculated in POS 2013-04-16 08:56:45 +02:00
Laurent Destailleur
d3f29649d5 Fix into div/br 2013-04-16 01:23:33 +02:00
Laurent Destailleur
10ab1a583a Look: Optimize screens 2013-04-16 01:13:20 +02:00
Laurent Destailleur
4fab5fbeeb Fix: bad language file 2013-04-15 23:11:48 +02:00
Laurent Destailleur
3887b904ab Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-15 22:26:33 +02:00
Laurent Destailleur
51fe0d9e09 Removed duplicate function 2013-04-15 22:26:03 +02:00
Regis Houssin
5682e0ae25 Fix: missing quote 2013-04-15 21:40:49 +02:00
Regis Houssin
c9dba00f3f Fix: missing current entity record 2013-04-15 21:29:49 +02:00
jfefe
610fed6b3c Fix on extrafields date type : do not show current date when field not required 2013-04-15 18:42:00 +02:00
Laurent Destailleur
b7edb3f472 Fix: Correct css 2013-04-15 18:04:22 +02:00
Laurent Destailleur
37e54b3d80 Qual: Update copyright files.
Qual: Removed not used library.
Look: Uniformize css.
2013-04-15 18:00:20 +02:00
Laurent Destailleur
8e1c06f617 Qual: Cleaner menu sources 2013-04-15 15:56:50 +02:00
fhenry
24a6321d45 Fix : Add service date limit transfert from propal to order 2013-04-15 15:55:10 +02:00
Laurent Destailleur
a4073dddd4 Doxygen llxHeader and llxFooter. 2013-04-15 15:43:25 +02:00
fhenry
acd3d136b5 [ task #798 ] Add range limit date on product/services as it is done on
order and invoice
2013-04-15 15:31:12 +02:00
fhenry
882560dad7 Fix [ bug #821 ] 'f.facnumber' in accountancy 2013-04-15 14:34:32 +02:00
Laurent Destailleur
de2ddc02e4 Qual: Another clean of menu management system. Removed all files
pre.inc.php
2013-04-15 13:11:29 +02:00
Laurent Destailleur
8a0e111417 Fix: Bad array type 2013-04-15 12:39:34 +02:00
fhenry
8f8dce19cc Task Project Extrafield : Forget to add to index tables 2013-04-15 12:38:27 +02:00
Laurent Destailleur
2db3bcc72e Fix: migration 3.3.0 to 3.4.0 2013-04-15 10:00:09 +02:00
Marcos García
0ac7696bc0 Improved holidays module translations
Conflicts:
	htdocs/holiday/fiche.php
	htdocs/langs/fr_FR/holiday.lang
2013-04-15 09:29:26 +02:00
Marcos García
421dc07077 Improved es_ES holidays translations 2013-04-15 09:25:41 +02:00
Juanjo Menent
fb41ed68c4 Merge pull request #833 from marcosgdf/translations
Improved and added missing es_ES translations
2013-04-15 00:21:41 -07:00
Marcos García
462719331e Updated changelog 2013-04-15 09:13:00 +02:00
simnandez
ae09d2fa3f Improved margins ca_ES translation 2013-04-15 09:11:58 +02:00
Marcos García
9163a0a9d0 Converted indentation to tabs 2013-04-15 09:11:40 +02:00
Marcos García
60cd3d1e41 Fixed bug #807: Margins modules with orders2invoice does not respect cost price
Also, removed duplicated requires in orderstoinvoice.php
2013-04-15 09:11:30 +02:00
Marcos García
150c862705 Improved margins es_ES translation 2013-04-15 09:11:20 +02:00
Marcos García
16afa18e95 Improved and added missing es_ES translations 2013-04-15 00:09:29 +02:00
Laurent Destailleur
36c55971b5 Fix: PHPUnit Regression 2013-04-14 23:57:07 +02:00
Laurent Destailleur
67052933ca Fix: PHPUnit 2013-04-14 23:42:24 +02:00
Laurent Destailleur
eead2977d9 Fix: pgsql upgrade 2013-04-14 23:15:55 +02:00
Laurent Destailleur
0e073038ad Fix: Check on correct security key 2013-04-14 20:59:16 +02:00
Laurent Destailleur
f028cce39d Qual: More log 2013-04-14 20:43:38 +02:00
Laurent Destailleur
de9f100968 Fix: check read feature 2013-04-14 20:34:31 +02:00
Laurent Destailleur
22731788c5 Qual: Remove duplicate script. Enhance old one. 2013-04-14 20:15:55 +02:00
Laurent Destailleur
67a4431529 Fix into emailing 2013-04-14 20:05:23 +02:00
Laurent Destailleur
a0851ba99f More complete log. 2013-04-14 18:10:02 +02:00
Laurent Destailleur
e4c4cced70 Look: Optimize for small screen 2013-04-14 16:11:55 +02:00
Laurent Destailleur
a5d996de4c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-14 14:45:43 +02:00
Laurent Destailleur
f8c3396fa7 Fix: "Now" button was not working when using combo calendar selector. 2013-04-14 14:45:23 +02:00
Laurent Destailleur
22402c38f8 Still working on new menu management. 2013-04-14 14:32:38 +02:00
Juanjo Menent
de19af9e9f Merge pull request #825 from FHenry/develop
[ task #814 ] Add extrafield feature into Project/project tasks module
2013-04-14 05:15:17 -07:00
Laurent Destailleur
baad1ffc56 New: Add link to autofill/reset with quantity to ship when creating
a delivery receipt.
2013-04-14 12:19:21 +02:00
Laurent Destailleur
83f88af269 doxygen 2013-04-14 11:42:39 +02:00
Laurent Destailleur
3cec5bfc40 doxygen 2013-04-14 11:22:00 +02:00
Laurent Destailleur
d7d30f8fc9 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-14 11:07:38 +02:00
Laurent Destailleur
b86eba7f34 doxygen 2013-04-14 10:50:33 +02:00
Laurent Destailleur
9d88ec7141 doxygen 2013-04-14 10:48:34 +02:00
fhenry
00fb40e073 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/langs/ca_ES/admin.lang
	htdocs/langs/es_ES/admin.lang

Change-Id: I3c2c0789a92fb3d5506c717986ce0127dec75b9b
2013-04-14 09:40:01 +02:00
Laurent Destailleur
263e9098fa Fix: group name not visible 2013-04-14 02:54:54 +02:00
Laurent Destailleur
51f444fb8c Look: Optimize title lines 2013-04-14 02:09:41 +02:00
Laurent Destailleur
e5a945ba5b Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	ChangeLog
	htdocs/admin/propal.php
	htdocs/compta/journal/purchasesjournal.php
	htdocs/compta/journal/sellsjournal.php
	htdocs/core/class/conf.class.php
	htdocs/core/class/hookmanager.class.php
	htdocs/core/lib/files.lib.php
	htdocs/core/modules/mailings/contacts2.modules.php
	htdocs/langs/ca_ES/admin.lang
	htdocs/langs/en_US/admin.lang
	htdocs/langs/es_ES/admin.lang
	htdocs/langs/fr_FR/admin.lang
	htdocs/public/demo/index.php
2013-04-14 01:46:33 +02:00
Laurent Destailleur
38cb9a530f Doxygen 2013-04-14 01:28:43 +02:00
Laurent Destailleur
2f5709e3cb Fix: Some fix into holiday module 2013-04-14 01:21:54 +02:00
Laurent Destailleur
bda39f25bf New: Default aprrover for holidays i sby default hierchical parent. 2013-04-14 01:04:11 +02:00
Laurent Destailleur
fc22489104 Fix: Option SOCIETE_DISABLE_CUSTOMERS not complete 2013-04-13 21:18:41 +02:00
Laurent Destailleur
355168527d Look: Optimize for smartphone 2013-04-13 18:41:43 +02:00
Laurent Destailleur
1a1e09a5ed Qual: Clean and mutualize code. 2013-04-13 18:33:23 +02:00
Laurent Destailleur
8a88b130b4 Fix: Bad label shown 2013-04-13 16:31:25 +02:00
Laurent Destailleur
20c9370690 New: Support the mode readonly of ckeditor 2013-04-13 16:23:05 +02:00
Laurent Destailleur
e24fb9f48a Removed all old code. All orignal code has been rewritten now. 2013-04-13 15:43:31 +02:00
Laurent Destailleur
473fbf2c33 Fix: syntax error 2013-04-13 15:09:57 +02:00
Laurent Destailleur
6e495bfbe1 Fix: lang loading 2013-04-13 14:38:26 +02:00
Laurent Destailleur
2b94188414 Fix: Languages files permissions and loading 2013-04-13 14:09:50 +02:00
Laurent Destailleur
3683f3cc82 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-13 13:56:26 +02:00
Laurent Destailleur
4bb815937a Module opensurvey become a standard feature. 2013-04-13 13:56:13 +02:00
Laurent Destailleur
90cfa42915 Fix: removed useless   2013-04-12 19:45:09 +02:00
Laurent Destailleur
43fd068d1d Qual: Uniformize way to get graph sizes. 2013-04-12 18:45:19 +02:00
Laurent Destailleur
62893c2ae4 Qual: uniformize code to use function de set with and height for graphs 2013-04-12 17:08:54 +02:00
Laurent Destailleur
26653a42e4 Optimize for terminal with no_mouse_hover 2013-04-12 16:53:06 +02:00
Laurent Destailleur
97b0076c5a Doxygen 2013-04-12 16:31:16 +02:00
Laurent Destailleur
506da3cf21 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-12 16:21:40 +02:00
Laurent Destailleur
ae01285fe9 Look: Replace table with div.
Look: Optimize for smartphone
2013-04-12 16:16:39 +02:00
Regis Houssin
faebda20d5 Fix: wrong amounts 2013-04-12 16:09:52 +02:00
Laurent Destailleur
3b939206da Look: Minor optimization 2013-04-12 14:55:40 +02:00
Laurent Destailleur
3238a22afd Fix: Do not show not defined entries 2013-04-12 14:46:48 +02:00
Laurent Destailleur
8f7f0b142d Fix: Change of permission are immediatly effective 2013-04-12 14:27:41 +02:00
Laurent Destailleur
c9b3193c44 Fix: Hooks with version 3.4 must match specification defined here:
http://wiki.dolibarr.org/index.php/Hooks_system
So i try a better fix that implement correctly this. To have the
moveFileUpload trigger keeping dolibarr code, it must return 0.
2013-04-12 13:18:24 +02:00
fhenry
cc497490eb [ task #814 ] Add extrafield feature into Project/project tasks module 2013-04-12 11:09:53 +02:00
simnandez
2e9a8369a7 Trad: Update ca_ES and es_ES translations 2013-04-12 10:46:33 +02:00
Regis Houssin
0b2b888584 Fix: use new method 2013-04-12 10:26:52 +02:00
Regis Houssin
3892a52852 Fix: missing return with hook 2013-04-12 10:00:20 +02:00
Laurent Destailleur
f5c0886cb1 Fix: another not complete change for adding ref for supplier invoices. 2013-04-12 00:22:53 +02:00
Laurent Destailleur
d6d8f91dda Fix: Rename of field not complete 2013-04-12 00:19:18 +02:00
Laurent Destailleur
8e3f0172fc Fix: Fix tons of pb with num ref system of supplier invoices. 2013-04-12 00:00:31 +02:00
Laurent Destailleur
fe20f8ae1b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
	htdocs/install/mysql/tables/llx_expedition.key.sql
	htdocs/install/mysql/tables/llx_expedition.sql
2013-04-11 23:08:10 +02:00
Laurent Destailleur
edcc201305 Fix: not complete renaming 2013-04-11 23:04:25 +02:00
Laurent Destailleur
891dbf5c60 Fix: Not complete renaming 2013-04-11 21:53:41 +02:00
Regis Houssin
c74fb3e3e9 Fix: remove constraint and index before rename field !! 2013-04-11 21:29:38 +02:00
Regis Houssin
3e019bab53 Fix: warning when you rename fields !!!! 2013-04-11 21:23:26 +02:00
Laurent Destailleur
4876aee493 Fix: Fix bad fix of SOCIETE_CODEFOURNISSEUR_ADDON 2013-04-11 20:32:09 +02:00
Laurent Destailleur
9a812b799d Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-11 20:02:50 +02:00
Laurent Destailleur
0d79f8e764 Look: Replace table with div 2013-04-11 20:00:12 +02:00
Laurent Destailleur
616219c99c Merge pull request #822 from FHenry/develop
Qual : PHP Code_Sniffer
2013-04-11 10:14:03 -07:00
fhenry
629ef78dc8 Add subtitution inside header and fotter document 2013-04-11 18:38:50 +02:00
simnandez
e209959c90 Fix: Remove ChangeLog duplicity 2013-04-11 17:58:56 +02:00
fhenry
2f7be8d2c2 Add hook for substitution 2013-04-11 17:31:24 +02:00
fhenry
af40d27eb5 Remove require_once from odf.php because it cause regression. 2013-04-11 17:26:49 +02:00
Regis Houssin
030752c4c6 Fix: missing to rename constant 2013-04-11 17:24:17 +02:00
Regis Houssin
9b2cbfef05 Fix: for avoid problem with multicompany thirdparty sharing 2013-04-11 17:10:11 +02:00
fhenry
6335918d72 Quel : indentation 2013-04-11 17:06:53 +02:00
fhenry
f837528ad3 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-11 15:59:09 +02:00
fhenry
db86735fe6 Qual : php code sniffer 2013-04-11 10:52:02 +02:00
fhenry
b3b0c73f31 Qual : PHP Code Sniffer 2013-04-11 10:51:31 +02:00
Laurent Destailleur
b52ca834a0 Optimize size of area 2013-04-11 10:23:35 +02:00
Laurent Destailleur
aeae723108 New: Event into calendar use different colors for different users. 2013-04-11 10:15:53 +02:00
fhenry
2440513007 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/core/modules/mailings/thirdparties_services_expired.modules.php
	htdocs/fourn/class/fournisseur.product.class.php
	htdocs/opensurvey/fonctions.php
	htdocs/opensurvey/public/choix_date.php
	htdocs/opensurvey/public/create_survey.php
	htdocs/opensurvey/public/exportcsv.php
	htdocs/public/paybox/paymentko.php

Change-Id: I57468f3a0f6bb1115bd48b84517060432102c2ea
2013-04-11 10:04:27 +02:00
Laurent Destailleur
9a29014716 New: Add color field into user table 2013-04-11 09:44:09 +02:00
Laurent Destailleur
750b30863f Qual: Clean code from things that should be inside external module. 2013-04-11 09:15:41 +02:00
Laurent Destailleur
792341a4b8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/core/modules/mailings/thirdparties_services_expired.modules.php
2013-04-11 07:39:16 +02:00
Laurent Destailleur
5c4c7519fd Merge pull request #823 from defrance69/patch-23
Update admin_extrafields.inc.php
2013-04-10 13:37:58 -07:00
BENKE Charles
e0cb09bd65 Update admin_extrafields.inc.php
$default_value not initialised
new type : sellist
2013-04-10 22:38:45 +03:00
Laurent Destailleur
4d0dd0d56c Fix: Function to generate pdf 2013-04-10 20:50:05 +02:00
Laurent Destailleur
9dd201df10 Fix: Log 2013-04-10 20:47:39 +02:00
Laurent Destailleur
15e86875f3 Fix: sql syntax error 2013-04-10 20:45:38 +02:00
fhenry
98ddd02a32 Qual : PHP Code_Sniffer 2013-04-10 19:55:21 +02:00
Laurent Destailleur
70b7cb1fa3 Fix: Restore suffix 2013-04-10 19:50:54 +02:00
Laurent Destailleur
f3adcc311d Qual: Removed useless table 2013-04-10 18:34:19 +02:00
Laurent Destailleur
5197dedc59 Fix: Missing background 2013-04-10 18:33:58 +02:00
Laurent Destailleur
a32a02e4c1 Fix: Removed warnings 2013-04-10 16:51:13 +02:00
Laurent Destailleur
d7c0cf3d50 Fix: More complete fix for emailing contact selectors. 2013-04-10 16:29:53 +02:00
Laurent Destailleur
c174dd9d05 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-10 16:16:12 +02:00
Laurent Destailleur
3d8c312a30 Fix: Uniformize column size
Fix: Use dol_prind_address for addressees
2013-04-10 16:15:35 +02:00
Laurent Destailleur
4f645b0a53 Fix: Bad width 2013-04-10 16:08:38 +02:00
Regis Houssin
740bc2a656 Fix: filter on all contacts, not just those related to a company 2013-04-10 15:59:54 +02:00
Laurent Destailleur
6739ac4d94 Fix: Restore backward compatibility 2013-04-10 15:53:40 +02:00
Regis Houssin
ef4004c0ae Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-10 15:42:52 +02:00
Regis Houssin
b152e58793 Fix: change for experimental encyption 2013-04-10 15:42:21 +02:00
Laurent Destailleur
72aec6aa60 Better translation 2013-04-10 13:30:54 +02:00
Laurent Destailleur
ba93a4bfe2 Fix: Codesniffer 2013-04-10 12:20:45 +02:00
Regis Houssin
2c51b51a88 Fix: security 2013-04-10 11:56:19 +02:00
Laurent Destailleur
bc1469ff29 Fix: More complete function 2013-04-10 11:03:24 +02:00
Laurent Destailleur
b496436fe3 Qual: Reduce number of methods. Mutualize update_note code. 2013-04-10 10:58:38 +02:00
Laurent Destailleur
20e9eb5f8f Fix: syntax error 2013-04-10 10:40:59 +02:00
Laurent Destailleur
7f6fa0bf0f Fix: Enhance detection of html 2013-04-10 10:40:35 +02:00
Laurent Destailleur
e79d0f50d0 Fix: Regression 2013-04-10 00:08:55 +02:00
Laurent Destailleur
af6f075b5c Qual: Better error management.
Qual: Uniformize code for canvas
2013-04-09 23:56:52 +02:00
Laurent Destailleur
cf52cbfab5 Fix: Better error management 2013-04-09 23:46:38 +02:00
Laurent Destailleur
6a519cd88c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-09 23:06:18 +02:00
Laurent Destailleur
538194f435 New: Add module opensurvey. Final. Test are welcome. 2013-04-09 23:05:50 +02:00
Laurent Destailleur
a4b56708e9 Better error management 2013-04-09 23:04:59 +02:00
Laurent Destailleur
607dc9caa7 Merge pull request #819 from FHenry/develop
Fix : admin ODT doctemplate path commande/project
2013-04-09 13:25:02 -07:00
fhenry
2ca18ace30 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-09 21:58:39 +02:00
fhenry
04e933c40f Fix : admin ODT doctemplate path commande/project 2013-04-09 21:58:25 +02:00
Laurent Destailleur
2ab5c2029d Merge pull request #817 from grandoc/develop
add supplier invoice extrafields and some fixes
2013-04-09 12:21:26 -07:00
Laurent Destailleur
fd9c8568dd Merge pull request #818 from FHenry/develop
[ task #811 ] Uniformanize note field
2013-04-09 12:20:29 -07:00
fhenry
275bf67bb7 [ task #811 ] Uniformanize note field 2013-04-09 17:18:07 +02:00
Laurent Destailleur
b28c35740b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-09 16:06:34 +02:00
Laurent Destailleur
32f916e908 Qual: Add a test on not valid parameters 2013-04-09 16:06:00 +02:00
Grand Philippe
c6106e1a8c fix: Champ e.fk_expedition_methode inconnu dans field list 2013-04-09 12:03:49 +02:00
Grand Philippe
f4e58d71ed add supplier invoice extrafields and some fixes 2013-04-09 09:38:25 +02:00
Laurent Destailleur
7b8be3eb87 Removed deprecated and not working code. 2013-04-09 01:29:29 +02:00
Laurent Destailleur
328801f455 Hide upload on smartphones 2013-04-09 01:27:41 +02:00
Laurent Destailleur
00eafa1cf2 Optimie for small screen 2013-04-09 01:25:16 +02:00
Laurent Destailleur
bba123c6ef Merge pull request #815 from FHenry/develop
Fix bug on ODT template path for order and projects
2013-04-08 14:27:28 -07:00
Laurent Destailleur
898a3891e8 Merge pull request #814 from grandoc/develop
fix: wrong url
2013-04-08 14:26:15 -07:00
Grand Philippe
5b5b57d4e0 some fixes for supplier orders extrafields 2013-04-08 23:20:35 +02:00
Laurent Destailleur
7d2b11aff5 Qual: Remove a deprecated page, replaced by a more direct combo box. 2013-04-08 19:26:45 +02:00
fhenry
6379b74099 Fix bug on ODT template path for order and projects 2013-04-08 18:02:12 +02:00
Grand Philippe
832fa1fb31 prepair for insert ExtraFields 2013-04-08 17:46:01 +02:00
Laurent Destailleur
c6b66a9f4a Normalize code 2013-04-08 17:42:24 +02:00
Grand Philippe
e54056b805 prepair for insert ExtraFields 2013-04-08 17:39:32 +02:00
Grand Philippe
fbe5947bc2 prepair for insert ExtraFields 2013-04-08 17:17:13 +02:00
Grand Philippe
d1ac79d9ef Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-04-08 16:22:03 +02:00
Grand Philippe
e21e08717e normalize code 2013-04-08 16:06:57 +02:00
Grand Philippe
ea077e959b normalize code 2013-04-08 14:57:06 +02:00
Grand Philippe
d7f2c9c480 some fixes for missing names 2013-04-08 14:21:42 +02:00
Grand Philippe
707ef0f378 some fixes for missing names 2013-04-08 14:12:46 +02:00
Grand Philippe
76929325f1 some fixes for missing names 2013-04-08 12:57:33 +02:00
Regis Houssin
cea2f047a2 Fix: for multicompany compatibility 2013-04-08 12:38:51 +02:00
Grand Philippe
0eef6c7808 some fixes for wrong and missing names 2013-04-08 12:29:49 +02:00
Grand Philippe
79b3907ec9 some fixes for wrong and missing names 2013-04-08 12:18:19 +02:00
Grand Philippe
a593e5d4e5 fix: wrong url 2013-04-08 11:56:50 +02:00
Laurent Destailleur
6ff049bcd9 Merge pull request #806 from FHenry/develop_orderextrafield
[ task #793 ] Add extrafield feature into Orders module
2013-04-08 02:08:32 -07:00
fhenry
8efeb93812 Merge branch 'develop' into develop_orderextrafield 2013-04-08 09:45:43 +02:00
fhenry
a27b3a2119 Fix PostGreSQL blocking install : wrong SQL syntax 2013-04-08 09:45:11 +02:00
fhenry
52706117d9 Merge branch 'develop' into develop_orderextrafield 2013-04-07 23:54:33 +02:00
fhenry
393007625a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql

Change-Id: I9df271d1629014299e7db131a66c1322aa897f6d
2013-04-07 23:52:02 +02:00
Laurent Destailleur
3247ce2d1b Merge pull request #811 from lrq3000/develop
update: Sync odtphp lib (fix a lot of bugs and add a few functionalities)
2013-04-07 13:59:53 -07:00
Laurent Destailleur
826d8a329d Merge pull request #802 from simnandez/develop
Fix: Try to showing the events related to a intervention
2013-04-07 13:54:53 -07:00
Laurent Destailleur
12cae7ebdf Fix: No warning if due date unknown 2013-04-07 21:13:48 +02:00
Laurent Destailleur
d0d146cabf Translation 2013-04-07 20:15:03 +02:00
Laurent Destailleur
b3f9fbb3bc Update case after mutualizing code. 2013-04-07 18:07:16 +02:00
Laurent Destailleur
6e5f1c5d31 Fix: Some regressions 2013-04-07 17:57:17 +02:00
Laurent Destailleur
5c3e6de073 Qual: Mutualize code. Only one function to build address format. 2013-04-07 17:39:08 +02:00
Stephen L
6e1e41e8b5 update: Sync odtphp lib (fix a lot of bugs and add a few functionalities)
Ref: b4e02a1306

Signed-off-by: Stephen L. <lrq3000@gmail.com>
2013-04-07 17:27:35 +02:00
Laurent Destailleur
8e2171b64c Fix: Error management and missing transactions check 2013-04-07 16:39:20 +02:00
simnandez
bde030dfae Spelling fix 2013-04-07 16:08:11 +02:00
simnandez
44bfc1db4a Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
2013-04-07 15:53:31 +02:00
simnandez
9e8c3a1b1e Updates 2013-04-07 15:45:48 +02:00
Laurent Destailleur
59dfab9d21 Fix: regresson after rename of fields 2013-04-07 15:43:21 +02:00
simnandez
482d30ca1d Update ChangeLog 2013-04-07 15:40:54 +02:00
Laurent Destailleur
ff3c8ec0be Fix: Better error management 2013-04-07 15:16:19 +02:00
fhenry
78571e4458 Merge branch 'develop' into develop_orderextrafield 2013-04-07 15:12:27 +02:00
fhenry
0427080a4e Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop_orderextrafield

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql

Change-Id: I91fe24831dca9e1d9e6b09f85dd4b7bd37bd638e
2013-04-07 15:11:52 +02:00
fhenry
144ab24545 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql

Change-Id: I51b110ec2c087110ab6080d1e754438ce83bd9cd
2013-04-07 15:08:47 +02:00
Laurent Destailleur
fafd426903 Fix: [ bug #787 ] Invoice supplier box incorrect tooltip when delay on
payment
2013-04-07 14:40:13 +02:00
Laurent Destailleur
87b50f9ced Fix: Can't reset payment due date 2013-04-07 14:36:22 +02:00
simnandez
7b70fc4bf3 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
2013-04-07 14:30:44 +02:00
Laurent Destailleur
7e46a74fac Fix: Remove warnings 2013-04-07 13:44:04 +02:00
Laurent Destailleur
4e5a71fb22 New: Add local and vat rate for peru 2013-04-06 18:59:22 +02:00
Laurent Destailleur
eaab6d0caa Trans: For peru, IVA is IGV 2013-04-06 18:51:07 +02:00
Laurent Destailleur
88858136fc New: Enhance agenda module to reach RFC2445 (add busy information). 2013-04-06 17:39:31 +02:00
Laurent Destailleur
ee2a2f7b48 Missing space 2013-04-06 16:43:26 +02:00
Laurent Destailleur
d863a0b1bd Fix: syntax error 2013-04-06 16:21:34 +02:00
Laurent Destailleur
25ec7eed6d New: Can send email to warn when payment for subscription is payed. 2013-04-06 16:14:28 +02:00
fhenry
2b0668bf81 Add paiement mode et delay on PDF muscadet 2013-04-06 13:38:32 +02:00
fhenry
9ff559b033 Add wished delivery date into supplier orders PDF muscadet 2013-04-06 13:06:26 +02:00
fhenry
0aba3cfc05 Fix order_supplier and invoice_supplier PDF model name 2013-04-06 13:00:41 +02:00
fhenry
48b510dd45 Same bug fixing 2013-04-06 12:42:54 +02:00
fhenry
e5bdcdcadb Same bug fixing 2013-04-06 12:37:38 +02:00
fhenry
7d2ba5f1b3 Fix bug : create supplier invoice ($infos_bits instead of $info_bits)
in updateline sql query
2013-04-06 12:35:35 +02:00
fhenry
cc465380da Fix upgrade bug (llx_printer_ipp) wrong syntax (my fault, sorry) 2013-04-06 12:20:19 +02:00
fhenry
b7137606ee Merge branch 'develop' into develop_orderextrafield
Conflicts:
	htdocs/commande/fiche.php
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql

Change-Id: If57a2f2a386a2903b976178eb63aef2c8b09473d
2013-04-06 10:41:29 +02:00
simnandez
ec7a6433f6 Update Changelog 2013-04-06 08:56:47 +02:00
simnandez
50548601ce Resolve conflicts 2013-04-06 08:20:57 +02:00
Laurent Destailleur
f22b1d3678 Enhance specimens 2013-04-06 03:40:55 +02:00
Laurent Destailleur
bd1d9b719b More generic specimen data 2013-04-06 00:37:20 +02:00
Laurent Destailleur
adf47d6975 Qual: Uniformise columns 2013-04-06 00:34:33 +02:00
Laurent Destailleur
1cf2276584 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/comm/prospect/list.php
2013-04-05 22:59:06 +02:00
Laurent Destailleur
815bb82b0e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-05 22:51:19 +02:00
Laurent Destailleur
5f2ea4c65c Merge pull request #804 from atm-maxime/develop
Fixes on invoice payment list and for price by quantity
2013-04-05 13:49:52 -07:00
Laurent Destailleur
a3c5db968e Merge pull request #800 from FHenry/develop
Qual : Review code after intalling PHPUnit, CodeSniffer on Eclipse...
2013-04-05 13:39:52 -07:00
Laurent Destailleur
a5f72bfb4e Fix: Some fix after patch merge. 2013-04-05 22:38:46 +02:00
Laurent Destailleur
49c9df3688 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-05 22:29:21 +02:00
Laurent Destailleur
7ebd24daea Merge pull request #805 from zedzedtop/develop
Develop
2013-04-05 13:28:58 -07:00
Laurent Destailleur
b47765f721 Optimize for smartphones 2013-04-05 22:26:41 +02:00
Laurent Destailleur
1fb3159045 Qual: Uniformize code 2013-04-05 18:09:05 +02:00
Laurent Destailleur
77050340df Fix: Do not loose value dol_use_jmobile when using not connected pages
(support and forget password)
2013-04-05 17:50:45 +02:00
Laurent Destailleur
58277b0fff Look: Replace table with div 2013-04-05 17:39:27 +02:00
Laurent Destailleur
ff4c9c495a Fix: Uniformize field names 2013-04-05 13:35:09 +02:00
Laurent Destailleur
71716dcab5 Ref: sql file not up to date 2013-04-05 13:33:48 +02:00
fhenry
dfcb38d13f [ task #793 ] Add extrafield feature into Orders module 2013-04-05 12:43:00 +02:00
fhenry
dcd960a957 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql

Change-Id: I2196e69ebae5a057eb6df018b683ff35f721ead9
2013-04-05 11:46:09 +02:00
Laurent Destailleur
d8a86453e5 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-04 21:15:16 +02:00
Laurent Destailleur
677fb46136 Optimize size of graph 2013-04-04 21:13:51 +02:00
Laurent Destailleur
58bb2df24c Qual: Uniformize columns 2013-04-04 20:58:42 +02:00
Maxime Kohlhaas
9530e103e8 Fix : price by quantity now updates the discount field only if there is not an existing discount greater than the price by quantity one 2013-04-04 20:44:00 +02:00
Maxime Kohlhaas
e5085b2a1c Fix : filter on payment type was not working (int instead of char) 2013-04-04 20:19:42 +02:00
Laurent Destailleur
607ebbfe8b Qual: Replace tab with div 2013-04-04 19:42:21 +02:00
fhenry
c109467d20 Qual : Review code after intalling PHPUnit, CodeSniffer on Eclipse... 2013-04-04 13:58:33 +02:00
Laurent Destailleur
4996a4b217 Fix: regex not complete 2013-04-04 12:23:12 +02:00
Laurent Destailleur
281cd49f32 Merge pull request #798 from lrq3000/develop3
Add: ODTSubstitution and ODTSubstitutionLine hooks with $odfHandler for ...
2013-04-04 02:36:30 -07:00
Laurent Destailleur
bf23efda21 Fix: Bad error management 2013-04-04 09:17:03 +02:00
Laurent Destailleur
e06e0127af Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-04 09:11:37 +02:00
Laurent Destailleur
d08eb386ab Fix: cursor 2013-04-04 09:03:13 +02:00
Regis Houssin
06485b065b Fix: bug #791 2013-04-04 08:56:19 +02:00
Laurent Destailleur
fca3153c2b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-03 19:08:31 +02:00
Regis Houssin
d474955d56 Fix: missing renaming field !! 2013-04-03 18:54:44 +02:00
Laurent Destailleur
76910d4159 Look: Start to use div to render actions buttons 2013-04-03 18:37:54 +02:00
Laurent Destailleur
7f15154c6b Qual: Uniformize skins code. 2013-04-03 15:45:06 +02:00
Laurent Destailleur
545ac638b0 Qual: Removed deprecated code for using a specific mobile theme.
New: Include terminal variables to optimize any themes.
Qual: First change to allow butAction buttons to wrap on new lines for
small size screens.
2013-04-03 15:20:56 +02:00
Laurent Destailleur
fb048ccfda Update skeleton 2013-04-03 10:20:08 +02:00
Stephen L
cb3f183353 Add: ODTSubstitution and ODTSubstitutionLine hooks with $odfHandler for extended ODT substitution
Signed-off-by: Stephen L. <lrq3000@gmail.com>
2013-04-03 00:57:40 +02:00
Laurent Destailleur
3312e620b4 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-03 00:37:05 +02:00
Laurent Destailleur
08be243dc4 Optimize with smartphone 2013-04-03 00:36:31 +02:00
Laurent Destailleur
3590ae8eaa Merge pull request #794 from grandoc/develop
fix: some issue on the road to numbering supplier invoice
2013-04-02 07:07:57 -07:00
Laurent Destailleur
21e8eb65fe Merge pull request #795 from FHenry/develop
[ task #783 ] Add checkbox and radio into extrafield feature
2013-04-02 07:06:34 -07:00
Laurent Destailleur
3631f6e93e Merge pull request #796 from jfefe/develop
Better management for linked objects on intervention card.
2013-04-02 07:05:12 -07:00
jfefe
50e620e839 Better management for linked objects on intervention card.
- Display linked object as invoice
- When origin & originid defined, page was blank after submit creation form
2013-04-02 15:34:45 +02:00
fhenry
ae00d8b214 Add import_key into llx_product_price 2013-04-02 15:03:01 +02:00
fhenry
735e107a51 Better error management on extrafailed input 2013-04-02 14:12:21 +02:00
fhenry
e93b6141e1 Add translation for extrafield 2013-04-02 12:04:37 +02:00
Régis Houssin
e139e63d92 Fix: missing $soc object with origin object 2013-04-02 12:01:39 +02:00
fhenry
893fed9284 [ task #783 ] Add checkbox and radio into extrafield feature 2013-04-02 11:56:53 +02:00
fhenry
d03fb5d363 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-04-02 10:53:29 +02:00
fhenry
489d62dbf1 Better extrafield date management 2013-04-02 10:52:39 +02:00
Laurent Destailleur
f98e40f694 Optimize for smartphone 2013-04-02 10:26:11 +02:00
Laurent Destailleur
c6835e711a New: Add tool to make screenshots easier. 2013-04-02 09:56:54 +02:00
Grand Philippe
cdbffe2d0a Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-04-02 08:50:35 +02:00
Laurent Destailleur
6b13e8242a Fix: Restore backward compatibility 2013-04-01 23:47:48 +02:00
Laurent Destailleur
147032edcb Qual: Removed deprecated theme. 2013-04-01 23:42:32 +02:00
Laurent Destailleur
c8bc0a1ec9 New: Prepare to code to support jmobile. 2013-04-01 23:38:39 +02:00
Grand Philippe
8dd8ccad2e fix: some issue on the road to numbering supplier invoice 2013-04-01 23:28:44 +02:00
Laurent Destailleur
aba9fd8fc5 Fix: Nowrap 2013-04-01 23:01:38 +02:00
Grand Philippe
20fb7f79c0 fix: some issue on the road to numbering supplier invoice 2013-04-01 22:58:54 +02:00
Laurent Destailleur
29a1640b4c Qual: Normalize field ref_supplier into supplier invoices (replace
facnumber).
2013-04-01 22:39:27 +02:00
Laurent Destailleur
110d0f1d3b Fix: Better error management 2013-04-01 22:35:54 +02:00
Laurent Destailleur
954af0f6c7 New: Add option INVOICE_CAN_NEVER_BE_REMOVED 2013-04-01 22:17:51 +02:00
Laurent Destailleur
80e34c8e1c New: Add option INVOICE_CAN_NEVER_BE_REMOVED 2013-04-01 22:16:55 +02:00
Laurent Destailleur
ef6e06bcaa Fix: Default background if css3 not used 2013-04-01 21:55:59 +02:00
Laurent Destailleur
eaff41c65f Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-04-01 21:01:44 +02:00
Laurent Destailleur
cf4603f5af Merge pull request #793 from jfefe/extrafields
Task #784 : display calendar into data type extrafields / new methods to manage extrafields
2013-04-01 12:00:08 -07:00
Laurent Destailleur
7d32db73c6 Fix: Restore lost commit. 2013-04-01 20:59:51 +02:00
Laurent Destailleur
07fc55de4b Merge pull request #792 from grandoc/develop
try to fix :supplier invoice numbering
2013-04-01 11:57:02 -07:00
Laurent Destailleur
9449345395 Another step for menu management rewriting 2013-04-01 20:15:52 +02:00
jfefe
cf6f4405cb Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into extrafields
Conflicts:
	htdocs/comm/propal.php
2013-04-01 19:44:55 +02:00
jfefe
a8874ebcc8 Uniformize usage of extrafields methods 2013-04-01 19:43:26 +02:00
jfefe
7ca7c552c0 Use new function to show extrafields on products 2013-04-01 18:59:41 +02:00
jfefe
ec52f54a52 Unique function to show input or output of extrafields datas 2013-04-01 18:59:05 +02:00
jfefe
6e66922a6b Fix : in extrafield force output for date selector 2013-04-01 18:46:53 +02:00
Grand Philippe
e2623c6ad5 try to fix :supplier invoice numbering 2013-04-01 16:04:15 +02:00
Laurent Destailleur
3c37f89d2e Work on new menu managers - step x 2013-04-01 16:02:16 +02:00
Laurent Destailleur
bbe68e341c Fix: dol_hide_topmenu and dol_hide_leftmenu not lost after logout 2013-04-01 15:28:53 +02:00
Laurent Destailleur
df08d838d7 More robust phpunit tests 2013-04-01 14:49:33 +02:00
Laurent Destailleur
e352e4a56f New: Work on new menu management. 2013-03-31 19:54:56 +02:00
Laurent Destailleur
d752a41f05 Add helper 2013-03-31 16:51:49 +02:00
Laurent Destailleur
cc69cf7b76 New: Can defined a clicktodial setup per user 2013-03-31 16:44:24 +02:00
Laurent Destailleur
a0dc4ae62e Avoid terminal 2013-03-31 04:12:20 +02:00
Laurent Destailleur
294a085047 New: ClickToDial setup is easier 2013-03-31 04:03:08 +02:00
Laurent Destailleur
dca3179bfe New: Support __LOGIN__ and __USERID__ on left menu entries 2013-03-30 21:29:14 +01:00
Laurent Destailleur
fa6e9d2d47 Missing trans key 2013-03-30 21:25:37 +01:00
Laurent Destailleur
a5799b3ae8 Trans for SMS 2013-03-30 21:25:00 +01:00
Laurent Destailleur
ef571de960 New: Support __USERID__ into menu entries 2013-03-30 20:34:13 +01:00
Laurent Destailleur
79f40f27b3 Removed entry specific to external module 2013-03-30 20:33:42 +01:00
Laurent Destailleur
0b9602e4e6 Optionnal entries at end 2013-03-30 20:32:50 +01:00
Laurent Destailleur
f52fe71018 Fix: Bad div closing 2013-03-30 19:40:52 +01:00
Laurent Destailleur
fe895adb95 Fix: Bad div 2013-03-30 19:37:09 +01:00
Laurent Destailleur
4c1f17f42f Qual: More robust error management for menu description 2013-03-30 19:11:52 +01:00
jfefe
2b587e1742 For thirdparty use new method to display extrafield values 2013-03-30 18:54:51 +01:00
Laurent Destailleur
000fe2c864 New: Better error management for add/remove of memeber into mailman. 2013-03-30 18:04:33 +01:00
jfefe
1ab1d74c77 New option (MAIN_EXTRAFIELDS_USE_TWO_COLUMS) to split extrafields display into 2 columns 2013-03-30 17:52:59 +01:00
jfefe
3fe1b26136 New method to CommonObject to display extrafields data output
Try for product
2013-03-30 17:43:21 +01:00
jfefe
bd4e62a5e7 Implement extrafields : calendar on date type and new separator type 2013-03-30 16:58:49 +01:00
Laurent Destailleur
1eec85da9d Merge pull request #791 from grandoc/develop
Develop
2013-03-30 07:58:48 -07:00
Laurent Destailleur
4208f11d87 Enhance fixutf8bomfiles and fixdosfiles tools. 2013-03-30 15:57:54 +01:00
Grand Philippe
671837bfcc Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-30 14:32:17 +01:00
Grand Philippe
ee7490a30a fix : language error 2013-03-30 14:31:10 +01:00
Laurent Destailleur
89365786a8 New: enhance tool fixdosfiles.sh
Convert DOS files to unix
2013-03-30 14:27:13 +01:00
Laurent Destailleur
3c23a717fd Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/comm/propal.php
	htdocs/core/lib/files.lib.php
2013-03-30 14:10:15 +01:00
Laurent Destailleur
a5e66ab7ba Generalize fix: file with a specific mask not found, again 2013-03-30 13:54:46 +01:00
Laurent Destailleur
c75ce97960 Update es_MX 2013-03-30 13:30:44 +01:00
Laurent Destailleur
3c248ce1fe Merge pull request #790 from jfefe/extrafields
Work on task #784 : display calendar into data type extrafields
2013-03-30 05:27:14 -07:00
Laurent Destailleur
7caa715fea Merge pull request #787 from grandoc/develop
add numbering for supplier invoice
2013-03-30 05:23:45 -07:00
Laurent Destailleur
656e61b77d Merge pull request #788 from atm-maxime/develop
Fix : "Firstname" was used as var instead of "firstname"
2013-03-30 05:21:38 -07:00
Laurent Destailleur
294cb2ab4f Merge pull request #789 from defrance69/patch-22
same change on mysqldb
2013-03-30 05:21:17 -07:00
jfefe
95d8ee8b41 Revert "Show number with dot to avoid error when update extrafield"
This reverts commit 76efc04840.
2013-03-30 10:49:52 +01:00
jfefe
e99ba51f1d Use of new function to set optionals from add / update form
Format date display for data from JS calendar (date type extrafield)
2013-03-30 10:46:23 +01:00
Grand Philippe
1ccdbbed5e Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-30 10:02:50 +01:00
jfefe
f3a7d497c6 Fix : missing object when calling function 2013-03-29 22:30:07 +01:00
jfefe
6c872395e3 Fix: syntax error 2013-03-29 22:26:25 +01:00
jfefe
60e72a770a Merge branch 'develop' into extrafields 2013-03-29 22:25:48 +01:00
jfefe
649c1f3721 Try new function to set array_options to object (extrafields values) with date sent by forms 2013-03-29 22:25:02 +01:00
jfefe
6aae37493c Add support of calendar on date type extrafield on propal 2013-03-29 22:14:06 +01:00
BENKE Charles
701814ad19 Update mysqli.class.php 2013-03-29 21:19:22 +01:00
Maxime Kohlhaas
2309a4b81b Fix : on holiday list on a specific user, user and validator were not displayed 2013-03-29 18:56:01 +01:00
Maxime Kohlhaas
d8090ba994 Fix : "Firstname" was used as var instead of "firstname" 2013-03-29 18:47:53 +01:00
Laurent Destailleur
e40909144d Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-29 18:30:05 +01:00
Grand Philippe
11d2cb1e1c fix: ref_suplier instead of ref for add numbering for supplier invoice 2013-03-29 17:18:47 +01:00
Laurent Destailleur
97a90b0904 New: Add more ODT tags 2013-03-29 16:45:40 +01:00
Laurent Destailleur
ff5b2b3404 Merge pull request #786 from defrance69/patch-21
Update mysql.class.php
2013-03-29 08:32:17 -07:00
Laurent Destailleur
4c47393b51 Fix: Add more ODT tags 2013-03-29 16:18:55 +01:00
Laurent Destailleur
8f331adff6 New: Work on men management rewrite 2013-03-29 16:16:26 +01:00
Laurent Destailleur
006050b6cd Fix: left menu not always opened 2013-03-29 15:39:35 +01:00
Grand Philippe
f57320e697 add numbering for supplier invoice 2013-03-29 15:36:54 +01:00
jfefe
1a1aebf793 Display date extrafield with correct format 2013-03-29 14:56:31 +01:00
Laurent Destailleur
6702386b8b Some fix into chineese language files 2013-03-29 14:54:07 +01:00
jfefe
80f080f5a9 Format date for sql query
Using dol_print_date because db->idate doesn't work
2013-03-29 14:45:40 +01:00
jfefe
c1e6de33eb Fix : bad definition of key for extrafields array 2013-03-29 14:37:29 +01:00
jfefe
76ce938f61 When retrieve extrafields, loop on extralabels array instead of posted values
Add support for calendar display on date extrafield
2013-03-29 14:09:47 +01:00
jfefe
c53564c454 For extrafield with date type show calendar instead basic input field 2013-03-29 14:03:39 +01:00
jfefe
520e235207 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into extrafields 2013-03-29 10:44:35 +01:00
BENKE Charles
d5a1f64e76 Update mysql.class.php
some other problems about DDLCreateTable, other field setting not actived
2013-03-29 02:09:19 +01:00
Laurent Destailleur
2e3fd0083a Merge pull request #785 from FHenry/develop
Add more information in ODT project template
2013-03-28 15:40:46 -07:00
fhenry
e745cbb5cf Add missing column into llx_extrafield creation 2013-03-28 22:13:04 +01:00
fhenry
c2be118efd Add more information in ODT project template 2013-03-28 20:51:00 +01:00
Laurent Destailleur
8ad801d0b6 Merge pull request #784 from jfefe/extra_error
Better error management when add/update extrafields
2013-03-28 11:12:58 -07:00
Laurent Destailleur
4e97a41612 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-28 16:29:22 +01:00
Sébastien de Chateauvieux
5921033f94 TVA NPR : Change field name recuperableonly to info_bits 2013-03-28 09:51:49 +04:00
jfefe
ed2b359dae Bad parameter when calling setEventMessage function 2013-03-28 06:48:21 +01:00
Sébastien de Chateauvieux
eda6187982 TVA NPR : can use * in tva when set supplier price 2013-03-28 09:30:42 +04:00
Laurent Destailleur
07062065e5 Merge pull request #782 from jfefe/propal_odt_choice
New : can choose to generate the ODT document according to the status of a propale
2013-03-27 13:35:34 -07:00
jfefe
013eac1147 Better error management when add/update extrafield
Usage of setEventMessage() function
2013-03-27 21:24:45 +01:00
Laurent Destailleur
15b7a63b7a Merge remote-tracking branch 'origin/3.3' into develop 2013-03-27 20:50:58 +01:00
Laurent Destailleur
753bfdbec2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-27 20:43:43 +01:00
Laurent Destailleur
0a3b7e7994 New: Be able to get path of image without tag img 2013-03-27 20:43:28 +01:00
Regis Houssin
55757a6b82 Fix: $i is global 2013-03-27 20:42:55 +01:00
jfefe
0b7d13d463 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into extrafields 2013-03-27 20:39:56 +01:00
jfefe
1f5987b379 Fix trad & add english 2013-03-27 19:13:50 +01:00
jfefe
1f537300ea Add hidden option MAIN_PROPAL_CHOOSE_ODT_DOCUMENT to enable choice of ODT document to use according to his status 2013-03-27 19:11:42 +01:00
Laurent Destailleur
f27f601a73 Merge pull request #780 from FHenry/develop
Add information on Project ODT into ODT project
2013-03-27 07:56:33 -07:00
jfefe
ee52e1a487 Merge remote-tracking branch 'upstream/develop' into propal_odt_choice 2013-03-27 15:25:13 +01:00
Laurent Destailleur
b0f705a7de Merge pull request #781 from jfefe/develop-eof
Remove DOS EOF (dos2unix utility used)
2013-03-27 06:54:11 -07:00
jfefe
47b6829e17 Remove DOS EOF (dos2unix utility used) 2013-03-27 14:39:41 +01:00
Laurent Destailleur
6c1bbd3aeb New: Uniformize hooks. 2013-03-27 14:24:33 +01:00
Laurent Destailleur
a22d39adfb Fix: Hook is a replaceadd hook. 2013-03-27 14:11:15 +01:00
Laurent Destailleur
393cecb1c2 New: Add hook 2013-03-27 14:08:15 +01:00
Laurent Destailleur
982b3e9d66 Add trigger into delete line for supplier invoice 2013-03-27 13:59:45 +01:00
Laurent Destailleur
d8eafbf068 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-27 13:24:39 +01:00
Laurent Destailleur
da8932f987 Some fix for cron module 2013-03-27 13:24:26 +01:00
Regis Houssin
ce8631619a Fix: avoid errors due to BROKEN FEATURES !!! 2013-03-27 11:55:14 +01:00
fhenry
6494764e76 Add copy files ODT project on install 2013-03-27 11:24:57 +01:00
fhenry
9507f4258b Add inforamtion on Project into ODT project 2013-03-26 23:32:22 +01:00
Laurent Destailleur
8c053b2f8d Debug module cron 2013-03-26 21:18:01 +01:00
Laurent Destailleur
0a4f96e93a Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-26 20:58:05 +01:00
Laurent Destailleur
19ae4a75d6 Qual: More robust function to run jobs 2013-03-26 20:57:24 +01:00
Regis Houssin
e75c609a0a Fix: wrong var name 2013-03-26 18:33:44 +01:00
Regis Houssin
b5d13dc6e6 Fix: missing parameter 2013-03-26 18:33:23 +01:00
Regis Houssin
e9a8457d7e Fix: broken features due to the removal of the trigger FILE_UPLOAD ! 2013-03-26 18:33:14 +01:00
Regis Houssin
61826b04d8 Fix: broken feature for use hooks with dol_move_uploaded_file method 2013-03-26 18:33:06 +01:00
Laurent Destailleur
b694451ab2 Use engine instead of type 2013-03-26 17:45:07 +01:00
Laurent Destailleur
676f59fb6d Merge pull request #779 from defrance69/patch-20
Update mysql.class.php
2013-03-26 09:43:46 -07:00
Laurent Destailleur
6df1e95678 Merge pull request #778 from simnandez/develop
Fix: [ bug #777 ] Withdrawal receipt set Credited
2013-03-26 09:43:10 -07:00
BENKE Charles
2c56a1c8dc Update mysql.class.php
Create Table 'type' not supported on recent mysql databases, need to use 'engine' instead
2013-03-26 16:49:02 +01:00
simnandez
26d2e3d928 Fix: [ bug #777 ] Withdrawal receipt set Credited 2013-03-26 15:48:12 +01:00
Regis Houssin
2731b0af2b Merge pull request #777 from FHenry/develop
move doctemplate into install
2013-03-26 01:20:30 -07:00
fhenry
c97d712e50 move doctemplate into install 2013-03-26 09:17:24 +01:00
Regis Houssin
26f120cbc7 Fix: move doctemplates in install directory 2013-03-26 08:57:37 +01:00
Sébastien de Chateauvieux
28999af70b TVA NPR : set function get_default_npr 2013-03-26 08:47:17 +04:00
Sébastien de Chateauvieux
148ad65150 TVA NPR : deduplicate line. Remove tva npr from journal lines 2013-03-26 08:11:06 +04:00
Sébastien de Chateauvieux
bbbc4ad8c4 TVA NPR: add parameter in function call. Accept * tva 2013-03-26 07:57:19 +04:00
Laurent Destailleur
55a9d3abf1 Merge pull request #776 from FHenry/develop
[ task #770 ] Add ODT document generation for Projects module
2013-03-25 15:52:30 -07:00
Laurent Destailleur
10d7fad524 Merge pull request #775 from defrance69/patch-19
Update modAgenda.class.php
2013-03-25 15:49:54 -07:00
Laurent Destailleur
14b3f91f3f Merge pull request #774 from atm-maxime/develop
Fix : on a new trigger, using $this but not in a class...
2013-03-25 15:45:27 -07:00
fhenry
48e4ffb4b5 Change-Id: I1aca3849ce75a7aea527a3897e4fcd0e70ccb428 2013-03-25 19:32:30 +01:00
fhenry
b5751ab658 Add copyright 2013-03-25 19:31:17 +01:00
fhenry
9dd4ed9cb8 [ task #770 ] Add ODT document generation for Projects module 2013-03-25 19:28:34 +01:00
BENKE Charles
8b160ac712 Update modAgenda.class.php
Add export feature of calendar module
2013-03-25 18:26:35 +01:00
Maxime Kohlhaas
83def2cd57 Fix : on a new trigger, using $this but not in a class... 2013-03-25 18:03:42 +01:00
Laurent Destailleur
6a34250712 Rewrite module manager. Next step. 2013-03-25 17:54:54 +01:00
Sébastien de Chateauvieux
aaaa5242d6 TVA NP : update price calculation 2013-03-25 17:42:48 +04:00
Sébastien de Chateauvieux
b2b0d1616d TVA NPR : add fourn_tva_npr property in class ProductFournisseur 2013-03-25 17:32:22 +04:00
Sébastien de Chateauvieux
6cfedfff9f TVA NPR : add info_bits property in class FactureFournisseur 2013-03-25 17:18:10 +04:00
Laurent Destailleur
75c15ee9a1 New: Revenue stamps works for invoices 2013-03-25 13:04:03 +01:00
Laurent Destailleur
4b1c9c1a0d Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-25 12:29:30 +01:00
Laurent Destailleur
dc0c1a2c85 Fix: [ bug #729 ] incorrect unpaid invoice list 2013-03-25 12:20:24 +01:00
Laurent Destailleur
f85e422c59 Merge pull request #773 from FHenry/develop
[ task #773 ] Add Project document in GED(ECM) modules
2013-03-25 03:11:09 -07:00
Sébastien de Chateauvieux
be8a95a22b Mise à jour des tables facture_fourn_det et product_fournisseur_price. Ajout d'un champ pour la gestion de la TVA NPR 2013-03-25 13:03:37 +04:00
fhenry
7881502b52 [ task #773 ] Add Project document in GED(ECM) modules 2013-03-25 09:56:07 +01:00
Laurent Destailleur
4fb4734eed Merge pull request #772 from grandoc/develop
fix : trad error
2013-03-24 15:08:24 -07:00
Regis Houssin
86b521287c Fix: upgrade all files 2013-03-24 22:05:46 +01:00
Regis Houssin
eaf914cada Fix: upgrade jQuery datatables with 1.9.4 for avoid problems 2013-03-24 21:33:35 +01:00
Laurent Destailleur
4e029bf2ca Fix: Security does not need special case 2013-03-24 21:06:45 +01:00
Laurent Destailleur
2b03420445 Add dump for 3.4 2013-03-24 19:41:08 +01:00
Laurent Destailleur
85cafee19f New: Add substitutions keys in view 2013-03-24 19:06:20 +01:00
Laurent Destailleur
f3f65c01df Update define key examples 2013-03-24 19:01:30 +01:00
Laurent Destailleur
b3d4811b6f New: Another method to allow style tags into email.
Preivous one was using encoding, but this create data to not be stored
correctly into database. Old method is still available by adding
'_encoded' at end of toolbar name.
2013-03-24 19:00:58 +01:00
Laurent Destailleur
3ef8bf55fa Fix: Better line position of information 2013-03-24 16:17:36 +01:00
Laurent Destailleur
d4d3b9900d Fix: creation of user 2013-03-24 14:11:10 +01:00
Laurent Destailleur
ff2407a454 Add hidden option to setup font size of information. 2013-03-24 14:01:33 +01:00
Laurent Destailleur
6163503b48 Fix: Missing lang 2013-03-24 14:01:03 +01:00
Laurent Destailleur
51bc985a76 Add missing icon 2013-03-24 12:34:10 +01:00
Grand Philippe
59eb21431a display enhancement and standardize 2013-03-24 07:14:59 +01:00
Grand Philippe
c5e742278e fix : trad error 2013-03-24 07:11:44 +01:00
Laurent Destailleur
a890c7b3ab Fix: Option to hide if no permission instead of grey was broken. 2013-03-24 03:51:49 +01:00
Laurent Destailleur
9391d0d2d6 New: SeparatorThousand and SeparatorDecimal accepts ' chars. 2013-03-24 03:12:40 +01:00
Laurent Destailleur
fe7cad8d6a Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-24 02:28:29 +01:00
Laurent Destailleur
7fab08eae1 Save example 2013-03-24 00:35:51 +01:00
Laurent Destailleur
24427d2c65 Use combo list for revenue stamp 2013-03-24 00:35:40 +01:00
Laurent Destailleur
d06f36d6c6 Merge pull request #770 from FHenry/develop
Fix Cron module date et [ task #710 ] Envoi de mail
2013-03-23 16:16:03 -07:00
fhenry
1e04ff8bbf Add Cron spanish translation (provided by david@luminososmarmenor.com) 2013-03-23 20:36:32 +01:00
fhenry
d84cd86a50 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Merge Cron module
2013-03-23 20:24:28 +01:00
Laurent Destailleur
d54b0d139d Merge pull request #771 from grandoc/develop
fix error translation
2013-03-23 12:03:43 -07:00
Laurent Destailleur
c3589e9785 Some debug into cron module:
- Because cron is a module, constant must start with CRON_.
- Miscellanous fixes.
- For external link to run jobs from url, we must forge url using conf
file and not autodetect url.
2013-03-23 19:23:17 +01:00
Grand Philippe
2c718b740e Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-23 19:09:08 +01:00
Grand Philippe
7f61061805 fix : wrong URL 2013-03-23 19:08:02 +01:00
Laurent Destailleur
9fe0d2cdd2 Fix: Removed a lors 'pre'. Also accurency of data must not be overwrite
by odt template engine (to be compatible with all countries precision).
2013-03-23 18:22:25 +01:00
Laurent Destailleur
73de8d169f Fix: Avoid call method on non object error 2013-03-23 18:04:46 +01:00
Laurent Destailleur
4d527d26af New: support full address into user cards. 2013-03-23 17:40:18 +01:00
Laurent Destailleur
fbf8d410d2 New: Support revenue stamp onto invoices 2013-03-23 17:34:23 +01:00
fhenry
8971e6fe15 [ task #710 ] Envoi de mail 2013-03-23 14:39:23 +01:00
eldy
90025f9c13 Work on revenue stamp 2013-03-23 13:07:25 +01:00
eldy
c8d6e9e44a Fix: List of customers to build invoice or order 2013-03-23 12:33:25 +01:00
eldy
3af7ca5ac8 Work on revenue stamp feature. 2013-03-23 12:23:09 +01:00
fhenry
7ce90c7bf1 Fix : Main eMail configuration SMTP password as input type wasn't
password (password display in clear...)!
2013-03-23 12:03:47 +01:00
fhenry
c1d1ad450a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-23 11:45:01 +01:00
Grand Philippe
3fc8dffadf Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-23 10:22:13 +01:00
Grand Philippe
ea296d8429 fix error translation 2013-03-22 19:24:26 +01:00
Regis Houssin
34bfdb1846 Fix: broken feature if the table has no field fk_parent_line 2013-03-22 19:21:46 +01:00
fhenry
9476a346b8 Fix update run date 2013-03-22 18:23:43 +01:00
Laurent Destailleur
ed690885d3 Merge pull request #769 from simnandez/develop
Trad: Add es_ES and ca_ES missing translations
2013-03-22 09:50:33 -07:00
simnandez
e9cbf94e06 Trad: Add es_ES and ca_ES missing translations 2013-03-22 17:31:43 +01:00
Laurent Destailleur
e4ae70b5b2 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
2013-03-22 17:21:57 +01:00
Laurent Destailleur
350bcea183 Merge 2013-03-22 17:10:17 +01:00
Laurent Destailleur
2ec462dcf4 Fix: [ task #771 ] harmonize length of zipcode
New: Add personal address for users.
2013-03-22 17:00:55 +01:00
Laurent Destailleur
708f0472cd Qual: Prepare menu handler to be able to output content into a list. 2013-03-22 16:40:35 +01:00
Laurent Destailleur
3dcd0d2ac8 Merge pull request #767 from simnandez/develop
Develop
2013-03-22 07:50:30 -07:00
Laurent Destailleur
5920bb5ae2 Merge pull request #768 from FHenry/develop_cron
[ task #122 ] Create a scheduled cron module
2013-03-22 07:49:13 -07:00
fhenry
49702ce578 Change module to experimantal 2013-03-22 15:18:33 +01:00
simnandez
ab0354f14f New: Remove FEATURE_LEVEL>1 for PDF options hide details, desc and ref 2013-03-22 15:15:13 +01:00
fhenry
d2875d4e6d [ task #122 ] Create a scheduled cron module 2013-03-22 15:14:43 +01:00
simnandez
52573cad89 New: Remove FEATURE_LEVEL>1 for PDF options hide details, desc and ref 2013-03-22 15:12:57 +01:00
Laurent Destailleur
9fde877a9c Merge pull request #766 from grandoc/develop
fix error translation
2013-03-22 07:11:43 -07:00
fhenry
0215031632 [ task #122 ] Create a scheduled cron module 2013-03-22 14:45:20 +01:00
Grand Philippe
07940d719b fix error translation 2013-03-22 13:00:26 +01:00
Laurent Destailleur
305c436983 Merge pull request #765 from grandoc/develop
display enhancement and normalize
2013-03-22 03:28:00 -07:00
Grand Philippe
371c7194fa display enhancement and standardize 2013-03-22 11:15:52 +01:00
Grand Philippe
12f1d1b6dd display enhancement and standardize 2013-03-22 11:11:18 +01:00
Grand Philippe
e506601214 display enhancement and standardize 2013-03-22 10:48:14 +01:00
Laurent Destailleur
945c511a5b Qual: Clean code 2013-03-22 10:27:36 +01:00
Grand Philippe
b44d5de58e display enhancement and normalize 2013-03-22 09:38:48 +01:00
Grand Philippe
1730d9e2b7 display enhancement and normalize 2013-03-22 09:30:04 +01:00
Laurent Destailleur
3863b70b0c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-22 00:02:42 +01:00
Laurent Destailleur
4949d74267 New: Add a tab "consumption" on thirdparties to list products
bought/sells.
(i implement list for customer invoices and supplier orders, need
someone to finish work for customer orders and supplier invoices)
2013-03-22 00:02:25 +01:00
Laurent Destailleur
e4bd3c45d9 Merge pull request #764 from grandoc/develop
fix :constant error
2013-03-21 06:00:11 -07:00
Grand Philippe
3e8ebb953d fix :constant error 2013-03-21 13:38:38 +01:00
Laurent Destailleur
aeb3573d21 Merge pull request #763 from grandoc/develop
display enhancement and standardize
2013-03-21 04:07:41 -07:00
Grand Philippe
45d9d525a4 display enhancement and standardize 2013-03-21 09:22:26 +01:00
Grand Philippe
5192794aab display enhancement and standardize 2013-03-21 08:47:45 +01:00
Grand Philippe
c389d75ede display enhancement and standardize 2013-03-21 08:39:17 +01:00
Grand Philippe
40c889955b display enhancement and standardize 2013-03-21 08:22:24 +01:00
Laurent Destailleur
5b6a12d011 Merge pull request #762 from grandoc/develop
fix sql error
2013-03-20 15:01:00 -07:00
Grand Philippe
a3ad06134a display enhancement and standardize 2013-03-20 22:34:53 +01:00
Grand Philippe
cb23777469 fix sql error 2013-03-20 22:21:22 +01:00
Laurent Destailleur
a2763df9e7 Qual: Start to clean the simple accountancy moule. 2013-03-20 21:41:16 +01:00
Laurent Destailleur
257f6da8f4 New: Add field to make accountancy dispatch module easier to build.
Must match module customer invoice.
2013-03-20 20:34:30 +01:00
Laurent Destailleur
a3435ab889 Merge remote-tracking branch 'origin/3.3' into develop 2013-03-20 15:32:32 +01:00
Laurent Destailleur
a326995c37 New: Add info when option ADHERENT_VAT_FOR_SUBSCRIPTIONS is off. 2013-03-20 14:29:26 +01:00
Laurent Destailleur
e407426b13 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-20 14:22:43 +01:00
Laurent Destailleur
df28716e27 Show date of subscript + date of creation of subscription (may differ) 2013-03-20 14:22:28 +01:00
eldy
a635f88992 Look: Minir fix 2013-03-20 11:08:54 +01:00
Laurent Destailleur
720eb8b7dd Merge pull request #760 from defrance69/patch-18
Update fiche.php
2013-03-19 19:27:14 -07:00
Laurent Destailleur
fd680b6b68 Merge pull request #759 from cbattarel/contrat_propal
can now create contract from signed propal
2013-03-19 19:26:54 -07:00
Laurent Destailleur
6b4e32bd9b Merge pull request #758 from grandoc/develop
fix: deprecated for expedition_methode_id
2013-03-19 19:25:29 -07:00
Grand Philippe
a76594c296 standardize and simplify code and enhance display 2013-03-19 19:57:42 +01:00
BENKE Charles
fa21a1d5de Update fiche.php
vrong url to fiche project
2013-03-19 18:56:39 +01:00
Grand Philippe
5c87a4ff56 standardize and simplify code and enhance display 2013-03-19 17:20:54 +01:00
Laurent Destailleur
199bbe90a8 Add missing style 2013-03-19 15:28:40 +01:00
Grand Philippe
4f2ff1642b Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-19 15:24:13 +01:00
Laurent Destailleur
bf912e2c78 Fix: Some bug into supplier pdf invoice setup. 2013-03-19 15:19:31 +01:00
Grand Philippe
d541bc874d Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-19 08:37:34 +01:00
Christophe Battarel
d4ecb93014 can now create contract from signed propal 2013-03-18 18:44:57 +01:00
Grand Philippe
fb75358c10 fix: deprecated for expedition_methode_id 2013-03-18 17:34:29 +01:00
Laurent Destailleur
45a6717dd3 Merge pull request #752 from FHenry/develop
task #768  &  task #769
2013-03-18 05:02:38 -07:00
fhenry
9e46a55bbf Taking account remark on pull request 2013-03-17 22:26:06 +01:00
Laurent Destailleur
c6b4259735 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-17 19:40:41 +01:00
Laurent Destailleur
7703537b96 New: Work on cron module 2013-03-17 19:39:53 +01:00
Laurent Destailleur
d0449768f7 Use div instead of table 2013-03-17 19:31:13 +01:00
Laurent Destailleur
c4b86bd9dc Merge pull request #755 from grandoc/develop
normalize
2013-03-17 10:00:07 -07:00
Grand Philippe
294b4865d1 normalize and simplify code 2013-03-17 16:10:43 +01:00
Grand Philippe
29b8ce1c2d try to fix: supplier invoice numbering 2013-03-17 15:27:52 +01:00
Grand Philippe
6afa1cb2c9 normalize 2013-03-17 14:40:49 +01:00
eldy
1d09e122c0 Some debug with pgsql 2013-03-17 14:28:57 +01:00
Laurent Destailleur
ca96bd6467 Merge pull request #753 from grandoc/develop
try to fix : cannot display numbering models
2013-03-17 05:05:28 -07:00
Grand Philippe
57d20e28fb normalize and simplify code 2013-03-17 12:56:54 +01:00
Grand Philippe
c44e9d6044 normalize and simplify code 2013-03-17 11:00:38 +01:00
Grand Philippe
88256b7531 normalize 2013-03-17 10:21:44 +01:00
Grand Philippe
bda1c7656b Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-17 10:03:29 +01:00
Laurent Destailleur
d4f5ac8754 Fix: regression after rename of field 2013-03-16 18:02:32 +01:00
Grand Philippe
8931a19b7e try to fix : cannot display numbering models 2013-03-16 17:25:39 +01:00
Grand Philippe
d2c10159fe try to fix : cannot display numbering models 2013-03-16 17:10:24 +01:00
Laurent Destailleur
33a7692fbc Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/core/menus/standard/eldy.lib.php
	htdocs/core/modules/commande/doc/pdf_einstein.modules.php
	htdocs/core/modules/facture/doc/pdf_crabe.modules.php
	htdocs/core/modules/propale/doc/pdf_azur.modules.php
	htdocs/exports/class/export.class.php
2013-03-16 17:07:35 +01:00
fhenry
07bc0cd09e Taking account remark
1f5ebb594a
2013-03-16 17:01:17 +01:00
Grand Philippe
86dff79b73 try to fix : cannot display numbering models 2013-03-16 16:58:45 +01:00
Laurent Destailleur
2da3fb68a0 Merge pull request #751 from jfefe/extrasep
New type of extrafield : separator
2013-03-16 07:41:34 -07:00
Laurent Destailleur
ca0d3be33b Merge pull request #750 from grandoc/develop
Develop
2013-03-16 07:40:05 -07:00
Laurent Destailleur
fcef334122 Merge pull request #748 from GPCsolutions/naturalsearch
Natural search
2013-03-16 07:38:55 -07:00
Grand Philippe
dc7a57b3f7 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-16 15:26:19 +01:00
Grand Philippe
7a69066dc8 enhancement of suppliers module 2013-03-16 15:24:14 +01:00
Laurent Destailleur
5ad1cbbfa5 Fix: Filter lost during navigation 2013-03-16 15:04:27 +01:00
Laurent Destailleur
55f9879a6c Replace table with div. Prepare work for android application. 2013-03-16 14:53:15 +01:00
eldy
de458fa626 Qual: Move option at better place 2013-03-16 12:22:37 +01:00
Grand Philippe
cdb521663e Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-03-16 10:35:12 +01:00
fhenry
cf21b32eb1 task #768 2013-03-16 09:46:34 +01:00
fhenry
98cc7b7a2b Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-16 09:43:57 +01:00
fhenry
1f5ebb594a [ task #769 ] WYSIWYG for user signature 2013-03-16 09:43:09 +01:00
fhenry
e71103ed02 task #768:
https://doliforge.org/tracker/?func=detail&aid=768&group_id=144 
task #769 :
https://doliforge.org/tracker/?func=detail&aid=769&group_id=144
2013-03-16 09:23:34 +01:00
jfefe
71bb4149cc New : Automatic creation of the document to the closing of the propale depending on the model selected in the configuration 2013-03-16 02:08:07 +01:00
jfefe
65a9edd5a7 Fix : lang 2013-03-16 01:52:56 +01:00
jfefe
8a3fae31e1 When create a propal, select model document chosen by defaut in module config 2013-03-16 01:13:44 +01:00
jfefe
5f1141675c Add constants into config of ODT document for propal : can choose wich ODT will be used on creation and when close to bill or not. 2013-03-16 01:10:21 +01:00
jfefe
ae180f06a0 Fix : document module option was not saved 2013-03-16 00:53:46 +01:00
jfefe
9a57431879 Show extrafield separator on thirdparty and contact 2013-03-16 00:28:45 +01:00
jfefe
f16c9dd3ac Fix : bad permission 2013-03-16 00:19:53 +01:00
jfefe
f1a05528ad Show extrafield separator on invoice 2013-03-16 00:16:30 +01:00
jfefe
ba0963ea7d Fix : implement separator extrafield - missing check on update 2013-03-16 00:00:57 +01:00
jfefe
7a16e1b658 Show extrafield separator in propale 2013-03-15 23:41:24 +01:00
jfefe
b36b776f10 IKM : work on new extrafield separator type 2013-03-15 23:39:18 +01:00
Grand Philippe
6fbb00a890 prepair numbering models for supplier invoices 2013-03-15 19:28:26 +01:00
Grand Philippe
7dbc782d42 prepair numbering models for supplier invoices 2013-03-15 19:03:07 +01:00
jfefe
b1d50e3f7f Move extrafield type select list on top of form 2013-03-15 18:56:44 +01:00
jfefe
654e99df8c Work on new type of extrafield : separator with no field stored in database 2013-03-15 18:56:10 +01:00
Grand Philippe
e46900ad84 prepair numbering models for supplier invoices 2013-03-15 18:40:31 +01:00
Laurent Destailleur
cd739c5dd8 Update copyright files 2013-03-15 18:39:52 +01:00
Laurent Destailleur
5cc6bd1343 Qual: removed not used library 2013-03-15 18:29:44 +01:00
Laurent Destailleur
9bae946178 Fix: Return of function with no return should not be set into a
variable.
2013-03-15 18:27:48 +01:00
jfefe
74f480a53b Merge remote-tracking branch 'upstream/develop' into extrafields 2013-03-15 18:21:03 +01:00
Laurent Destailleur
8a487a90af New: Still working on menu manager rewrite. 2013-03-15 18:00:29 +01:00
Grand Philippe
8f7c629d9c prepair numbering models for supplier invoices 2013-03-15 17:45:25 +01:00
Laurent Destailleur
7a152c8e0b Prepare code to be compatible when we will store localtax_type into
lines.
2013-03-15 17:29:18 +01:00
Laurent Destailleur
f522b18bdc Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-15 17:14:06 +01:00
Laurent Destailleur
2ab28d974f Fix: Use better test to show localtax to avoid problem when switching
from different country.
Perf: Can return all localtaxes in one call.
2013-03-15 17:10:18 +01:00
Grand Philippe
a9eed57e27 prepair numbering models for supplier invoices 2013-03-15 16:43:28 +01:00
Grand Philippe
b0bce23595 prepair numbering models for supplier invoices 2013-03-15 16:16:38 +01:00
Raphaël Doursenaud
16efed11ca Added natural search to product line search 2013-03-15 16:05:49 +01:00
Grand Philippe
3c7c5f262f anglicization of comments 2013-03-15 16:03:03 +01:00
Laurent Destailleur
a86c6ac39d New: price function can show price with currency symbol. 2013-03-15 15:59:51 +01:00
Raphaël Doursenaud
656915b8a8 Added natural search to members 2013-03-15 15:48:03 +01:00
Raphaël Doursenaud
4bcf3b3c32 Added natural search to contacts 2013-03-15 15:44:23 +01:00
Raphaël Doursenaud
639c033afb Added natural search to third parties 2013-03-15 15:37:59 +01:00
Raphaël Doursenaud
ea442d9351 Fixed use of deprecated data field 2013-03-15 15:37:11 +01:00
Raphaël Doursenaud
86dab44c98 Added natural search to products 2013-03-15 15:33:49 +01:00
Laurent Destailleur
b6a30bb748 Merge pull request #742 from grandoc/develop
change birth instead of naiss
2013-03-15 04:05:18 -07:00
Laurent Destailleur
bb3805194c Merge pull request #746 from FHenry/develop
Fix syntax error
2013-03-15 04:03:53 -07:00
fhenry
9f9f6c8311 [ task #767 ] 2013-03-15 11:59:15 +01:00
fhenry
1b835262b3 Fix syntax error 2013-03-15 10:35:38 +01:00
Laurent Destailleur
074c1aa535 Qual: The only difference between view phone and email is that emil view
has email. So i add it into view phone and we have now one view.
2013-03-15 02:11:23 +01:00
Laurent Destailleur
298ba17e8f Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/exports/class/export.class.php
	htdocs/webservices/server_user.php
2013-03-15 01:10:56 +01:00
Laurent Destailleur
4bd7270721 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-15 01:08:32 +01:00
Laurent Destailleur
45a6c20e96 Version of licence 2013-03-14 23:01:48 +01:00
Laurent Destailleur
fbdf438351 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-03-14 17:01:44 +01:00
Laurent Destailleur
8fe233ac9b New: Add info tip 2013-03-14 09:50:02 +01:00
Laurent Destailleur
2a50d23d45 Fix: Bad link 2013-03-14 09:37:17 +01:00
Laurent Destailleur
758eb7946b Merge pull request #743 from defrance69/patch-17
Update list.php
2013-03-14 01:33:53 -07:00
BENKE Charles
bd2cc5c469 Update list.php
change the tel/mail cols dépend on title click
2013-03-14 08:33:12 +01:00
Grand Philippe
1f736775ed fix: syntax error, unexpected EOF 2013-03-14 08:33:07 +01:00
philippe
a71ffc0839 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-03-14 08:22:08 +01:00
Laurent Destailleur
9729e83e66 Fix: Do not use deprecated function
New: ajax constant on off can be reversed
2013-03-13 23:05:34 +01:00
Grand Philippe
e1baf806b9 change birth instead of naiss 2013-03-13 22:17:03 +01:00
jfefe
76efc04840 Show number with dot to avoid error when update extrafield 2013-03-13 22:01:34 +01:00
Laurent Destailleur
277784af25 New: Start to work on a cron module 2013-03-13 19:55:21 +01:00
Laurent Destailleur
80b5bd7215 Comment 2013-03-13 19:14:49 +01:00
Laurent Destailleur
a47616cb95 Enhance script 2013-03-13 18:27:05 +01:00
Laurent Destailleur
ed5d1196b2 Fix: no link if user unknown 2013-03-13 17:34:54 +01:00
Laurent Destailleur
8d2d64e9ae No message when not required 2013-03-13 16:22:11 +01:00
Laurent Destailleur
aa021ac00c Doc 2013-03-13 11:16:03 +01:00
Laurent Destailleur
5149ea9f51 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-13 11:10:51 +01:00
Laurent Destailleur
60930d9e74 New: Enhance Dolibarr migration process to include migration script of
external modules.
2013-03-13 11:06:28 +01:00
Laurent Destailleur
d2c05a0ae7 Merge pull request #737 from simnandez/develop
Update ChangeLog
2013-03-12 09:42:46 -07:00
simnandez
6ce82bc723 Update ChangeLog 2013-03-12 16:55:21 +01:00
Laurent Destailleur
f4fe3de1c1 Qual: Update skeleton of script 2013-03-12 16:34:20 +01:00
Laurent Destailleur
4db666824f Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-12 16:13:56 +01:00
Laurent Destailleur
390921512c Move info message on top right 2013-03-12 15:56:47 +01:00
Laurent Destailleur
854cd5dbe3 Merge pull request #736 from simnandez/develop
[ task #652 ] Reduce clicks into creaton of orders, invoices, etc. Supplier order
2013-03-12 07:31:04 -07:00
Laurent Destailleur
484c39435c Fix: Bad format of WSDL for orders. Miscellaneous fixes into WS. 2013-03-12 15:25:58 +01:00
simnandez
8114249fca [ task #652 ] Reduce clicks into creaton of orders, invoices, etc.
Supplier order
2013-03-12 15:06:38 +01:00
Laurent Destailleur
fc3483a4bb Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/webservices/server_user.php
2013-03-12 14:55:13 +01:00
Laurent Destailleur
c6b215d3d0 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-12 13:34:45 +01:00
Laurent Destailleur
c1ab042ad1 Merge pull request #733 from defrance69/patch-16
Update sendings.lib.php
2013-03-12 05:27:02 -07:00
Laurent Destailleur
c215974c8c Add missing vat rate for saudi arabia 2013-03-12 12:20:06 +01:00
Laurent Destailleur
e731d954b3 Translation 2013-03-12 12:00:53 +01:00
Laurent Destailleur
7138c6b0f9 T 2013-03-12 11:59:52 +01:00
Laurent Destailleur
9527174300 Fix: WSDL of productorservice was not valid. Normalize field names. 2013-03-12 10:31:28 +01:00
Laurent Destailleur
bcf694c255 Qual: Remove deprecated code. 2013-03-12 10:03:19 +01:00
BENKE Charles
425ed19e20 Update sendings.lib.php
delivery_prepare_head 
complete_head_from_modules object->id 
but the good one is $object->origin_id
so we temporary change it
2013-03-11 21:01:04 +01:00
Laurent Destailleur
e01a55876b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-11 19:06:01 +01:00
Laurent Destailleur
ce72fa7681 Fix: removed log 2013-03-11 17:44:36 +01:00
Laurent Destailleur
5d38b69a70 New: Script email_unpaid_invoices_to_representative accepts now a
parameter test and a delay.
2013-03-11 17:43:03 +01:00
Laurent Destailleur
fdbd3bf36b Fix: lastname 2013-03-11 17:41:38 +01:00
Laurent Destailleur
1df3ad143e Fix: Lastname lost 2013-03-11 17:04:59 +01:00
Laurent Destailleur
0219f11e64 Fix: Missing default value 2013-03-11 17:01:46 +01:00
Laurent Destailleur
e1bf659db5 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-11 16:49:37 +01:00
Laurent Destailleur
b0d7b33815 Merge pull request #715 from jfefe/extrafields
[ task #746 ] add extrafields support on propal object
2013-03-11 08:44:59 -07:00
Laurent Destailleur
5bc66318c2 New: use dolGetFirstLastname() everywher we should. 2013-03-11 15:54:01 +01:00
Laurent Destailleur
34fed3e430 No link if we renamed into another product 2013-03-11 15:06:40 +01:00
Laurent Destailleur
b4299ad583 Fix: Select of user 2013-03-11 14:51:19 +01:00
Laurent Destailleur
9eae775837 Merge remote-tracking branch 'origin/3.3' into develop 2013-03-11 14:35:08 +01:00
Laurent Destailleur
90a65c4ed7 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-11 14:31:26 +01:00
Laurent Destailleur
bf84e65315 Merge remote-tracking branch 'origin/3.3' into develop 2013-03-11 14:28:34 +01:00
Laurent Destailleur
0041a3f8bf Merge pull request #726 from simnandez/develop
Update Changelog
2013-03-11 06:16:06 -07:00
Laurent Destailleur
5eb728ae43 Fix: Usage of order into export broken when filters are used 2013-03-11 14:09:54 +01:00
Laurent Destailleur
7d0c971aac Merge pull request #729 from grandoc/develop
fix some translations
2013-03-11 05:12:24 -07:00
Grand Philippe
bb71b7ffed fix some translations 2013-03-11 12:00:09 +01:00
Grand Philippe
02adc70667 fix some translations 2013-03-11 11:11:52 +01:00
Laurent Destailleur
6bc280ea7e Test for some terminals 2013-03-11 10:18:25 +01:00
Laurent Destailleur
d8af59756d New: Add function dolGetFirstLastname 2013-03-11 10:11:43 +01:00
simnandez
57dadb4cb0 Update Changelog 2013-03-11 09:03:16 +01:00
jfefe
ba8525bd6a Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into extrafields
Conflicts:
	htdocs/install/doctemplates/invoices/template_invoice.odt
	htdocs/install/doctemplates/proposals/template_proposal.odt
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
2013-03-11 05:21:35 +01:00
Laurent Destailleur
42f857676c Update example templates 2013-03-10 16:03:35 +01:00
Laurent Destailleur
02916825a6 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-10 15:37:29 +01:00
Laurent Destailleur
ac1dae8c82 Merge pull request #725 from simnandez/develop
Trad: Add missing translations
2013-03-10 07:21:47 -07:00
Laurent Destailleur
ae7ae7458a Trans: Update turkish language files 2013-03-10 13:58:49 +01:00
simnandez
f79a26fe65 [ task #731 ] Uniformize ref generation. Interventions
[ task #748 ] Add a link "Dolibarr" into left menu
2013-03-10 13:58:32 +01:00
simnandez
92c1732b77 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-03-10 13:48:22 +01:00
Laurent Destailleur
64469a1d5c Fix: doxygen 2013-03-10 13:24:08 +01:00
Laurent Destailleur
dbba8fd6ba New: Can force picto path so an external module can use it with its own
picto
2013-03-10 13:23:55 +01:00
Laurent Destailleur
38184b7c72 More complete example 2013-03-10 13:23:18 +01:00
Laurent Destailleur
9b8a8351b4 Fix: Menu hidden 2013-03-10 13:22:51 +01:00
simnandez
c3f8939ede [ task #748 ] Add a link "Dolibarr" into left menu 2013-03-10 13:11:31 +01:00
simnandez
ca0144d647 Trad: Add missing translations 2013-03-10 12:49:56 +01:00
simnandez
59cd4b7825 Trad: Add missing translations 2013-03-10 12:31:56 +01:00
Laurent Destailleur
746e005726 Fix: Fix ton of regression due to field name change 2013-03-09 20:34:38 +01:00
Laurent Destailleur
60f16e1a88 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
2013-03-09 19:06:53 +01:00
Laurent Destailleur
3e5ee3b00a Fix: PHPUnit tests are back. 2013-03-09 18:55:57 +01:00
Laurent Destailleur
e03487f865 Merge pull request #724 from KreizIT/develop
Add trigger BILL_UNVALIDATE when invoice is unvalidate
2013-03-09 09:55:29 -08:00
Cedric GROSS
d16691c856 Add trigger BILL_UNVALIDATE when invoice is unvalidate 2013-03-09 17:38:35 +01:00
Laurent Destailleur
7bbbc32af9 Fix: Missing style and typo error 2013-03-09 17:08:19 +01:00
Laurent Destailleur
00f4e6ad85 Fix: Force format text of excel text fields 2013-03-09 16:58:55 +01:00
Laurent Destailleur
2c95b55682 Fix: Rename of fields 2013-03-09 16:37:50 +01:00
Laurent Destailleur
418eeef8b4 Fix: Ton of bugs into renaming fields 2013-03-09 16:19:15 +01:00
Laurent Destailleur
0f1741a06b New: hooks for pdf_writelinedesc now implement the rule to overwrite or
not default code (http://wiki.dolibarr.org/index.php/Hooks_system)
2013-03-09 15:05:09 +01:00
Laurent Destailleur
01b2a6a79b Prepare database for more localtax types. 2013-03-09 13:12:20 +01:00
Laurent Destailleur
72749bfc5f Merge pull request #721 from frederic34/develop
Print IPP
2013-03-08 08:31:15 -08:00
Laurent Destailleur
0fe91796ef New: [ task #696 ] Remove "new stdClass();" when possible 2013-03-08 15:52:23 +01:00
frederic34
18ff2fd198 Merge remote-tracking branch 'upstream/develop' into develop 2013-03-08 13:30:44 +01:00
Laurent Destailleur
e5f712fe14 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-08 12:09:49 +01:00
Laurent Destailleur
2a67af3c94 New: when adding an action, we can define a free code to tag it for
a specific need.
2013-03-08 12:04:01 +01:00
frederic34
89399121ba Print IPP printing in "Fiche Commande" 2013-03-08 12:00:16 +01:00
frederic34
135de9ecdb Print IPP 2013-03-08 11:54:32 +01:00
frederic34
2e03169acd Print IPP icon display in formfile 2013-03-08 11:47:48 +01:00
frederic34
cdb1242bb5 Print IPP fix and printer icon 2013-03-08 11:38:30 +01:00
frederic34
16c5427366 Print IPP 2013-03-08 11:26:05 +01:00
frederic34
717ba46a5f Print IPP lib 2013-03-08 11:17:46 +01:00
Laurent Destailleur
ffa2c2fb58 Oops, bad fix 2013-03-08 10:22:30 +01:00
Laurent Destailleur
f041a8a95e Fix: Regression for negative proposal lines. 2013-03-08 10:06:23 +01:00
Laurent Destailleur
1e5c56642c Fix: Some regression after renaming state and lastname. 2013-03-08 02:49:42 +01:00
Laurent Destailleur
c86f3ef4b4 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/commande/fiche.php
	htdocs/core/modules/facture/doc/pdf_crabe.modules.php
2013-03-08 01:57:32 +01:00
Laurent Destailleur
b43fffafa9 Fix: Regression after renaming of fields 2013-03-08 01:31:45 +01:00
Laurent Destailleur
710585d4c2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-07 22:40:12 +01:00
Laurent Destailleur
6cac84b222 Fix: Some fixes into reconciliate page 2013-03-07 22:39:57 +01:00
Laurent Destailleur
f62045e770 Merge pull request #720 from simnandez/develop
[ task #707 ] Create option ProfIdx are mandatory to validate a invoice
2013-03-07 10:58:13 -08:00
Laurent Destailleur
b060e5961b Qual: Another step in men manager rewrite. 2013-03-07 19:47:03 +01:00
simnandez
0c8d3336c2 [ task #707 ] Create option ProfIdx are mandatory to validate a invoice 2013-03-07 18:41:56 +01:00
Laurent Destailleur
c762c93eb1 Fix: Several problem with localtax into PDF generation 2013-03-07 12:04:12 +01:00
Laurent Destailleur
3defd294cb Merge remote-tracking branch 'origin/3.3' into develop 2013-03-07 11:08:15 +01:00
Laurent Destailleur
47ec826c17 New: Add link to check professional id for india. 2013-03-07 10:47:05 +01:00
jfefe
fcd81e47eb Use price2num() function instead of price() to use calcul in ODT.
Libre/Open Office wants number with dot and no space to allow make calcul in ODT document
2013-03-07 03:43:23 +01:00
jfefe
289e2e7888 New function to fill ODT substitution array with extrafield of object 2013-03-07 03:27:28 +01:00
jfefe
65ed01a251 Extrafields on ODT (propal) : fix value of price with currency & display date with correct format 2013-03-07 03:27:20 +01:00
jfefe
ac3116930c Add value to store price type extrafield without currency in ODT 2013-03-07 03:27:08 +01:00
jfefe
06807ce198 Fix : select correct value of extrafield (select list) 2013-03-07 02:13:21 +01:00
jfefe
1690c77aa2 Merge branch 'extra_invoice' into extrafields
Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
2013-03-07 01:48:27 +01:00
eldy
6c2841d4d6 New: Type of fields are received by export format handlers 2013-03-06 22:28:15 +01:00
eldy
e74b07cbff Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

Conflicts:
	htdocs/install/mysql/migration/3.3.0-3.4.0.sql
2013-03-06 21:28:50 +01:00
eldy
9b8dd94751 Fix: no null into not null field 2013-03-06 21:26:05 +01:00
eldy
05c6706727 Fix: error with pgsql 2013-03-06 20:08:38 +01:00
Laurent Destailleur
b9bb0f9857 Merge pull request #716 from grandoc/develop
fix : deprecated
2013-03-06 10:30:58 -08:00
Laurent Destailleur
cdc355fea0 Fix: Missing hookmanager 2013-03-06 17:21:51 +01:00
Grand Philippe
a080021511 fix : deprecated 2013-03-06 17:17:34 +01:00
Laurent Destailleur
baf6ccf654 New: Can define of we want to use VAT or not for subscriptions
(foundation module).
New: Can define a default choice for choice "More action when
recording a subscription" (foundation module).
2013-03-06 17:16:26 +01:00
Grand Philippe
b6581c2b26 fix : deprecated 2013-03-06 16:38:15 +01:00
Laurent Destailleur
0fc17069c8 Translation 2013-03-06 16:11:20 +01:00
Laurent Destailleur
d92fd0eaed New: Add table, dictionnary and option to enable "revenue stamp". 2013-03-06 16:09:00 +01:00
Laurent Destailleur
0bfa968a3f New: Add field to store revenue stamp 2013-03-06 15:44:06 +01:00
Laurent Destailleur
b56723d600 Fix: Avoid wrapping 2013-03-06 10:06:54 +01:00
jfefe
04617d0eb3 Show extrafields for object into invoice ODT document 2013-03-06 05:33:00 +01:00
jfefe
dc1314f4f4 Retreive extrafield when fetch invoice 2013-03-06 05:31:19 +01:00
jfefe
3ccb0fb92c Edit extrafields on customer invoice 2013-03-06 04:54:08 +01:00
jfefe
7260e139df Add extrafields support when create a customer invoice 2013-03-06 04:17:14 +01:00
jfefe
4314d4c7fe Add admin screen for extrafields on customer invoices 2013-03-06 03:50:41 +01:00
jfefe
88a042ec41 Prepare invoice admin page to add extrafield support 2013-03-06 03:36:43 +01:00
jfefe
49f1ef173a Add table for invoice extrafields 2013-03-06 03:17:38 +01:00
jfefe
7d3c35fb90 Merge branch 'extra_propal' into extrafields 2013-03-06 01:41:47 +01:00
jfefe
8b749eaafc Fix : extrafields are not saved on update (propale) 2013-03-06 01:34:32 +01:00
jfefe
61127e82f6 User must have write permission to edit extrafields on propale 2013-03-06 01:33:55 +01:00
Laurent Destailleur
9bced140e6 More explanation onto the php session parameter. 2013-03-06 00:45:43 +01:00
jfefe
9eee5f9509 Fix : extrafields for propale were note saved after creation 2013-03-06 00:18:41 +01:00
jfefe
9877466594 Add information about linked proposal into basic ODT template for invoice 2013-03-06 00:03:24 +01:00
jfefe
55bfdd341d Fix : change to variable with unused name 2013-03-05 23:51:42 +01:00
jfefe
bd229a9417 Add param to define key name in return array of substitution function
for propal
2013-03-05 22:23:57 +01:00
jfefe
3cefb62621 Fix : incorrect function used to retrieve extrafields for propal 2013-03-05 22:22:10 +01:00
jfefe
9e612696f2 Add help about extrafields in ODT propal 2013-03-05 21:51:33 +01:00
Laurent Destailleur
c37e873ab4 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/comm/propal.php
	htdocs/commande/fiche.php
2013-03-05 18:32:01 +01:00
Laurent Destailleur
faf1f440e4 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-05 15:51:57 +01:00
Laurent Destailleur
c11f7dfc71 Next step for rewriting menu managers. 2013-03-05 15:42:26 +01:00
jfefe
5ce11d00dd Display linked propal information into invoice ODT 2013-03-05 15:11:51 +01:00
Laurent Destailleur
52c0044fca Merge pull request #713 from atm-maxime/develop
LDAP2Dolibarr sync script final
2013-03-05 05:09:24 -08:00
Maxime Kohlhaas
b2c09e9be4 LDAP2Dolibarr sync script final. Now with scripts sync users and sync groups, all groups and users from LDAP are synced in Dolibarr. To be tested and improved on another LDAP than Active Directory 2013-03-05 13:39:14 +01:00
Laurent Destailleur
de6d40237d Fix: No syntax error when when want no limit 2013-03-05 13:28:31 +01:00
JF FERRY
ff2a851ae8 Move substitution function for propal to common class & add extrafields display 2013-03-05 08:38:41 +01:00
Laurent Destailleur
215731dc59 Fix bug 2013-03-05 00:14:04 +01:00
Laurent Destailleur
b036120c70 Labels 2013-03-04 23:56:17 +01:00
jfefe
59627408c0 Edit extrafields on propal 2013-03-04 19:17:11 +01:00
jfefe
f335c4f306 New : add extrafield support on propal object 2013-03-04 18:22:25 +01:00
Laurent Destailleur
9a9c9b1083 Merge pull request #711 from FHenry/develop
[ task #743 ] GED : Add aministration option to disabled autotree to
2013-03-04 08:11:54 -08:00
fhenry
c29602382d Taking account remark on pull request da17302 2013-03-04 16:59:39 +01:00
fhenry
da17302349 [ task #743 ] GED : Add aministration option to disabled autotree to
display
2013-03-04 11:16:46 +01:00
Laurent Destailleur
451c9cab7e Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	build/debian/changelog
	build/exe/doliwamp/doliwamp.iss
	build/makepack-dolibarr.pl
	build/rpm/dolibarr_fedora.spec
	build/rpm/dolibarr_generic.spec
	build/rpm/dolibarr_mandriva.spec
	build/rpm/dolibarr_opensuse.spec
	htdocs/comm/prospect/fiche.php
	htdocs/filefunc.inc.php
	htdocs/fourn/commande/fiche.php
2013-03-04 00:16:41 +01:00
Laurent Destailleur
e51c72f1e8 Merge 2013-03-04 00:10:09 +01:00
Laurent Destailleur
737752e36c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2013-03-03 00:10:36 +01:00
Laurent Destailleur
248c75a7b2 Look: Minor fix 2013-03-03 00:00:38 +01:00
Laurent Destailleur
fc64b42931 Merge pull request #709 from simnandez/develop
[ task #731 ] Uniformize ref generation. Contracts
2013-03-02 09:44:48 -08:00
simnandez
a811121daf [ task #731 ] Uniformize ref generation 2013-03-02 16:50:36 +01:00
Laurent Destailleur
fc46a02573 Fix: Uniformize field type 2013-03-02 16:39:26 +01:00
Laurent Destailleur
51d23d7c48 Merge fix of 3.3 2013-03-02 16:17:12 +01:00
Laurent Destailleur
6f51925c7b Merge pull request #708 from simnandez/develop
[ task #731 ] Uniformize ref generation. Propals
2013-03-02 07:06:53 -08:00
Laurent Destailleur
862c56a118 Merge pull request #704 from GPCsolutions/develop-noutf8bom_includes
Removed UTF-8 BOM from included libraries
2013-03-02 07:05:13 -08:00
Laurent Destailleur
6b3b2ea1c7 Merge pull request #706 from atm-maxime/develop
Bug on contact list
2013-03-02 07:04:41 -08:00
Laurent Destailleur
4a5f2e62e7 Update doc 2013-03-02 16:03:24 +01:00
Laurent Destailleur
519e5dfd48 Merge pull request #705 from GPCsolutions/develop-noutf8bomscripts
Added UTF-8 BOM detection and removal maintenance scripts
2013-03-02 07:02:22 -08:00
simnandez
7d9d575e40 [ task #731 ] Uniformize ref generation. Propals 2013-03-02 15:57:26 +01:00
Laurent Destailleur
f172c900c7 Qual: Uniformize menu code 2013-03-02 14:43:36 +01:00
Laurent Destailleur
eff675793d Qual: Show skeletons to add phpunit for webservices 2013-03-01 23:51:36 +01:00
Laurent Destailleur
f464b7b37c Fix: Avoid using date_format 2013-03-01 23:30:07 +01:00
Laurent Destailleur
5fb4ec7891 Fix: bad field name 2013-03-01 23:14:28 +01:00
Laurent Destailleur
e6afcd328c Look: Minor fix in CSS for IE. 2013-03-01 19:39:54 +01:00
Laurent Destailleur
911c25c3fd Qual: Better error management 2013-03-01 19:25:49 +01:00
Maxime Kohlhaas
da87828200 Fix bug # 740 : address copy 2013-03-01 18:41:41 +01:00
Maxime Kohlhaas
803bee076c Engish standardization correction + search by idprof1 possible 2013-03-01 18:20:42 +01:00
Laurent Destailleur
3022dff108 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-03-01 18:14:42 +01:00
Maxime Kohlhaas
881b3bc936 Bug fix on contact list due to name column renamed 2013-03-01 18:11:34 +01:00
Laurent Destailleur
562ea22304 Qual: Better error management 2013-03-01 18:10:19 +01:00
Maxime Kohlhaas
06f6850b5f Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-03-01 18:07:19 +01:00
Raphaël Doursenaud
72576a26ce Added UTF-8 BOM detection and removal maintenance scripts 2013-03-01 16:55:07 +01:00
Laurent Destailleur
29ccc749ae Merge pull request #703 from GPCsolutions/develop-noutf8bom_main
Removed UTF-8 BOM
2013-03-01 07:23:17 -08:00
Raphaël Doursenaud
a6407a3642 Removed UTF-8 BOM from included libraries 2013-03-01 14:17:36 +01:00
Raphaël Doursenaud
e76ffca9ba Removed UTF-8 BOM 2013-03-01 14:11:42 +01:00
Maxime Kohlhaas
90d868934b Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-03-01 12:53:35 +01:00
Laurent Destailleur
a1b4d670ff Merge pull request #701 from defrance69/patch-14
Update index.php
2013-03-01 03:48:54 -08:00
Laurent Destailleur
efa7a617b6 Merge pull request #702 from atm-alexis/develop
Ajout de la gestion des Hooks sur la page d'ajout des commerciaux
2013-03-01 03:48:21 -08:00
Alexis Algoud
49f712546f Add condition for normal traitment on empty hook result.
Note : The normal case on 'formObjectOptions' is currently nothing more (no extrafields,...).
2013-03-01 11:38:24 +01:00
Alexis Algoud
2d36423310 Ajout de la gestion des Hooks (doActions & sur la page d'ajout des commerciaux à une société, /societe/commerciaux.php 2013-03-01 10:42:05 +01:00
Laurent Destailleur
bf0e4d73d0 Fix launchpad conflicts 2013-03-01 10:04:50 +01:00
Laurent Destailleur
0b51eff562 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-03-01 09:55:17 +01:00
Laurent Destailleur
5075e9c716 Update to 3.4 2013-03-01 09:55:04 +01:00
BENKE Charles
5ad98a8652 Update index.php
rename search_product by search_project (the real search thing)
2013-03-01 00:56:29 +01:00
eldy
4e52b2596a Uniformize code 2013-02-28 23:49:38 +01:00
Laurent Destailleur
1d76b3153e Start to work onto payment return 2013-02-28 17:37:07 +01:00
Laurent Destailleur
7bbbda2dce New: dol_syslog method accept a suffix to use different log files for
log.
2013-02-28 16:19:16 +01:00
Laurent Destailleur
fd6b51413c Civility not required in a short label 2013-02-28 15:37:53 +01:00
Laurent Destailleur
33feddcd32 Qual: Rewrite of menu manager. next step. 2013-02-27 21:40:43 +01:00
Laurent Destailleur
b9848702a8 Merge remote-tracking branch 'origin/3.3' into develop 2013-02-27 19:44:22 +01:00
Laurent Destailleur
0d94ec4fee Fix: trans 2013-02-27 17:47:21 +01:00
Laurent Destailleur
f294ea5fb0 Fix: Update button does not appear 2013-02-27 15:23:25 +01:00
Laurent Destailleur
0a62832f06 Merge pull request #698 from grandoc/develop
english language standardization
2013-02-27 05:27:09 -08:00
Grand Philippe
44683a0e21 english language standardization 2013-02-27 11:58:50 +01:00
Laurent Destailleur
ed8a746f41 Merge pull request #697 from grandoc/develop
english language standardization
2013-02-27 02:36:56 -08:00
Grand Philippe
6fb6b916c7 english language standardization 2013-02-27 11:24:50 +01:00
Laurent Destailleur
61d5bd9962 css 2013-02-27 01:05:30 +01:00
Laurent Destailleur
029dec126d Fix: Add option MAIN_USE_LOCALTAX_TYPE_7 to hide localtax 7 because
type 7 need to be implemented at invoice level, not line level. This
disable the feature (we need better implementation) without removing it
for people using it in the past.
2013-02-27 01:05:16 +01:00
Laurent Destailleur
6f0c35ef61 Fix: Bad migration instruct 2013-02-26 22:57:01 +01:00
Laurent Destailleur
453539511a Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-26 21:36:18 +01:00
Laurent Destailleur
bdcb6bdef5 Try to aplpy enhancements defined into
http://www.dolibarr.fr/forum/527-bugs-sur-la-version-stable-courante/38958-resolu-probleme-exports#38968
2013-02-26 20:15:20 +01:00
Laurent Destailleur
6692c1072a Merge pull request #696 from jfefe/develop
Fix : bad sql request for cp field
2013-02-26 11:07:16 -08:00
Laurent Destailleur
402fe2e417 Merge remote-tracking branch 'origin/3.3' into develop 2013-02-26 20:05:23 +01:00
Laurent Destailleur
dacba745c5 Merge pull request #694 from grandoc/develop
english language standardization
2013-02-26 11:03:16 -08:00
Laurent Destailleur
b8a330ee80 Merge pull request #693 from atm-maxime/develop
LDAP : update user sync + add groups sync and users associated to group ...
2013-02-26 11:02:43 -08:00
Grand Philippe
d8edb3c074 display enhancement for models 2013-02-26 17:41:08 +01:00
Maxime Kohlhaas
2416aa29e1 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-02-26 12:52:57 +01:00
Maxime Kohlhaas
0de4fa09f1 Product price : updated always with HT base type after product import 2013-02-26 12:52:37 +01:00
jfefe
428ba7feaf Fix : bad sql request for cp field 2013-02-26 12:41:52 +01:00
Maxime Kohlhaas
e208bdf881 Theme : amarok was missing favicon, put eldy's one in place, to be replaced by a specific favicon 2013-02-26 12:05:55 +01:00
Maxime Kohlhaas
3d814c58e5 Bug # 736 : incorrect table name in migration script, muse be done in 3.3 branch too 2013-02-26 09:28:56 +01:00
philippe
905d6f7b71 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-02-26 08:22:48 +01:00
Laurent Destailleur
4fd8143ecc Merge remote-tracking branch 'origin/3.3' into develop 2013-02-25 20:24:34 +01:00
Laurent Destailleur
e776e849ce Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-25 20:17:56 +01:00
Laurent Destailleur
c44f6004dd Doc 2013-02-25 20:17:41 +01:00
Grand Philippe
44dee53350 english language standardization 2013-02-25 18:21:12 +01:00
Grand Philippe
79c2e17cbb english language standardization 2013-02-25 17:56:41 +01:00
Maxime Kohlhaas
cd5bda27f4 Supplier dispatch : add new trigger called after order is dispatched 2013-02-25 16:56:37 +01:00
Maxime Kohlhaas
1eddf95d95 LDAP : update user sync + add groups sync and users associated to group + add fetch by name on group class 2013-02-25 16:46:31 +01:00
Laurent Destailleur
43a248b88b Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into
develop

Conflicts:
	ChangeLog
2013-02-25 13:01:56 +01:00
Laurent Destailleur
2dc4b91521 New: Function plimit of databases drivers accept -1 as value (it means
default value set into conf->liste_limit).
2013-02-25 12:51:38 +01:00
Laurent Destailleur
00e8f78b77 Merge pull request #692 from atm-maxime/develop
LDAP sync improvements
2013-02-25 03:36:37 -08:00
Maxime Kohlhaas
428f844b4d LDAP : add option to get data as an array 2013-02-25 11:57:52 +01:00
Maxime Kohlhaas
cfa1a41a16 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-02-25 11:54:26 +01:00
Maxime Kohlhaas
0358ef4918 LDAP : sync script now updates or create user 2013-02-25 11:53:56 +01:00
Laurent Destailleur
7e34d6c99c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-25 11:00:26 +01:00
Laurent Destailleur
48a7d79647 Update screenshot 2013-02-25 11:00:08 +01:00
Laurent Destailleur
b9ead08968 Merge pull request #691 from grandoc/develop
english language standardization
2013-02-25 01:32:26 -08:00
Laurent Destailleur
e748f07806 Qual: Using divs instead of tables 2013-02-25 10:31:47 +01:00
Grand Philippe
ffeb066b1b Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-02-25 10:30:48 +01:00
Laurent Destailleur
ae322ba17f Qual: Better init of default lang 2013-02-25 10:17:38 +01:00
Grand Philippe
eddf910438 fix issue with english language standardization 2013-02-25 10:00:09 +01:00
Grand Philippe
b081589129 english language standardization 2013-02-25 09:52:24 +01:00
Grand Philippe
6decab1847 english language standardization 2013-02-25 09:17:38 +01:00
Grand Philippe
d27568d3d0 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-02-25 08:16:43 +01:00
Laurent Destailleur
b61c576343 Qual: Still work onto menu management rewrite. 2013-02-24 21:16:36 +01:00
Laurent Destailleur
7238c5156e New: Update jquery mobile lib 2013-02-24 19:33:06 +01:00
Laurent Destailleur
b4329cb5d2 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-24 18:22:57 +01:00
Laurent Destailleur
24eab5b8fd New: Add page with seach only boxes. 2013-02-24 18:22:28 +01:00
Laurent Destailleur
234e171e9d New: Add option dol_hide_topmenu and dol_hide_leftmenu onto login page. 2013-02-24 18:16:26 +01:00
Laurent Destailleur
fe4ef69360 Fix: Duplicate form 2013-02-24 18:08:52 +01:00
Laurent Destailleur
a6378ab0bb Cleaner HTML code 2013-02-24 18:08:27 +01:00
Grand Philippe
cb28300d7e fix error commit 2013-02-24 17:17:25 +01:00
philippe
43b01010d1 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-02-24 17:09:12 +01:00
Grand Philippe
86de772b31 english language standardization 2013-02-24 17:08:52 +01:00
Laurent Destailleur
7aca87ea40 Merge pull request #690 from frederic34/develop
WIP : Carrier Admin sql data migration
2013-02-24 07:45:44 -08:00
Laurent Destailleur
800bcb44fa Merge pull request #689 from grandoc/develop
english language standardization
2013-02-24 07:45:20 -08:00
Grand Philippe
dfae543d5e english language standardization 2013-02-24 15:57:02 +01:00
Grand Philippe
8c765ace99 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-02-24 15:30:39 +01:00
Laurent Destailleur
3baf8a6c00 New: Use div instead of tables into login page. 2013-02-24 14:57:49 +01:00
Laurent Destailleur
6b20370ffa Fix: Check consitency of option NOREQUIREXXX 2013-02-24 14:54:08 +01:00
Grand Philippe
7596096b89 some fix for english language standardization 2013-02-24 14:46:00 +01:00
Grand Philippe
067cb0a409 some fix for english language standardization 2013-02-24 14:32:15 +01:00
Grand Philippe
36ce7a9a10 some fix for english language standardization 2013-02-24 14:11:09 +01:00
Laurent Destailleur
0b61c740a9 Fix: To be sure to start onto an selected top menu 2013-02-24 13:57:17 +01:00
Grand Philippe
77544de01a some fix for english language standardization 2013-02-24 12:50:05 +01:00
Grand Philippe
5d3ab26463 some fix for english language standardization 2013-02-24 12:26:01 +01:00
Grand Philippe
9175f241ff Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-02-24 10:10:52 +01:00
Laurent Destailleur
08bde6faa5 Fix: Do not load menu when not required. 2013-02-24 03:45:19 +01:00
Laurent Destailleur
50de5a944a Fix: compatibility with new menu manager 2013-02-24 03:29:03 +01:00
Laurent Destailleur
d3c2d088a9 New: Add url to get menu only. Work on progress. 2013-02-24 02:55:25 +01:00
Laurent Destailleur
cd56fa61e6 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-24 02:47:47 +01:00
Laurent Destailleur
d31306609c Fix: Bad translation if error 2013-02-24 02:47:30 +01:00
Laurent Destailleur
d786e8ca6e Code comment 2013-02-24 02:42:37 +01:00
Laurent Destailleur
c62f87380c Qual: use div instead of table 2013-02-24 02:41:46 +01:00
Grand Philippe
6adc9eb7f2 english language standardization 2013-02-23 17:40:28 +01:00
Laurent Destailleur
7d1eb317d0 Merge pull request #688 from grandoc/develop
english language standardization
2013-02-23 08:05:30 -08:00
Grand Philippe
c9f91a6082 english language standardization 2013-02-23 17:01:10 +01:00
frederic34
2a2719d5eb WIP : Carrier Admin sql data migration 2013-02-23 16:54:41 +01:00
Laurent Destailleur
4dbf5a20ad Merge pull request #687 from frederic34/develop
WIP : Admin for Carriers
2013-02-23 07:38:55 -08:00
Laurent Destailleur
3274b1c21a Merge pull request #686 from grandoc/develop
fix: change name with lastname
2013-02-23 07:38:35 -08:00
Grand Philippe
4f9f32eb3e english language standardization 2013-02-23 16:37:17 +01:00
Grand Philippe
ac0e99bc1a english language standardization 2013-02-23 16:21:49 +01:00
Grand Philippe
048035a05b english language standardization 2013-02-23 16:08:35 +01:00
Grand Philippe
382d216d54 english language standardization 2013-02-23 15:58:26 +01:00
Grand Philippe
8d7654916f english language standardization 2013-02-23 15:46:12 +01:00
Grand Philippe
b699b79a15 english language standardization 2013-02-23 15:36:12 +01:00
Grand Philippe
f862adc4d9 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-02-23 15:27:06 +01:00
Grand Philippe
a237be0d24 english language standardization 2013-02-23 15:26:39 +01:00
frederic34
9333fdb97f WIP : Admin for Carriers 2013-02-23 15:23:33 +01:00
Grand Philippe
37cce5d860 fix: change name with lastname 2013-02-23 14:31:59 +01:00
Grand Philippe
5d8dea788c fix: change name with lastname 2013-02-23 14:17:52 +01:00
Grand Philippe
9fc18d23e7 fix: change name with lastname 2013-02-23 13:59:17 +01:00
Grand Philippe
7c2a4500d6 fix: change name with lastname 2013-02-23 12:30:01 +01:00
Laurent Destailleur
37b94e43c8 Merge pull request #685 from frederic34/develop
WIP : Admin for Carriers
2013-02-23 03:11:52 -08:00
Laurent Destailleur
bbe145cc47 Merge pull request #681 from grandoc/develop
english standardization
2013-02-23 03:08:56 -08:00
Laurent Destailleur
845e4ff93d Merge pull request #684 from jfefe/develop
Fix bug #732 : Missing argument when calling selectcontacts method
2013-02-23 02:55:46 -08:00
Grand Philippe
15f8b588d6 english standardization 2013-02-23 11:54:46 +01:00
Grand Philippe
869a014d32 english standardization 2013-02-23 11:42:12 +01:00
Grand Philippe
250a941096 english standardization 2013-02-23 11:11:33 +01:00
Grand Philippe
529b8ae38e english standardization 2013-02-23 10:43:16 +01:00
Grand Philippe
9400d9897a english standardization 2013-02-23 10:35:46 +01:00
frederic34
c8872d7e98 WIP : Admin for carriers 2013-02-23 10:20:31 +01:00
Grand Philippe
88458ca466 english standardization 2013-02-23 10:18:05 +01:00
Grand Philippe
182fdbce32 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-02-23 10:04:31 +01:00
Laurent Destailleur
1224e79ee3 Qual: Start to clean how menu managers works. 2013-02-22 19:16:03 +01:00
Grand Philippe
c88f2bcb45 english standardization 2013-02-22 17:43:33 +01:00
Grand Philippe
57a75d9882 english standardization 2013-02-22 17:15:49 +01:00
Grand Philippe
a0df6764d8 english standardization 2013-02-22 17:13:11 +01:00
Grand Philippe
844433d0a2 english standardization 2013-02-22 17:11:53 +01:00
Grand Philippe
fb54bceafb english standardization 2013-02-22 16:53:50 +01:00
Grand Philippe
9a431bb8e3 english standardization 2013-02-22 16:33:48 +01:00
Grand Philippe
890b9ca44a english standardization 2013-02-22 16:27:58 +01:00
Grand Philippe
aa28e17953 english standardization 2013-02-22 16:21:30 +01:00
Grand Philippe
38480f5962 english standardization 2013-02-22 16:19:16 +01:00
Grand Philippe
a582fd3f15 english standardization 2013-02-22 16:14:52 +01:00
jfefe
7e79e1a574 Fix bug #735 : Error when trying send expedition card 2013-02-22 16:02:19 +01:00
Grand Philippe
fc4ad12a72 english standardization 2013-02-22 15:57:30 +01:00
jfefe
34bfdf92cd Fix bug #732 : Missing argument when calling selectcontacts method 2013-02-22 15:34:20 +01:00
Maxime Kohlhaas
04e1be4afd Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-02-22 15:24:49 +01:00
Maxime Kohlhaas
87dc3a0b22 LDAP sync : trigger was launched even if LDAP_SYNCHRO_ACTIVE is 'ldap2dolibarr' 2013-02-22 15:24:29 +01:00
Laurent Destailleur
8c4e13230b Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-02-22 14:20:46 +01:00
frederic34
67c06225a5 WIP : Admin for carriers 2013-02-22 14:18:51 +01:00
philippe
b4e43bbc41 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-02-22 13:58:19 +01:00
Regis Houssin
7d0f02eb8b Fix: pdf models are unstable and time consuming. 2013-02-22 13:14:04 +01:00
Laurent Destailleur
a1b05f8be4 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-02-22 13:02:15 +01:00
Regis Houssin
8a5f68de9c Fix: wrong hidden 2013-02-22 12:22:28 +01:00
Laurent Destailleur
327f4062c7 New: Prepare code to be able to choose bank account to show when
building pdf and payment mode is withdraw.
2013-02-22 12:04:38 +01:00
Grand Philippe
960c9ccbaf english standardization 2013-02-22 11:39:47 +01:00
Grand Philippe
19201a1015 english standardization 2013-02-22 11:32:19 +01:00
philippe
fae9f73ea4 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-02-22 11:31:52 +01:00
Regis Houssin
8136244d87 Fix: hide blocs with multi-page 2013-02-22 11:25:29 +01:00
Regis Houssin
289ff4fe1a Fix: regression, the product discount overwrites the default customer
discount !
2013-02-22 11:03:20 +01:00
Grand Philippe
d255dc5114 english standardization 2013-02-22 10:24:24 +01:00
philippe
e84524555c Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-02-22 09:45:58 +01:00
Laurent Destailleur
c4c5e247af Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-22 09:44:17 +01:00
Laurent Destailleur
a17b6c6d0d Doc 2013-02-22 09:44:05 +01:00
Grand Philippe
d229d3a594 english standardization 2013-02-22 09:41:56 +01:00
Grand Philippe
303577a7fa english standardization 2013-02-22 09:36:01 +01:00
Grand Philippe
0af5c434af english standardization 2013-02-22 09:29:34 +01:00
Laurent Destailleur
50ba240873 Merge pull request #680 from simnandez/develop
Fix: Pagination at bottom not work correctly with filters applied
2013-02-22 00:23:07 -08:00
frederic34
751488e291 Merge remote-tracking branch 'upstream/develop' into develop 2013-02-22 09:01:27 +01:00
simnandez
e1683f5f22 Fix: Pagination at bottom not work correctly with filters applied 2013-02-22 08:57:28 +01:00
frederic34
de4bc7f39d Fix : It was a bad idea to add COL in the code name of new carriers 2013-02-22 08:56:14 +01:00
simnandez
8fd3d9375d Fix: Pagination at bottom not work correctly with filters applied 2013-02-22 08:56:07 +01:00
eldy
4f1c4f0365 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-22 00:11:47 +01:00
eldy
2ecb113d30 Fix: categories are set onto category tab 2013-02-22 00:11:34 +01:00
frederic34
d26024d8fc WIP : Admin for Carriers (Activate/Desactivate) 2013-02-21 23:40:25 +01:00
frederic34
6259f4ce59 Fix : some & -> &amp; 2013-02-21 23:08:58 +01:00
Laurent Destailleur
66debfe19e Merge pull request #656 from polto/fgd
Fix : bad method name for prospect status
2013-02-21 12:45:29 -08:00
Laurent Destailleur
4a8883dc92 Merge pull request #678 from atm-maxime/develop
Supplier order : add trigger on product dispatch
2013-02-21 12:44:43 -08:00
Laurent Destailleur
0aa24369fd Merge pull request #676 from frederic34/develop
New: Add some carrier
2013-02-21 12:44:30 -08:00
Laurent Destailleur
3053319928 Merge pull request #675 from grandoc/develop
fix : english normalization
2013-02-21 12:40:15 -08:00
Laurent Destailleur
c24b29343a Merge pull request #674 from simnandez/develop
Qual: Try to delete no more used addpropal.php
2013-02-21 12:39:47 -08:00
eldy
e99b0dd96f Fix: Select prospect, customer or both 2013-02-21 21:11:21 +01:00
eldy
3d80a6ebfc Fix: Enhance pgsql driver 2013-02-21 21:04:20 +01:00
eldy
bfc4df5169 protection to avoid to take external modules 2013-02-21 20:23:39 +01:00
simnandez
5d357c7736 Trad: Fix activity box translation 2013-02-21 18:48:56 +01:00
simnandez
8e6cde61c0 Trad: Update translations 2013-02-21 18:44:11 +01:00
Maxime Kohlhaas
2f5bf06aed Supplier order : add trigger on product dispatch 2013-02-21 17:32:57 +01:00
frederic34
d7f83c3520 New: Add some carrier 2013-02-21 11:23:12 +01:00
simnandez
4cb6072f03 New: [ task #707 ] Create option ProfIdx are mandatory to validate a
invoice
2013-02-21 11:03:14 +01:00
Laurent Destailleur
ec3dab23ca Fix: Page title 2013-02-21 10:22:33 +01:00
simnandez
c03f346c6d Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into develop 2013-02-21 10:12:05 +01:00
Grand Philippe
dc4c013d10 fix : english normalization 2013-02-21 09:44:49 +01:00
Grand Philippe
9d28a1de75 fix : english normalization 2013-02-21 09:35:05 +01:00
Laurent Destailleur
66ca0ba0e2 Fix: alignement 2013-02-20 21:58:13 +01:00
Laurent Destailleur
af26c4ce6d Fix: Missing translation 2013-02-20 21:41:50 +01:00
Laurent Destailleur
2852aded3a New: Add button collapse/expand for menu, category and user views. 2013-02-20 21:16:31 +01:00
Laurent Destailleur
320b4bde1f Qual: Code to output tree is now generic 2013-02-20 19:01:29 +01:00
Laurent Destailleur
c38f91101d Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-20 18:35:07 +01:00
Laurent Destailleur
6db881c09d New: Add link collapse all - expand all.
Fix: Add missing images.
2013-02-20 18:34:54 +01:00
simnandez
b913d186bd Qual: Try to delete no more used addpropal.php 2013-02-20 18:32:14 +01:00
Laurent Destailleur
9d24eecc7a Merge pull request #673 from simnandez/develop
New: Add ES formated address country rule
2013-02-20 08:46:00 -08:00
simnandez
727c57377c New: Add ES formated address country rule 2013-02-20 17:37:01 +01:00
Laurent Destailleur
2017815e89 Fix: Works for both normalized modules and external modules 2013-02-20 17:34:03 +01:00
Laurent Destailleur
1aee361ffd Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-20 14:58:56 +01:00
Laurent Destailleur
f194ee5363 Fix: core dir of external modules must be into dir of module. 2013-02-20 14:58:40 +01:00
Laurent Destailleur
e5e4c113a3 Merge pull request #672 from jfefe/extrafields
Fix : extrafields value in ODT document
2013-02-20 03:05:54 -08:00
Laurent Destailleur
19efa5722d Merge pull request #671 from jfefe/webservices
Work on webservices
2013-02-20 03:02:25 -08:00
jfefe
4bf550b25c Fix : bad permission in webservice to get contact 2013-02-20 11:37:44 +01:00
jfefe
1941efa45a Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into webservices 2013-02-20 11:15:15 +01:00
jfefe
cb0404a750 New webservice method to update contact 2013-02-20 11:15:05 +01:00
Laurent Destailleur
3c18696f7e Removed deprecated code 2013-02-20 10:37:52 +01:00
Laurent Destailleur
b40f1a5261 Merge pull request #670 from frederic34/develop
language fix
2013-02-19 12:11:23 -08:00
Laurent Destailleur
d07c5ae49f Merge pull request #669 from simnandez/develop
Fix: Translation
2013-02-19 12:11:06 -08:00
Laurent Destailleur
bc505c98a0 Test to avoid infinite loop 2013-02-19 21:10:31 +01:00
Laurent Destailleur
9ddd6215f8 Qual: Replace native code with jquery plugin treeview. 2013-02-19 20:15:30 +01:00
frederic34
da6daef83b fix language holiday admin 2013-02-19 16:36:25 +01:00
frederic34
8c0fbe62f5 fix language holiday 2013-02-19 16:30:51 +01:00
simnandez
94d1f6e0c2 Fix: sourcecompany now works with state instead departement (deprecated)
into build_address
2013-02-19 16:05:55 +01:00
simnandez
9e3497cff3 New: Add ES formated address country rule 2013-02-19 16:02:58 +01:00
Laurent Destailleur
46170c0255 New: Focus on first field 2013-02-19 15:33:49 +01:00
Laurent Destailleur
95098a9b59 Fix: Menu editor 2013-02-19 15:23:25 +01:00
Laurent Destailleur
7367a2472c Look: Mor CSS3 2013-02-19 13:24:32 +01:00
simnandez
df0f281efd Fix: Translation 2013-02-19 12:11:44 +01:00
Laurent Destailleur
3912013a05 Merge pull request #668 from FHenry/develop
Better to use foreach because when add mail in $cible array we can test
2013-02-19 01:14:23 -08:00
fhenry
3e42f90b1e Better to use foreach because when add mail in $cible array we can test
with (!array_key_exists($obj->email, $cibles)) better than old method
2013-02-19 04:48:39 +01:00
Laurent Destailleur
4119fde0e5 Merge pull request #665 from FHenry/develop
Fix mass mailing tabs regression
2013-02-18 07:46:07 -08:00
jfefe
a197e6a026 Merge branch 'extra_odt' into extrafields 2013-02-18 15:50:47 +01:00
jfefe
9c1cb5bc2a Merge branch 'extra_odt' into fgd 2013-02-18 15:47:56 +01:00
jfefe
110713f6ca Fix : display correct value in ODT for extrafields 2013-02-18 15:47:40 +01:00
fhenry
195af1f2bd Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-02-18 15:25:27 +01:00
fhenry
fd4a465c90 Fix mass maling tabs regression 2013-02-18 15:25:13 +01:00
Laurent Destailleur
e9dc4b9db3 Fix: We must not add month holidays after init of sold. 2013-02-18 15:15:10 +01:00
Laurent Destailleur
da7b5e352f Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/langs/fr_FR/admin.lang
	
New: Add function dol_set_focus('#xxx')
2013-02-18 15:01:00 +01:00
Laurent Destailleur
f13f4c2cb5 Merge pull request #664 from grandoc/develop
fix language
2013-02-18 05:26:25 -08:00
Grand Philippe
b484fef22a fix language 2013-02-18 14:19:01 +01:00
Laurent Destailleur
70ea5b0b1d Merge pull request #663 from jfefe/extrafields
Work on extrafields
2013-02-18 05:17:06 -08:00
Laurent Destailleur
3cb9e2e97d Merge pull request #662 from grandoc/develop
fix language
2013-02-18 05:15:43 -08:00
Grand Philippe
020dff3699 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop 2013-02-18 13:48:11 +01:00
Grand Philippe
0a697e1033 fix language 2013-02-18 13:47:46 +01:00
jfefe
2f4a80215b Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into extrafields 2013-02-18 13:39:00 +01:00
Laurent Destailleur
fb845b3a37 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-02-18 13:02:13 +01:00
Laurent Destailleur
37e9b04d83 Fix: Check id field are mandatory 2013-02-18 12:57:14 +01:00
Grand Philippe
d2cc6d299c fix language 2013-02-18 12:19:01 +01:00
jfefe
4ff08b026f Merge branch 'extrafields' into fgd
Conflicts:
	htdocs/core/class/commondocgenerator.class.php
2013-02-18 00:59:32 +01:00
jfefe
fe57b513f8 Merge branch 'extra_odt' into extrafields 2013-02-18 00:58:54 +01:00
jfefe
71a2b4c8c0 In ODT document add currency symbol with extrafields of type "price" 2013-02-18 00:58:40 +01:00
jfefe
bd2d9cdd3e Split extrafields display into 2 columns (thirdparty) 2013-02-18 00:41:50 +01:00
jfefe
3ef8c6e5dd Missing variable declaration 2013-02-18 00:40:49 +01:00
Laurent Destailleur
fedf4edea9 Merge pull request #661 from FHenry/develop
Manage tabs (add/remove by external module) for mass emalings screen
2013-02-17 14:04:07 -08:00
fhenry
3694031053 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-02-17 21:41:27 +01:00
jfefe
8ebb48cb5c Fix : in ODT show value and not label of company extrafield 2013-02-17 21:28:00 +01:00
jfefe
060060f08b Missing object $langs when showing extrafield of type 'price' 2013-02-17 21:27:48 +01:00
jfefe
16e9f6db48 Fix : bad name of property when retrieve extrafields for thirdparty 2013-02-17 21:27:33 +01:00
jfefe
527beab671 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into extra_odt 2013-02-17 21:26:56 +01:00
jfefe
8ca9d8e601 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into fgd
Conflicts:
	htdocs/comm/prospect/list.php
2013-02-17 21:15:49 +01:00
jfefe
a5279499ef Fix : in ODT show value and not label of company extrafield 2013-02-17 21:14:00 +01:00
jfefe
d5f0eac908 Missing object $langs when showing extrafield of type 'price' 2013-02-17 20:14:18 +01:00
Laurent Destailleur
2bad9c0d9a Fix: Nb of holidays was not using correct user 2013-02-17 19:25:55 +01:00
Laurent Destailleur
660fd2e785 Doc 2013-02-17 18:46:46 +01:00
Laurent Destailleur
8af34ee97e Fix: Bad property 2013-02-17 18:40:09 +01:00
Laurent Destailleur
b21cb5b899 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	build/exe/doliwamp/doliwamp.iss
	build/makepack-dolibarr.pl
	build/rpm/dolibarr_fedora.spec
	build/rpm/dolibarr_generic.spec
	build/rpm/dolibarr_mandriva.spec
	build/rpm/dolibarr_opensuse.spec
	htdocs/compta/facture.php
	htdocs/filefunc.inc.php
2013-02-17 17:25:38 +01:00
Laurent Destailleur
9a951e4d6d Fix: When creating invoice from other object, type must be standard only 2013-02-17 17:12:19 +01:00
Laurent Destailleur
e56e182fe9 Fix: When creating invoice from other object, type must be "standard". 2013-02-17 16:37:28 +01:00
Laurent Destailleur
9f8ffe242a Fix: A text field can not have a default value 2013-02-17 16:26:06 +01:00
Laurent Destailleur
aa8413d7cb Fix: Missing migration
Fix: Error management
2013-02-17 16:20:49 +01:00
jfefe
06398d9077 Fix : bad name of property when retrieve extrafields for thirdparty 2013-02-17 14:37:33 +01:00
Laurent Destailleur
249a03dd57 Merge pull request #659 from jfefe/extrafields
Work on extrafields
2013-02-16 14:19:24 -08:00
Laurent Destailleur
42b37c081a Merge pull request #648 from cbattarel/fix_contact_address_autofill
fix contact address autofill
2013-02-16 14:19:08 -08:00
Laurent Destailleur
fdf8c9dc43 Merge pull request #657 from defrance69/patch-12
Update htdocs/product/class/product.class.php
2013-02-16 14:18:17 -08:00
Laurent Destailleur
4dca883f21 Merge pull request #655 from FHenry/develop
Task 714 and  	Fix bug on task 350
2013-02-16 14:16:08 -08:00
Laurent Destailleur
2ea62073b6 Merge pull request #660 from grandoc/develop
fix : doesn't work with a /
2013-02-16 14:14:30 -08:00
Laurent Destailleur
50decdd941 Fix: When creating user on other entity, no way to read user
after creation.
2013-02-16 21:06:15 +01:00
jfefe
b9caff8dd0 Merge branch 'extra_odt' into fgd 2013-02-16 13:59:00 +01:00
jfefe
4f5b636cc7 Fix : missing class file 2013-02-16 13:58:21 +01:00
jfefe
9d70a8b1c5 Merge branch 'extra_odt' into fgd 2013-02-16 03:42:20 +01:00
jfefe
45f2347be3 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into fgd 2013-02-16 03:41:54 +01:00
jfefe
fa53147d0a Retrieve extrafields when fetch thirparty
Work on extrafields support in thirpdparty ODT document
2013-02-16 03:41:11 +01:00
Grand Philippe
ab2b06117b fix trad : change adresse versus address 2013-02-15 19:56:51 +01:00
Grand Philippe
785e72d533 fix trad : change adresse versus address 2013-02-15 19:36:09 +01:00
Grand Philippe
2bfd6c40d0 fix trad : change adresse versus address 2013-02-15 19:26:09 +01:00
Grand Philippe
12317d0371 fix trad : change adresse versus address 2013-02-15 19:18:26 +01:00
Laurent Destailleur
b1ee14ce60 New: Can define a hierarchical responsible on users. 2013-02-15 18:39:27 +01:00
Laurent Destailleur
145573ea79 Qual: Removed useless code for old modules. There is hook now to do same
job.
2013-02-15 17:37:30 +01:00
Grand Philippe
7c47dedbce fix trad: begin change address instead of adresse 2013-02-15 17:33:07 +01:00
Laurent Destailleur
e0bbb78f56 Fix: Merge customer and prospect tab 2013-02-15 17:28:07 +01:00
Laurent Destailleur
7260f39d21 New: Support tag total_vat_x.y for vat rate x.y into ODT templates 2013-02-15 17:06:32 +01:00
Grand Philippe
7c1a4e6fdf fix trad to get better understanding 2013-02-15 15:48:53 +01:00
Grand Philippe
cddd59d98d fix : doesnt work with a \/ 2013-02-15 14:23:35 +01:00
jfefe
21aa0b91fa Merge branch 'extrafields' into fgd
Conflicts:
	htdocs/core/admin_extrafields.inc.php
	htdocs/core/class/extrafields.class.php
	htdocs/core/tpl/admin_extrafields_add.tpl.php
2013-02-15 11:23:49 +01:00
jfefe
3d8197ce4b Work on extrafields : position management & new type : select list 2013-02-15 11:19:49 +01:00
Laurent Destailleur
7b9fc49dea More CSS3 2013-02-15 10:46:50 +01:00
Laurent Destailleur
71b814156b Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-15 10:42:50 +01:00
Laurent Destailleur
bbb18b3175 Look: More CSS3 2013-02-15 10:42:35 +01:00
BENKE Charles
f847558363 Update htdocs/product/class/product.class.php
fetch_prod_arbo / recursive call of the child product test
2013-02-15 07:21:10 +01:00
jfefe
14f21bc9f1 Add select list in extrafields type 2013-02-15 00:17:42 +01:00
jfefe
b57cb41d11 Add select list in extrafields type 2013-02-14 23:34:44 +01:00
fhenry
c02bd08711 Checkstyle 2013-02-14 16:35:54 +01:00
fhenry
ff214dd295 Manage tabs (add/remove by external module) for mass emalings screen 2013-02-14 16:25:43 +01:00
jfefe
6905e05471 Fix : bad method name for prospect status 2013-02-14 16:00:22 +01:00
fhenry
f65f0e3f11 Remove debug string in buf correction of task 350 2013-02-14 15:27:48 +01:00
fhenry
d41e754f43 Fix bug on task 350 2013-02-14 15:08:22 +01:00
fhenry
ebf002d79e Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-02-14 14:59:24 +01:00
fhenry
2af7fd858e Task 714 2013-02-14 14:57:37 +01:00
jfefe
3780d0fde6 New webservice method to change user password 2013-02-14 13:15:55 +01:00
jfefe
e2d03a9dba Add possibility to disable hook on list of recent file 2013-02-14 13:15:23 +01:00
Laurent Destailleur
91215a075a Merge pull request #653 from atm-maxime/develop
Set draft function
2013-02-13 08:54:57 -08:00
Laurent Destailleur
f869004b95 Fix: Mass save or update of const fails. 2013-02-13 16:46:28 +01:00
Laurent Destailleur
7d1c51ab77 Add option MAIN_PDF_TITLE_BACKGROUND_COLOR 2013-02-13 16:45:53 +01:00
Maxime Kohlhaas
1cfd32680a Fix : set some vars when invoice is back to draft status 2013-02-13 15:43:27 +01:00
Maxime Kohlhaas
bfc5cfebce Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-02-13 15:42:41 +01:00
Laurent Destailleur
caec1429b1 Fix: Uniformize database type according to page http:// 2013-02-13 15:19:03 +01:00
Laurent Destailleur
eb1a903190 Merge pull request #651 from cbattarel/marges_contrat
Margin management on contracts
2013-02-13 06:02:19 -08:00
Christophe Battarel
4f33249c9e margin management on contract card 2013-02-13 10:35:47 +01:00
Christophe Battarel
44134dec57 prepare contract class for margin management 2013-02-13 09:50:08 +01:00
Christophe Battarel
b372a8c5ba prepare db for margin on contracts 2013-02-13 08:59:40 +01:00
Christophe Battarel
5c9950f486 prepare db for margin on contracts 2013-02-13 08:55:16 +01:00
Laurent Destailleur
7ab91b5f42 Merge pull request #650 from FHenry/develop_merger_cust_prospect_tab
Develop merger cust prospect tab (Task 350)
2013-02-12 11:41:17 -08:00
fhenry
136dc651f3 Merge branch 'develop' into develop_merger_cust_prospect_tab 2013-02-12 19:18:15 +01:00
fhenry
82fc8e1536 Task 350 in Doliforge 2013-02-12 19:16:48 +01:00
Laurent Destailleur
3eb485d521 Qual: Removed TODO, deprecated code and deprecated properties. This also
fix missing combo box of contacts onto CC.
2013-02-12 17:08:21 +01:00
fhenry
6ad617842d Commit temporaire 2013-02-12 15:31:12 +01:00
Laurent Destailleur
6bbac00c22 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/holiday/class/holiday.class.php
	htdocs/user/fiche.php
2013-02-12 15:17:22 +01:00
Laurent Destailleur
4c936ffffd Merge pull request #645 from FHenry/dev_contactcombox
Task [ task #711 ]
2013-02-12 06:08:04 -08:00
Laurent Destailleur
112526e8b1 Fix: bad translation 2013-02-12 14:48:12 +01:00
Christophe Battarel
af849a5ab0 fix contact address autofill 2013-02-12 10:33:10 +01:00
fhenry
d8d4b669ab Task [ task #711 ] 2013-02-12 09:49:27 +01:00
Laurent Destailleur
82dda5723b Fix: Disable autocomplete 2013-02-12 01:29:26 +01:00
Laurent Destailleur
935f2d9bd8 Add TODO 2013-02-11 21:23:25 +01:00
Laurent Destailleur
c7a6ee492d New: Add push from Philippe to manager user hierarchy. 2013-02-11 20:45:36 +01:00
Laurent Destailleur
f1d105b66c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-11 20:27:11 +01:00
Laurent Destailleur
597db12acd Merge pull request #644 from simnandez/develop
Fix: Amarok login page issues
2013-02-11 11:26:48 -08:00
Laurent Destailleur
4ceeadaa35 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-11 20:26:18 +01:00
Laurent Destailleur
d2275a0bbd New: Add param to show title 2013-02-11 20:26:01 +01:00
simnandez
77c5eaa726 Fix: Amarok login page issues 2013-02-11 09:13:33 +01:00
Laurent Destailleur
638871c40c Merge pull request #640 from defrance69/patch-11
Update htdocs/product/class/product.class.php
2013-02-10 17:36:27 -08:00
Laurent Destailleur
b112b7d87e Merge pull request #638 from grandoc/develop
useless file
2013-02-10 17:35:27 -08:00
Laurent Destailleur
49f40ee429 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-02-10 21:56:44 +01:00
Laurent Destailleur
28fa96b516 Fix: Bad choice of template 2013-02-10 21:56:29 +01:00
BENKE Charles
f084bbbb19 Update htdocs/product/class/product.class.php
bug on list of childs of product
if two products have the same label, the list display only one line
2013-02-08 21:21:25 +01:00
Maxime Kohlhaas
717a834e8a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-02-08 13:51:05 +01:00
Laurent Destailleur
830a5873e2 Merge pull request #637 from simnandez/develop
[ task #652 ] Reduce clicks into creaton of orders, invoices, etc.
2013-02-07 16:31:20 -08:00
Maxime Kohlhaas
7c458777cf Task # 559 : product customer prices by quantity, correction 2013-02-04 10:21:59 +01:00
Grand Philippe
b492c7e754 fix some translations 2013-02-04 09:53:42 +01:00
Grand Philippe
4a4c7e9ca9 useless file 2013-02-04 08:54:04 +01:00
simnandez
ad91eab0ac [ task #652 ] Reduce clicks into creaton of orders, invoices, etc.
Uniformize propal code (not use addpropal.php)
2013-02-02 18:31:45 +01:00
Laurent Destailleur
cdb4e7dbf4 Merge pull request #636 from simnandez/develop
Trad: Add missing translations
2013-02-01 10:11:04 -08:00
simnandez
a9de14c145 Trad: Add missing translations 2013-02-01 17:49:41 +01:00
Laurent Destailleur
1e74ac24ab Move message at bottom. 2013-02-01 17:34:19 +01:00
Laurent Destailleur
50fcf9b194 Merge pull request #633 from atm-maxime/develop
Develop
2013-01-31 02:09:30 -08:00
Maxime Kohlhaas
66376f1c83 Bug # 701 : A user can only be set admin by an admin 2013-01-31 09:56:52 +01:00
Maxime Kohlhaas
da066badc8 LDAP : no user update for the moment, dev for updating user from ldap is not working yet 2013-01-30 16:53:59 +01:00
Maxime Kohlhaas
51800a0dd5 Security : add phtml extension to be dealed as php extension 2013-01-30 16:52:33 +01:00
Maxime Kohlhaas
a3027d4590 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-01-30 16:50:32 +01:00
Maxime Kohlhaas
faccc978b4 LDAP : start implementing user update function after LDAP connexion 2013-01-30 16:50:28 +01:00
Laurent Destailleur
2300b9d3db Merge remote-tracking branch 'origin/3.3' into develop 2013-01-30 15:25:02 +01:00
Laurent Destailleur
7ee530f826 New: Add field to store hierarchy of users. 2013-01-30 15:23:49 +01:00
Laurent Destailleur
ab82a293e9 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-29 15:25:00 +01:00
Laurent Destailleur
180fb2c91a Fix: Option COMPANY_USE_SEARCH_TO_SELECT was not working for third party
selection when autocomplete is on.
2013-01-29 15:22:07 +01:00
Regis Houssin
715443e0b0 Merge pull request #631 from jfefe/webservices
Fix : wrong value for contact_id when call getUser webservice method
2013-01-29 01:25:33 -08:00
jfefe
ed92e91cc0 Fix : wrong value for contact_id when call getUser webservice method (contact_id is variable name in user.class) 2013-01-29 03:59:23 +01:00
Regis Houssin
a177853299 Fix: la bétise n'a pas de limite ! restons archaïque. 2013-01-28 20:30:33 +01:00
Laurent Destailleur
a268592b61 Qual: Clean not used library. 2013-01-28 18:01:50 +01:00
Laurent Destailleur
755325dcf0 Qual: Removed deprecated file 2013-01-28 17:59:35 +01:00
Laurent Destailleur
0383080d90 Fix: bad menu file name 2013-01-28 17:37:40 +01:00
Laurent Destailleur
f4c4a43f57 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-28 17:31:17 +01:00
Laurent Destailleur
9eaf8af341 Fix: Removed warning (this can be normal behaviour)
Fix: menu manager name has changed
2013-01-28 15:35:29 +01:00
Laurent Destailleur
0743049dc4 Fix: get list of currencies 2013-01-28 14:57:37 +01:00
Laurent Destailleur
c42a0c5b03 Fix: removed warning 2013-01-28 14:40:15 +01:00
Laurent Destailleur
0beea6c23c Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/install/inc.php
2013-01-28 12:58:16 +01:00
Laurent Destailleur
f75248308d Merge remote-tracking branch 'origin/3.3' into develop 2013-01-28 12:50:12 +01:00
Laurent Destailleur
db38c9baac Fix: loghandler loaded twice 2013-01-28 12:35:29 +01:00
Laurent Destailleur
b98151db94 Fix: A log handler can be loaded twice. 2013-01-28 12:22:12 +01:00
Laurent Destailleur
eeba48f9b0 Fix: Log not reported
Fix: charset not correctly forced
2013-01-28 11:43:49 +01:00
Laurent Destailleur
1b8634588f Fix: Missing property 2013-01-28 11:31:44 +01:00
Laurent Destailleur
dde8738999 Qual: Add a protection to detect bad usage of getStaticMember 2013-01-28 11:30:28 +01:00
Regis Houssin
647cbb08fb Fix: wrong EOL 2013-01-26 10:38:11 +01:00
Regis Houssin
fcee35c65d Fix: $hookmanager is a global object 2013-01-26 10:35:30 +01:00
Laurent Destailleur
64cac3194c Fix: Use translation of NPR 2013-01-25 19:19:41 +01:00
Laurent Destailleur
56e11e52fa New: hookmanager class is used frequently and is a factory object, so we
can move it during init of environment and use it globally.
2013-01-25 19:12:54 +01:00
Laurent Destailleur
1cc949777f Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-25 17:46:42 +01:00
Laurent Destailleur
c2d334624b Qual: Simplify system for menu manager. Only one file, one class per
manager.
2013-01-25 17:44:23 +01:00
Laurent Destailleur
2aa548560b doc: Update exemples 2013-01-25 16:52:23 +01:00
Maxime Kohlhaas
81d5fa87e0 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into develop 2013-01-25 15:56:01 +01:00
Maxime Kohlhaas
b11441555c LDAP : Add SID sync in user creation 2013-01-25 15:39:26 +01:00
Regis Houssin
7983b1dec5 Fix: wrong object name 2013-01-25 12:37:03 +01:00
Regis Houssin
7703438340 Merge pull request #630 from simnandez/develop
Fix:  [ bug #698 ] Bad calculation of totals of associated documents
2013-01-25 02:40:09 -08:00
simnandez
ad3645f7f4 Fix: [ bug #698 ] Bad calculation of totals of associated documents 2013-01-25 11:37:30 +01:00
Laurent Destailleur
70b21172f9 Qual: Removed not used and deprecated property 2013-01-25 11:05:44 +01:00
Regis Houssin
e86654bee7 Merge pull request #629 from atm-maxime/develop
Multicompany restriction for transverse mode not used anymore. Restricte...
2013-01-24 09:10:37 -08:00
Maxime Kohlhaas
8ab450f69b Multicompany restriction for transverse mode not used anymore. RestrictedArea is enough 2013-01-24 17:54:51 +01:00
Regis Houssin
6089ba614e Merge branch 'develop' of git+ssh://git@github.com/Dolibarr/dolibarr.git into develop 2013-01-24 17:32:52 +01:00
Regis Houssin
c732532483 New: add hook getFormMail 2013-01-24 17:29:11 +01:00
Laurent Destailleur
9f44161e55 New: Can attach file for trip and expenses module 2013-01-24 12:47:06 +01:00
Laurent Destailleur
8682d3c928 Fix: Note not visible 2013-01-24 12:16:00 +01:00
Laurent Destailleur
fa2e9cbd4f Exclude external modules 2013-01-24 10:06:39 +01:00
Laurent Destailleur
0db303ca59 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-23 23:35:39 +01:00
Regis Houssin
efadc2c75c Fix: remove unused support 2013-01-23 21:04:41 +01:00
Regis Houssin
3155e92cb1 Merge pull request #627 from FHenry/develop
Add SparkAngel Support for Open-concept.pro
2013-01-23 11:55:28 -08:00
fhenry
848bb5417d Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-23 19:46:44 +01:00
fhenry
7fcf206603 Add SparkAngel Support for Open-concept.pro 2013-01-23 19:46:28 +01:00
Laurent Destailleur
a7d41d74e8 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-23 18:09:05 +01:00
Laurent Destailleur
73380b181c Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-23 17:35:57 +01:00
Regis Houssin
2726cb13d3 Merge pull request #626 from jfefe/webservices
Webservices
2013-01-23 08:29:32 -08:00
jfefe
9b28f98119 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr.git into webservices 2013-01-23 16:39:49 +01:00
jfefe
c7df80a6b5 Add extrafields for webservice contact / missing fields 2013-01-23 16:34:21 +01:00
Regis Houssin
9203cce485 Fix: use the users entity 2013-01-23 15:41:17 +01:00
Regis Houssin
4a0bc90d5a Fix: only once superadmin and an admin can not delete/modify a
superadmin
2013-01-23 15:27:36 +01:00
Laurent Destailleur
f159660970 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-23 14:55:57 +01:00
Laurent Destailleur
7b1e15f340 New: Allow to use upgrade script to upgrade sql of modules 2013-01-23 14:51:15 +01:00
Regis Houssin
9868880142 Fix: missing files library 2013-01-23 11:29:58 +01:00
Regis Houssin
e8ce9cecf2 Fix: broken features, special_code also used by externals modules ! 2013-01-22 21:36:30 +01:00
Laurent Destailleur
d2152a8342 Restore correct code: A module decide if standard code is used or not
after running by a return code that is an int 
0=execute standard code, 1=disable standard code

To return a string to show or an array or error codes, this must be done
by setting
$actionclassinstance->results
or
$actionclassinstance->resprints
2013-01-22 18:15:51 +01:00
Regis Houssin
bfe57b21b0 Fix: disable "datetimepicker" from edit in place for the moment 2013-01-22 18:05:41 +01:00
Regis Houssin
f0361b9c4c Fix: broken feature 2013-01-22 16:51:10 +01:00
Regis Houssin
131dd663cb Fix: missing webservices and code more simple 2013-01-22 11:28:53 +01:00
Laurent Destailleur
d5a3649d72 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-21 23:42:03 +01:00
Regis Houssin
92849ae039 Fix: $modules not loaded 2013-01-21 18:20:14 +01:00
Regis Houssin
12f4be9444 Merge pull request #625 from jfefe/webservices
fix in webservices
2013-01-21 06:21:57 -08:00
jfefe
a03099bd58 Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into webservices 2013-01-21 15:13:43 +01:00
jfefe
2276addef7 Fix : bad value for order line's price when creating an order by webservice / remove duplicate code 2013-01-21 15:13:08 +01:00
Laurent Destailleur
2f7292aa78 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-21 15:04:58 +01:00
Laurent Destailleur
3faa2b558f Renamed param. 2013-01-21 15:04:34 +01:00
Regis Houssin
71dd160c41 Fix: uniformize name 2013-01-21 14:35:49 +01:00
Regis Houssin
5b34f6ba4e Merge pull request #622 from jfefe/webservices
Missing societe_id for user when called by webservice
2013-01-21 05:33:14 -08:00
Regis Houssin
84af1dc488 Merge pull request #624 from FHenry/develop
Force get list of extrafield even if external module manage extrafield
2013-01-21 05:32:04 -08:00
fhenry
7cc548db31 Force get list of extrafield even if external module manage extrafield 2013-01-21 13:52:59 +01:00
jfefe
a201d8cea0 Fix : bad classname in webservice to create an order 2013-01-21 11:43:22 +01:00
jfefe
8d8e649646 Rename societe_id -> id_thirdparty in webservice method to get an user 2013-01-21 11:42:25 +01:00
Laurent Destailleur
05bd489b82 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/admin/index.php
2013-01-21 01:12:19 +01:00
eldy
4e8aaa99b5 Removed dead code 2013-01-20 15:41:39 +01:00
eldy
5fe1f38666 Missing div warning 2013-01-20 15:37:33 +01:00
eldy
5c49947750 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-20 15:32:48 +01:00
jfefe
b76fd1804b Missing societe_id for user when called by webservice 2013-01-20 15:31:24 +01:00
Regis Houssin
a061f18900 Merge pull request #621 from jfefe/webservices
Fix : missing class / bad user
2013-01-20 03:20:25 -08:00
jfefe
1ab6fe6c21 Fix : missing class / bad user when create thirdparty with contact and
user by webservice method
2013-01-20 11:56:56 +01:00
Laurent Destailleur
5597e1b5c2 Protection to avoid not desired modules into packages 2013-01-19 18:47:35 +01:00
Laurent Destailleur
d411310651 Trad 2013-01-19 17:58:20 +01:00
Laurent Destailleur
2f3ed04023 Add info if session are encrypted 2013-01-19 17:56:26 +01:00
Laurent Destailleur
47c42943e8 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-19 16:29:35 +01:00
Laurent Destailleur
abb6daf2dc Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/core/boxes/box_activity.php
2013-01-19 16:29:16 +01:00
Laurent Destailleur
d65b69d16a Merge pull request #620 from simnandez/develop
[ task #652 ] Reduce clicks into creaton of orders, invoices, etc.
2013-01-19 07:22:12 -08:00
simnandez
f7e5edb0f8 [ task #652 ] Reduce clicks into creaton of orders, invoices, etc. 2013-01-19 10:45:57 +01:00
Laurent Destailleur
0e060cac11 Merge pull request #619 from FHenry/develop
Update web service
2013-01-18 09:39:13 -08:00
Laurent Destailleur
a5b174eccc Fix: Architecture of getCurrency was wrong. Cache was not stored
correctly and dict file loaded several times. There was also bug on PHP
without mb_string function.
Now function is a method of $langs object. All bug fixes.
2013-01-18 15:57:11 +01:00
Laurent Destailleur
060edf21da New: Add more PHPUnit tests to prepare removal of adodb. 2013-01-18 15:54:40 +01:00
Laurent Destailleur
3438b9fa62 Fix: init specimen 2013-01-18 12:32:10 +01:00
Laurent Destailleur
f650888ea6 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-18 12:17:21 +01:00
fhenry
e4b704f76d Update web service 2013-01-18 11:10:56 +01:00
Laurent Destailleur
abafd4f4ff Fix: separator was working only once. 2013-01-18 11:05:18 +01:00
Laurent Destailleur
34c5343103 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-17 20:56:28 +01:00
Laurent Destailleur
0c418160b9 Fix: exclude files 2013-01-17 20:56:13 +01:00
Laurent Destailleur
91f666bd90 Merge pull request #617 from FHenry/develop
Fix bug on update thirdpartty webservice
2013-01-17 11:28:35 -08:00
fhenry
685400c20e Fix bug on web service 2013-01-17 18:49:21 +01:00
Laurent Destailleur
6091f74b13 New: First changes to simplify/optimize menu management. 2013-01-17 18:39:15 +01:00
fhenry
9d5ab6daa0 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-17 18:04:47 +01:00
fhenry
f665980ef0 Fix bug on update thirdpartty webservice 2013-01-17 18:03:10 +01:00
Laurent Destailleur
db54f5af44 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-17 18:02:51 +01:00
Laurent Destailleur
b89b74e933 Fix: load at wrong place 2013-01-17 17:40:27 +01:00
Laurent Destailleur
66921cf24a Prepare 3.4 2013-01-17 13:19:17 +01:00
Laurent Destailleur
f0f347394a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-17 13:15:30 +01:00
Laurent Destailleur
cccc7d1af3 Fix: comments 2013-01-17 13:02:34 +01:00
Laurent Destailleur
2b8aa54f68 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-17 10:32:49 +01:00
Laurent Destailleur
9134dfc896 Prepare 3.4 2013-01-17 10:25:40 +01:00
Laurent Destailleur
c222f39c76 Prepare 3.4 2013-01-17 10:22:26 +01:00
Laurent Destailleur
dddcc0b424 Update doc 2013-01-16 21:31:27 +01:00
Laurent Destailleur
533f162e3e Fix: var not defined 2013-01-16 17:09:46 +01:00
Laurent Destailleur
0923102c4a Fix: Duplicate declaration 2013-01-16 16:53:47 +01:00
Laurent Destailleur
f1f7ff315f Fix: CRLF 2013-01-16 15:54:07 +01:00
Laurent Destailleur
d11cee399a Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	COPYRIGHT
	htdocs/core/tpl/freeproductline_create.tpl.php
	htdocs/core/tpl/predefinedproductline_create.tpl.php
	htdocs/install/mysql/tables/llx_c_availability.sql
2013-01-16 15:45:17 +01:00
Laurent Destailleur
d40440fc45 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-16 14:21:56 +01:00
Laurent Destailleur
6d843e76e1 Merge pull request #614 from FHenry/develop
Add adherent type extrafield extrafield table in migration script
2013-01-16 05:20:07 -08:00
Laurent Destailleur
0b045a2d96 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/core/boxes/box_activity.php
	htdocs/filefunc.inc.php
2013-01-16 14:11:19 +01:00
fhenry
e3fd60c762 Add adherent type extrafield extrafield table in migration script 2013-01-16 13:49:44 +01:00
Laurent Destailleur
de739c58a1 Fix generator of page 2013-01-16 12:57:09 +01:00
Laurent Destailleur
3ed4a7494f Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-16 12:30:53 +01:00
Laurent Destailleur
7bd6a0c1e3 Update doc 2013-01-16 12:30:39 +01:00
Laurent Destailleur
6a964d10f6 Merge pull request #611 from FHenry/develop
Add update actioncomm webservice method
2013-01-15 13:57:34 -08:00
fhenry
d3ca82d984 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-15 21:43:24 +01:00
fhenry
1605e72adb Add update actioncomm webservice method
Fix bug on update thridparty webservice method
2013-01-15 21:43:11 +01:00
Laurent Destailleur
1e9cb6b1d4 Qual: A translation file must not be loaded into class constructors, but
at output level.
2013-01-15 17:06:53 +01:00
Laurent Destailleur
7075ae2daa Fix: Showing warning 2013-01-15 16:08:16 +01:00
Laurent Destailleur
6a51db82e9 Qual: We can enable box by default because a warning is output to user. 2013-01-15 15:53:35 +01:00
Laurent Destailleur
db923b9814 Fix: Removed warning 2013-01-15 15:44:42 +01:00
Laurent Destailleur
e28fefc989 Fix: Missinf class 2013-01-15 15:43:37 +01:00
Laurent Destailleur
db1cd6b27f Qual: Merge the 2 class MenuTop and MenuLeft into menu handler file
into 1 class MenuManager. This make code simpler and is also a first
step to optimize performance of menu loading.
2013-01-15 15:42:39 +01:00
Laurent Destailleur
ec5b4f5fa7 Fix: Start to fix some bug (pgsql compatibility), try to optimize
request. Added FIXME tags.
2013-01-15 15:36:04 +01:00
Laurent Destailleur
4cf56eafa5 Qual: Removed useless param 2013-01-15 12:48:46 +01:00
Laurent Destailleur
f57409ddcd Merge remote-tracking branch 'origin/3.3' into develop 2013-01-15 12:06:41 +01:00
Regis Houssin
92723bd6fe Fix: broken features 2013-01-15 11:41:12 +01:00
Regis Houssin
8a6bc63127 Fix: uniformize code 2013-01-15 11:23:24 +01:00
Regis Houssin
787d3bd6a9 Fix: use event method 2013-01-15 11:00:32 +01:00
Laurent Destailleur
3332709ba1 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-14 16:51:38 +01:00
Regis Houssin
e06912dff3 Merge pull request #608 from FHenry/develop
Add standard extrafield type : mail, phone, price
2013-01-14 07:19:07 -08:00
fhenry
51098c1227 Add standard extrafield type :
- mail
	- phone
	- price
2013-01-14 16:13:09 +01:00
Laurent Destailleur
6942700ce7 New: Direct jump to edit page 2013-01-14 15:18:15 +01:00
Laurent Destailleur
e8ab24949a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-14 13:08:48 +01:00
Laurent Destailleur
6746e76564 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-14 12:24:06 +01:00
Regis Houssin
f954ff509c Merge pull request #607 from atm-maxime/develop
Display bug on FF while closing proposal
2013-01-14 03:22:11 -08:00
Maxime Kohlhaas
14dde75c4b Display bug on FF while closing proposal 2013-01-14 12:17:21 +01:00
Regis Houssin
c9e4da8533 Merge pull request #606 from atm-maxime/develop
Multi-company compatibility with transverse mode
2013-01-14 03:04:22 -08:00
Maxime Kohlhaas
6abf682faa Multi-company compatibility with transverse mode for pdf models 2013-01-14 12:01:44 +01:00
Laurent Destailleur
07ba988cf8 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-14 11:45:16 +01:00
Laurent Destailleur
297c10d16b Qual: externalise code of merging PDFs into a library. 2013-01-14 11:39:30 +01:00
Maxime Kohlhaas
fb1d99d0dd Multi-company compatibility with transverse mode for home boxes 2013-01-14 11:09:10 +01:00
Regis Houssin
cf12815ca9 Fix: phpunit error 2013-01-14 09:39:35 +01:00
Laurent Destailleur
8b77005eae Merge pull request #605 from FHenry/develop
remove dummy line
2013-01-13 11:59:14 -08:00
fhenry
b9c53fd796 remove dummy line 2013-01-13 20:50:54 +01:00
Laurent Destailleur
ff24a7df67 New: Add script to detect DOS (non Linux) files. 2013-01-13 19:34:43 +01:00
Laurent Destailleur
29e6d01e51 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/core/tpl/freeproductline_create.tpl.php
	htdocs/core/tpl/predefinedproductline_create.tpl.php
2013-01-13 19:33:54 +01:00
Laurent Destailleur
8ff12f7d55 Merge pull request #604 from simnandez/develop
[ task #652 ] Reduce clicks into creaton of orders, invoices, etc.
2013-01-13 07:01:28 -08:00
Laurent Destailleur
1d95c68a74 Update 2013 2013-01-13 14:38:05 +01:00
simnandez
ffbb611eb4 [ task #652 ] Reduce clicks into creaton of orders, invoices, etc. 2013-01-13 10:57:39 +01:00
simnandez
b1369a2f01 [ task #652 ] Reduce clicks into creaton of orders, invoices, etc. 2013-01-12 22:08:52 +01:00
Laurent Destailleur
980bfde83e Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-12 19:59:09 +01:00
Laurent Destailleur
c9a6da610d To allow module to use ckeditor/config.js 2013-01-12 16:00:38 +01:00
Laurent Destailleur
1bed4aa193 Merge pull request #602 from FHenry/develop
Add boolean (checkbox) standard extrafield feature
2013-01-12 06:53:48 -08:00
Laurent Destailleur
8152dda733 Merge pull request #601 from simnandez/develop
[ task #652 ] Reduce clicks into creaton of orders, invoices, etc.
2013-01-12 06:45:34 -08:00
Laurent Destailleur
979ea42d3f Comments 2013-01-12 15:40:38 +01:00
Laurent Destailleur
054a9b7447 Merge pull request #600 from marcosgdf/test
Added tests for Adherent class functions
2013-01-12 06:36:14 -08:00
fhenry
2cdeb95b67 Set member id on create not by sql request after.
Mandatory for trigger USER_CREATE to do action if user is member
2013-01-12 15:16:38 +01:00
Laurent Destailleur
ec8b260bf6 New: Prepare 3.4 branch
New: Add hook for agenda, info and category tabs
2013-01-12 14:34:16 +01:00
Marcos García
aff96e5050 Added test for functions fetch_login and resiliate 2013-01-12 14:14:36 +01:00
fhenry
d39368fd36 Add boolean (checkbox) standard extrafield feature 2013-01-12 14:02:39 +01:00
simnandez
96c5eacf4a [ task #652 ] Reduce clicks into creaton of orders, invoices, etc. 2013-01-12 09:58:21 +01:00
Marcos García
729a8017c3 Added test for Adherent class functions setUserId and setThirdPartyId 2013-01-11 17:13:37 +01:00
Laurent Destailleur
351c4927f4 Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2013-01-11 16:18:47 +01:00
Laurent Destailleur
8d5dd719aa Add svg file 2013-01-11 16:11:35 +01:00
Laurent Destailleur
22dcb7ee6a Merge pull request #599 from cbattarel/develop
show costprice instead of buyingprice if setup of margin module is costprice
2013-01-11 06:50:58 -08:00
Christophe Battarel
62ccb57857 fix missing td 2013-01-11 15:41:47 +01:00
Christophe Battarel
49703240f7 show costprice instead of buyingprice if setup of margin module is costprice 2013-01-11 15:39:11 +01:00
Regis Houssin
ee0db5f67b Merge pull request #597 from FHenry/develop
Update method in thirdparty web service
2013-01-10 14:32:17 -08:00
fhenry
10ed8c141e Update method in thirdparty web service 2013-01-10 23:30:26 +01:00
Laurent Destailleur
5b4f1d39be Merge pull request #591 from marcosgdf/test
Improved AdherentTest and added testAdherentMakeSubstitution
2013-01-10 12:13:53 -08:00
Laurent Destailleur
63cd0e8984 First try to include svg into css. 2013-01-10 18:50:07 +01:00
Marcos García
88fdfec0eb Improved AdherentTest and added testAdherentMakeSubstitution 2013-01-10 12:26:02 +01:00
Laurent Destailleur
9d886eca53 Fix: Scan of correct dir when them dir is forced 2013-01-10 11:19:46 +01:00
Regis Houssin
399003d46b Merge pull request #589 from grandoc/develop
fix: favicon was not displayed when using theme within custom directory
2013-01-10 00:34:22 -08:00
Grand Philippe
eea5dd36ac fix: favicon was not displayed when using theme within custom directory 2013-01-10 09:23:52 +01:00
Regis Houssin
9812c91aff Fix: wrong EOL !!!!!!! 2013-01-10 08:27:12 +01:00
Regis Houssin
9a305c9066 New: add date format with second 2013-01-10 06:13:02 +01:00
Laurent Destailleur
5c51905f63 Merge remote-tracking branch 'origin/3.3' into develop 2013-01-09 19:15:51 +01:00
Regis Houssin
a278ae7371 Fix: empty value if combobox disabled 2013-01-09 10:40:36 +01:00
Regis Houssin
dd08da6ea8 Merge pull request #583 from FHenry/develop
[ task #664 ] Add extrafields behaviours to Member Type
2013-01-08 10:58:46 -08:00
fhenry
23b2aa6a7b [ task #664 ] Add extrafields behaviours to Member Type 2013-01-08 19:16:39 +01:00
Laurent Destailleur
db0aa49cad Merge remote-tracking branch 'origin/3.3' into develop 2013-01-08 18:37:59 +01:00
Laurent Destailleur
9b6289503c Fix: Overwriting of login template works with module_parts. 2013-01-08 18:30:49 +01:00
Laurent Destailleur
9d47b812b9 New: Support module_parts['theme'] 2013-01-08 15:21:56 +01:00
Laurent Destailleur
ec3421d59e New: Add option MAIN_FORCETHEME (differs from MAIN_FORCETHEMEDIR) 2013-01-08 13:45:52 +01:00
Laurent Destailleur
1f320dc1e7 Fix: Comment must be before tag 2013-01-08 12:27:17 +01:00
Laurent Destailleur
9b3874f6f9 Fix: PHPUnit found regression 2013-01-08 12:26:02 +01:00
Laurent Destailleur
142f171e50 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/.gitignore
2013-01-08 11:10:47 +01:00
Laurent Destailleur
6d036699bb Qual: Uniformize usage of array module_parts. 2013-01-07 13:28:14 +01:00
Laurent Destailleur
de83dc68e1 New: Uniformize odt generation to use hooks like pdf generation 2013-01-07 02:24:20 +01:00
Laurent Destailleur
ec664aaa71 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2013-01-07 00:42:02 +01:00
Laurent Destailleur
0f5a80a40f Fix: Bad var name 2013-01-07 00:14:38 +01:00
eldy
2c59c6311f Merge remote-tracking branch 'origin/3.3' into develop 2013-01-06 21:36:39 +01:00
Laurent Destailleur
4909b9dcf7 Merge pull request #577 from KreizIT/develop
Add SASU form
2013-01-06 04:02:37 -08:00
Cedric GROSS
6a9c3dee52 Add SASU form 2013-01-05 17:07:25 +01:00
Laurent Destailleur
5f99488c99 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/langs/es_ES/admin.lang
2013-01-05 16:41:08 +01:00
Laurent Destailleur
013f8cb6fc Merge pull request #572 from simnandez/develop
Cherrypick to Develop
2013-01-05 03:32:56 -08:00
simnandez
5032c48322 Fix: Bug creating invoice from a contract 2013-01-04 20:54:49 +01:00
simnandez
a585d8b455 Trad: Add missing ca_ES and es_ES translations 2013-01-04 20:54:31 +01:00
simnandez
b4204b9c25 Fix: Withdrawal payment warning 2013-01-04 20:54:15 +01:00
Laurent Destailleur
4c3191a3e0 Merge pull request #569 from FHenry/develop
CheckStyle
2013-01-04 01:12:29 -08:00
fhenry
0158885415 CheckStyle
I check everypalce where this function is call in Dolibarr, and to be
consistant it's better to use new attribute names
2013-01-03 23:57:18 +01:00
Laurent Destailleur
f87281bfdb Fix: Add option to avoid reporting by default a total that is false. 2013-01-03 20:42:26 +01:00
Laurent Destailleur
801fd2e0e5 Merge pull request #567 from cbattarel/develop
add amount on orders list lines and total at the bottom of table
2013-01-03 11:39:05 -08:00
Regis Houssin
9af8637bd7 Fix: possibility to activate jquery plugins with a constant 2013-01-03 19:13:09 +01:00
Christophe Battarel
1f973548ca add amount on orders list lines and total at the bottom of table 2013-01-03 11:06:05 +01:00
Laurent Destailleur
4e27969317 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/core/boxes/box_activity.php
2013-01-02 22:15:58 +01:00
Regis Houssin
46a9b5ec53 Merge pull request #566 from defrance69/patch-8
Update htdocs/core/boxes/box_activity.php
2013-01-02 07:31:59 -08:00
BENKE Charles
4eab7b004e Update htdocs/core/boxes/box_activity.php
new release with "last 2 year bills"
2013-01-02 11:08:05 +01:00
Laurent Destailleur
4fe1ba33f9 Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	COPYRIGHT
2012-12-30 18:00:07 +01:00
Regis Houssin
5740c7e694 Fix: change for a neutral email 2012-12-30 15:11:07 +01:00
Laurent Destailleur
18bfceafca Merge remote-tracking branch 'origin/3.3' into develop 2012-12-30 14:17:05 +01:00
Laurent Destailleur
2d0dea18ce Merge remote-tracking branch 'origin/3.3' into develop
Conflicts:
	htdocs/compta/bank/search.php
2012-12-29 17:38:12 +01:00
Laurent Destailleur
a9e9b761cc Merge pull request #560 from FHenry/develop
Fix [ bug #658 ] Seacrh on bank do not work for description
2012-12-29 08:33:17 -08:00
Laurent Destailleur
bb3241b70b Merge pull request #557 from marcosgdf/minor
Removed unuseful code
2012-12-29 08:31:20 -08:00
fhenry
5099bc5e89 Fix [ bug #658 ] Seacrh on bank do not work for description 2012-12-29 16:06:11 +01:00
Marcos García
0c113d33a6 Removed unuseful code
Some lines may be marked as changed but they are not because of incorrect line endings
2012-12-29 13:12:45 +01:00
Laurent Destailleur
8cae374d2a Merge remote-tracking branch 'origin/3.3' into develop 2012-12-29 07:01:45 +01:00
Laurent Destailleur
b1ad7867e5 Merge remote-tracking branch 'origin/3.3' into develop 2012-12-28 22:12:08 +01:00
Laurent Destailleur
641d6fe21f Merge pull request #553 from simnandez/develop
Fix: Box issues
2012-12-27 11:26:57 -08:00
Laurent Destailleur
8e76b2902b Merge remote-tracking branch 'origin/3.3' into develop 2012-12-27 18:05:29 +01:00
Laurent Destailleur
35ee168d9a Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop 2012-12-27 11:14:11 +01:00
simnandez
971d3364dd Fix: Box issues 2012-12-27 09:51:54 +01:00
Laurent Destailleur
ac6d8cb438 Fix: Migration of payment id not complete 2012-12-27 01:20:47 +01:00
Laurent Destailleur
946f189c7e Update copyright file 2012-12-21 16:17:50 +01:00
1660 changed files with 75538 additions and 48524 deletions

2
.gitignore vendored
View File

@@ -3,7 +3,7 @@ htdocs/conf/conf.php.old
documents/
custom/
custom2/
test/
test/report/
nbproject
default.properties
.settings/

View File

@@ -9,36 +9,39 @@ More information: http://www.gnu.org/licenses/gpl-3.0.txt
Dolibarr uses some external libraries released under different licences. This is compatibility summary:
Composant Version License Compatible GPL Usage
Composant Version License Compatible GPL Usage
----------------------------------------------------------------------------
PHP libraries:
AdoDb-Date 0.21 Modified BSD License Yes Date convertion (not into rpm package)
CKEditor 3.6.4 LGPL-2.1+ Yes Editor WYSIWYG
FPDI 1.4.2 Apache Software License 2.0 Yes PDF templates management (with FPDF_TPL 1.2)
GeoIP 2004 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package)
NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package)
OdtPHP 1.0.1 GPL-2+ Yes Library to build/edit ODT files
PHPExcel 1.7.6 LGPL-2.1+ Yes Read/Write XLS files, read ODS files
TCPDF 5.9.180 LGPL-3+ Yes PDF generation
AdoDb-Date 0.21 Modified BSD License Yes Date convertion (not into rpm package)
CKEditor 3.6.4 LGPL-2.1+ Yes Editor WYSIWYG
FPDI 1.4.2 Apache Software License 2.0 Yes PDF templates management (with FPDF_TPL 1.2)
GeoIP 2004 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package)
NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package)
OdtPHP 1.0.1 GPL-2+ Yes Library to build/edit ODT files
PHPExcel 1.7.6 LGPL-2.1+ Yes Read/Write XLS files, read ODS files
PHPPrintIPP 1.3 GPL-2+ Yes Library to send print IPP requests
TCPDF 5.9.180 LGPL-3+ Yes PDF generation
JS libraries:
jQuery 1.8.2 MIT Licence Yes JS library
jQuery UI 1.9.1 GPL and MIT Licence Yes JS library plugin UI
jQuery Timepicker 1.1.0 GPL and MIT Licence Yes JS library Timepicker addon for Datepicker
jQuery Colorpicker 1.1 MIT Licence Yes JS library for color picker for a defined list of colors
jQuery DataTables 1.9.1 BSD Yes JS library for tables output
jQuery Flot 0.7 MIT Licence Yes JS library to build graph
jQuery FileUpload 5.0.3 GPL and MIT Licence Yes JS library to upload files
jQuery JCrop 0.9.8 GPL and MIT Licence Yes JS library plugin Crop (to crop images)
jQuery jeditable 1.7.1 GPL and MIT Licence Yes JS library plugin jeditable (to edit in place)
jQuery jNotify 1.1.00 Apache Software License 2.0 Yes JS library plugin jNotify (to use ajax popups)
jQuery blockUI 2.43 GPL and MIT Licence Yes JS library plugin blockUI (to use ajax popups)
jQuery jPicker 1.1.00 GPL and MIT Licence Yes JS library for color picker with not defined list of colors
jQuery Layout 1.3.0 GPL and MIT Licence Yes JS library plugin Layout (RC-29.15)
jQuery TableDnD 0.5 GPL and MIT Licence Yes JS library plugin TableDnD (to reorder table rows)
jQuery Mobile 1.0rc2 GPL and MIT Licence Yes JS library for smartphone (not used)
jQuery Tiptip 1.3 GPL and MIT Licence Yes JS library for tooltips
JSGantt 1.2 BSD Licence Yes JS library (to build Gantt reports)
jQuery 1.8.2 MIT Licence Yes JS library
jQuery UI 1.9.1 GPL and MIT Licence Yes JS library plugin UI
jQuery blockUI 2.43 GPL and MIT Licence Yes JS library plugin blockUI (to use ajax popups)
jQuery Colorpicker 1.1 MIT Licence Yes JS library for color picker for a defined list of colors
jQuery DataTables 1.9.4 BSD Yes JS library for tables output
jQuery FileUpload 5.0.3 GPL and MIT Licence Yes JS library to upload files
jQuery Flot 0.7 MIT Licence Yes JS library to build graph
jQuery JCrop 0.9.8 GPL and MIT Licence Yes JS library plugin Crop (to crop images)
jQuery jeditable 1.7.1 GPL and MIT Licence Yes JS library plugin jeditable (to edit in place)
jQuery jNotify 1.1.00 Apache Software License 2.0 Yes JS library plugin jNotify (to use ajax popups)
jQuery jPicker 1.1.00 GPL and MIT Licence Yes JS library for color picker with not defined list of colors
jQuery jqueryFileTree 1.0.1 GPL and MIT Licence Yes JS library for color picker with not defined list of colors
jQuery jquerytreeview 1.4.1 MIT Licence Yes JS library for color picker with not defined list of colors
jQuery Layout 1.3.0 GPL and MIT Licence Yes JS library plugin Layout (RC-29.15)
jQuery Mobile 1.3 GPL and MIT Licence Yes JS library for smartphone (not used)
jQuery TableDnD 0.5 GPL and MIT Licence Yes JS library plugin TableDnD (to reorder table rows)
jQuery Timepicker 1.1.0 GPL and MIT Licence Yes JS library Timepicker addon for Datepicker
jQuery Tiptip 1.3 GPL and MIT Licence Yes JS library for tooltips
JSGantt 1.2 BSD Licence Yes JS library (to build Gantt reports)
For licenses compatibility informations:
http://www.fsf.org/licensing/licenses/index_html
@@ -50,20 +53,24 @@ Copyright
Copyright (C) 2013
- Christophe Battarel <christophe.battarel@altairis.fr>
- Laurent Destailleur <eldy@users.sourceforge.net>
- Jean-François Ferry <jfefe@aternatik.fr>
- Marcos García <marcosgdf@gmail.com>
- Philippe Grand <philippe.grand@atoo-net.com>
- Florian Henry <florian.henry@open-concept.pro>
- Regis Houssin <regis.houssin@capnetworks.com>
- Maxime Kohlhaas <mko@atm-consulting.fr>
- Juanjo Menent <jmenent@2byte.es>
Copyright (C) 2012
- Christophe Battarel <christophe.battarel@altairis.fr>
- Laurent Destailleur <eldy@users.sourceforge.net>
- Jean-François Ferry <jfefe@aternatik.fr>
- Marcos García <marcosgdf@gmail.com>
- Philippe Grand <philippe.grand@atoo-net.com>
- Jean Heimburger <jean@tiaris.info>
- Florian Henry <florian.henry@open-concept.pro>
- Regis Houssin <regis.houssin@capnetworks.com>
- Maxime Kohlhaas <mko@atm-consulting.fr>
- Juanjo Menent <jmenent@2byte.es>
- Nicolas Péré <nicolas@amarok2.net>
@@ -120,11 +127,12 @@ Copyright (C) 2005
- Regis Houssin <regis.houssin@capnetworks.com>
Copyright (C) 2004
- Laurent Destailleur <eldy@users.sourceforge.net>
- Laurent Destailleur <eldy@users.sourceforge.net>
- Rodolphe Quiedeville <rodolphe@quiedeville.org>
- Eric Seigne <erics@rycks.com>
- Benoit Mortier <benoit.mortier@opensides.be>
- Christophe Combelles <ccomb@free.fr>
- Christophe Combelles <ccomb@free.fr>
- Sebastien Di Cintio <sdicintio@ressource-toi.org>
Copyright (C) 2003
- Jean-Louis Bergamo <jlb@j1b.org>

View File

@@ -2,7 +2,92 @@
English Dolibarr ChangeLog
--------------------------------------------------------------
***** ChangeLog for 3.4 compared to 3.3.2 *****
For users:
- New: Can use ODS templates as document templates.
- New: Add link to autofill/reset with quantity to ship when creating a
delivery receipt.
- New: Event into calendar use different colors for different users.
- New: Support revenue stamp onto invoices.
- New: Add a tab "consumption" on thirdparties to list products bought/sells.
- New: Some performance enhancements.
- New: Can attach files onto trip and expenses modules.
- New: Add hidden option MAIN_PDF_TITLE_BACKGROUND_COLOR.
- New: Merge tab customer and prospect.
- New: Add ES formated address country rule.
- New: Can define a hierarchical responsible on user and add a tree view to
see hierarchy of users.
- New: Can expand/collapse menus, categories and users list.
- New: extra parameters are supported into ODT/ODS templates.
- New: total per vat rate are available as tags for ODT/ODS templates.
- New: Some part of interface use more CSS3 (ie: agenda)
- New: [ task #707 ] Create option "ProfIdx is mandatory to validate a invoice".
- New: Can define if we want to use VAT or not for subscriptions (foundation module).
- New: Can define a default choice for "More action when recording a
subscription" (foundation module).
- New: Add link to check professional id for India.
- New: [ task #731 ] Uniformize ref generation
- New: [ task #748 ] Add a link "Dolibarr" into left menu
- New: Script email_unpaid_invoices_to_representative accepts now a parameter "test"
and a "late delay".
- New: Can define different clicktodial setups for each user.
- New: Add hidden option INVOICE_CAN_NEVER_BE_REMOVED.
- New: Enhance agenda module to reach RFC2445 ("type" not enabled by default and add
"busy" information).
- New: Add module Opensurvey.
- New: Default approver for holidays is set by default to hierchical parent.
- First change to prepare feature "click to print" (IPP) for PDF.
- New: [ task #350 ] Merge tab customer and prospect.
- New: [ task #710 ] Add substitution into mailing send (and HTML is now valid).
- New: [ task #711 ] Add combobox for contact, as done for product/thirdparty.
- New: [ task #714 ] In Emailing module admin autogenerate security key of READRECEIPT.
- New: [ task #743 ] GED : Add aministration option to disable autotree display.
- New: [ task #767 ] Customer Address fallback when a contact doesn't have an address.
- New: [ task #768 ] WYSIWYG for all mails.
- New: [ task #773 ] Add Project document in GED(ECM) modules.
- New: [ task #783 ] Add more types for extra parameters (lists, phone, emails, checkbox,
prices, radio).
- New: [ task #798 ] Add range limit date on product/services as it is done on order
and invoice.
- New: [ task #814 ] Add extrafield feature for projects ands tasks.
- New: [ task #770 ] Add ODT document generation for Projects module.
- New: [ task #741 ] Add intervention box.
- New: [ task #826 ] Optionnal increase stock when deleting an invoice already validated.
- New: [ task #823 ] Shipping_validate email notification.
For translators:
- Update language files.
For developers:
- System of menu managers has been rewritten to reduce code to do same things.
- An external module can force its theme.
- Add function dol_set_focus('#xxx').
- A mymodule can bring its own core/modules/mymodule/modules_mymodule.php file.
- Removed some not used libraries.
- More web services.
- Renamed some database fields, code variables and parameters from french to english.
- First change to manage margins on contracts.
- Add hook getFormMail.
- Function plimit of databases drivers accept -1 as value (it means default value set
into conf->liste_limit).
- New: Add option dol_hide_topmenu, dol_hide_leftmenu, dol_optimize_smallscreen,
dol_no_mouse_hover and dol_use_jmobile onto login page (to support different terminal).
- New: dol_syslog method accept a suffix to use different log files for log.
- New: Type of fields are received by export format handlers.
- New: when adding an action, we can define a free code to tag it for a specific need.
- New: Enhance Dolibarr migration process to include migration script of external
modules.
- New: [ task #811 ] Uniformanize note field.
WARNING: If you used external modules, some of them may need to be upgraded due to:
- Fields of classes were renamed to be normalized (nom, prenom, cp, ville, adresse, tel
were renamed into lastname, firstname, zip, town, address, phone).
This may also be true for some fields into web services.
- If module use hook pdf_writelinedesc, module may have to add return 1 at end of
function to keep same behaviour.
***** ChangeLog for 3.3.2 compared to 3.3.1 *****
@@ -13,7 +98,7 @@ English Dolibarr ChangeLog
- Fix: Can't reset payment due date
- Fix: [ bug #787 ] Invoice supplier box incorrect tooltip when delay on payment
- Fix: [ bug #794 ] Lost filter on zipcode in prospect list
- Fix: [ bug #774 ] Bug on creating event with box "all day" crossed
- Fix: [ bug #774 ] Bug on creating event with box "all day" crossed
- Fix: [ bug #817 ] Purchases journal does not reflect localtaxes
- Fix: [ bug #816 ] Sales journal does not reflect localtaxes
- Fix: [ bug #806 ] Margins module with orders2invoice does not respect cost price

2
README
View File

@@ -107,7 +107,7 @@ Other modules:
- ClickToDial phone numbers
- RSS
Miscellanous:
Miscellaneous:
- Multi-user, with several permissions levels for each feature.
- Serveral menu managers (can be used by internal users, as a back-office,
with a particular menu, or by external users, as a front-office, with

View File

@@ -106,7 +106,7 @@ Autres modules:
- Export PDF de tous les éléments (factures, propositions commerciales, commandes, bons expéditions, etc...)
- De nombreuses autres fonctionnalités issues de modules officiels ou non (AWStats, Bittorrent, Gravatar, Google, Webcalendar...)
Miscellanous:
Divers:
- Application multi-utilisateurs avec différents niveaux de permissions par module.
- Plusieurs gestionnaires de menus (possibilité de différencier les menus pour les utilisateurs internes ou externes comme les clients ou fournisseurs).
- Application simple à utiliser.

View File

@@ -103,7 +103,7 @@ See ChangeLog file found into package.
- ClickToDial phone numbers
- RSS
### Miscellanous:
### Miscellaneous:
- Multi-user, with several permissions levels for each feature.
- Serveral menu managers (can be used by internal users, as a back-office, with a particular menu, or by external users, as a front-office, with another menu and permissions).

View File

@@ -1,4 +1,4 @@
dolibarr (3.3.2+nmu1) unstable; urgency=low
dolibarr (3.4.0+nmu1) unstable; urgency=low
* Non-maintainer upload.
* New upstream release.
@@ -6,4 +6,4 @@ dolibarr (3.3.2+nmu1) unstable; urgency=low
-- Dolibarr team <contact@dolibarr.org> Mon, 22 Apr 2013 12:00:00 +0100
# For a changelog file dedicated to end users, see /usr/share/doc/dolibarr/ChangeLog.gz
# For a changelog file dedicated to end users, see /usr/share/doc/dolibarr/ChangeLog.gz

View File

@@ -104,7 +104,6 @@ clean:
rm -fr htdocs/includes/jquery/plugins/flot
rm -fr htdocs/includes/jquery/plugins/jstree
rm -fr htdocs/includes/jquery/plugins/lightbox
rm -fr htdocs/includes/jquery/plugins/mobile
rm -fr htdocs/includes/jquery/plugins/multiselect
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PDF
rm -fr htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip
@@ -122,4 +121,4 @@ clean:
dh $@
binary-arch:

View File

@@ -31,7 +31,7 @@ PROJECT_NAME = dolibarr
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 3.3.2
PROJECT_NUMBER = 3.4.0
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@@ -611,7 +611,7 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = ../../build ../../dev ../../doc ../../documents ../../htdocs/conf/conf.php ../../htdocs/includes ../../htdocs/document ../../htdocs/documents
EXCLUDE = ../../build ../../dev ../../doc ../../document ../../documents ../../htdocs/conf/conf.php ../../htdocs/custom ../../htdocs/document ../../htdocs/documents ../../htdocs/includes
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded

View File

@@ -17,13 +17,12 @@
; ----- Change this -----
AppName=DoliWamp
; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
AppVerName=DoliWamp-3.3.2
AppVerName=DoliWamp-3.4.0-alpha
; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
OutputBaseFilename=DoliWamp-3.3.2
OutputBaseFilename=DoliWamp-3.4.0-alpha
; Define full path from wich all relative path are defined
; You must modify this to put here your dolibarr root directory
;SourceDir=C:\Documents and Settings\ldestailleur\git\dolibarr_old
;SourceDir=Z:\home\ldestailleur\git\dolibarr_veryold
;SourceDir=Z:\home\ldestailleur\git\dolibarrxxx
SourceDir=..\..\..
; ----- End of change
;OutputManifestFile=build\doliwampbuild.log
@@ -88,12 +87,12 @@ Name: "{app}\bin\apache\apache2.2.11\logs"
; Stop/start
Source: "build\exe\doliwamp\stopdoliwamp.bat"; DestDir: "{app}\"; Flags: ignoreversion; AfterInstall: close()
Source: "build\exe\doliwamp\startdoliwamp.bat"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\install_services.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\uninstall_services.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\removefiles.bat"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\rundoliwamp.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\rundolihelp.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\rundoliadmin.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\install_services.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\uninstall_services.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\mysqlinitpassword.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\mysqltestinstall.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;
Source: "build\exe\doliwamp\startdoliwamp_manual_donotuse.bat.install"; DestDir: "{app}\"; Flags: ignoreversion;

View File

@@ -48,8 +48,8 @@ If you want to build/test package locally:
~eldy/dolibarr/stable
or
Use URL pattern (beta or stable):
http://www.dolibarr.org/files/lastbuild/package_debian-ubuntu/dolibarr_x.z.*.tar.gz
http://www.dolibarr.org/files/stable/package_debian-ubuntu/dolibarr_x.y.*.tar.gz
For stable: http://www.dolibarr.org/files/lastbuild/package_debian-ubuntu/dolibarr_x.z.*.tar.gz
For beta: http://www.dolibarr.org/files/stable/package_debian-ubuntu/dolibarr_x.y.*.tar.gz
- For Dev, you can also add link serie to GIT HEAD.
- For beta and stable, you can init from command line
@@ -71,7 +71,6 @@ If you want to build/test package locally:
bzr commit -m "Description of change"
bzr push
# Init debian dir repository into launchpad (when repository for sources does not exist)
#----------------------------------
- Create debian directory and upload it onto bzr branch lp:~yourlogin/+junk/debian-[dev|beta|stable]
@@ -112,17 +111,26 @@ If you want to build/test package locally:
# bzr-builder format 0.3 deb-version {debupstream}-0~{revno}
lp:dolibarr
merge packaging lp:~yourlogin/+junk/debian-dev
For beta:
# bzr-builder format 0.3 deb-version {debupstream}-1~{revno}
lp:dolibarr/beta
merge packaging lp:~yourlogin/+junk/debian-beta
For stable:
# bzr-builder format 0.3 deb-version {debupstream}-0~{revno}
# bzr-builder format 0.3 deb-version {debupstream}-2~{revno}
lp:dolibarr/stable
merge packaging lp:~yourlogin/+junk/debian-stable
- Run command
cd bzr
bzr dailydeb dolibarr.recipe working-dir
This will create a directory "working-dir" with dolibarr sources and will add sources from ~yourlogin/+junk/debian-[dev|stable]
This will create a directory "working-dir" with dolibarr sources and will add sources from ~yourlogin/+junk/debian-[dev|beta|stable]
- Test package sources
sudo pbuilder build <working-dir>/<project>_<version>.dsc
List of recipes created
https://code.launchpad.net/~eldy/+recipe/dolibarr-dev
https://code.launchpad.net/~eldy/+recipe/dolibarr-beta
https://code.launchpad.net/~eldy/+recipe/dolibarr-stable
# To get/download package from PPA:
#----------------------------------
@@ -135,6 +143,9 @@ If you want to build/test package locally:
For the development snapshot version:
deb http://ppa.launchpad.net/yourlogin/dolibarr-dev/ubuntu precise main
deb-src http://ppa.launchpad.net/yourlogin/dolibarr-dev/ubuntu precise main
For the beta version:
deb http://ppa.launchpad.net/yourlogin/dolibarr-beta/ubuntu precise main
deb-src http://ppa.launchpad.net/yourlogin/dolibarr-beta/ubuntu precise main
For the stable version:
deb http://ppa.launchpad.net/yourlogin/dolibarr-stable/ubuntu precise main
deb-src http://ppa.launchpad.net/yourlogin/dolibarr-stable/ubuntu precise main

View File

@@ -9,8 +9,8 @@ use Cwd;
$PROJECT="dolibarr";
$MAJOR="3";
$MINOR="3";
$BUILD="2"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate
$MINOR="4";
$BUILD="0-alpha"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate
$RPMSUBVERSION="auto"; # auto use value found into BUILD
@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
@@ -320,8 +320,10 @@ if ($nboftargetok) {
$ret=`rm -fr $BUILDROOT/$PROJECT/documents`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`;
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`;
$ret=`rm -fr $BUILDROOT/$PROJECT/test`;
$ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
$ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`;

View File

@@ -30,7 +30,7 @@ return "Regis Houssin";
# script_dolibarr_versions()
sub script_dolibarr_versions
{
return ( "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" );
return ( "3.4.0", "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" );
}
sub script_dolibarr_category

View File

@@ -26,8 +26,9 @@ with format RPM (for Redhat, OpenSuse, Mandriva, ...).
# restorecon -R -v /file Restore values into files (cancel chcon, validate semanage)
#
# On OpenSuse
# yast --install dolibarr-...rpm To install package and dependencies
# yast --remove dolibarr To remove package
# zypper install dolibarr-...rpm To install package and dependencies
# zypper remove dolibarr To remove package
# zypper search xxx To search a package
#
# On Mageia (after su - root)
# urpmi dolibarr-...rpm To install package and dependencies

View File

@@ -186,8 +186,10 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin
%_datadir/dolibarr/htdocs/opensurvey
%_datadir/dolibarr/htdocs/paybox
%_datadir/dolibarr/htdocs/paypal
%_datadir/dolibarr/htdocs/printipp
%_datadir/dolibarr/htdocs/product
%_datadir/dolibarr/htdocs/projet
%_datadir/dolibarr/htdocs/public
@@ -332,5 +334,5 @@ fi
%changelog
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
* Sun Feb 17 2013 Laurent Destailleur 3.4.0-0.1.a
- Initial version (#723326)

View File

@@ -262,8 +262,10 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin
%_datadir/dolibarr/htdocs/opensurvey
%_datadir/dolibarr/htdocs/paybox
%_datadir/dolibarr/htdocs/paypal
%_datadir/dolibarr/htdocs/printipp
%_datadir/dolibarr/htdocs/product
%_datadir/dolibarr/htdocs/projet
%_datadir/dolibarr/htdocs/public
@@ -521,5 +523,5 @@ fi
%changelog
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
* Sun Feb 17 2013 Laurent Destailleur 3.4.0-0.1.a
- Initial version (#723326)

View File

@@ -183,8 +183,10 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin
%_datadir/dolibarr/htdocs/opensurvey
%_datadir/dolibarr/htdocs/paybox
%_datadir/dolibarr/htdocs/paypal
%_datadir/dolibarr/htdocs/printipp
%_datadir/dolibarr/htdocs/product
%_datadir/dolibarr/htdocs/projet
%_datadir/dolibarr/htdocs/public
@@ -321,5 +323,5 @@ fi
%changelog
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
* Sun Feb 17 2013 Laurent Destailleur 3.4.0-0.1.a
- Initial version (#723326)

View File

@@ -194,8 +194,10 @@ done >>%{name}.lang
%_datadir/dolibarr/htdocs/livraison
%_datadir/dolibarr/htdocs/mailmanspip
%_datadir/dolibarr/htdocs/margin
%_datadir/dolibarr/htdocs/opensurvey
%_datadir/dolibarr/htdocs/paybox
%_datadir/dolibarr/htdocs/paypal
%_datadir/dolibarr/htdocs/printipp
%_datadir/dolibarr/htdocs/product
%_datadir/dolibarr/htdocs/projet
%_datadir/dolibarr/htdocs/public
@@ -332,5 +334,5 @@ fi
%changelog
* Mon Apr 22 2013 Laurent Destailleur 3.3.2-0.3
* Sun Feb 17 2013 Laurent Destailleur 3.4.0-0.1.a
- Initial version (#723326)

View File

@@ -18,4 +18,6 @@ $force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='444';
// Value to overwrite path to use shared libraries/fonts instead of embedded one
// We don't force any external lib with generic package
?>

View File

@@ -19,10 +19,10 @@ $force_install_nophpinfo='1';
$force_install_lockinstall='444';
// Value to overwrite path to use shared libraries/fonts instead of embedded one
$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';
//$force_dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';
//$force_dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
//$force_dolibarr_lib_GEOIP_PATH='';
$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
//$force_dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
//$force_dolibarr_lib_ODTPHP_PATHTOPCLZIP='/usr/share/php/libphp-pclzip';
$force_dolibarr_lib_PHPEXCEL_PATH='';
$force_dolibarr_lib_TCPDF_PATH='';

View File

@@ -2,7 +2,7 @@ README (English)
--------------------------------
This directory contains sub-directories to provide tools or
documentation for developers.
Note: All files in this directory are in CVS only and are not
Note: All files in this directory are in VCS only and are not
provided with a standard release.

10
dev/findutf8bomincludes.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
#
# Checks if files contains UTF-8 BOM
# in dolibarr includes tree excluding
# git repository
#
# Raphaël Doursenaud - rdoursenaud@gpcsolutions.fr
grep -rlI \
--exclude-dir='.git' \
$'\xEF\xBB\xBF' htdocs/includes

30
dev/fixdosfiles.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/sh
#------------------------------------------------------
# Script to find files that are not Unix encoded
#
# Laurent Destailleur - eldy@users.sourceforge.net
#------------------------------------------------------
# Usage: fixdosfiles.sh [list|fix]
#------------------------------------------------------
# Syntax
if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
then
echo "Usage: fixdosfiles.sh [list|fix]"
fi
# To detec
if [ "x$1" = "xlist" ]
then
find . -iname "*.php" -o -iname "*.sh" -o -iname "*.pl" -o -iname "*.lang" -o -iname "*.txt" -exec file "{}" + | grep -v 'htdocs\/includes' | grep CRLF
fi
# To convert
if [ "x$1" = "xfix" ]
then
for fic in `find . -iname "*.php" -o -iname "*.sh" -o -iname "*.pl" -o -iname "*.lang" -o -iname "*.txt" -exec file "{}" + | grep -v 'htdocs\/includes' | grep CRLF | awk -F':' '{ print $1 }' `
do
echo "Fix file $fic"
dos2unix $fic
done;
fi

33
dev/fixutf8bomfiles.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/sh
#
# Checks of fix files contains UTF-8 BOM in dolibarr source tree,
# excluding git repository, custom modules and included libraries.
#
# Raphaël Doursenaud - rdoursenaud@gpcsolutions.fr
# Laurent Destailleur eldy@users.sourceforge.net
#------------------------------------------------------
# Usage: fixutf8bomfiles.sh [list|fix]
#------------------------------------------------------
# Syntax
if [ "x$1" != "xlist" -a "x$1" != "xfix" ]
then
echo "Usage: fixutf8bomfiles.sh [list|fix]"
fi
# To detec
if [ "x$1" = "xlist" ]
then
#find . -iname '*.php' -print0 -o -iname '*.sh' -print0 -o -iname '*.pl' -print0 -o -iname '*.lang' -print0 -o -iname '*.txt' -print0 | xargs -0 awk '/^\xEF\xBB\xBF/ {print FILENAME} {nextfile}'
grep -rlIZ --include='*.php' --include='*.sh' --include='*.pl' --include='*.lang' --include='*.txt' --exclude-dir='.git' --exclude-dir='includes' --exclude-dir='custom' . . | xargs -0 awk '/^\xEF\xBB\xBF/ {print FILENAME} {nextfile}'
fi
# To convert
if [ "x$1" = "xfix" ]
then
for fic in `grep -rlIZ --include='*.php' --include='*.sh' --include='*.pl' --include='*.lang' --include='*.txt' --exclude-dir='.git' --exclude-dir='includes' --exclude-dir='custom' . . | xargs -0 awk '/^\xEF\xBB\xBF/ {print FILENAME} {nextfile}'`
do
echo "Fixing $fic"
sed -i '1s/^\xEF\xBB\xBF//' $fic
done;
fi

View File

@@ -1,7 +1,7 @@
#!/usr/bin/php
<?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2006-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2006-2013 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -41,8 +41,8 @@ include_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
include_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
$villes = array("Auray","Baden","Vannes","Pirouville","Haguenau","Souffelweiersheim","Illkirch-Graffenstaden","Lauterbourg","Picauville","Sainte-Mère Eglise","Le Bono");
$prenoms = array("Joe","Marc","Steve","Laurent","Nico","Isabelle","Dorothee","Saby","Brigitte","Karine","Jose-Anne","Celine","Virginie");
$listoftown = array("Auray","Baden","Vannes","Pirouville","Haguenau","Souffelweiersheim","Illkirch-Graffenstaden","Lauterbourg","Picauville","Sainte-Mère Eglise","Le Bono");
$listoflastname = array("Joe","Marc","Steve","Laurent","Nico","Isabelle","Dorothee","Saby","Brigitte","Karine","Jose-Anne","Celine","Virginie");
/*
@@ -90,7 +90,7 @@ for ($s = 0 ; $s < GEN_NUMBER_SOCIETE ; $s++)
print "Company $s\n";
$soc = new Societe($db);
$soc->nom = "Company num ".time()."$s";
$soc->ville = $villes[rand(0, count($villes)-1)];
$soc->town = $listoftown[rand(0, count($listoftown)-1)];
$soc->client = rand(1,2); // Une societe sur 2 est prospect, l'autre client
$soc->fournisseur = rand(0,1); // Une societe sur 2 est fournisseur
$soc->code_client='CU'.time()."$s";
@@ -112,8 +112,8 @@ for ($s = 0 ; $s < GEN_NUMBER_SOCIETE ; $s++)
{
$contact = new Contact($db);
$contact->socid = $soc->id;
$contact->name = "Lastname".$c;
$contact->firstname = $prenoms[rand(0, count($prenoms)-1)];
$contact->lastname = "Lastname".$c;
$contact->firstname = $listoflastname[rand(0, count($listoflastname)-1)];
if ( $contact->create($user) )
{

File diff suppressed because one or more lines are too long

View File

@@ -188,6 +188,7 @@ export list="
--ignore-table=$base.llx_cabinetmed_examenprescrit
--ignore-table=$base.llx_cabinetmed_motifcons
--ignore-table=$base.llx_cabinetmed_patient
--ignore-table=$base.llx_cabinetmed_societe
--ignore-table=$base.llx_publi_c_contact_list
--ignore-table=$base.llx_publi_c_dnd_list
--ignore-table=$base.llx_publi_c_method_list

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -1,21 +0,0 @@
README (English)
--------------------------------
This directory contains example of PHPCheckStyle configuration
to use for quality assurance on PHP developpement.
To run PHPCheckstyle in eclipse, you must:
- install plugin PHP Tools integration http://www.phpsrc.org/eclipse/pti/
- Unzip PHPCheckStyle archive into a directory.
- Go in Eclipse - Window - Preferences - Dynamic Languages - Validator
Choose External PHP Script,
Set path ro run.php file for localhost
Choose a PHP version,
Set parameter string with
--src %f --config "phpstandard.cfg.xml" --format console
Choose php as Filename extension
Check Print PHP output to console
Then add patern
* %f INFO Line:%n - %m Warning
* %f WARNING Line:%n - %m Warning
* %f ERROR Line:%n - %m Error

View File

@@ -1,316 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE phpstandard SYSTEM "phpstandard.dtd">
<!-- somewhat inspired by java checkstyle -->
<phpcheckstyle-configuration>
<!-- **************** -->
<!-- Naming -->
<!-- **************** -->
<!-- Check Constant Naming -->
<!-- Disabled to avoid warning with $sql="SELECT ..."
<test name="constantNaming" regexp="/^[A-Z_][A-Z_]*[A-Z_]$/" level="ERROR"/>
-->
<!-- Check Variable Naming -->
<test name="variableNaming" regexp="/^[a-zA-Z_][a-zA-Z0-9_]*$/" />
<!-- Check Function Naming -->
<test name="functionNaming" regexp="/^[a-z_]/" level="WARNING"/>
<!-- Check Private Function Naming -->
<test name="privateFunctionNaming" regexp="/^[a-z_]/" level="ERROR"/>
<!-- Checks the constuctor naming -->
<!-- old = old style (constructor = name of the class) -->
<!-- new = "__construct()" -->
<test name="constructorNaming">
<property name="naming" value="old"/>
</test>
<!-- Check Class Naming -->
<test name="classNaming" regexp="/^[A-Z]/" level="WARNING"/>
<!-- **************** -->
<!-- PHP Tags -->
<!-- **************** -->
<!-- Test if a short php code open tag is used (? instead of ?php ). -->
<test name="noShortPhpCodeTag"/>
<!-- Test if a PHP closing file is present at the end of a file -->
<!-- <test name="noFileCloseTag"/> -->
<!-- Test if a file finish with some inner HTML (OK for some view but could provoque "header already sent" error) -->
<!-- <test name="noFileFinishHTML" level="ERROR" /> -->
<!-- **************** -->
<!-- Comments -->
<!-- **************** -->
<!-- Check if some C style comments are used (#) -->
<test name="noShellComments"/>
<!-- Tests that every function and class is immediately preceded by a docblock. A property "excludePrivateMembers" can be set if you want to disable docblocks for private member functions. -->
<test name="docBlocks">
<property name="excludePrivateMembers" value="true"/>
<property name="testReturn" value="true"/>
<property name="testParam" value="true"/>
<property name="testThrow" value="true"/>
</test>
<!-- **************** -->
<!-- Indentation -->
<!-- **************** -->
<!-- Tests to make sure that a line does not contain the tab character. -->
<!-- <test name="noTabs"/> -->
<!-- Test to make sure that every control structure is included within a {} block, even if it is syntactically optional. -->
<!-- <test name="controlStructNeedCurly"/> -->
<!-- Check the position of the open curly brace in a control structure (if) -->
<!-- sl = same line -->
<!-- nl = new line -->
<test name="controlStructOpenCurly">
<property name="position" value="nl"/>
</test>
<!-- Check the position of the close curly brace -->
<test name="controlCloseCurly" level="INFO">
</test>
<!-- Check the position of the open curly brace after a function -->
<!-- sl = same line -->
<!-- nl = new line -->
<test name="funcDefinitionOpenCurly">
<property name="position" value="nl"/>
</test>
<!-- Check the position of the else -->
<!-- sl = same line -->
<!-- nl = new line -->
<test name="controlStructElse">
<property name="position" value="nl"/>
</test>
<!-- **************** -->
<!-- Spaces -->
<!-- **************** -->
<!-- Tests that the control statements ("if", "else", "while", "for", etc.)
are followed by a space before the opening parenthesis.
PEAR standard stipulates this to distinguish it from function calls.
-->
<!--
<test name="spaceAfterControlStmt"/>
-->
<!-- Check that there is no space after a function name in a function call -->
<!-- <test name="noSpaceAfterFunctionName" level="INFO"></test> -->
<!-- Check for the (required) presence of a white space after some tokens (like ,) -->
<!--
<test name="checkWhiteSpaceAfter">
<exception value="."/>
</test>
-->
<!-- Check for the (required) presence of a white space before some tokens -->
<!--
<test name="checkWhiteSpaceBefore">
<exception value="."/>
<exception value=":"/>
</test>
-->
<!-- Check that there is no space before before some tokens -->
<!--
<test name="noSpaceBeforeToken" level="INFO">
</test>
-->
<!-- Check that there is no space after some tokens -->
<!--
<test name="noSpaceAfterToken" level="INFO">
</test>
-->
<!-- **************** -->
<!-- Metrics -->
<!-- **************** -->
<!-- Check that the lenght of the line doesn't pass the max value -->
<test name="lineLength" level="INFO">
<property name="maxLineLength" value="160"/>
</test>
<!-- Checks that the lenght (in lines) of a function doesn't pass the max value -->
<test name="functionLength" level="INFO">
<property name="maxLength" value="500"/>
</test>
<!-- Checks for excessive parameters in a function declaration -->
<!-- <test name="functionMaxParameters">
<property name="maxParameters" value="4"/>
</test> -->
<!-- Check Cyclomatic Complexity -->
<!-- see http://www.aivosto.com/project/help/pm-complexity.html -->
<test name="cyclomaticComplexity">
<!-- Level raising a warning -->
<property name="warningLevel" value="10"/>
<!-- Level raising an error -->
<property name="errorLevel" value="20"/>
</test>
<!-- **************** -->
<!-- Other -->
<!-- **************** -->
<!-- All arguments with default values should be at the end -->
<test name="defaultValuesOrder"/>
<!-- Check for prohibited functions -->
<!-- @see http://www.php.net/manual/en/indexes.php -->
<test name="checkProhibitedFunctions">
<item value="echo"/>
<item value="system"/>
<item value="print_r"/>
<item value="var_dump"/>
<item value="dl"/>
<!--<item value="exec"/>-->
<item value="passthru"/>
<!-- <item value="delete"/> We disable because of false report when using method delete -->
<item value="ereg_replace"/>
<item value="ereg"/>
<item value="eregi"/>
<!-- <item value="copy"/> -->
<!-- <item value="fwrite"/> -->
</test>
<!-- Check for prohibited tokens -->
<!-- @see http://www.php.net/manual/en/tokens.php -->
<test name="checkProhibitedTokens">
<item value="T_BAD_CHARACTER"/>
<item value="T_DECLARE"/>
<item value="T_ENDDECLARE"/>
<item value="T_ENDFOR"/>
<item value="T_ENDFOREACH"/>
<item value="T_ENDIF"/>
<item value="T_ENDSWITCH"/>
<item value="T_ENDWHILE"/>
<item value="T_HALT_COMPILER"/>
<item value="T_OLD_FUNCTION"/>
<!-- <item value="T_PRINT"/> -->
<!-- Same thing as the noShortPhpCodeTag rule -->
<!-- <item value="T_OPEN_TAG_WITH_ECHO"/> -->
<!-- <item value="T_INLINE_HTML"/> -->
<!-- <item value="T_ECHO"/> -->
</test>
<!-- Check for silenced errors before function calls (@function) -->
<test name="checkSilencedError">
<exception value="rename"/> <!-- Exceptions to this rule -->
<exception value="mkdir"/>
<exception value="chmod"/>
</test>
<!-- Check for encapsed variables inside a String ("$a") -->
<test name="encapsedVariablesInsideString">
</test>
<!-- Avoid passing parameters by reference -->
<test name="avoidPassingReferences">
</test>
<test name="showTODOs">
</test>
<!-- Use boolean operators (&&) instead of logical operators (AND) -->
<test name="useBooleanOperators">
</test>
<!-- Check empty block like if ($a) {} -->
<test name="checkEmptyBlock">
<!-- <exception value="catch"/> -->
</test>
<!-- Check empty statement ( ;; ) -->
<test name="checkEmptyStatement">
</test>
<!-- Check for the presence of heredoc -->
<test name="checkHeredoc">
</test>
<!-- Check for braces around code blocs (if, else, elseif, do, while, for, foreach) -->
<!--
<test name="needBraces">
</test>
-->
<!-- Switch need a default value -->
<test name="switchNeedDefault">
</test>
<!-- Switch case should have a break -->
<!-- <test name="switchCaseNeedBreak">
</test> -->
<!-- Switch default value should be at the end -->
<test name="switchDefaultOrder">
</test>
<!--
Avoid using unary operators (++) inside a control statement
With the exception of for iterators, all variable incrementation or decrementation should occur in their own toplevel statement to increase readability.
-->
<test name="checkUnaryOperator">
<exception value="for"/>
</test>
<!--
With inner assignments it is difficult to see all places where a variable is set.
With the exception of for iterators, all assignments should occur in their own toplevel statement to increase readability.
-->
<test name="checkInnerAssignment">
<exception value="for"/>
</test>
<!-- Detect unused private functions (detecting unused public ones is more difficult) -->
<test name="checkUnusedPrivateFunctions">
</test>
<!-- Detect unused variables -->
<test name="checkUnusedVariables">
</test>
<!-- Detect unused function parameters -->
<test name="checkUnusedFunctionParameters">
</test>
<!-- Only one class declaration per PHP file -->
<test name="oneClassPerFile">
</test>
<!-- ******************* -->
<!-- Optimisation -->
<!-- ******************* -->
<!-- Only one class declaration per PHP file -->
<test name="functionInsideLoop">
</test>
</phpcheckstyle-configuration>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT phpcheckstyle-configuration (test+)>
<!ELEMENT test (property*,item*,exception*)>
<!ATTLIST test name CDATA "">
<!ATTLIST test regexp CDATA "">
<!ATTLIST test level CDATA "">
<!ELEMENT property (#PCDATA)>
<!ATTLIST property value CDATA "">
<!ATTLIST property name CDATA "">
<!ELEMENT item (#PCDATA)>
<!ATTLIST item value CDATA "">
<!ELEMENT exception (#PCDATA)>
<!ATTLIST exception value CDATA "">

26
dev/resize_window.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/sh
#----------------------------------------------------
# Script to resize browser window to 1280x1024 to
# be able to make size fixed screenshots using
# ALT+Print screen.
#----------------------------------------------------
# Syntax
if [ "x$1" = "x" ]
then
echo "resize_windows.sh (list|0x99999999)"
fi
# To list all windows
if [ "x$1" = "xlist" ]
then
wmctrl -l
fi
# To resize a specific window
if [ "x$1" != "xlist" -a "x$1" != "x" ]
then
wmctrl -i -r $1 -e 0,0,0,1280,1024
echo Size of windows $1 modified
fi

8
dev/skeletons/build_class_from_table.php Normal file → Executable file
View File

@@ -120,7 +120,7 @@ else
}
//var_dump($property);
// Define substitute select parameters
// Define substitute fetch/select parameters
$varpropselect="\n";
$cleanparam='';
$i=0;
@@ -313,7 +313,7 @@ foreach($property as $key => $prop)
$targetcontent=preg_replace('/\$sql.= " field1=".\(isset\(\$this->field1\)\?"\'".\$this->db->escape\(\$this->field1\)."\'":"null"\).",";/', $varprop, $targetcontent);
$targetcontent=preg_replace('/\$sql.= " field2=".\(isset\(\$this->field2\)\?"\'".\$this->db->escape\(\$this->field2\)."\'":"null"\)."";/', '', $targetcontent);
// Substitute select parameters
// Substitute fetch/select parameters
$targetcontent=preg_replace('/\$sql\.= " t\.field1,";/', $varpropselect, $targetcontent);
$targetcontent=preg_replace('/\$sql\.= " t\.field2";/', '', $targetcontent);
@@ -445,6 +445,10 @@ $targetcontent=preg_replace('/Put here some comments/','Initialy built by build_
// Substitute table name
$targetcontent=preg_replace('/MAIN_DB_PREFIX."mytable/', 'MAIN_DB_PREFIX."'.$tablenoprefix, $targetcontent);
// Substitute fetch/select parameters
$targetcontent=preg_replace('/\$sql\.= " t\.field1,";/', $varpropselect, $targetcontent);
$targetcontent=preg_replace('/\$sql\.= " t\.field2";/', '', $targetcontent);
// Build file
$fp=fopen($outfile,"w");
if ($fp)

View File

@@ -46,7 +46,7 @@ class modMyModule extends DolibarrModules
// Id for module (must be unique).
// Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id).
$this->numero = 10000;
$this->numero = 100000;
// Key text used to identify module (for permissions, menus, etc...)
$this->rights_class = 'mymodule';
@@ -106,7 +106,7 @@ class modMyModule extends DolibarrModules
// Constants
// List of particular constants to add when module is enabled (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive)
// Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',1),
// 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0)
// 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0, 'current', 1)
// );
$this->const = array();
@@ -133,7 +133,11 @@ class modMyModule extends DolibarrModules
$this->tabs = array();
// Dictionnaries
if (! isset($conf->mymodule->enabled)) $conf->mymodule->enabled=0;
if (! isset($conf->mymodule->enabled))
{
$conf->mymodule=new stdClass();
$conf->mymodule->enabled=0;
}
$this->dictionnaries=array();
/* Example:
if (! isset($conf->mymodule->enabled)) $conf->mymodule->enabled=0; // This is to avoid warnings
@@ -154,14 +158,8 @@ class modMyModule extends DolibarrModules
// Boxes
// Add here list of php file(s) stored in core/boxes that contains class to show a box.
$this->boxes = array(); // List of boxes
$r=0;
// Example:
/*
$this->boxes[$r][1] = "myboxa.php";
$r++;
$this->boxes[$r][1] = "myboxb.php";
$r++;
*/
//$this->boxes=array(array(0=>array('file'=>'myboxa.php','note'=>'','enabledbydefaulton'=>'Home'),1=>array('file'=>'myboxb.php','note'=>''),2=>array('file'=>'myboxc.php','note'=>'')););
// Permissions
$this->rights = array(); // Permission array used by this module
@@ -222,8 +220,8 @@ class modMyModule extends DolibarrModules
// $this->export_label[$r]='CustomersInvoicesAndInvoiceLines'; // Translation key (used only if key ExportDataset_xxx_z not found)
// $this->export_enabled[$r]='1'; // Condition to show export in list (ie: '$user->id==3'). Set to 1 to always show when module is enabled.
// $this->export_permission[$r]=array(array("facture","facture","export"));
// $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','s.fk_pays'=>'Country','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.price'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalTVA",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef');
// $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','s.fk_pays'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.price'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.fk_product'=>'product','p.ref'=>'product');
// $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','s.fk_pays'=>'Country','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.price'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalTVA",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef');
// $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','s.fk_pays'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.price'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.fk_product'=>'product','p.ref'=>'product');
// $this->export_sql_start[$r]='SELECT DISTINCT ';
// $this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'facture as f, '.MAIN_DB_PREFIX.'facturedet as fd, '.MAIN_DB_PREFIX.'societe as s)';
// $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product as p on (fd.fk_product = p.rowid)';

View File

@@ -24,7 +24,7 @@
*/
// Put here all includes required by your class file
//require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php");
require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php");
//require_once(DOL_DOCUMENT_ROOT."/societe/class/societe.class.php");
//require_once(DOL_DOCUMENT_ROOT."/product/class/product.class.php");
@@ -32,13 +32,13 @@
/**
* Put here description of your class
*/
class Skeleton_Class // extends CommonObject
class Skeleton_Class extends CommonObject
{
var $db; //!< To store db handler
var $error; //!< To return error code (or message)
var $errors=array(); //!< To return several error codes (or messages)
//var $element='skeleton'; //!< Id that identify managed objects
//var $table_element='skeleton'; //!< Name of table without prefix where object is stored
var $element='skeleton'; //!< Id that identify managed objects
var $table_element='skeleton'; //!< Name of table without prefix where object is stored
var $id;
var $prop1;

View File

@@ -27,12 +27,13 @@
//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1');
//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK','1');
//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1');
//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); // If there is no menu to show
//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); // If we don't need to load the html.form.class.php
//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK','1'); // Do not check anti CSRF attack test
//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK','1'); // Do not check style html tag into posted data
//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Do not check anti POST attack test
//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); // If there is no need to load and show top and left menu
//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); // If we don't need to load the html.form.class.php
//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
//if (! defined("NOLOGIN")) define("NOLOGIN",'1'); // If this page is public (can be called outside logged session)
//if (! defined("NOLOGIN")) define("NOLOGIN",'1'); // If this page is public (can be called outside logged session)
// Change this following line to use the correct relative path (../, ../../, etc)
$res=0;
@@ -71,17 +72,17 @@ if ($user->societe_id > 0)
if ($action == 'add')
{
$myobject=new Skeleton_Class($db);
$myobject->prop1=$_POST["field1"];
$myobject->prop2=$_POST["field2"];
$result=$myobject->create($user);
$object=new Skeleton_Class($db);
$object->prop1=$_POST["field1"];
$object->prop2=$_POST["field2"];
$result=$object->create($user);
if ($result > 0)
{
// Creation OK
}
{
// Creation KO
$mesg=$myobject->error;
$mesg=$object->error;
}
}
@@ -119,19 +120,22 @@ jQuery(document).ready(function() {
// Example 2 : Adding links to objects
$somethingshown=$myobject->showLinkedObjectBlock();
// The class must extends CommonObject class to have this method available
//$somethingshown=$object->showLinkedObjectBlock();
// Example 3 : List of data
if ($action == 'list')
{
$sql = "SELECT";
$sql.= " t.rowid,";
$sql.= " t.field1,";
$sql.= " t.field2";
$sql.= " FROM ".MAIN_DB_PREFIX."skeleton as t";
$sql.= " FROM ".MAIN_DB_PREFIX."mytable as t";
$sql.= " WHERE field3 = 'xxx'";
$sql.= " ORDER BY field1 ASC";
print '<table class="noborder">'."\n";
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans('field1'),$_SERVER['PHP_SELF'],'t.field1','',$param,'',$sortfield,$sortorder);
print_liste_field_titre($langs->trans('field2'),$_SERVER['PHP_SELF'],'t.field2','',$param,'',$sortfield,$sortorder);
@@ -165,6 +169,8 @@ if ($action == 'list')
$error++;
dol_print_error($db);
}
print '</table>'."\n";
}

View File

@@ -1,6 +1,6 @@
#!/usr/bin/php
<?php
/* Copyright (C) 2007-2011 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2007-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) ---Put here your own copyright and developer email---
*
* This program is free software; you can redistribute it and/or modify
@@ -19,7 +19,7 @@
/**
* \file dev/skeletons/skeleton_script.php
* \ingroup mymodule othermodule1 othermodule2
* \ingroup mymodule
* \brief This file is an example for a command line script
* Put here some comments
*/
@@ -34,19 +34,22 @@ if (substr($sapi_type, 0, 3) == 'cgi') {
exit;
}
// Global variables
$version='1.29';
// Init global variables
$version='1.0';
$error=0;
// -------------------- START OF YOUR CODE HERE --------------------
// Include Dolibarr environment
@set_time_limit(0); // No timeout for this script
define('EVEN_IF_ONLY_LOGIN_ALLOWED',1); // Set this define to 0 if you want to lock your script when dolibarr setup is "locked to admin user only".
// Include and load Dolibarr environment variables
require_once($path."../../htdocs/master.inc.php");
// After this $db, $mysoc, $langs and $conf->entity are defined. Opened handler to database will be closed at end of file.
// After this $db, $mysoc, $langs, $conf and $hookmanager are defined (Opened $db handler to database will be closed at end of file).
// $user is created but empty.
//$langs->setDefaultLang('en_US'); // To change default language of $langs
$langs->load("main"); // To load language file for default language
@set_time_limit(0); // No timeout for this script
// Load user and its permissions
$result=$user->fetch('','admin'); // Load user for login 'admin'. Comment line to run as anonymous user.
@@ -158,7 +161,7 @@ else
$db->rollback();
}
$db->close(); // Close database opened handler
$db->close(); // Close $db database opened handler
return $error;
?>

71
dev/test/testdiv.php Normal file
View File

@@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- BEGIN PHP TEMPLATE LOGIN.TPL.PHP -->
<html>
<head>
<meta name="robots" content="noindex,nofollow" />
<meta name="author" content="Dolibarr Development Team">
<link rel="shortcut icon" type="image/x-icon" href="/dolibarrnew/theme/eldy/img/favicon.ico"/>
<title>Login Dolibarr 3.4.0-alpha</title>
<!-- Includes for JQuery (Ajax library) -->
<link rel="stylesheet" type="text/css" href="/dolibarrnew/includes/jquery/css/smoothness/jquery-ui-latest.custom.css" />
<link rel="stylesheet" type="text/css" title="default" href="/dolibarrnew/custom/filemanager/css/filemanager.css.php"><!-- Added by module filemanager-->
<!-- Includes JS for JQuery -->
<script type="text/javascript" src="/dolibarrnew/includes/jquery/js/jquery-latest.min.js"></script>
<script type="text/javascript" src="/dolibarrnew/core/js/dst.js"></script>
<link rel="stylesheet" type="text/css" href="/dolibarrnew/theme/eldy/style.css.php?lang=fr_FR" />
<!-- HTTP_USER_AGENT = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22 -->
</head>
<body class="body">
<center>
<div class="login_table" align="center">
<!-- <tr><td colspan="2" valign="middle"> -->
<div id="login_line1" align="center">
<div id="login_left" style="display: inline-block; min-width: 250px; margin: 0 auto;"><center>
<table class="none" summary="Login pass" cellpadding="2" align="center">
<!-- Login -->
<tr>
<td valign="bottom"> &nbsp; <strong><label for="username">Login</label></strong>fds fs df sdf gdsfgsdf r &nbsp; </td>
<td valign="bottom" class="nowrap">
<input type="text" id="username" name="username" class="flat" size="15" maxlength="40" value="" tabindex="1" />
</td>
</tr>
<!-- Password -->
<tr><td valign="top" class="nowrap"> &nbsp; <strong><label for="password">Mot de passe</label></strong> &nbsp; </td>
<td valign="top" class="nowrap">
<input id="password" name="password" class="flat" type="password" size="15" maxlength="30" value="" tabindex="2" />
</td></tr>
</table>
</center>
</div> <!-- end div left -->
<!-- </td>
<td align="center" valign="middle">-->
<div id="login_right" style="display: inline-block; min-width: 250px; margin: 0 auto;">
<img alt="Logo" title="" src="/dolibarrnew/theme/dolibarr_logo.png" id="img_logo" />
</div>
</div> <!-- end div line1 -->
<!--</td>
</tr>-->
</div>
</center>
</body>
</html>
<!-- END PHP TEMPLATE -->

View File

@@ -1,4 +1,4 @@
README (English)
README (English)
--------------------------------
* Most screen captures and icons are Dolibarr contributions, however,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 156 KiB

4
htdocs/.gitignore vendored
View File

@@ -2,4 +2,8 @@
/custom*
/bootstrap
/multicompany
/ovh
/numberingpack
/google
/skincoloreditor
/pos

View File

@@ -171,29 +171,52 @@ print '<input type="submit" class="button" value="'.$langs->trans("Update").'" n
print "</td></tr>\n";
print '</form>';
// Insertion cotisations dans compte financier
// Insert subscription into bank account
$var=!$var;
print '<form action="adherent.php" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="constname" value="ADHERENT_BANK_USE">';
print '<tr '.$bc[$var].'><td>'.$langs->trans("AddSubscriptionIntoAccount").'</td>';
if (! empty($conf->banque->enabled))
{
print '<td>';
print $form->selectyesno('constvalue',$conf->global->ADHERENT_BANK_USE,1);
print '</td><td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
print '</td>';
}
else
{
print '<td align="right" colspan="2">';
print $langs->trans("WarningModuleNotActive",$langs->transnoentities("Module85Name")).' '.img_warning("","");
print '</td>';
}
print '<tr '.$bc[$var].'><td>'.$langs->trans("MoreActionsOnSubscription").'</td>';
$arraychoices=array('0'=>$langs->trans("None"));
if (! empty($conf->banque->enabled)) $arraychoices['bankdirect']=$langs->trans("MoreActionBankDirect");
if (! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $arraychoices['invoiceonly']=$langs->trans("MoreActionInvoiceOnly");
if (! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $arraychoices['bankviainvoice']=$langs->trans("MoreActionBankViaInvoice");
print '<td>';
print $form->selectarray('constvalue',$arraychoices,$conf->global->ADHERENT_BANK_USE,0);
print '</td><td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
print '</td>';
print "</tr>\n";
print '</form>';
// Use vat for invoice creation
if ($conf->facture->enabled)
{
$var=!$var;
print '<form action="adherent.php" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="constname" value="ADHERENT_VAT_FOR_SUBSCRIPTIONS">';
print '<tr '.$bc[$var].'><td>'.$langs->trans("VATToUseForSubscriptions").'</td>';
if (! empty($conf->banque->enabled))
{
print '<td>';
print $form->selectarray('constvalue', array('0'=>$langs->trans("NoVatOnSubscription"),'defaultforfoundationcountry'=>$langs->trans("Default")), (empty($conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS)?'0':$conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS), 0);
print '</td><td align="center" width="80">';
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
print '</td>';
}
else
{
print '<td align="right" colspan="2">';
print $langs->trans("WarningModuleNotActive",$langs->transnoentities("Module85Name"));
print '</td>';
}
print "</tr>\n";
print '</form>';
}
print '</table>';
print '<br>';
@@ -216,7 +239,7 @@ form_constantes($constantes);
print '*'.$langs->trans("FollowingConstantsWillBeSubstituted").'<br>';
print '%DOL_MAIN_URL_ROOT%, %ID%, %FIRSTNAME%, %LASTNAME%, %FULLNAME%, %LOGIN%, %PASSWORD%, ';
print '%COMPANY%, %ADDRESS%, %ZIP%, %TOWN%, %COUNTRY%, %EMAIL%, %NAISS%, %PHOTO%, %TYPE%, ';
print '%COMPANY%, %ADDRESS%, %ZIP%, %TOWN%, %COUNTRY%, %EMAIL%, %BIRTH%, %PHOTO%, %TYPE%, ';
print '%YEAR%, %MONTH%, %DAY%';
print '<br>';
@@ -234,7 +257,7 @@ form_constantes($constantes);
print '*'.$langs->trans("FollowingConstantsWillBeSubstituted").'<br>';
print '%DOL_MAIN_URL_ROOT%, %ID%, %FIRSTNAME%, %LASTNAME%, %FULLNAME%, %LOGIN%, %PASSWORD%, ';
print '%COMPANY%, %ADDRESS%, %ZIP%, %TOWN%, %COUNTRY%, %EMAIL%, %NAISS%, %PHOTO%, %TYPE%, ';
print '%COMPANY%, %ADDRESS%, %ZIP%, %TOWN%, %COUNTRY%, %EMAIL%, %BIRTH%, %PHOTO%, %TYPE%, ';
print '%YEAR%, %MONTH%, %DAY%';
print '<br>';
@@ -264,7 +287,7 @@ form_constantes($constantes);
print '*'.$langs->trans("FollowingConstantsWillBeSubstituted").'<br>';
print '%DOL_MAIN_URL_ROOT%, %ID%, %FIRSTNAME%, %LASTNAME%, %FULLNAME%, %LOGIN%, %PASSWORD%, ';
print '%COMPANY%, %ADDRESS%, %ZIP%, %TOWN%, %COUNTRY%, %EMAIL%, %NAISS%, %PHOTO%, %TYPE%, ';
print '%COMPANY%, %ADDRESS%, %ZIP%, %TOWN%, %COUNTRY%, %EMAIL%, %BIRTH%, %PHOTO%, %TYPE%, ';
//print '%YEAR%, %MONTH%, %DAY%'; // Not supported
print '<br>';

View File

@@ -41,7 +41,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val);
$action=GETPOST('action', 'alpha');
$attrname=GETPOST('attrname', 'alpha');
$elementtype='member';
$elementtype='adherent'; //Must be the $table_element of the class that manage extrafield
if (!$user->admin) accessforbidden();
@@ -68,14 +68,12 @@ print_fiche_titre($langs->trans("MembersSetup"),$linkback,'setup');
$head = member_admin_prepare_head();
dol_fiche_head($head, 'attributes', $langs->trans("Member"), 0, 'user');
dol_fiche_head($head, 'attributes', $langs->trans("Members"), 0, 'user');
print $langs->trans("DefineHereComplementaryAttributes", $langs->transnoentitiesnoconv("Members")).'<br>'."\n";
print '<br>';
dol_htmloutput_errors($mesg);
// Load attribute_label
$extrafields->fetch_name_optionals_label($elementtype);
@@ -105,7 +103,6 @@ foreach($extrafields->attribute_type as $key => $value)
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=edit&attrname='.$key.'">'.img_edit().'</a>';
print "&nbsp; <a href=\"".$_SERVER["PHP_SELF"]."?action=delete&attrname=".$key."\">".img_delete()."</a></td>\n";
print "</tr>";
// $i++;
}
print "</table>";
@@ -117,15 +114,15 @@ dol_fiche_end();
if ($action != 'create' && $action != 'edit')
{
print '<div class="tabsAction">';
print "<a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?action=create\">".$langs->trans("NewAttribute")."</a>";
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"]."?action=create\">".$langs->trans("NewAttribute").'</a></div>';
print "</div>";
}
/* ************************************************************************** */
/* */
/* Creation d'un champ optionnel
/* */
/* Creation d'un champ optionnel */
/* */
/* ************************************************************************** */
if ($action == 'create')

View File

@@ -0,0 +1,155 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/adherents/admin/adherent_type_extrafields.php
* \ingroup member
* \brief Page to setup extra fields of members
*/
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
$langs->load("members");
$langs->load("admin");
$extrafields = new ExtraFields($db);
$form = new Form($db);
// List of supported format
$tmptype2label=getStaticMember(get_class($extrafields),'type2label');
$type2label=array('');
foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val);
$action=GETPOST('action', 'alpha');
$attrname=GETPOST('attrname', 'alpha');
$elementtype='adherent_type'; //Must be the $table_element of the class that manage extrafield
if (!$user->admin) accessforbidden();
/*
* Actions
*/
require DOL_DOCUMENT_ROOT.'/core/admin_extrafields.inc.php';
/*
* View
*/
$textobject=$langs->transnoentitiesnoconv("MembersTypes");
$help_url='EN:Module_Foundations|FR:Module_Adh&eacute;rents|ES:M&oacute;dulo_Miembros';
llxHeader('',$langs->trans("MembersSetup"),$help_url);
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("MembersSetup"),$linkback,'setup');
$head = member_admin_prepare_head();
dol_fiche_head($head, 'attributes_type', $langs->trans("Members"), 0, 'user');
print $langs->trans("DefineHereComplementaryAttributes",$textobject).'<br>'."\n";
print '<br>';
// Load attribute_label
$extrafields->fetch_name_optionals_label($elementtype);
print "<table summary=\"listofattributes\" class=\"noborder\" width=\"100%\">";
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Label").'</td>';
print '<td>'.$langs->trans("AttributeCode").'</td>';
print '<td>'.$langs->trans("Type").'</td>';
print '<td align="right">'.$langs->trans("Size").'</td>';
print '<td align="center">'.$langs->trans("Unique").'</td>';
print '<td align="center">'.$langs->trans("Required").'</td>';
print '<td width="80">&nbsp;</td>';
print "</tr>\n";
$var=True;
foreach($extrafields->attribute_type as $key => $value)
{
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>".$extrafields->attribute_label[$key]."</td>\n";
print "<td>".$key."</td>\n";
print "<td>".$type2label[$extrafields->attribute_type[$key]]."</td>\n";
print '<td align="right">'.$extrafields->attribute_size[$key]."</td>\n";
print '<td align="center">'.yn($extrafields->attribute_unique[$key])."</td>\n";
print '<td align="center">'.yn($extrafields->attribute_required[$key])."</td>\n";
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=edit&attrname='.$key.'">'.img_edit().'</a>';
print "&nbsp; <a href=\"".$_SERVER["PHP_SELF"]."?action=delete&attrname=".$key."\">".img_delete()."</a></td>\n";
print "</tr>";
}
print "</table>";
dol_fiche_end();
// Buttons
if ($action != 'create' && $action != 'edit')
{
print '<div class="tabsAction">';
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"]."?action=create\">".$langs->trans("NewAttribute").'</a></div>';
print "</div>";
}
/* ************************************************************************** */
/* */
/* Creation d'un champ optionnel */
/* */
/* ************************************************************************** */
if ($action == 'create')
{
print "<br>";
print_titre($langs->trans('NewAttribute'));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php';
}
/* ************************************************************************** */
/* */
/* Edition d'un champ optionnel */
/* */
/* ************************************************************************** */
if ($action == 'edit' && ! empty($attrname))
{
print "<br>";
print_titre($langs->trans("FieldEdition", $attrname));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php';
}
llxFooter();
$db->close();
?>

View File

@@ -48,11 +48,13 @@ if ($action == 'update')
$amount=GETPOST('MEMBER_NEWFORM_AMOUNT');
$editamount=GETPOST('MEMBER_NEWFORM_EDITAMOUNT');
$payonline=GETPOST('MEMBER_NEWFORM_PAYONLINE');
$email=GETPOST('MEMBER_PAYONLINE_SENDEMAIL');
$res=dolibarr_set_const($db, "MEMBER_ENABLE_PUBLIC",$public,'chaine',0,'',$conf->entity);
$res=dolibarr_set_const($db, "MEMBER_NEWFORM_AMOUNT",$amount,'chaine',0,'',$conf->entity);
$res=dolibarr_set_const($db, "MEMBER_NEWFORM_EDITAMOUNT",$editamount,'chaine',0,'',$conf->entity);
$res=dolibarr_set_const($db, "MEMBER_NEWFORM_PAYONLINE",$payonline,'chaine',0,'',$conf->entity);
$res=dolibarr_set_const($db, "MEMBER_PAYONLINE_SENDEMAIL",$email,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
@@ -90,22 +92,39 @@ if ($conf->use_javascript_ajax)
{
print "\n".'<script type="text/javascript" language="javascript">';
print 'jQuery(document).ready(function () {
function initemail()
{
if (jQuery("#MEMBER_NEWFORM_PAYONLINE").val()==\'-1\')
{
jQuery("#tremail").hide();
}
else
{
jQuery("#tremail").show();
}
}
function initfields()
{
if (jQuery("#MEMBER_ENABLE_PUBLIC").val()==\'0\')
if (jQuery("#MEMBER_ENABLE_PUBLIC").val()==\'0\')
{
jQuery(".drag").hide();
jQuery("#tramount").hide();
jQuery("#tredit").hide();
jQuery("#trpayment").hide();
jQuery("#tremail").hide();
}
if (jQuery("#MEMBER_ENABLE_PUBLIC").val()==\'1\')
{
jQuery(".drag").show();
}
}
initfields();
jQuery("#MEMBER_ENABLE_PUBLIC").change(function() {
initfields();
});
})';
jQuery("#tramount").show();
jQuery("#tredit").show();
jQuery("#trpayment").show();
if (jQuery("#MEMBER_NEWFORM_PAYONLINE").val()==\'-1\') jQuery("#tremail").hide();
else jQuery("#tremail").show();
}
}
initfields();
jQuery("#MEMBER_ENABLE_PUBLIC").change(function() { initfields(); });
jQuery("#MEMBER_NEWFORM_PAYONLINE").change(function() { initemail(); });
})';
print '</script>'."\n";
}
@@ -119,7 +138,7 @@ print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
print '<td align="center" width="60">'.$langs->trans("Value").'</td>';
print '<td align="right">'.$langs->trans("Value").'</td>';
print "</tr>\n";
$var=true;
@@ -128,14 +147,14 @@ $var=! $var;
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<tr '.$bc[$var].'><td>';
print $langs->trans("EnablePublicSubscriptionForm");
print '</td><td width="60" align="right">';
print '</td><td align="right">';
print $form->selectyesno("MEMBER_ENABLE_PUBLIC",(! empty($conf->global->MEMBER_ENABLE_PUBLIC)?$conf->global->MEMBER_ENABLE_PUBLIC:0),1);
print "</td></tr>\n";
// Type
/*$var=! $var;
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<tr '.$bcdd[$var].'><td>';
print '<tr '.$bc[$var].' class="drag"><td>';
print $langs->trans("EnablePublicSubscriptionForm");
print '</td><td width="60" align="center">';
print $form->selectyesno("forcedate",$conf->global->MEMBER_NEWFORM_FORCETYPE,1);
@@ -144,32 +163,43 @@ print "</td></tr>\n"; */
// Amount
$var=! $var;
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<tr '.$bcdd[$var].'><td>';
print '<tr '.$bc[$var].' id="tramount"><td>';
print $langs->trans("DefaultAmount");
print '</td><td width="60" align="right">';
print '</td><td align="right">';
print '<input type="text" id="MEMBER_NEWFORM_AMOUNT" name="MEMBER_NEWFORM_AMOUNT" size="5" value="'.(! empty($conf->global->MEMBER_NEWFORM_AMOUNT)?$conf->global->MEMBER_NEWFORM_AMOUNT:'').'">';;
print "</td></tr>\n";
// Can edit
$var=! $var;
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<tr '.$bcdd[$var].'><td>';
print '<tr '.$bc[$var].' id="tredit"><td>';
print $langs->trans("CanEditAmount");
print '</td><td width="60" align="right">';
print '</td><td align="right">';
print $form->selectyesno("MEMBER_NEWFORM_EDITAMOUNT",(! empty($conf->global->MEMBER_NEWFORM_EDITAMOUNT)?$conf->global->MEMBER_NEWFORM_EDITAMOUNT:0),1);
print "</td></tr>\n";
if (! empty($conf->paybox->enabled) || ! empty($conf->paypal->enabled))
{
// Jump to an online payment page
$var=! $var;
print '<tr '.$bc[$var].' id="trpayment"><td>';
print $langs->trans("MEMBER_NEWFORM_PAYONLINE");
print '</td><td align="right">';
$listofval=array();
if (! empty($conf->paybox->enabled)) $listofval['paybox']='Paybox';
if (! empty($conf->paypal->enabled)) $listofval['paypal']='PayPal';
print $form->selectarray("MEMBER_NEWFORM_PAYONLINE",$listofval,(! empty($conf->global->MEMBER_NEWFORM_PAYONLINE)?$conf->global->MEMBER_NEWFORM_PAYONLINE:''),1);
print "</td></tr>\n";
}
if (! empty($conf->paybox->enabled) || ! empty($conf->paypal->enabled))
{
// Jump to an online payment page
$var=! $var;
print '<tr '.$bcdd[$var].'><td>';
print $langs->trans("MEMBER_NEWFORM_PAYONLINE");
print '</td><td width="60" align="right">';
$listofval=array();
if (! empty($conf->paybox->enabled)) $listofval['paybox']='Paybox';
if (! empty($conf->paypal->enabled)) $listofval['paypal']='PayPal';
print $form->selectarray("MEMBER_NEWFORM_PAYONLINE",$listofval,(! empty($conf->global->MEMBER_NEWFORM_PAYONLINE)?$conf->global->MEMBER_NEWFORM_PAYONLINE:''),1);
print '<tr '.$bc[$var].' id="tremail"><td>';
print $langs->trans("MEMBER_PAYONLINE_SENDEMAIL");
print '</td><td align="right">';
print '<input type="text" id="MEMBER_PAYONLINE_SENDEMAIL" name="MEMBER_PAYONLINE_SENDEMAIL" size="24" value="'.(! empty($conf->global->MEMBER_PAYONLINE_SENDEMAIL)?$conf->global->MEMBER_PAYONLINE_SENDEMAIL:'').'">';;
print "</td></tr>\n";
}

View File

@@ -139,9 +139,7 @@ if ($object->id > 0)
if (! empty($conf->agenda->enabled))
{
// FIXME socid parameters is not valid, a member is not a thirparty
//print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&socid='.$socid.'">'.$langs->trans("AddAction").'</a>';
print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create">'.$langs->trans("AddAction").'</a>';
print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create">'.$langs->trans("AddAction").'</a></div>';
}
print '</div>';

View File

@@ -286,10 +286,10 @@ abstract class ActionsAdherentCardCommon
}
// Zip
$this->tpl['select_zip'] = $formcompany->select_ziptown($this->object->zip,'zipcode',array('town','selectcountry_id','departement_id'),6);
$this->tpl['select_zip'] = $formcompany->select_ziptown($this->object->zip,'zipcode',array('town','selectcountry_id','state_id'),6);
// Town
$this->tpl['select_town'] = $formcompany->select_ziptown($this->object->town,'town',array('zipcode','selectcountry_id','departement_id'));
$this->tpl['select_town'] = $formcompany->select_ziptown($this->object->town,'town',array('zipcode','selectcountry_id','state_id'));
if (dol_strlen(trim($this->object->country_id)) == 0) $this->object->country_id = $objsoc->country_id;
@@ -300,7 +300,7 @@ abstract class ActionsAdherentCardCommon
if ($user->admin) $this->tpl['info_admin'] = info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
// State
if ($this->object->country_id) $this->tpl['select_state'] = $formcompany->select_state($this->object->fk_departement,$this->object->country_code);
if ($this->object->country_id) $this->tpl['select_state'] = $formcompany->select_state($this->object->state_id,$this->object->country_code);
else $this->tpl['select_state'] = $countrynotdefined;
// Physical or Moral
@@ -364,10 +364,10 @@ abstract class ActionsAdherentCardCommon
if ($action == 'create_user')
{
// Full firstname and name separated with a dot : firstname.name
// Full firstname and lastname separated with a dot : firstname.lastname
include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php';
$login=dol_buildlogin($this->object->nom, $this->object->prenom);
$login=dol_buildlogin($this->object->lastname, $this->object->firstname);
$generated_password=getRandomPassword('');
$password=$generated_password;
@@ -394,16 +394,14 @@ abstract class ActionsAdherentCardCommon
$this->object->old_firstname = $_POST["old_firstname"];
$this->object->fk_soc = $_POST["fk_soc"];
$this->object->name = $_POST["name"];
$this->object->lastname = $_POST["lastname"];
$this->object->firstname = $_POST["firstname"];
$this->object->civilite_id = $_POST["civilite_id"];
$this->object->address = $_POST["address"];
$this->object->zip = $_POST["zipcode"];
$this->object->town = $_POST["town"];
$this->object->fk_pays = $_POST["country_id"]?$_POST["country_id"]:$mysoc->country_id;
$this->object->fk_departement = $_POST["departement_id"];
$this->object->country_id = $_POST["country_id"]?$_POST["country_id"]:$mysoc->country_id;
$this->object->state_id = $_POST["departement_id"];
$this->object->state_id = $_POST["state_id"];
$this->object->phone_perso = $_POST["phone_perso"];
$this->object->phone_mobile = $_POST["phone_mobile"];
$this->object->email = $_POST["email"];
@@ -423,8 +421,6 @@ abstract class ActionsAdherentCardCommon
{
dol_print_error($this->db);
}
$this->object->pays_code = $obj->code;
$this->object->pays = $langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle;
$this->object->country_code = $obj->code;
$this->object->country = $langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->libelle;
}

View File

@@ -66,7 +66,7 @@ dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']
<tr>
<td><?php echo $langs->trans("Zip").' / '.$langs->trans("Town"); ?></td>
<td colspan="3"><?php echo $this->control->tpl['zip'].$this->control->tpl['ville']; ?></td>
<td colspan="3"><?php echo $this->control->tpl['zip'].$this->control->tpl['town']; ?></td>
</tr>
<tr>
@@ -76,7 +76,7 @@ dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']
<tr>
<td><?php echo $langs->trans('State'); ?></td>
<td colspan="3"><?php echo $this->control->tpl['departement']; ?></td>
<td colspan="3"><?php echo $this->control->tpl['state']; ?></td>
</tr>
<tr>

View File

@@ -362,7 +362,11 @@ if ($user->rights->adherent->cotisation->creer && $action == 'cotisation' && ! $
// Add line to draft invoice
$idprodsubscription=0;
$vattouse=get_default_tva($mysoc, $customer, $idprodsubscription);
$vattouse=0;
if (isset($conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS) && $conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS == 'defaultforfoundationcountry')
{
$vattouse=get_default_tva($mysoc, $mysoc, $idprodsubscription);
}
//print xx".$vattouse." - ".$mysoc." - ".$customer;exit;
$result=$invoice->addline($invoice->id,$label,0,1,$vattouse,0,0,$idprodsubscription,0,$datecotisation,$datesubend,0,0,'','TTC',$cotisation,1);
if ($result <= 0)
@@ -475,8 +479,6 @@ if ($rowid)
{
$res=$object->fetch($rowid);
if ($res < 0) { dol_print_error($db,$object->error); exit; }
//$res=$object->fetch_optionals($object->id,$extralabels);
//if ($res < 0) { dol_print_error($db); exit; }
$adht->fetch($object->typeid);
@@ -501,7 +503,7 @@ if ($rowid)
print $form->showrefnav($object, 'rowid', $linkback);
print '</td></tr>';
$showphoto='<td rowspan="'.$rowspan.'" align="center" valign="middle" width="25%">'.$form->showphoto('memberphoto',$object).'</td>';
$showphoto='<td rowspan="'.$rowspan.'" class="hideonsmartphone" align="center" valign="middle" width="25%">'.$form->showphoto('memberphoto',$object).'</td>';
// Login
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
@@ -638,8 +640,8 @@ if ($rowid)
{
print '<div class="tabsAction">';
if ($object->statut > 0) print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$rowid.'&action=addsubscription">'.$langs->trans("AddSubscription")."</a>";
else print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("AddSubscription").'</a>';
if ($object->statut > 0) print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$rowid.'&action=addsubscription">'.$langs->trans("AddSubscription")."</a></div>";
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("AddSubscription").'</a></div>';
print "<br>\n";
@@ -654,8 +656,9 @@ if ($rowid)
*/
if ($action != 'addsubscription' && $action != 'create_thirdparty')
{
$sql = "SELECT d.rowid, d.prenom, d.nom, d.societe,";
$sql = "SELECT d.rowid, d.firstname, d.lastname, d.societe,";
$sql.= " c.rowid as crowid, c.cotisation,";
$sql.= " c.datec,";
$sql.= " c.dateadh,";
$sql.= " c.datef,";
$sql.= " c.fk_bank,";
@@ -679,7 +682,8 @@ if ($rowid)
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Ref").'</td>';
print '<td align="center">'.$langs->trans("DateSubscription").'</td>';
print '<td align="center">'.$langs->trans("DateCreation").'</td>';
print '<td align="center">'.$langs->trans("DateStart").'</td>';
print '<td align="center">'.$langs->trans("DateEnd").'</td>';
print '<td align="right">'.$langs->trans("Amount").'</td>';
if (! empty($conf->banque->enabled))
@@ -697,6 +701,7 @@ if ($rowid)
$cotisationstatic->ref=$objp->crowid;
$cotisationstatic->id=$objp->crowid;
print '<td>'.$cotisationstatic->getNomUrl(1).'</td>';
print '<td align="center">'.dol_print_date($db->jdate($objp->datec),'dayhour')."</td>\n";
print '<td align="center">'.dol_print_date($db->jdate($objp->dateadh),'day')."</td>\n";
print '<td align="center">'.dol_print_date($db->jdate($objp->datef),'day')."</td>\n";
print '<td align="right">'.price($objp->cotisation).'</td>';
@@ -756,9 +761,9 @@ if ($rowid)
}
else
{
if (! empty($conf->global->ADHERENT_BANK_USE) && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled) && $object->fk_soc) $bankviainvoice=1;
else if (! empty($conf->global->ADHERENT_BANK_USE) && ! empty($conf->banque->enabled)) $bankdirect=1;
else if (empty($conf->global->ADHERENT_BANK_USE) && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled) && $object->fk_soc) $invoiceonly=1;
if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankviainvoice' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled) && $object->fk_soc) $bankviainvoice=1;
else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankdirect' && ! empty($conf->banque->enabled)) $bankdirect=1;
else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'invoiceonly' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled) && $object->fk_soc) $invoiceonly=1;
}
print "\n\n<!-- Form add subscription -->\n";
@@ -825,7 +830,7 @@ if ($rowid)
print '<input type="hidden" name="action" value="cotisation">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="memberlabel" id="memberlabel" value="'.dol_escape_htmltag($object->getFullName($langs)).'">';
print '<input type="hidden" name="thirdpartylabel" id="thirdpartylabel" value="'.dol_escape_htmltag($object->name).'">';
print '<input type="hidden" name="thirdpartylabel" id="thirdpartylabel" value="'.dol_escape_htmltag($object->societe).'">';
print "<table class=\"border\" width=\"100%\">\n";
$today=dol_now();
@@ -895,16 +900,18 @@ if ($rowid)
// Title payments
//print '<tr><td colspan="2"><b>'.$langs->trans("Payment").'</b></td></tr>';
// Define a way to write payment
// No more action
print '<tr><td valign="top" class="fieldrequired">'.$langs->trans('MoreActions');
print '</td>';
print '<td>';
print '<input type="radio" class="moreaction" id="none" name="paymentsave" value="none"'.(empty($bankdirect) && empty($invoiceonly) && empty($bankviainvoice)?' checked="checked"':'').'> '.$langs->trans("None").'<br>';
// Add entry into bank accoun
if (! empty($conf->banque->enabled))
{
print '<input type="radio" class="moreaction" id="bankdirect" name="paymentsave" value="bankdirect"'.(! empty($bankdirect)?' checked="checked"':'');
print '> '.$langs->trans("MoreActionBankDirect").'<br>';
}
// Add invoice with no payments
if (! empty($conf->societe->enabled) && ! empty($conf->facture->enabled))
{
print '<input type="radio" class="moreaction" id="invoiceonly" name="paymentsave" value="invoiceonly"'.(! empty($invoiceonly)?' checked="checked"':'');
@@ -912,14 +919,16 @@ if ($rowid)
print '> '.$langs->trans("MoreActionInvoiceOnly");
if ($object->fk_soc) print ' ('.$langs->trans("ThirdParty").': '.$company->getNomUrl(1).')';
else
{
{
print ' ('.$langs->trans("NoThirdPartyAssociatedToMember");
print ' - <a href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_thirdparty">';
print $langs->trans("CreateDolibarrThirdParty");
print '</a>)';
}
if (empty($conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS) || $conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS != 'defaultforfoundationcountry') print '. '.$langs->trans("NoVatOnSubscription",0).'.';
print '<br>';
}
// Add invoice with payments
if (! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled))
{
print '<input type="radio" class="moreaction" id="bankviainvoice" name="paymentsave" value="bankviainvoice"'.(! empty($bankviainvoice)?' checked="checked"':'');
@@ -927,12 +936,13 @@ if ($rowid)
print '> '.$langs->trans("MoreActionBankViaInvoice");
if ($object->fk_soc) print ' ('.$langs->trans("ThirdParty").': '.$company->getNomUrl(1).')';
else
{
{
print ' ('.$langs->trans("NoThirdPartyAssociatedToMember");
print ' - <a href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_thirdparty">';
print $langs->trans("CreateDolibarrThirdParty");
print '</a>)';
}
if (empty($conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS) || $conf->global->ADHERENT_VAT_FOR_SUBSCRIPTIONS != 'defaultforfoundationcountry') print '. '.$langs->trans("NoVatOnSubscription",0).'.';
print '<br>';
}
print '</td></tr>';
@@ -1025,4 +1035,4 @@ else
llxFooter();
$db->close();
?>
?>

View File

@@ -61,12 +61,12 @@ if ((! empty($foruserid) || ! empty($foruserlogin) || ! empty($mode)) && ! $mesg
$arrayofmembers=array();
// requete en prenant que les adherents a jour de cotisation
$sql = "SELECT d.rowid, d.prenom as firstname, d.nom as lastname, d.login, d.societe as company, d.datefin,";
$sql.= " d.adresse as address, d.cp as zip, d.ville as town, d.naiss, d.email, d.photo,";
$sql = "SELECT d.rowid, d.firstname, d.lastname, d.login, d.societe as company, d.datefin,";
$sql.= " d.address, d.zip, d.town, d.country, d.birth, d.email, d.photo,";
$sql.= " t.libelle as type,";
$sql.= " p.code as country_code, p.libelle as country";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent_type as t, ".MAIN_DB_PREFIX."adherent as d";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON d.pays = p.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON d.country = p.rowid";
$sql.= " WHERE d.fk_adherent_type = t.rowid AND d.statut = 1";
if (is_numeric($foruserid)) $sql.=" AND d.rowid=".$foruserid;
if ($foruserlogin) $sql.=" AND d.login='".$db->escape($foruserlogin)."'";
@@ -101,23 +101,14 @@ if ((! empty($foruserid) || ! empty($foruserlogin) || ! empty($mode)) && ! $mesg
'%COUNTRY%'=>$objp->country,
'%COUNTRY_CODE%'=>$objp->country_code,
'%EMAIL%'=>$objp->email,
'%NAISS%'=>dol_print_date($objp->naiss,'day'),
'%BIRTH%'=>dol_print_date($objp->birth,'day'),
'%TYPE%'=>$objp->type,
'%YEAR%'=>$year,
'%MONTH%'=>$month,
'%DAY%'=>$day,
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/", // deprecated
// For backward compatibility
'%PRENOM%'=>$objp->firstname,
'%NOM%'=>$objp->lastname,
'%SOCIETE%'=>$objp->company,
'%ADRESSE%'=>$objp->address,
'%CP%'=>$objp->zip,
'%VILLE%'=>$objp->town,
'%PAYS%'=>$objp->country,
'%ANNEE%'=>$year,
'%SERVEUR%'=>"http://".$_SERVER["SERVER_NAME"]."/" // deprecated
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/",
'%SOCIETE%'=>$objp->company
);
complete_substitutions_array($substitutionarray, $langs);

View File

@@ -41,36 +41,30 @@ class Adherent extends CommonObject
public $table_element='adherent';
protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
var $error;
var $errors;
var $mesgs;
var $id;
var $ref;
var $civilite_id;
var $firstname;
var $prenom; // deprecated
var $lastname;
var $nom; // deprecated
var $login;
var $pass;
var $societe;
var $adresse;
var $company;
var $address;
var $cp;
var $zip;
var $ville;
var $town;
var $state_id; // Id of department
var $state_code; // Code of department
var $state; // Label of department
var $fk_departement; // deprecated
var $departement_code; // deprecated
var $departement; // deprecated
var $country_id;
var $country_code;
var $country;
var $pays_id; // deprecated
var $pays_code; // deprecated
var $pays; // deprecated
var $email;
var $phone;
@@ -87,7 +81,7 @@ class Adherent extends CommonObject
var $datem;
var $datefin;
var $datevalid;
var $naiss;
var $birth;
var $typeid; // Id type adherent
var $type; // Libelle type adherent
@@ -185,7 +179,7 @@ class Adherent extends CommonObject
{
global $conf,$langs;
$birthday = dol_print_date($this->naiss,'day');
$birthday = dol_print_date($this->birth,'day');
$msgishtml = 0;
if (dol_textishtml($text,1)) $msgishtml = 1;
@@ -224,16 +218,15 @@ class Adherent extends CommonObject
'%TOWN%'=>$msgishtml?dol_htmlentitiesbr($this->town):$this->town,
'%COUNTRY%'=>$msgishtml?dol_htmlentitiesbr($this->country):$this->country,
'%EMAIL%'=>$msgishtml?dol_htmlentitiesbr($this->email):$this->email,
'%NAISS%'=>$msgishtml?dol_htmlentitiesbr($birthday):$birthday,
'%BIRTH%'=>$msgishtml?dol_htmlentitiesbr($birthday):$birthday,
'%PHOTO%'=>$msgishtml?dol_htmlentitiesbr($this->photo):$this->photo,
'%LOGIN%'=>$msgishtml?dol_htmlentitiesbr($this->login):$this->login,
'%PASSWORD%'=>$msgishtml?dol_htmlentitiesbr($this->pass):$this->pass,
// For backward compatibility
'%INFOS%'=>$msgishtml?dol_htmlentitiesbr($infos):$infos,
'%SOCIETE%'=>$msgishtml?dol_htmlentitiesbr($this->societe):$this->societe,
'%PRENOM%'=>$msgishtml?dol_htmlentitiesbr($this->firstname):$this->firstname,
'%NOM%'=>$msgishtml?dol_htmlentitiesbr($this->lastname):$this->lastname,
'%SOCIETE%'=>$msgishtml?dol_htmlentitiesbr($this->societe):$this->societe,
'%ADRESSE%'=>$msgishtml?dol_htmlentitiesbr($this->address):$this->address,
'%CP%'=>$msgishtml?dol_htmlentitiesbr($this->zip):$this->zip,
'%VILLE%'=>$msgishtml?dol_htmlentitiesbr($this->town):$this->town,
'%PAYS%'=>$msgishtml?dol_htmlentitiesbr($this->country):$this->country,
@@ -394,7 +387,7 @@ class Adherent extends CommonObject
*/
function update($user,$notrigger=0,$nosyncuser=0,$nosyncuserpass=0,$nosyncthirdparty=0,$action='update')
{
global $conf, $langs;
global $conf, $langs, $hookmanager;
$nbrowsaffected=0;
$error=0;
@@ -402,13 +395,13 @@ class Adherent extends CommonObject
dol_syslog(get_class($this)."::update notrigger=".$notrigger.", nosyncuser=".$nosyncuser.", nosyncuserpass=".$nosyncuserpass.", email=".$this->email);
// Clean parameters
$this->lastname=trim($this->lastname)?trim($this->lastname):trim($this->nom);
$this->firstname=trim($this->firstname)?trim($this->firstname):trim($this->prenom);
$this->address=($this->address?$this->address:$this->adresse);
$this->zip=($this->zip?$this->zip:$this->cp);
$this->town=($this->town?$this->town:$this->ville);
$this->country_id=($this->country_id > 0?$this->country_id:$this->fk_pays);
$this->state_id=($this->state_id > 0?$this->state_id:$this->fk_departement);
$this->lastname=trim($this->lastname)?trim($this->lastname):trim($this->lastname);
$this->firstname=trim($this->firstname)?trim($this->firstname):trim($this->firstname);
$this->address=($this->address?$this->address:$this->address);
$this->zip=($this->zip?$this->zip:$this->zip);
$this->town=($this->town?$this->town:$this->town);
$this->country_id=($this->country_id > 0?$this->country_id:$this->country_id);
$this->state_id=($this->state_id > 0?$this->state_id:$this->state_id);
if (! empty($conf->global->MAIN_FIRST_TO_UPPER)) $this->lastname=ucwords(trim($this->lastname));
if (! empty($conf->global->MAIN_FIRST_TO_UPPER)) $this->firstname=ucwords(trim($this->firstname));
@@ -424,16 +417,16 @@ class Adherent extends CommonObject
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET";
$sql.= " civilite = ".(!is_null($this->civilite_id)?"'".$this->civilite_id."'":"null");
$sql.= ", prenom = ".($this->firstname?"'".$this->db->escape($this->firstname)."'":"null");
$sql.= ", nom=" .($this->lastname?"'".$this->db->escape($this->lastname)."'":"null");
$sql.= ", firstname = ".($this->firstname?"'".$this->db->escape($this->firstname)."'":"null");
$sql.= ", lastname=" .($this->lastname?"'".$this->db->escape($this->lastname)."'":"null");
$sql.= ", login=" .($this->login?"'".$this->db->escape($this->login)."'":"null");
$sql.= ", societe=" .($this->societe?"'".$this->db->escape($this->societe)."'":"null");
$sql.= ", fk_soc=" .($this->fk_soc > 0?"'".$this->fk_soc."'":"null");
$sql.= ", adresse=" .($this->address?"'".$this->db->escape($this->address)."'":"null");
$sql.= ", cp=" .($this->zip?"'".$this->db->escape($this->zip)."'":"null");
$sql.= ", ville=" .($this->town?"'".$this->db->escape($this->town)."'":"null");
$sql.= ", pays=" .($this->country_id>0?"'".$this->country_id."'":"null");
$sql.= ", fk_departement=".($this->state_id>0?"'".$this->state_id."'":"null");
$sql.= ", address=" .($this->address?"'".$this->db->escape($this->address)."'":"null");
$sql.= ", zip=" .($this->zip?"'".$this->db->escape($this->zip)."'":"null");
$sql.= ", town=" .($this->town?"'".$this->db->escape($this->town)."'":"null");
$sql.= ", country=".($this->country_id>0?"'".$this->country_id."'":"null");
$sql.= ", state_id=".($this->state_id>0?"'".$this->state_id."'":"null");
$sql.= ", email='".$this->email."'";
$sql.= ", phone=" .($this->phone?"'".$this->db->escape($this->phone)."'":"null");
$sql.= ", phone_perso=" .($this->phone_perso?"'".$this->db->escape($this->phone_perso)."'":"null");
@@ -444,7 +437,7 @@ class Adherent extends CommonObject
$sql.= ", statut=" .$this->statut;
$sql.= ", fk_adherent_type=".$this->typeid;
$sql.= ", morphy='".$this->morphy."'";
$sql.= ", naiss=" .($this->naiss?"'".$this->db->idate($this->naiss)."'":"null");
$sql.= ", birth=" .($this->birth?"'".$this->db->idate($this->birth)."'":"null");
if ($this->datefin) $sql.= ", datefin='".$this->db->idate($this->datefin)."'"; // Ne doit etre modifie que par effacement cotisation
if ($this->datevalid) $sql.= ", datevalid='".$this->db->idate($this->datevalid)."'"; // Ne doit etre modifie que par validation adherent
$sql.= ", fk_user_mod=".($user->id>0?$user->id:'null'); // Can be null because member can be create by a guest
@@ -462,8 +455,6 @@ class Adherent extends CommonObject
$nbrowsaffected+=$this->db->affected_rows($resql);
// Actions on extra fields (by external module)
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($this->db);
$hookmanager->initHooks(array('memberdao'));
$parameters=array('id'=>$this->id);
$action='';
@@ -528,8 +519,6 @@ class Adherent extends CommonObject
$luser->civilite_id=$this->civilite_id;
$luser->firstname=$this->firstname;
$luser->lastname=$this->lastname;
$luser->prenom=$this->firstname; // deprecated
$luser->nom=$this->lastname; // deprecated
$luser->login=$this->user_login;
$luser->pass=$this->pass;
$luser->societe_id=$this->societe;
@@ -576,7 +565,7 @@ class Adherent extends CommonObject
$lthirdparty->tel=$this->phone;
$lthirdparty->state_id=$this->state_id;
$lthirdparty->country_id=$this->country_id;
$lthirdparty->pays_id=$this->country_id;
$lthirdparty->country_id=$this->country_id;
//$lthirdparty->phone_mobile=$this->phone_mobile;
$result=$lthirdparty->update($this->fk_soc,$user,0,1,1,'update'); // Use sync to 0 to avoid cyclic updates
@@ -948,7 +937,7 @@ class Adherent extends CommonObject
$this->db->begin();
// Update link to third party
// Remove link to third party onto any other members
if ($thirdpartyid > 0)
{
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET fk_soc = null";
@@ -958,7 +947,7 @@ class Adherent extends CommonObject
$resql = $this->db->query($sql);
}
// Update link to third party
// Add link to third party for current member
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET fk_soc = ".($thirdpartyid>0 ? $thirdpartyid : 'null');
$sql.= " WHERE rowid = ".$this->id;
@@ -1021,23 +1010,23 @@ class Adherent extends CommonObject
{
global $langs;
$sql = "SELECT d.rowid, d.civilite, d.prenom as firstname, d.nom as lastname, d.societe, d.fk_soc, d.statut, d.public, d.adresse as address, d.cp as zip, d.ville as town, d.note,";
$sql = "SELECT d.rowid, d.civilite, d.firstname, d.lastname, d.societe as company, d.fk_soc, d.statut, d.public, d.address, d.zip, d.town, d.note,";
$sql.= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.login, d.pass,";
$sql.= " d.photo, d.fk_adherent_type, d.morphy, d.entity,";
$sql.= " d.datec as datec,";
$sql.= " d.tms as datem,";
$sql.= " d.datefin as datefin,";
$sql.= " d.naiss as datenaiss,";
$sql.= " d.birth as birthday,";
$sql.= " d.datevalid as datev,";
$sql.= " d.pays,";
$sql.= " d.fk_departement,";
$sql.= " d.country,";
$sql.= " d.state_id,";
$sql.= " p.rowid as country_id, p.code as country_code, p.libelle as country,";
$sql.= " dep.nom as state, dep.code_departement as state_code,";
$sql.= " t.libelle as type, t.cotisation as cotisation,";
$sql.= " u.rowid as user_id, u.login as user_login";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent_type as t, ".MAIN_DB_PREFIX."adherent as d";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON d.pays = p.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as dep ON d.fk_departement = dep.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON d.country = p.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as dep ON d.state_id = dep.rowid";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON d.rowid = u.fk_member";
$sql.= " WHERE d.fk_adherent_type = t.rowid";
if ($rowid) $sql.= " AND d.rowid=".$rowid;
@@ -1059,27 +1048,20 @@ class Adherent extends CommonObject
$this->ref = $obj->rowid;
$this->id = $obj->rowid;
$this->civilite_id = $obj->civilite;
$this->prenom = $obj->firstname; // deprecated
$this->firstname = $obj->firstname;
$this->nom = $obj->lastname; // deprecated
$this->lastname = $obj->lastname;
$this->login = $obj->login;
$this->pass = $obj->pass;
$this->societe = $obj->societe;
$this->societe = $obj->company;
$this->company = $obj->company;
$this->fk_soc = $obj->fk_soc;
$this->adresse = $obj->address; // deprecated
$this->address = $obj->address;
$this->cp = $obj->zip; // deprecated
$this->zip = $obj->zip;
$this->ville = $obj->town; // deprecated
$this->town = $obj->town;
$this->state_id = $obj->fk_departement;
$this->state_code = $obj->fk_departement?$obj->state_code:'';
$this->state = $obj->fk_departement?$obj->state:'';
$this->fk_departement = $obj->fk_departement; // deprecated
$this->departement_code = $obj->fk_departement?$obj->state_code:''; // deprecated
$this->departement = $obj->fk_departement?$obj->state:''; // deprecated
$this->state_id = $obj->state_id;
$this->state_code = $obj->state_id?$obj->state_code:'';
$this->state = $obj->state_id?$obj->state:'';
$this->country_id = $obj->country_id;
$this->country_code = $obj->country_code;
@@ -1087,9 +1069,6 @@ class Adherent extends CommonObject
$this->country = $langs->transnoentitiesnoconv("Country".$obj->country_code);
else
$this->country=$obj->country;
$this->pays_id = $obj->country_id; // deprecated
$this->pays_code = $obj->country_code; // deprecated
$this->pays = $this->country; // deprecated
$this->phone = $obj->phone;
$this->phone_perso = $obj->phone_perso;
@@ -1104,7 +1083,7 @@ class Adherent extends CommonObject
$this->datem = $this->db->jdate($obj->datem);
$this->datefin = $this->db->jdate($obj->datefin);
$this->datevalid = $this->db->jdate($obj->datev);
$this->naiss = $this->db->jdate($obj->datenaiss);
$this->birth = $this->db->jdate($obj->birthday);
$this->note = $obj->note;
$this->morphy = $obj->morphy;
@@ -1116,6 +1095,15 @@ class Adherent extends CommonObject
$this->user_id = $obj->user_id;
$this->user_login = $obj->user_login;
// Retreive all extrafield for thirdparty
// fetch optionals attributes and labels
require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php');
$extrafields=new ExtraFields($this->db);
$extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true);
if (count($extralabels)>0) {
$this->fetch_optionals($this->id,$extralabels);
}
// Load other properties
$result=$this->fetch_subscriptions();
@@ -1203,7 +1191,7 @@ class Adherent extends CommonObject
* Insert subscription into database and eventually add links to banks, mailman, etc...
*
* @param timestamp $date Date d'effet de la cotisation
* @param amount $montant Montant cotisation (accepte 0 pour les adherents non soumis e cotisation)
* @param amount $montant Montant cotisation (accepte 0 pour les adherents non soumis a cotisation)
* @param int $accountid Id compte bancaire
* @param string $operation Type operation (si Id compte bancaire fourni)
* @param string $label Label operation (si Id compte bancaire fourni)
@@ -1388,17 +1376,17 @@ class Adherent extends CommonObject
/**
* Fonction qui ajoute l'adherent au abonnements automatiques mailing-list, spip, etc.
* Fonction qui ajoute l'adherent aux abonnements automatiques mailing-list, spip, etc.
* TODO Move this into member creation trigger (trigger of mailmanspip module)
*
* @return int <0 if KO, >0 if OK
*/
function add_to_abo()
{
global $conf;
global $conf,$langs;
include_once DOL_DOCUMENT_ROOT.'/mailmanspip/class/mailmanspip.class.php';
$mailmanspip=new MailmanSpip($db);
$mailmanspip=new MailmanSpip($this->db);
$err=0;
@@ -1411,6 +1399,16 @@ class Adherent extends CommonObject
$this->error=$mailmanspip->error;
$err+=1;
}
foreach ($mailmanspip->mladded_ko as $tmplist => $tmpemail)
{
$langs->load("errors");
$this->errors[]=$langs->trans("ErrorFailedToAddToMailmanList",$tmpemail,$tmplist);
}
foreach ($mailmanspip->mladded_ok as $tmplist => $tmpemail)
{
$langs->load("mailmanspip");
$this->mesgs[]=$langs->trans("SuccessToAddToMailmanList",$tmpemail,$tmplist);
}
}
// spip
@@ -1425,11 +1423,10 @@ class Adherent extends CommonObject
}
if ($err)
{
// error
return -$err;
}
else
{
{
return 1;
}
}
@@ -1443,10 +1440,10 @@ class Adherent extends CommonObject
*/
function del_to_abo()
{
global $conf;
global $conf,$langs;
include_once DOL_DOCUMENT_ROOT.'/mailmanspip/class/mailmanspip.class.php';
$mailmanspip=new MailmanSpip($db);
$mailmanspip=new MailmanSpip($this->db);
$err=0;
@@ -1456,8 +1453,20 @@ class Adherent extends CommonObject
$result=$mailmanspip->del_to_mailman($this);
if ($result < 0)
{
$this->error=$mailmanspip->error;
$err+=1;
}
foreach ($mailmanspip->mlremoved_ko as $tmplist => $tmpemail)
{
$langs->load("errors");
$this->errors[]=$langs->trans("ErrorFailedToRemoveToMailmanList",$tmpemail,$tmplist);
}
foreach ($mailmanspip->mlremoved_ok as $tmplist => $tmpemail)
{
$langs->load("mailmanspip");
$this->mesgs[]=$langs->trans("SuccessToRemoveToMailmanList",$tmpemail,$tmplist);
}
}
if ($conf->global->ADHERENT_USE_SPIP && ! empty($conf->mailmanspip->enabled))
@@ -1481,7 +1490,7 @@ class Adherent extends CommonObject
/**
* Return label of a civility of a contact
* Return civility label of a contact
*
* @param int $nohtmlentities 0=Encode with htmlentities for HTML output, 1=No htmlentities for memory translation
* @return string Name translated of civility
@@ -1520,7 +1529,12 @@ class Adherent extends CommonObject
$lien = '<a href="'.DOL_URL_ROOT.'/adherents/card_subscriptions.php?rowid='.$this->id.'">';
$lienfin='</a>';
}
if ($option == 'category')
{
$lien = '<a href="'.DOL_URL_ROOT.'/categories/categorie.php?id='.$this->id.'&type=3">';
$lienfin='</a>';
}
$picto='user';
$label=$langs->trans("ShowMember");
@@ -1530,40 +1544,6 @@ class Adherent extends CommonObject
return $result;
}
/**
* Return full address of member
*
* @param int $withcountry 1=Add country into address string
* @param string $sep Separator to use to build string
* @return string Full address string
*/
function getFullAddress($withcountry=0,$sep="\n")
{
$ret='';
if ($withcountry && $this->country_id && (empty($this->country_code) || empty($this->country)))
{
require_once DOL_DOCUMENT_ROOT .'/core/lib/company.lib.php';
$tmparray=getCountry($this->country_id,'all');
$this->country_code=$tmparray['code'];
$this->country =$tmparray['label'];
}
if (in_array($this->country_code,array('US')))
{
$ret.=($this->address?$this->address.$sep:'');
$ret.=trim($this->zip.' '.$this->town);
if ($withcountry) $ret.=($this->country?$sep.$this->country:'');
}
else
{
$ret.=($this->address?$this->address.$sep:'');
$ret.=trim($this->zip.' '.$this->town);
if ($withcountry) $ret.=($this->country?$sep.$this->country:'');
}
return trim($ret);
}
/**
* Retourne le libelle du statut d'un adherent (brouillon, valide, resilie)
*
@@ -1648,11 +1628,11 @@ class Adherent extends CommonObject
if ($statut == -1) return $langs->trans("MemberStatusDraft").' '.img_picto($langs->trans('MemberStatusDraft'),'statut0');
if ($statut >= 1)
{
if (! $date_end_subscription) return $langs->trans("MemberStatusActive").' '.img_picto($langs->trans('MemberStatusActive'),'statut1');
elseif ($date_end_subscription < time()) return $langs->trans("MemberStatusActiveLate").' '.img_picto($langs->trans('MemberStatusActiveLate'),'statut3');
else return $langs->trans("MemberStatusPaid").' '.img_picto($langs->trans('MemberStatusPaid'),'statut4');
if (! $date_end_subscription) return '<span class="hideonsmartphone">'.$langs->trans("MemberStatusActive").' </span>'.img_picto($langs->trans('MemberStatusActive'),'statut1');
elseif ($date_end_subscription < time()) return '<span class="hideonsmartphone">'.$langs->trans("MemberStatusActiveLate").' </span>'.img_picto($langs->trans('MemberStatusActiveLate'),'statut3');
else return '<span class="hideonsmartphone">'.$langs->trans("MemberStatusPaid").' </span>'.img_picto($langs->trans('MemberStatusPaid'),'statut4');
}
if ($statut == 0) return $langs->trans("MemberStatusResiliated").' '.img_picto($langs->trans('MemberStatusResiliated'),'statut5');
if ($statut == 0) return '<span class="hideonsmartphone">'.$langs->trans("MemberStatusResiliated").' </span>'.img_picto($langs->trans('MemberStatusResiliated'),'statut5');
}
}
@@ -1764,7 +1744,7 @@ class Adherent extends CommonObject
$this->phone_perso = '0999999998';
$this->phone_mobile = '0999999997';
$this->note='No comment';
$this->naiss=time();
$this->birth=time();
$this->photo='';
$this->public=1;
$this->statut=0;
@@ -1821,14 +1801,14 @@ class Adherent extends CommonObject
// Member
if ($this->fullname && ! empty($conf->global->LDAP_MEMBER_FIELD_FULLNAME)) $info[$conf->global->LDAP_MEMBER_FIELD_FULLNAME] = $this->fullname;
if ($this->nom && ! empty($conf->global->LDAP_MEMBER_FIELD_NAME)) $info[$conf->global->LDAP_MEMBER_FIELD_NAME] = $this->nom;
if ($this->prenom && ! empty($conf->global->LDAP_MEMBER_FIELD_FIRSTNAME)) $info[$conf->global->LDAP_MEMBER_FIELD_FIRSTNAME] = $this->prenom;
if ($this->lastname && ! empty($conf->global->LDAP_MEMBER_FIELD_NAME)) $info[$conf->global->LDAP_MEMBER_FIELD_NAME] = $this->lastname;
if ($this->firstname && ! empty($conf->global->LDAP_MEMBER_FIELD_FIRSTNAME)) $info[$conf->global->LDAP_MEMBER_FIELD_FIRSTNAME] = $this->firstname;
if ($this->login && ! empty($conf->global->LDAP_MEMBER_FIELD_LOGIN)) $info[$conf->global->LDAP_MEMBER_FIELD_LOGIN] = $this->login;
if ($this->pass && ! empty($conf->global->LDAP_MEMBER_FIELD_PASSWORD)) $info[$conf->global->LDAP_MEMBER_FIELD_PASSWORD] = $this->pass; // this->pass = mot de passe non crypte
if ($this->poste && ! empty($conf->global->LDAP_MEMBER_FIELD_TITLE)) $info[$conf->global->LDAP_MEMBER_FIELD_TITLE] = $this->poste;
if ($this->adresse && ! empty($conf->global->LDAP_MEMBER_FIELD_ADDRESS)) $info[$conf->global->LDAP_MEMBER_FIELD_ADDRESS] = $this->adresse;
if ($this->cp && ! empty($conf->global->LDAP_MEMBER_FIELD_ZIP)) $info[$conf->global->LDAP_MEMBER_FIELD_ZIP] = $this->cp;
if ($this->ville && ! empty($conf->global->LDAP_MEMBER_FIELD_TOWN)) $info[$conf->global->LDAP_MEMBER_FIELD_TOWN] = $this->ville;
if ($this->address && ! empty($conf->global->LDAP_MEMBER_FIELD_ADDRESS)) $info[$conf->global->LDAP_MEMBER_FIELD_ADDRESS] = $this->address;
if ($this->zip && ! empty($conf->global->LDAP_MEMBER_FIELD_ZIP)) $info[$conf->global->LDAP_MEMBER_FIELD_ZIP] = $this->zip;
if ($this->town && ! empty($conf->global->LDAP_MEMBER_FIELD_TOWN)) $info[$conf->global->LDAP_MEMBER_FIELD_TOWN] = $this->town;
if ($this->country_code && ! empty($conf->global->LDAP_MEMBER_FIELD_COUNTRY)) $info[$conf->global->LDAP_MEMBER_FIELD_COUNTRY] = $this->country_code;
if ($this->email && ! empty($conf->global->LDAP_MEMBER_FIELD_MAIL)) $info[$conf->global->LDAP_MEMBER_FIELD_MAIL] = $this->email;
if ($this->phone && ! empty($conf->global->LDAP_MEMBER_FIELD_PHONE)) $info[$conf->global->LDAP_MEMBER_FIELD_PHONE] = $this->phone;
@@ -1836,7 +1816,7 @@ class Adherent extends CommonObject
if ($this->phone_mobile && ! empty($conf->global->LDAP_MEMBER_FIELD_MOBILE)) $info[$conf->global->LDAP_MEMBER_FIELD_MOBILE] = $this->phone_mobile;
if ($this->fax && ! empty($conf->global->LDAP_MEMBER_FIELD_FAX)) $info[$conf->global->LDAP_MEMBER_FIELD_FAX] = $this->fax;
if ($this->note && ! empty($conf->global->LDAP_MEMBER_FIELD_DESCRIPTION)) $info[$conf->global->LDAP_MEMBER_FIELD_DESCRIPTION] = $this->note;
if ($this->naiss && ! empty($conf->global->LDAP_MEMBER_FIELD_BIRTHDATE)) $info[$conf->global->LDAP_MEMBER_FIELD_BIRTHDATE] = dol_print_date($this->naiss,'dayhourldap');
if ($this->birth && ! empty($conf->global->LDAP_MEMBER_FIELD_BIRTHDATE)) $info[$conf->global->LDAP_MEMBER_FIELD_BIRTHDATE] = dol_print_date($this->birth,'dayhourldap');
if (isset($this->statut) && ! empty($conf->global->LDAP_FIELD_MEMBER_STATUS)) $info[$conf->global->LDAP_FIELD_MEMBER_STATUS] = $this->statut;
if ($this->datefin && ! empty($conf->global->LDAP_FIELD_MEMBER_END_LASTSUBSCRIPTION)) $info[$conf->global->LDAP_FIELD_MEMBER_END_LASTSUBSCRIPTION] = dol_print_date($this->datefin,'dayhourldap');

View File

@@ -33,6 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php';
class AdherentType extends CommonObject
{
public $table_element = 'adherent_type';
public $element = 'adherent_type';
var $id;
var $libelle;
@@ -43,7 +44,6 @@ class AdherentType extends CommonObject
var $mail_valid; //mail envoye lors de la validation
/**
* Constructor
*
@@ -99,6 +99,8 @@ class AdherentType extends CommonObject
*/
function update($user)
{
global $hookmanager;
$this->libelle=trim($this->libelle);
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent_type ";
@@ -114,6 +116,24 @@ class AdherentType extends CommonObject
$result = $this->db->query($sql);
if ($result)
{
// Actions on extra fields (by external module or standard code)
$hookmanager->initHooks(array('membertypedao'));
$parameters=array('membertype'=>$this->id);
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
if (empty($reshook))
{
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
{
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
}
}
else if ($reshook < 0) $error++;
return 1;
}
else

View File

@@ -46,8 +46,8 @@ if (! $sortfield) { $sortfield="c.dateadh"; }
$msg='';
$date_select=isset($_GET["date_select"])?$_GET["date_select"]:$_POST["date_select"];
// Security check
$result=restrictedArea($user,'adherent','','','cotisation');
// Security check
$result=restrictedArea($user,'adherent','','','cotisation');
/*
@@ -64,7 +64,7 @@ llxHeader('',$langs->trans("ListOfSubscriptions"),'EN:Module_Foundations|FR:Modu
if ($msg) print $msg.'<br>';
// Liste des cotisations
$sql = "SELECT d.rowid, d.login, d.prenom as firstname, d.nom as lastname, d.societe,";
$sql = "SELECT d.rowid, d.login, d.firstname, d.lastname, d.societe,";
$sql.= " c.rowid as crowid, c.cotisation,";
$sql.= " c.dateadh,";
$sql.= " c.datef,";
@@ -96,7 +96,7 @@ if ($result)
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("Ref"),"cotisations.php","c.rowid",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Name"),"cotisations.php","d.nom",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Name"),"cotisations.php","d.lastname",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Login"),"cotisations.php","d.login",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Label"),"cotisations.php","c.note",$param,"",'align="left"',$sortfield,$sortorder);
if (! empty($conf->banque->enabled))
@@ -141,7 +141,7 @@ if ($result)
// Ref
print '<td>'.$cotisation->getNomUrl(1).'</td>';
// Nom
// Lastname
print '<td>'.$adherent->getNomUrl(1).'</td>';
// Login

View File

@@ -159,11 +159,11 @@ if ($id > 0)
print '<tr><td>'.$langs->trans("UserTitle").'</td><td class="valeur">'.$member->getCivilityLabel().'&nbsp;</td>';
print '</tr>';
// Nom
// Lastname
print '<tr><td>'.$langs->trans("Lastname").'</td><td class="valeur">'.$member->lastname.'&nbsp;</td>';
print '</tr>';
// Prenom
// Firstname
print '<tr><td>'.$langs->trans("Firstname").'</td><td class="valeur">'.$member->firstname.'&nbsp;</td>';
print '</tr>';

View File

@@ -4,7 +4,7 @@
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2012-2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -49,8 +49,8 @@ $backtopage=GETPOST('backtopage','alpha');
$confirm=GETPOST('confirm','alpha');
$rowid=GETPOST('rowid','int');
$typeid=GETPOST('typeid','int');
$userid=GETPOST('userid','int');
$socid=GETPOST('socid','int');
$userid=GETPOST('userid','int');
$socid=GETPOST('socid','int');
if (! empty($conf->mailmanspip->enabled))
{
@@ -64,8 +64,11 @@ if (! empty($conf->mailmanspip->enabled))
$object = new Adherent($db);
$extrafields = new ExtraFields($db);
// fetch optionals attributes and labels
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
// Get object canvas (By default, this is not defined, so standard usage of dolibarr)
$object->getCanvas($socid);
$object->getCanvas($rowid);
$canvas = $object->canvas?$object->canvas:GETPOST("canvas");
$objcanvas='';
if (! empty($canvas))
@@ -98,17 +101,15 @@ if ($rowid > 0)
}
}
// Define variables to know what current user can do on members
// Define variables to determine what the current user can do on the members
$canaddmember=$user->rights->adherent->creer;
// Define variables to know what current user can do on properties of a member
// Define variables to determine what the current user can do on the properties of a member
if ($rowid)
{
$caneditfieldmember=$user->rights->adherent->creer;
}
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($db);
$hookmanager->initHooks(array('membercard'));
@@ -116,7 +117,7 @@ $hookmanager->initHooks(array('membercard'));
* Actions
*/
$parameters=array('socid'=>$socid, 'objcanvas'=>$objcanvas);
$parameters=array('rowid'=>$rowid, 'objcanvas'=>$objcanvas);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
if ($action == 'setuserid' && ($user->rights->user->self->creer || $user->rights->user->user->creer))
@@ -238,12 +239,12 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$datenaiss='';
if (isset($_POST["naissday"]) && $_POST["naissday"]
&& isset($_POST["naissmonth"]) && $_POST["naissmonth"]
&& isset($_POST["naissyear"]) && $_POST["naissyear"])
$birthdate='';
if (isset($_POST["birthday"]) && $_POST["birthday"]
&& isset($_POST["birthmonth"]) && $_POST["birthmonth"]
&& isset($_POST["birthyear"]) && $_POST["birthyear"])
{
$datenaiss=dol_mktime(12, 0, 0, $_POST["naissmonth"], $_POST["naissday"], $_POST["naissyear"]);
$birthdate=dol_mktime(12, 0, 0, $_POST["birthmonth"], $_POST["birthday"], $_POST["birthyear"]);
}
// Create new object
@@ -253,30 +254,23 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
// Change values
$object->civilite_id = trim($_POST["civilite_id"]);
$object->prenom = trim($_POST["prenom"]); // deprecated
$object->nom = trim($_POST["nom"]); // deprecated
$object->firstname = trim($_POST["prenom"]);
$object->lastname = trim($_POST["nom"]);
$object->firstname = trim($_POST["firstname"]);
$object->lastname = trim($_POST["lastname"]);
$object->login = trim($_POST["login"]);
$object->pass = trim($_POST["pass"]);
$object->societe = trim($_POST["societe"]);
$object->adresse = trim($_POST["address"]); // deprecated
$object->address = trim($_POST["address"]);
$object->cp = trim($_POST["zipcode"]); // deprecated
$object->zip = trim($_POST["zipcode"]);
$object->ville = trim($_POST["town"]); // deprecated
$object->town = trim($_POST["town"]);
$object->state_id = $_POST["departement_id"];
$object->state_id = $_POST["state_id"];
$object->country_id = $_POST["country_id"];
$object->fk_departement = $_POST["departement_id"]; // deprecated
$object->pays_id = $_POST["country_id"]; // deprecated
$object->phone = trim($_POST["phone"]);
$object->phone_perso = trim($_POST["phone_perso"]);
$object->phone_mobile= trim($_POST["phone_mobile"]);
$object->email = trim($_POST["email"]);
$object->naiss = $datenaiss;
$object->birth = $birthdate;
$object->typeid = $_POST["typeid"];
//$object->note = trim($_POST["comment"]);
@@ -291,14 +285,8 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
$object->statut = $_POST["statut"];
$object->public = $_POST["public"];
// Get extra fields
foreach($_POST as $key => $value)
{
if (preg_match("/^options_/",$key))
{
$object->array_options[$key]=$_POST[$key];
}
}
// Fill array 'array_options' with data from add form
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
// Check if we need to also synchronize user information
$nosyncuser=0;
@@ -365,15 +353,24 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
{
if ($object->oldcopy->del_to_abo() < 0)
{
// error
$errmsgs[]= $langs->trans("FailedToCleanMailmanList").': '.$object->error."<br>\n";
if (! empty($object->oldcopy->error)) setEventMessage($langs->trans("ErrorFailedToRemoveToMailmanList").': '.$object->oldcopy->error, 'errors');
setEventMessage($object->oldcopy->errors, 'errors');
}
else
{
setEventMessage($object->oldcopy->mesgs,'mesgs');
}
}
if ($object->add_to_abo() < 0) // We add subscription if new email or new type (new type may means more mailing-list to subscribe)
// We add subscription if new email or new type (new type may means more mailing-list to subscribe)
if ($object->add_to_abo() < 0)
{
if (! empty($object->error)) setEventMessage($langs->trans("ErrorFailedToAddToMailmanList").': '.$object->error, 'errors');
setEventMessage($object->errors, 'errors');
}
else
{
// error
$errmsgs[]= $langs->trans("FailedToAddToMailmanList").': '.$object->error."<br>\n";
}
setEventMessage($object->mesgs, 'mesgs');
}
}
$rowid=$object->id;
@@ -397,12 +394,12 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer)
if ($action == 'add' && $user->rights->adherent->creer)
{
if ($canvas) $object->canvas=$canvas;
$datenaiss='';
if (isset($_POST["naissday"]) && $_POST["naissday"]
&& isset($_POST["naissmonth"]) && $_POST["naissmonth"]
&& isset($_POST["naissyear"]) && $_POST["naissyear"])
$birthdate='';
if (isset($_POST["birthday"]) && $_POST["birthday"]
&& isset($_POST["birthmonth"]) && $_POST["birthmonth"]
&& isset($_POST["birthyear"]) && $_POST["birthyear"])
{
$datenaiss=dol_mktime(12, 0, 0, $_POST["naissmonth"], $_POST["naissday"], $_POST["naissyear"]);
$birthdate=dol_mktime(12, 0, 0, $_POST["birthmonth"], $_POST["birthday"], $_POST["birthyear"]);
}
$datecotisation='';
if (isset($_POST["reday"]) && isset($_POST["remonth"]) && isset($_POST["reyear"]))
@@ -412,13 +409,13 @@ if ($action == 'add' && $user->rights->adherent->creer)
$typeid=$_POST["typeid"];
$civilite_id=$_POST["civilite_id"];
$nom=$_POST["nom"];
$prenom=$_POST["prenom"];
$lastname=$_POST["lastname"];
$firstname=$_POST["firstname"];
$societe=$_POST["societe"];
$address=$_POST["address"];
$zip=$_POST["zipcode"];
$town=$_POST["town"];
$state_id=$_POST["departement_id"];
$state_id=$_POST["state_id"];
$country_id=$_POST["country_id"];
$phone=$_POST["phone"];
@@ -437,20 +434,13 @@ if ($action == 'add' && $user->rights->adherent->creer)
$socid=$_POST["socid"];
$object->civilite_id = $civilite_id;
$object->prenom = $prenom; // deprecated
$object->nom = $nom; // deprecated
$object->firstname = $prenom;
$object->lastname = $nom;
$object->firstname = $firstname;
$object->lastname = $lastname;
$object->societe = $societe;
$object->adresse = $address; // deprecated
$object->address = $address;
$object->cp = $zip; // deprecated
$object->zip = $zip;
$object->ville = $town; // deprecated
$object->town = $town;
$object->fk_departement = $state_id;
$object->state_id = $state_id;
$object->pays_id = $country_id;
$object->country_id = $country_id;
$object->phone = $phone;
$object->phone_perso = $phone_perso;
@@ -458,7 +448,7 @@ if ($action == 'add' && $user->rights->adherent->creer)
$object->email = $email;
$object->login = $login;
$object->pass = $pass;
$object->naiss = $datenaiss;
$object->naiss = $birthdate;
$object->photo = $photo;
$object->typeid = $typeid;
//$object->note = $comment;
@@ -467,14 +457,8 @@ if ($action == 'add' && $user->rights->adherent->creer)
$object->fk_soc = $socid;
$object->public = $public;
// Get extra fields
foreach($_POST as $key => $value)
{
if (preg_match("/^options_/",$key))
{
$object->array_options[$key]=$_POST[$key];
}
}
// Fill array 'array_options' with data from add form
$ret = $extrafields->setOptionalsFromPost($extralabels,$object);
// Check parameters
if (empty($morphy) || $morphy == "-1") {
@@ -505,12 +489,12 @@ if ($action == 'add' && $user->rights->adherent->creer)
$errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Password"))."<br>\n";
}
}
if (empty($nom)) {
if (empty($lastname)) {
$error++;
$langs->load("errors");
$errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname"))."<br>\n";
}
if ($morphy != 'mor' && (!isset($prenom) || $prenom=='')) {
if ($morphy != 'mor' && (!isset($firstname) || $firstname=='')) {
$error++;
$langs->load("errors");
$errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Firstname"))."<br>\n";
@@ -700,9 +684,6 @@ if ($user->rights->adherent->creer && $action == 'confirm_add_spip' && $confirm
$form = new Form($db);
$formcompany = new FormCompany($db);
// fetch optionals attributes and labels
$extralabels=$extrafields->fetch_name_optionals_label('member');
$help_url='EN:Module_Foundations|FR:Module_Adh&eacute;rents|ES:M&oacute;dulo_Miembros';
llxHeader('',$langs->trans("Member"),$help_url);
@@ -713,13 +694,14 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action))
// -----------------------------------------
// When used with CANVAS
// -----------------------------------------
if (empty($object->error) && $socid)
if (empty($object->error) && $rowid)
{
$object = new Adherent($db);
$object->fetch($socid);
$result=$object->fetch($rowid);
if ($result <= 0) dol_print_error('',$object->error);
}
$objcanvas->assign_values($action, $socid); // Set value for templates
$objcanvas->display_canvas($action); // Show template
$objcanvas->assign_values($action, $object->id, $object->ref); // Set value for templates
$objcanvas->display_canvas($action); // Show template
}
else
{
@@ -735,15 +717,13 @@ else
/* */
/* ************************************************************************** */
$object->canvas=$canvas;
$object->fk_departement = GETPOST('departement_id', 'int');
$object->state_id = GETPOST('departement_id', 'int');
// We set country_id, country_code and country for the selected country
$object->country_id=GETPOST('country_id','int')?GETPOST('country_id','int'):$mysoc->country_id;
if ($object->country_id)
{
$tmparray=getCountry($object->country_id,'all');
$object->pays_code=$tmparray['code'];
$object->pays=$tmparray['code'];
$object->country_code=$tmparray['code'];
$object->country=$tmparray['label'];
}
@@ -825,11 +805,11 @@ else
print '</tr>';
// Lastname
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="nom" value="'.(GETPOST('nom','alpha')?GETPOST('nom','alpha'):$object->lastname).'" size="40"></td>';
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" value="'.(GETPOST('lastname','alpha')?GETPOST('lastname','alpha'):$object->lastname).'" size="40"></td>';
print '</tr>';
// Firstname
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="prenom" size="40" value="'.(GETPOST('prenom','alpha')?GETPOST('prenom','alpha'):$object->firstname).'"></td>';
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" size="40" value="'.(GETPOST('firstname','alpha')?GETPOST('firstname','alpha'):$object->firstname).'"></td>';
print '</tr>';
// Password
@@ -849,9 +829,9 @@ else
// Zip / Town
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
print $formcompany->select_ziptown((GETPOST('zipcode','alpha')?GETPOST('zipcode','alpha'):$object->zip),'zipcode',array('town','selectcountry_id','departement_id'),6);
print $formcompany->select_ziptown((GETPOST('zipcode','alpha')?GETPOST('zipcode','alpha'):$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6);
print ' ';
print $formcompany->select_ziptown((GETPOST('town','alpha')?GETPOST('town','alpha'):$object->town),'town',array('zipcode','selectcountry_id','departement_id'));
print $formcompany->select_ziptown((GETPOST('town','alpha')?GETPOST('town','alpha'):$object->town),'town',array('zipcode','selectcountry_id','state_id'));
print '</td></tr>';
// Country
@@ -867,7 +847,7 @@ else
print '<tr><td>'.$langs->trans('State').'</td><td>';
if ($object->country_id)
{
print $formcompany->select_state(GETPOST('departement_id','int')?GETPOST('departement_id','int'):$object->fk_departement,$object->country_code);
print $formcompany->select_state(GETPOST('state_id','int')?GETPOST('state_id','int'):$object->state_id,$object->country_code);
}
else
{
@@ -903,15 +883,7 @@ else
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
foreach($extrafields->attribute_label as $key=>$label)
{
$value=(isset($_POST["options_".$key])?GETPOST('options_'.$key,'alpha'):(isset($object->array_options["options_".$key])?$object->array_options["options_".$key]:''));
print '<tr><td';
if (! empty($extrafields->attribute_required[$key])) print ' class="fieldrequired"';
print '>'.$label.'</td><td>';
print $extrafields->showInputField($key,$value);
print '</td></tr>'."\n";
}
print $object->showOptionals($extrafields,'edit');
}
/*
@@ -959,9 +931,9 @@ else
$adht->fetch($object->typeid);
// We set country_id, and country_code, country of the chosen country
if (isset($_POST["pays"]) || $object->country_id)
if (isset($_POST["country"]) || $object->country_id)
{
$sql = "SELECT rowid, code, libelle as label from ".MAIN_DB_PREFIX."c_pays where rowid = ".(isset($_POST["pays"])?$_POST["pays"]:$object->country_id);
$sql = "SELECT rowid, code, libelle as label from ".MAIN_DB_PREFIX."c_pays where rowid = ".(isset($_POST["country"])?$_POST["country"]:$object->country_id);
$resql=$db->query($sql);
if ($resql)
{
@@ -971,9 +943,6 @@ else
{
dol_print_error($db);
}
$object->pays_id=$obj->rowid;
$object->pays_code=$obj->code;
$object->pays=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->label;
$object->country_id=$obj->rowid;
$object->country_code=$obj->code;
$object->country=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->label;
@@ -1046,7 +1015,7 @@ else
print $form->selectarray("morphy", $morphys, isset($_POST["morphy"])?$_POST["morphy"]:$object->morphy);
print "</td>";
// Photo
print '<td align="center" valign="middle" width="25%" rowspan="'.$rowspan.'">';
print '<td align="center" class="hideonsmartphone" valign="middle" width="25%" rowspan="'.$rowspan.'">';
print $form->showphoto('memberphoto',$object)."\n";
if ($caneditfieldmember)
{
@@ -1081,12 +1050,12 @@ else
print '</td>';
print '</tr>';
// Name
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="nom" size="40" value="'.(isset($_POST["nom"])?$_POST["nom"]:$object->lastname).'"></td>';
// Lastname
print '<tr><td id="tdlastname">'.$langs->trans("Lastname").'</td><td><input type="text" name="lastname" size="40" value="'.(isset($_POST["lastname"])?$_POST["lastname"]:$object->lastname).'"></td>';
print '</tr>';
// Firstname
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="prenom" size="40" value="'.(isset($_POST["prenom"])?$_POST["prenom"]:$object->firstname).'"></td>';
print '<tr><td id="tdfirstname">'.$langs->trans("Firstname").'</td><td><input type="text" name="firstname" size="40" value="'.(isset($_POST["firstname"])?$_POST["firstname"]:$object->firstname).'"></td>';
print '</tr>';
// Password
@@ -1102,9 +1071,9 @@ else
// Zip / Town
print '<tr><td>'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td>';
print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','departement_id'),6);
print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6);
print ' ';
print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','departement_id'));
print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id'));
print '</td></tr>';
// Country
@@ -1118,7 +1087,7 @@ else
if (empty($conf->global->MEMBER_DISABLE_STATE))
{
print '<tr><td>'.$langs->trans('State').'</td><td>';
print $formcompany->select_state($object->fk_departement,isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id);
print $formcompany->select_state($object->state_id,isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id);
print '</td></tr>';
}
@@ -1134,9 +1103,9 @@ else
// EMail
print '<tr><td>'.($conf->global->ADHERENT_MAIL_REQUIRED?'<span class="fieldrequired">':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'</span>':'').'</td><td><input type="text" name="email" size="40" value="'.(isset($_POST["email"])?$_POST["email"]:$object->email).'"></td></tr>';
// Date naissance
// Birthday
print "<tr><td>".$langs->trans("Birthday")."</td><td>\n";
$form->select_date(($object->naiss ? $object->naiss : -1),'naiss','','',1,'formsoc');
$form->select_date(($object->birth ? $object->birth : -1),'birth','','',1,'formsoc');
print "</td></tr>\n";
// Profil public
@@ -1149,15 +1118,7 @@ else
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
foreach($extrafields->attribute_label as $key=>$label)
{
$value=(isset($_POST["options_".$key])?$_POST["options_".$key]:$object->array_options["options_".$key]);
print '<tr><td';
if (! empty($extrafields->attribute_required[$key])) print ' class="fieldrequired"';
print '>'.$label.'</td><td>';
print $extrafields->showInputField($key,$value);
print '</td></tr>'."\n";
}
print $object->showOptionals($extrafields,'edit');
}
// Third party Dolibarr
@@ -1395,7 +1356,7 @@ else
print $form->showrefnav($object, 'rowid', $linkback);
print '</td></tr>';
$showphoto='<td rowspan="'.$rowspan.'" align="center" valign="middle" width="25%">';
$showphoto='<td rowspan="'.$rowspan.'" align="center" class="hideonsmartphone" valign="middle" width="25%">';
$showphoto.=$form->showphoto('memberphoto',$object);
$showphoto.='</td>';
@@ -1403,6 +1364,7 @@ else
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED))
{
print '<tr><td>'.$langs->trans("Login").' / '.$langs->trans("Id").'</td><td class="valeur">'.$object->login.'&nbsp;</td>';
// Photo
print $showphoto; $showphoto='';
print '</tr>';
}
@@ -1441,7 +1403,7 @@ else
print '</td></tr>';
// Zip / Town
print '<tr><td nowrap="nowrap">'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td class="valeur">'.$object->zip.(($object->zip && $object->town)?' / ':'').$object->town.'</td></tr>';
print '<tr><td class="nowrap">'.$langs->trans("Zip").' / '.$langs->trans("Town").'</td><td class="valeur">'.$object->zip.(($object->zip && $object->town)?' / ':'').$object->town.'</td></tr>';
// Country
print '<tr><td>'.$langs->trans("Country").'</td><td class="valeur">';
@@ -1451,7 +1413,7 @@ else
print '</td></tr>';
// State
print '<tr><td>'.$langs->trans('State').'</td><td class="valeur">'.$object->departement.'</td>';
print '<tr><td>'.$langs->trans('State').'</td><td class="valeur">'.$object->state.'</td>';
// Tel pro.
print '<tr><td>'.$langs->trans("PhonePro").'</td><td class="valeur">'.dol_print_phone($object->phone,$object->country_code,0,$object->fk_soc,1).'</td></tr>';
@@ -1465,8 +1427,8 @@ else
// EMail
print '<tr><td>'.$langs->trans("EMail").'</td><td class="valeur">'.dol_print_email($object->email,0,$object->fk_soc,1).'</td></tr>';
// Date naissance
print '<tr><td>'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->naiss,'day').'</td></tr>';
// Birthday
print '<tr><td>'.$langs->trans("Birthday").'</td><td class="valeur">'.dol_print_date($object->birth,'day').'</td></tr>';
// Public
print '<tr><td>'.$langs->trans("Public").'</td><td class="valeur">'.yn($object->public).'</td></tr>';
@@ -1479,13 +1441,7 @@ else
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
foreach($extrafields->attribute_label as $key=>$label)
{
$value=$object->array_options["options_$key"];
print "<tr><td>".$label."</td><td>";
print $extrafields->showOutputField($key,$value);
print "</td></tr>\n";
}
print $object->showOptionals($extrafields);
}
// Third party Dolibarr
@@ -1574,11 +1530,11 @@ else
// Modify
if ($user->rights->adherent->creer)
{
print "<a class=\"butAction\" href=\"fiche.php?rowid=$rowid&action=edit\">".$langs->trans("Modify")."</a>";
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?rowid='.$rowid.'&action=edit">'.$langs->trans("Modify")."</a></div>";
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("Modify")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("Modify").'</font></div>';
}
// Valider
@@ -1586,11 +1542,11 @@ else
{
if ($user->rights->adherent->creer)
{
print "<a class=\"butAction\" href=\"fiche.php?rowid=$rowid&action=valid\">".$langs->trans("Validate")."</a>\n";
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?rowid='.$rowid.'&action=valid">'.$langs->trans("Validate")."</a></div>\n";
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("Validate")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("Validate").'</font></div>';
}
}
@@ -1599,11 +1555,11 @@ else
{
if ($user->rights->adherent->creer)
{
print "<a class=\"butAction\" href=\"fiche.php?rowid=$rowid&action=valid\">".$langs->trans("Reenable")."</a>\n";
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?rowid='.$rowid.'&action=valid">'.$langs->trans("Reenable")."</a></div>\n";
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("Reenable")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("Reenable")."</font></div>";
}
}
@@ -1612,17 +1568,17 @@ else
{
if ($object->statut >= 1)
{
if ($object->email) print "<a class=\"butAction\" href=\"fiche.php?rowid=$object->id&action=sendinfo\">".$langs->trans("SendCardByMail")."</a>\n";
else print "<a class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NoEMail"))."\">".$langs->trans("SendCardByMail")."</a>\n";
if ($object->email) print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?rowid='.$object->id.'&action=sendinfo">'.$langs->trans("SendCardByMail")."</a></div>\n";
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NoEMail")).'">'.$langs->trans("SendCardByMail")."</a></div>\n";
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("ValidateBefore"))."\">".$langs->trans("SendCardByMail")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("SendCardByMail")."</font></div>";
}
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("SendCardByMail")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("SendCardByMail")."</font></div>";
}
// Resilier
@@ -1630,11 +1586,11 @@ else
{
if ($user->rights->adherent->supprimer)
{
print "<a class=\"butAction\" href=\"fiche.php?rowid=$rowid&action=resign\">".$langs->trans("Resiliate")."</a>\n";
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?rowid='.$rowid.'&action=resign">'.$langs->trans("Resiliate")."</a></div>\n";
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("Resiliate")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("Resiliate")."</font></div>";
}
}
@@ -1643,12 +1599,12 @@ else
{
if ($user->rights->societe->creer)
{
if ($object->statut != -1) print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_thirdparty">'.$langs->trans("CreateDolibarrThirdParty").'</a>';
else print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrThirdParty").'</a>';
if ($object->statut != -1) print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_thirdparty">'.$langs->trans("CreateDolibarrThirdParty").'</a></div>';
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrThirdParty").'</a></div>';
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("CreateDolibarrThirdParty")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("CreateDolibarrThirdParty")."</font></div>";
}
}
@@ -1657,23 +1613,23 @@ else
{
if ($user->rights->user->user->creer)
{
if ($object->statut != -1) print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_user">'.$langs->trans("CreateDolibarrLogin").'</a>';
else print '<a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrLogin").'</a>';
if ($object->statut != -1) print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?rowid='.$object->id.'&amp;action=create_user">'.$langs->trans("CreateDolibarrLogin").'</a></div>';
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("ValidateBefore")).'">'.$langs->trans("CreateDolibarrLogin").'</a></div>';
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("CreateDolibarrLogin")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("CreateDolibarrLogin")."</font></div>";
}
}
// Delete
if ($user->rights->adherent->supprimer)
{
print "<a class=\"butActionDelete\" href=\"fiche.php?rowid=$object->id&action=delete\">".$langs->trans("Delete")."</a>\n";
print '<div class="inline-block divButAction"><a class="butActionDelete" href="fiche.php?rowid='.$object->id.'&action=delete">'.$langs->trans("Delete")."</a></div>\n";
}
else
{
print "<font class=\"butActionRefused\" href=\"#\" title=\"".dol_escape_htmltag($langs->trans("NotEnoughPermissions"))."\">".$langs->trans("Delete")."</font>";
print '<div class="inline-block divButAction"><font class="butActionRefused" href="#" title="'.dol_escape_htmltag($langs->trans("NotEnoughPermissions")).'">'.$langs->trans("Delete")."</font></div>";
}
// Action SPIP
@@ -1683,21 +1639,22 @@ else
if ($isinspip == 1)
{
print "<a class=\"butAction\" href=\"fiche.php?rowid=$object->id&action=del_spip\">".$langs->trans("DeleteIntoSpip")."</a>\n";
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?rowid='.$object->id.'&action=del_spip">'.$langs->trans("DeleteIntoSpip")."</a></div>\n";
}
if ($isinspip == 0)
{
print "<a class=\"butAction\" href=\"fiche.php?rowid=$object->id&action=add_spip\">".$langs->trans("AddIntoSpip")."</a>\n";
}
if ($isinspip == -1)
{
print '<br><br><font class="error">'.$langs->trans('SPIPConnectionFailed').': '.$mailmanspip->error.'</font>';
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?rowid='.$object->id.'&action=add_spip">'.$langs->trans("AddIntoSpip")."</a></div>\n";
}
}
}
print '</div>';
if ($isinspip == -1)
{
print '<br><br><font class="error">'.$langs->trans('SPIPConnectionFailed').': '.$mailmanspip->error.'</font>';
}
print "<br>\n";
}

View File

@@ -371,18 +371,18 @@ if ($rowid && $action != 'edit')
{
if (! $bankline->rappro)
{
print "<a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?rowid=".$subscription->id."&action=edit\">".$langs->trans("Modify")."</a>";
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"]."?rowid=".$subscription->id."&action=edit\">".$langs->trans("Modify")."</a></div>";
}
else
{
print "<a class=\"butActionRefused\" title=\"".$langs->trans("BankLineConciliated")."\" href=\"#\">".$langs->trans("Modify")."</a>";
print '<div class="inline-block divButAction"><a class="butActionRefused" title="'.$langs->trans("BankLineConciliated")."\" href=\"#\">".$langs->trans("Modify")."</a></div>";
}
}
// Supprimer
if ($user->rights->adherent->cotisation->creer)
{
print "<a class=\"butActionDelete\" href=\"".$_SERVER["PHP_SELF"]."?rowid=".$subscription->id."&action=delete\">".$langs->trans("Delete")."</a>\n";
print '<div class="inline-block divButAction"><a class="butActionDelete" href="'.$_SERVER["PHP_SELF"]."?rowid=".$subscription->id."&action=delete\">".$langs->trans("Delete")."</a></div>\n";
}
print '</div>';

View File

@@ -31,8 +31,8 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
$langs->load("companies");
$langs->load("members");
// Security check
$result=restrictedArea($user,'adherent');
// Security check
$result=restrictedArea($user,'adherent');
/*
@@ -47,7 +47,6 @@ $subscriptionstatic=new Cotisation($db);
print_fiche_titre($langs->trans("MembersArea"));
print '<table border="0" width="100%" class="notopnoleftnoright">';
$var=True;
@@ -122,7 +121,8 @@ if ($result)
}
print '<tr><td width="30%" class="notopnoleft" valign="top">';
//print '<tr><td width="30%" class="notopnoleft" valign="top">';
print '<div class="fichecenter"><div class="fichethirdleft">';
// Formulaire recherche adherent
@@ -140,7 +140,7 @@ print $langs->trans("Ref").':</td><td><input type="text" name="search_ref" class
print '</td><td rowspan="3"><input class="button" type="submit" value="'.$langs->trans("Search").'"></td></tr>';
print "<tr $bc[$var]>";
print '<td>';
print $langs->trans("Name").':</td><td><input type="text" name="search_nom" class="flat" size="16">';
print $langs->trans("Name").':</td><td><input type="text" name="search_lastname" class="flat" size="16">';
print '</td></tr>';
print "<tr $bc[$var]>";
print '<td>';
@@ -195,7 +195,9 @@ if ($conf->use_javascript_ajax)
print '</table>';
}
print '</td><td class="notopnoleftnoright" valign="top">';
//print '</td><td class="notopnoleftnoright" valign="top">';
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
$var=true;
@@ -205,7 +207,7 @@ $var=true;
*/
$max=5;
$sql = "SELECT a.rowid, a.statut, a.nom as lastname, a.prenom as firstname, a.societe as company, a.fk_soc,";
$sql = "SELECT a.rowid, a.statut, a.lastname, a.firstname, a.societe as company, a.fk_soc,";
$sql.= " a.tms as datem, datefin as date_end_subscription,";
$sql.= " ta.rowid as typeid, ta.libelle, ta.cotisation";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."adherent_type as ta";
@@ -265,7 +267,7 @@ else
*/
$max=5;
$sql = "SELECT a.rowid, a.statut, a.nom as lastname, a.prenom as firstname, a.societe as company, a.fk_soc,";
$sql = "SELECT a.rowid, a.statut, a.lastname, a.firstname, a.societe as company, a.fk_soc,";
$sql.= " datefin as date_end_subscription,";
$sql.= " c.rowid as cid, c.tms as datem, c.datec as datec, c.dateadh as date_start, c.datef as date_end, c.cotisation";
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."cotisation as c";
@@ -416,8 +418,8 @@ print "<td align=\"right\">".price(price2num($numb>0?($tot/$numb):0,'MT'))."</td
print "</tr>\n";
print "</table><br>\n";
print '</td></tr>';
print '</table>';
//print '</td></tr></table>';
print '</div></div></div>';
llxFooter();

View File

@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2005-2009 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2005-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify

View File

@@ -108,11 +108,11 @@ print '<td class="valeur">';
print $form->showrefnav($adh,'id');
print '</td></tr>';
// Nom
// Lastname
print '<tr><td>'.$langs->trans("Lastname").'</td><td class="valeur">'.$adh->lastname.'&nbsp;</td>';
print '</tr>';
// Prenom
// Firstname
print '<tr><td width="15%">'.$langs->trans("Firstname").'</td><td class="valeur">'.$adh->firstname.'&nbsp;</td>';
print '</tr>';
@@ -169,7 +169,7 @@ print '<div class="tabsAction">';
if (! empty($conf->global->LDAP_MEMBER_ACTIVE) && $conf->global->LDAP_MEMBER_ACTIVE != 'ldap2dolibarr')
{
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$adh->id.'&amp;action=dolibarr2ldap">'.$langs->trans("ForceSynchronize").'</a>';
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$adh->id.'&amp;action=dolibarr2ldap">'.$langs->trans("ForceSynchronize").'</a></div>';
}
print "</div>\n";

View File

@@ -2,6 +2,7 @@
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2013 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,16 +32,16 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
$langs->load("members");
$langs->load("companies");
// Security check
$result=restrictedArea($user,'adherent');
// Security check
$result=restrictedArea($user,'adherent');
$action=GETPOST("action");
$filter=GETPOST("filter");
$statut=GETPOST("statut");
$search=GETPOST("search");
$search_ref=GETPOST("search_ref");
$search_nom=GETPOST("search_nom");
$search_prenom=GETPOST("search_prenom");
$search_lastname=GETPOST("search_lastname");
$search_firstname=GETPOST("search_firstname");
$search_login=GETPOST("search_login");
$type=GETPOST("type");
$search_email=GETPOST("search_email");
@@ -56,14 +57,14 @@ $offset = $conf->liste_limit * $page ;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) { $sortorder=($filter=='outofdate'?"ASC":"DESC"); }
if (! $sortfield) { $sortfield=($filter=='outofdate'?"d.datefin":"d.nom"); }
if (! $sortfield) { $sortfield=($filter=='outofdate'?"d.datefin":"d.lastname"); }
if (GETPOST("button_removefilter"))
{
$search="";
$search_ref="";
$search_nom="";
$search_prenom="";
$search_lastname="";
$search_firstname="";
$search_login="";
$type="";
$search_email="";
@@ -86,7 +87,7 @@ llxHeader('',$langs->trans("Member"),'EN:Module_Foundations|FR:Module_Adh&eacute
$now=dol_now();
$sql = "SELECT d.rowid, d.login, d.nom as lastname, d.prenom as firstname, d.societe as company, d.fk_soc,";
$sql = "SELECT d.rowid, d.login, d.lastname, d.firstname, d.societe as company, d.fk_soc,";
$sql.= " d.datefin,";
$sql.= " d.email, d.fk_adherent_type as type_id, d.morphy, d.statut,";
$sql.= " t.libelle as type, t.cotisation";
@@ -101,11 +102,15 @@ if ($search_categ == -2) $sql.= " AND cm.fk_categorie IS NULL";
$sql.= " AND d.entity = ".$conf->entity;
if ($sall)
{
$sql.=" AND (";
if (is_numeric($sall)) $sql.= "d.rowid = ".$sall." OR ";
$sql.=" d.prenom LIKE '%".$sall."%' OR d.nom LIKE '%".$sall."%' OR d.societe LIKE '%".$sall."%'";
$sql.=" OR d.email LIKE '%".$sall."%' OR d.login LIKE '%".$sall."%' OR d.adresse LIKE '%".$sall."%'";
$sql.=" OR d.ville LIKE '%".$sall."%' OR d.note LIKE '%".$sall."%')";
// For natural search
$scrit = explode(' ', $sall);
foreach ($scrit as $crit) {
$sql.=" AND (";
if (is_numeric($sall)) $sql.= "d.rowid = ".$sall." OR ";
$sql.=" d.firstname LIKE '%".$sall."%' OR d.lastname LIKE '%".$sall."%' OR d.societe LIKE '%".$sall."%'";
$sql.=" OR d.email LIKE '%".$sall."%' OR d.login LIKE '%".$sall."%' OR d.address LIKE '%".$sall."%'";
$sql.=" OR d.town LIKE '%".$sall."%' OR d.note LIKE '%".$sall."%')";
}
}
if ($type > 0)
{
@@ -120,9 +125,9 @@ if ($search_ref)
if (is_numeric($search_ref)) $sql.= " AND (d.rowid = ".$search_ref.")";
else $sql.=" AND 1 = 2"; // Always wrong
}
if ($search_nom)
if ($search_lastname)
{
$sql.= " AND (d.prenom LIKE '%".$search_nom."%' OR d.nom LIKE '%".$search_nom."%')";
$sql.= " AND (d.firstname LIKE '%".$search_lastname."%' OR d.lastname LIKE '%".$search_lastname."%')";
}
if ($search_login)
{
@@ -216,7 +221,7 @@ if ($resql)
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"d.rowid",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Name")." / ".$langs->trans("Company"),$_SERVER["PHP_SELF"],"d.nom",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Name")." / ".$langs->trans("Company"),$_SERVER["PHP_SELF"],"d.lastname",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Login"),$_SERVER["PHP_SELF"],"d.login",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"t.libelle",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"d.morphy",$param,"","",$sortfield,$sortorder);
@@ -233,7 +238,7 @@ if ($resql)
print '<input class="flat" type="text" name="search_ref" value="'.$search_ref.'" size="4"></td>';
print '<td class="liste_titre" align="left">';
print '<input class="flat" type="text" name="search_nom" value="'.$search_nom.'" size="12"></td>';
print '<input class="flat" type="text" name="search_lastname" value="'.$search_lastname.'" size="12"></td>';
print '<td class="liste_titre" align="left">';
print '<input class="flat" type="text" name="search_login" value="'.$search_login.'" size="7"></td>';
@@ -299,7 +304,7 @@ if ($resql)
// Type
$membertypestatic->id=$objp->type_id;
$membertypestatic->libelle=$objp->type;
print '<td nowrap="nowrap">';
print '<td class="nowrap">';
print $membertypestatic->getNomUrl(1,32);
print '</td>';
@@ -310,21 +315,21 @@ if ($resql)
print "<td>".dol_print_email($objp->email,0,0,1)."</td>\n";
// Statut
print '<td nowrap="nowrap">';
print '<td class="nowrap">';
print $memberstatic->LibStatut($objp->statut,$objp->cotisation,$datefin,2);
print "</td>";
// End of subscription date
if ($datefin)
{
print '<td align="center" nowrap="nowrap">';
print '<td align="center" class="nowrap">';
print dol_print_date($datefin,'day');
if ($datefin < ($now - $conf->adherent->cotisation->warning_delay) && $objp->statut > 0) print " ".img_warning($langs->trans("SubscriptionLate"));
print '</td>';
}
else
{
print '<td align="left" nowrap="nowrap">';
print '<td align="left" class="nowrap">';
if ($objp->cotisation == 'yes')
{
print $langs->trans("SubscriptionNotReceived");

View File

@@ -54,7 +54,7 @@ if ($action == 'update' && $user->rights->adherent->creer && ! $_POST["cancel"])
{
$db->begin();
$res=$object->update_note($_POST["note"],$user);
$res=$object->update_note(dol_html_entity_decode(GETPOST('note'), ENT_QUOTES));
if ($res < 0)
{
setEventMessage($object->error, 'errors');
@@ -167,7 +167,7 @@ if ($id)
if ($user->rights->adherent->creer && $action != 'edit')
{
print "<a class=\"butAction\" href=\"note.php?id=".$object->id."&amp;action=edit\">".$langs->trans('Modify')."</a>";
print '<div class="inline-block divButAction"><a class="butAction" href="note.php?id='.$object->id.'&amp;action=edit">'.$langs->trans('Modify')."</a></div>";
}
print "</div>";

View File

@@ -23,8 +23,9 @@
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
$graphwidth = 700;
$graphwidth=DolGraph::getDefaultGraphSizeForStats('width',700);
$mapratio = 0.5;
$graphheight = round($graphwidth * $mapratio);
@@ -37,7 +38,7 @@ if ($user->societe_id > 0)
$action = '';
$socid = $user->societe_id;
}
$result=restrictedArea($user,'adherent','','','cotisation');
$result=restrictedArea($user,'adherent','','','cotisation');
$year = strftime("%Y", time());
$startyear=$year-2;
@@ -71,7 +72,7 @@ if ($mode)
$data = array();
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, c.code, c.libelle as label";
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_pays as c on d.pays = c.rowid";
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_pays as c on d.country = c.rowid";
$sql.=" WHERE d.entity IN (".getEntity().")";
$sql.=" AND d.statut = 1";
$sql.=" GROUP BY c.libelle, c.code";
@@ -85,9 +86,9 @@ if ($mode)
$data = array();
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, p.code, p.libelle as label, c.nom as label2";
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_departements as c on d.fk_departement = c.rowid";
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_departements as c on d.state_id = c.rowid";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_regions as r on c.fk_region = r.code_region";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.pays = p.rowid";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.country = p.rowid";
$sql.=" WHERE d.entity IN (".getEntity().")";
$sql.=" AND d.statut = 1";
$sql.=" GROUP BY p.libelle, p.code, c.nom";
@@ -100,12 +101,12 @@ if ($mode)
$tab='statstown';
$data = array();
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, p.code, p.libelle as label, d.ville as label2";
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, p.code, p.libelle as label, d.town as label2";
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.pays = p.rowid";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.country = p.rowid";
$sql.=" WHERE d.entity IN (".getEntity().")";
$sql.=" AND d.statut = 1";
$sql.=" GROUP BY p.libelle, p.code, d.ville";
$sql.=" GROUP BY p.libelle, p.code, d.town";
//print $sql;
}

View File

@@ -28,8 +28,8 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherentstats.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
$WIDTH=500;
$HEIGHT=200;
$WIDTH=DolGraph::getDefaultGraphSizeForStats('width');
$HEIGHT=DolGraph::getDefaultGraphSizeForStats('height');
$userid=GETPOST('userid','int'); if ($userid < 0) $userid=0;
$socid=GETPOST('socid','int'); if ($socid < 0) $socid=0;
@@ -143,8 +143,7 @@ $head = member_stats_prepare_head($adh);
dol_fiche_head($head, 'statssubscription', $langs->trans("Statistics"), 0, 'user');
print '<table class="notopnoleftnopadd" width="100%"><tr>';
print '<td align="center" valign="top">';
print '<div class="fichecenter"><div class="fichethirdleft">';
// Show filter box
/*print '<form name="stats" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
@@ -210,8 +209,8 @@ foreach ($data as $val)
print '</table>';
print '</td>';
print '<td align="center" valign="top">';
print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
// Show graphs
print '<table class="border" width="100%"><tr valign="top"><td align="center">';
@@ -223,7 +222,10 @@ else {
}
print '</td></tr></table>';
print '</td></tr></table>';
print '</div></div></div>';
print '<div style="clear:both"></div>';
dol_fiche_end();

View File

@@ -3,6 +3,7 @@
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
*
* 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
@@ -27,13 +28,14 @@
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
$langs->load("members");
$rowid = GETPOST('rowid','int');
$action = GETPOST('action','alpha');
$search_lastname = GETPOST('search_nom','alpha');
$search_lastname = GETPOST('search_lastname','alpha');
$search_login = GETPOST('search_login','alpha');
$search_email = GETPOST('search_email','alpha');
$type = GETPOST('type','alpha');
@@ -47,11 +49,16 @@ $offset = $conf->liste_limit * $page ;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) { $sortorder="DESC"; }
if (! $sortfield) { $sortfield="d.nom"; }
if (! $sortfield) { $sortfield="d.lastname"; }
// Security check
$result=restrictedArea($user,'adherent',$rowid,'adherent_type');
$extrafields = new ExtraFields($db);
// fetch optionals attributes and labels
$extralabels=$extrafields->fetch_name_optionals_label('adherent_type');
if (GETPOST('button_removefilter'))
{
$search_lastname="";
@@ -62,6 +69,8 @@ if (GETPOST('button_removefilter'))
}
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('membertypecard'));
/*
* Actions
@@ -78,6 +87,9 @@ if ($action == 'add' && $user->rights->adherent->configurer)
$adht->mail_valid = trim($_POST["mail_valid"]);
$adht->vote = trim($_POST["vote"]);
// Fill array 'array_options' with data from add form
$ret = $extrafields->setOptionalsFromPost($extralabels,$adht);
if ($adht->libelle)
{
$id=$adht->create($user->id);
@@ -112,6 +124,9 @@ if ($action == 'update' && $user->rights->adherent->configurer)
$adht->mail_valid = trim($_POST["mail_valid"]);
$adht->vote = trim($_POST["vote"]);
// Fill array 'array_options' with data from add form
$ret = $extrafields->setOptionalsFromPost($extralabels,$adht);
$adht->update($user->id);
header("Location: ".$_SERVER["PHP_SELF"]."?rowid=".$_POST["rowid"]);
@@ -131,7 +146,7 @@ if ($action == 'commentaire' && $user->rights->adherent->configurer)
{
$don = new Don($db);
$don->fetch($rowid);
$don->update_note($_POST["commentaire"]);
$don->update_note(dol_html_entity_decode(GETPOST('commentaire'), ENT_QUOTES));
}
@@ -203,7 +218,7 @@ if (! $rowid && $action != 'create' && $action != 'edit')
// New type
if ($user->rights->adherent->configurer)
{
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=create">'.$langs->trans("NewType").'</a>';
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=create">'.$langs->trans("NewType").'</a></div>';
}
print "</div>";
@@ -219,6 +234,7 @@ if (! $rowid && $action != 'create' && $action != 'edit')
if ($action == 'create')
{
$form = new Form($db);
$adht = new AdherentType($db);
print_fiche_titre($langs->trans("NewMemberType"));
@@ -249,6 +265,13 @@ if ($action == 'create')
$doleditor->Create();
print '</td></tr>';
// Other attributes
$parameters=array();
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$act,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
print $adht->showOptionals($extrafields,'edit');
}
print "</table>\n";
print '<br>';
@@ -269,6 +292,7 @@ if ($rowid > 0)
{
$adht = new AdherentType($db);
$adht->fetch($rowid);
$adht->fetch_optionals($rowid,$extralabels);
$h=0;
@@ -307,8 +331,16 @@ if ($rowid > 0)
print '<tr><td valign="top">'.$langs->trans("WelcomeEMail").'</td><td>';
print nl2br($adht->mail_valid)."</td></tr>";
print '</table>';
// Other attributes
$parameters=array();
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$act,$action); // Note that $action and $object may have been modified by hook
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
// View extrafields
print $adht->showOptionals($extrafields);
}
print '</table>';
print '</div>';
/*
@@ -320,16 +352,16 @@ if ($rowid > 0)
// Edit
if ($user->rights->adherent->configurer)
{
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=edit&amp;rowid='.$adht->id.'">'.$langs->trans("Modify").'</a>';
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=edit&amp;rowid='.$adht->id.'">'.$langs->trans("Modify").'</a></div>';
}
// Add
print '<a class="butAction" href="fiche.php?action=create&typeid='.$adht->id.'">'.$langs->trans("AddMember").'</a>';
print '<div class="inline-block divButAction"><a class="butAction" href="fiche.php?action=create&typeid='.$adht->id.'">'.$langs->trans("AddMember").'</a></div>';
// Delete
if ($user->rights->adherent->configurer)
{
print '<a class="butActionDelete" href="'.$_SERVER['PHP_SELF'].'?action=delete&rowid='.$adht->id.'">'.$langs->trans("DeleteType").'</a>';
print '<div class="inline-block divButAction"><a class="butActionDelete" href="'.$_SERVER['PHP_SELF'].'?action=delete&rowid='.$adht->id.'">'.$langs->trans("DeleteType").'</a></div>';
}
print "</div>";
@@ -338,10 +370,10 @@ if ($rowid > 0)
// Show list of members (nearly same code than in page liste.php)
$membertypestatic=new AdherentType($db);
$now=dol_now();
$sql = "SELECT d.rowid, d.login, d.prenom as firstname, d.nom as lastname, d.societe, ";
$sql = "SELECT d.rowid, d.login, d.firstname, d.lastname, d.societe, ";
$sql.= " d.datefin,";
$sql.= " d.email, d.fk_adherent_type as type_id, d.morphy, d.statut,";
$sql.= " t.libelle as type, t.cotisation";
@@ -351,9 +383,9 @@ if ($rowid > 0)
$sql.= " AND t.rowid = ".$adht->id;
if ($sall)
{
$sql.= " AND (d.prenom LIKE '%".$sall."%' OR d.nom LIKE '%".$sall."%' OR d.societe LIKE '%".$sall."%'";
$sql.= " OR d.email LIKE '%".$sall."%' OR d.login LIKE '%".$sall."%' OR d.adresse LIKE '%".$sall."%'";
$sql.= " OR d.ville LIKE '%".$sall."%' OR d.note LIKE '%".$sall."%')";
$sql.= " AND (d.firstname LIKE '%".$sall."%' OR d.lastname LIKE '%".$sall."%' OR d.societe LIKE '%".$sall."%'";
$sql.= " OR d.email LIKE '%".$sall."%' OR d.login LIKE '%".$sall."%' OR d.address LIKE '%".$sall."%'";
$sql.= " OR d.town LIKE '%".$sall."%' OR d.note LIKE '%".$sall."%')";
}
if ($status != '')
{
@@ -363,12 +395,12 @@ if ($rowid > 0)
{
if (isset($_POST['search']) && $_POST['search'] != '')
{
$sql.= " AND (d.prenom LIKE '%".$_POST['search']."%' OR d.nom LIKE '%".$_POST['search']."%')";
$sql.= " AND (d.firstname LIKE '%".$_POST['search']."%' OR d.lastname LIKE '%".$_POST['search']."%')";
}
}
if (! empty($search_lastname))
{
$sql.= " AND (d.prenom LIKE '%".$search_lastname."%' OR d.nom LIKE '%".$search_lastname."%')";
$sql.= " AND (d.firstname LIKE '%".$search_lastname."%' OR d.lastname LIKE '%".$search_lastname."%')";
}
if (! empty($search_login))
{
@@ -428,8 +460,8 @@ if ($rowid > 0)
$param="&rowid=".$rowid;
if (! empty($status)) $param.="&status=".$status;
if (! empty($search_lastname)) $param.="&search_nom=".$search_lastname;
if (! empty($search_firstname)) $param.="&search_prenom=".$search_firstname;
if (! empty($search_lastname)) $param.="&search_lastname=".$search_lastname;
if (! empty($search_firstname)) $param.="&search_firstname=".$search_firstname;
if (! empty($search_login)) $param.="&search_login=".$search_login;
if (! empty($search_email)) $param.="&search_email=".$search_email;
if (! empty($filter)) $param.="&filter=".$filter;
@@ -444,7 +476,7 @@ if ($rowid > 0)
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("Name")." / ".$langs->trans("Company"),$_SERVER["PHP_SELF"],"d.nom",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Name")." / ".$langs->trans("Company"),$_SERVER["PHP_SELF"],"d.lastname",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Login"),$_SERVER["PHP_SELF"],"d.login",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"d.morphy",$param,"","",$sortfield,$sortorder);
print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"d.email",$param,"","",$sortfield,$sortorder);
@@ -460,7 +492,7 @@ if ($rowid > 0)
print '<tr class="liste_titre">';
print '<td class="liste_titre" align="left">';
print '<input class="flat" type="text" name="search_nom" value="'.$search_lastname.'" size="12"></td>';
print '<input class="flat" type="text" name="search_lastname" value="'.$search_lastname.'" size="12"></td>';
print '<td class="liste_titre" align="left">';
print '<input class="flat" type="text" name="search_login" value="'.$search_login.'" size="7"></td>';
@@ -492,7 +524,7 @@ if ($rowid > 0)
$adh->lastname=$objp->lastname;
$adh->firstname=$objp->firstname;
// Nom
// Lastname
$var=!$var;
print '<tr '.$bc[$var].'>';
if ($objp->societe != '')
@@ -508,7 +540,7 @@ if ($rowid > 0)
print "<td>".$objp->login."</td>\n";
// Type
/*print '<td nowrap="nowrap">';
/*print '<td class="nowrap">';
$membertypestatic->id=$objp->type_id;
$membertypestatic->libelle=$objp->type;
print $membertypestatic->getNomUrl(1,12);
@@ -522,14 +554,14 @@ if ($rowid > 0)
print "<td>".dol_print_email($objp->email,0,0,1)."</td>\n";
// Statut
print '<td nowrap="nowrap">';
print '<td class="nowrap">';
print $adh->LibStatut($objp->statut,$objp->cotisation,$datefin,2);
print "</td>";
// Date fin cotisation
if ($datefin)
{
print '<td align="center" nowrap="nowrap">';
print '<td align="center" class="nowrap">';
if ($datefin < time() && $objp->statut > 0)
{
print dol_print_date($datefin,'day')." ".img_warning($langs->trans("SubscriptionLate"));
@@ -542,7 +574,7 @@ if ($rowid > 0)
}
else
{
print '<td align="left" nowrap="nowrap">';
print '<td align="left" class="nowrap">';
if ($objp->cotisation == 'yes')
{
print $langs->trans("SubscriptionNotReceived");
@@ -593,7 +625,7 @@ if ($rowid > 0)
$adht = new AdherentType($db);
$adht->id = $rowid;
$adht->fetch($rowid);
$adht->fetch_optionals($rowid,$extralabels);
$h=0;
@@ -631,8 +663,26 @@ if ($rowid > 0)
$doleditor->Create();
print "</td></tr>";
// Other attributes
$parameters=array();
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$act,$action); // Note that $action and $object may have been modified by hook
print '</table>';
//Extra field
if (empty($reshook) && ! empty($extrafields->attribute_label))
{
print '<br><br><table class="border" width="100%">';
foreach($extrafields->attribute_label as $key=>$label)
{
$value=(isset($_POST["options_".$key])?$_POST["options_".$key]:(isset($adht->array_options['options_'.$key])?$adht->array_options['options_'.$key]:''));
print '<tr><td width="30%">'.$label.'</td><td>';
print $extrafields->showInputField($key,$value);
print "</td></tr>\n";
}
print '</table><br><br>';
}
print '<center><input type="submit" class="button" value="'.$langs->trans("Save").'"> &nbsp; &nbsp;';
print '<input type="submit" name="button" class="button" value="'.$langs->trans("Cancel").'"></center>';

View File

@@ -212,26 +212,6 @@ $list=array('COMPTA_PRODUCT_BUY_ACCOUNT','COMPTA_PRODUCT_SOLD_ACCOUNT','COMPTA_S
'COMPTA_VAT_ACCOUNT','COMPTA_ACCOUNT_CUSTOMER','COMPTA_ACCOUNT_SUPPLIER'
);
/*$sql = "SELECT rowid, name, value, type, note";
$sql.= " FROM ".MAIN_DB_PREFIX."const";
$sql.= " WHERE name LIKE 'COMPTA_%'";
$sql.= " AND name NOT IN ('COMPTA_MODE')";
$sql.= " AND entity = ".$conf->entity;
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
$i = 0;
while ($i < $num)
{
$obj = $db->fetch_object($result);
$var=!$var;
$list[$obj->name]=$obj->value;
$i++;
}
}*/
$num=count($list);
if ($num)
{

View File

@@ -65,8 +65,8 @@ else
/*
* Actions
*/
* Actions
*/
if ($action == "save" && empty($cancel))
{
$i=0;
@@ -125,7 +125,7 @@ if (preg_match('/del_(.*)/',$action,$reg))
/**
* Affichage du formulaire de saisie
* View
*/
llxHeader();
@@ -134,13 +134,14 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'setup');
print "<br>\n";
print $langs->trans("AgendaAutoActionDesc")."<br>\n";
print "<br>\n";
$head=agenda_prepare_head();
dol_fiche_head($head, 'autoactions', $langs->trans("Agenda"));
print $langs->trans("AgendaAutoActionDesc")."<br>\n";
print $langs->trans("OnlyActiveElementsAreShown").'<br>';
print "<br>\n";
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@@ -179,59 +180,17 @@ print '</table>';
print '<br><center>';
print '<input type="submit" name="save" class="button" value="'.$langs->trans("Save").'">';
print ' &nbsp; &nbsp; ';
print '<input type="submit" name="cancel" class="button" value="'.$langs->trans("Cancel").'">';
print "</center>";
print "</form>\n";
print '</div>';
/*
* Other options
*/
print_titre($langs->trans("OtherOptions"));
$var=true;
print '<table class="noborder allwidth">'."\n";
print '<tr class="liste_titre">'."\n";
print '<td>'.$langs->trans("Parameters").'</td>'."\n";
print '<td align="center" width="20">&nbsp;</td>'."\n";
print '<td align="center" width="100">'.$langs->trans("Value").'</td>'."\n";
print '</tr>'."\n";
// Manual or automatic
$var=!$var;
print '<tr '.$bc[$var].'>'."\n";
print '<td>'.$langs->trans("AGENDA_USE_EVENT_TYPE").'</td>'."\n";
print '<td align="center" width="20">&nbsp;</td>'."\n";
print '<td align="center" width="100">'."\n";
if ($conf->use_javascript_ajax)
{
print ajax_constantonoff('AGENDA_USE_EVENT_TYPE');
}
else
{
if($conf->global->AGENDA_USE_EVENT_TYPE == 0)
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=set_AGENDA_USE_EVENT_TYPE">'.img_picto($langs->trans("Disabled"),'off').'</a>';
}
else if($conf->global->BUSINESS_VISIBLE_TO_ALL_BY_DEFAULT == 1)
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=del_AGENDA_USE_EVENT_TYPE">'.img_picto($langs->trans("Enabled"),'on').'</a>';
}
}
print '</td></tr>'."\n";
dol_fiche_end();
print "<br>";
dol_htmloutput_mesg($mesg);
$db->close();
llxFooter();
$db->close();
?>

View File

@@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Florian Henry <florian.henry@open-concept.pro>
*
@@ -35,6 +35,7 @@ if (!$user->admin)
$langs->load("admin");
$langs->load("other");
$langs->load("agenda");
$extrafields = new ExtraFields($db);
$form = new Form($db);
@@ -46,7 +47,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val);
$action=GETPOST('action', 'alpha');
$attrname=GETPOST('attrname', 'alpha');
$elementtype='actioncomm';
$elementtype='actioncomm'; //Must be the $table_element of the class that manage extrafield
if (!$user->admin) accessforbidden();
@@ -63,15 +64,14 @@ require DOL_DOCUMENT_ROOT.'/core/admin_extrafields.inc.php';
* View
*/
$textobject=$langs->transnoentitiesnoconv("Agenda");
llxHeader();
llxHeader('',$langs->trans("AgendaSetup"));
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'setup');
print "<br>\n";
print "<br>\n";
$head=agenda_prepare_head();
dol_fiche_head($head, 'attributes', $langs->trans("Agenda"));
@@ -79,8 +79,6 @@ dol_fiche_head($head, 'attributes', $langs->trans("Agenda"));
print $langs->trans("DefineHereComplementaryAttributes", $langs->transnoentitiesnoconv("Agenda")).'<br>'."\n";
print '<br>';
dol_htmloutput_errors($mesg);
// Load attribute_label
$extrafields->fetch_name_optionals_label($elementtype);
@@ -110,7 +108,6 @@ foreach($extrafields->attribute_type as $key => $value)
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=edit&attrname='.$key.'">'.img_edit().'</a>';
print "&nbsp; <a href=\"".$_SERVER["PHP_SELF"]."?action=delete&attrname=$key\">".img_delete()."</a></td>\n";
print "</tr>";
// $i++;
}
print "</table>";
@@ -129,8 +126,8 @@ if ($action != 'create' && $action != 'edit')
/* ************************************************************************** */
/* */
/* Creation d'un champ optionnel
/* */
/* Creation d'un champ optionnel */
/* */
/* ************************************************************************** */
if ($action == 'create')
@@ -157,4 +154,4 @@ if ($action == 'edit' && ! empty($attrname))
llxFooter();
$db->close();
?>
?>

View File

@@ -54,32 +54,45 @@ if ($actionsave)
$db->begin();
$disableext=GETPOST('AGENDA_DISABLE_EXT','alpha');
if ($disableext) $disableext=0; else $disableext=1;
$res=dolibarr_set_const($db,'AGENDA_DISABLE_EXT',$disableext,'chaine',0);
$res=dolibarr_set_const($db,'AGENDA_DISABLE_EXT',$disableext,'chaine',0,'',$conf->entity);
$i=1;
$i=1; $errorsaved=0;
$error=0;
// Save agendas
while ($i <= $MAXAGENDA)
{
$name=trim(GETPOST('agenda_ext_name'.$i),'alpha');
$src=trim(GETPOST('agenda_ext_src'.$i,'alpha'));
$color=trim(GETPOST('agenda_ext_color'.$i,'alpha'));
if ($color=='-1') $color='';
if (! empty($src) && ! preg_match('/^(http\s*|ftp\s*):/', $src))
{
setEventMessage($langs->trans("ErrorParamMustBeAnUrl"),'errors');
$error++;
$errorsaved++;
break;
}
//print 'color='.$color;
$res=dolibarr_set_const($db,'AGENDA_EXT_NAME'.$i,trim(GETPOST('agenda_ext_name'.$i),'alpha'),'chaine',0);
$res=dolibarr_set_const($db,'AGENDA_EXT_NAME'.$i,$name,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
$res=dolibarr_set_const($db,'AGENDA_EXT_SRC'.$i,trim(GETPOST('agenda_ext_src'.$i,'alpha')),'chaine',0);
$res=dolibarr_set_const($db,'AGENDA_EXT_SRC'.$i,$src,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
$res=dolibarr_set_const($db,'AGENDA_EXT_COLOR'.$i,$color,'chaine',0);
$res=dolibarr_set_const($db,'AGENDA_EXT_COLOR'.$i,$color,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
$i++;
}
// Save nb of agenda
$res=dolibarr_set_const($db,'AGENDA_EXT_NB',trim(GETPOST('AGENDA_EXT_NB','alpha')),'chaine',0);
if (! $res > 0) $error++;
if (empty($conf->global->AGENDA_EXT_NB)) $conf->global->AGENDA_EXT_NB=5;
$MAXAGENDA=empty($conf->global->AGENDA_EXT_NB)?5:$conf->global->AGENDA_EXT_NB;
if (! $error)
{
$res=dolibarr_set_const($db,'AGENDA_EXT_NB',trim(GETPOST('AGENDA_EXT_NB','alpha')),'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (empty($conf->global->AGENDA_EXT_NB)) $conf->global->AGENDA_EXT_NB=5;
$MAXAGENDA=empty($conf->global->AGENDA_EXT_NB)?5:$conf->global->AGENDA_EXT_NB;
}
if (! $error)
{
@@ -89,7 +102,7 @@ if ($actionsave)
else
{
$db->rollback();
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
if (empty($errorsaved)) $mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
@@ -110,32 +123,55 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'setup');
print '<br>';
print $langs->trans("AgendaExtSitesDesc")."<br>\n";
print "<br>\n";
$head=agenda_prepare_head();
dol_fiche_head($head, 'extsites', $langs->trans("Agenda"));
print $langs->trans("AgendaExtSitesDesc")."<br>\n";
print "<br>\n";
print '<form name="extsitesconfig" action="'.$_SERVER["PHP_SELF"].'" method="post">';
$selectedvalue=(GETPOST('AGENDA_DISABLE_AGENDA','alpha'))?GETPOST('AGENDA_DISABLE_EXT','alpha'):$conf->global->AGENDA_DISABLE_EXT;
$selectedvalue=$conf->global->AGENDA_DISABLE_EXT;
if ($selectedvalue==1) $selectedvalue=0; else $selectedvalue=1;
print $langs->trans("ExtSitesEnableThisTool").' '.$form->selectyesno("AGENDA_DISABLE_EXT",$selectedvalue,1).'<br><br>';
$var=false;
$var=true;
print "<table class=\"noborder\" width=\"100%\">";
print "<tr class=\"liste_titre\">";
print '<td width="180">'.$langs->trans("Parameter")."</td>";
print "<td>".$langs->trans("Value")."</td>";
print '<td>'.$langs->trans("Parameter")."</td>";
print '<td align="center">'.$langs->trans("Value")."</td>";
print "</tr>";
// Show external agenda
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>".$langs->trans("ExtSitesEnableThisTool")."</td>";
print '<td align="center">';
if ($conf->use_javascript_ajax)
{
print ajax_constantonoff('AGENDA_DISABLE_EXT',array('enabled'=>array(0=>'.hideifnotset')),null,1);
}
else
{
if($conf->global->AGENDA_DISABLE_EXT == 0)
{
print '<a href="'.$_SERVER['PHP_SELF'].'?save=1&AGENDA_DISABLE_EXT=1">'.img_picto($langs->trans("Enabled"),'on').'</a>';
}
else
{
print '<a href="'.$_SERVER['PHP_SELF'].'?save=1&AGENDA_DISABLE_EXT=0">'.img_picto($langs->trans("Disabled"),'off').'</a>';
}
}
print "</td>";
print "</tr>";
// Nb of agenda
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>".$langs->trans("ExtSitesNbOfAgenda")."</td>";
print "<td>";
print '<input class="flat" type="text" size="2" name="AGENDA_EXT_NB" value="'.$conf->global->AGENDA_EXT_NB.'">';
print '<td align="center">';
print '<input class="flat hideifnotset" type="text" size="2" id="AGENDA_EXT_NB" name="AGENDA_EXT_NB" value="'.$conf->global->AGENDA_EXT_NB.'">';
print "</td>";
print "</tr>";
@@ -148,7 +184,7 @@ print "<tr class=\"liste_titre\">";
print "<td>".$langs->trans("Parameter")."</td>";
print "<td>".$langs->trans("Name")."</td>";
print "<td>".$langs->trans("ExtSiteUrlAgenda")." (".$langs->trans("Example").': http://yoursite/agenda/agenda.ics)</td>';
print '<td align="center">'.$langs->trans("Color").'</td>';
print '<td align="right">'.$langs->trans("Color").'</td>';
print "</tr>";
$i=1;
@@ -156,18 +192,22 @@ $var=true;
while ($i <= $MAXAGENDA)
{
$key=$i;
$var=!$var;
print "<tr ".$bc[$var].">";
print '<td width="180" nowrap="nowrap">'.$langs->trans("AgendaExtNb",$key)."</td>";
$name='AGENDA_EXT_NAME'.$key;
$src='AGENDA_EXT_SRC'.$key;
$color='AGENDA_EXT_COLOR'.$key;
print "<td><input type=\"text\" class=\"flat\" name=\"agenda_ext_name".$key."\" value=\"". $conf->global->$name . "\" size=\"28\"></td>";
print "<td><input type=\"text\" class=\"flat\" name=\"agenda_ext_src".$key."\" value=\"". $conf->global->$src . "\" size=\"60\"></td>";
print '<td nowrap="nowrap" align="center">';
// Possible colors are limited by Google
//print $formadmin->select_colors($conf->global->$color, "google_agenda_color".$key, $colorlist);
print $formother->select_color($conf->global->$color, "agenda_ext_color".$key, 'extsitesconfig', 1, '');
$var=!$var;
print "<tr ".$bc[$var].">";
// Nb
print '<td width="180" class="nowrap">'.$langs->trans("AgendaExtNb",$key)."</td>";
// Name
print '<td><input type="text" class="flat hideifnotset" name="agenda_ext_name'.$key.'" value="'. (GETPOST('agenda_ext_name'.$key)?GETPOST('agenda_ext_name'.$key):$conf->global->$name) . '" size="28"></td>';
// URL
print '<td><input type="url" class="flat hideifnotset" name="agenda_ext_src'.$key.'" value="'. (GETPOST('agenda_ext_src'.$key)?GETPOST('agenda_ext_src'.$key):$conf->global->$src) . '" size="60"></td>';
// Color (Possible colors are limited by Google)
print '<td class="nowrap" align="right">';
//print $formadmin->selectColor($conf->global->$color, "google_agenda_color".$key, $colorlist);
print $formother->selectColor((GETPOST("agenda_ext_color".$key)?GETPOST("agenda_ext_color".$key):$conf->global->$color), "agenda_ext_color".$key, 'extsitesconfig', 1, '', 'hideifnotset');
print '</td>';
print "</tr>";
$i++;
@@ -187,7 +227,8 @@ dol_fiche_end();
dol_htmloutput_mesg($mesg);
$db->close();
llxFooter();
$db->close();
?>

View File

@@ -0,0 +1,135 @@
<?php
/* Copyright (C) 2008-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2011 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/admin/agenda.php
* \ingroup agenda
* \brief Autocreate actions for agenda module setup page
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/agenda.lib.php';
if (!$user->admin)
accessforbidden();
$langs->load("admin");
$langs->load("other");
$action = GETPOST('action','alpha');
$cancel = GETPOST('cancel','alpha');
/*
* Actions
*/
if (preg_match('/set_(.*)/',$action,$reg))
{
$code=$reg[1];
$value=(GETPOST($code) ? GETPOST($code) : 1);
if (dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity) > 0)
{
Header("Location: ".$_SERVER["PHP_SELF"]);
exit;
}
else
{
dol_print_error($db);
}
}
if (preg_match('/del_(.*)/',$action,$reg))
{
$code=$reg[1];
if (dolibarr_del_const($db, $code, $conf->entity) > 0)
{
Header("Location: ".$_SERVER["PHP_SELF"]);
exit;
}
else
{
dol_print_error($db);
}
}
/**
* View
*/
llxHeader();
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'setup');
print "<br>\n";
$head=agenda_prepare_head();
dol_fiche_head($head, 'other', $langs->trans("Agenda"));
print_titre($langs->trans("OtherOptions"));
$var=true;
print '<table class="noborder allwidth">'."\n";
print '<tr class="liste_titre">'."\n";
print '<td>'.$langs->trans("Parameters").'</td>'."\n";
print '<td align="center" width="20">&nbsp;</td>'."\n";
print '<td align="center" width="100">'.$langs->trans("Value").'</td>'."\n";
print '</tr>'."\n";
// Manual or automatic
$var=!$var;
print '<tr '.$bc[$var].'>'."\n";
print '<td>'.$langs->trans("AGENDA_USE_EVENT_TYPE").'</td>'."\n";
print '<td align="center" width="20">&nbsp;</td>'."\n";
print '<td align="center" width="100">'."\n";
if ($conf->use_javascript_ajax)
{
print ajax_constantonoff('AGENDA_USE_EVENT_TYPE');
}
else
{
if($conf->global->AGENDA_USE_EVENT_TYPE == 0)
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=set_AGENDA_USE_EVENT_TYPE">'.img_picto($langs->trans("Disabled"),'off').'</a>';
}
else if($conf->global->BUSINESS_VISIBLE_TO_ALL_BY_DEFAULT == 1)
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=del_AGENDA_USE_EVENT_TYPE">'.img_picto($langs->trans("Enabled"),'on').'</a>';
}
}
print '</td></tr>'."\n";
print '</table>';
dol_fiche_end();
print "<br>";
dol_htmloutput_mesg($mesg);
llxFooter();
$db->close();
?>

View File

@@ -75,13 +75,13 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'setup');
print '<br>';
print $langs->trans("AgendaSetupOtherDesc")."<br>\n";
print "<br>\n";
$head=agenda_prepare_head();
dol_fiche_head($head, 'xcal', $langs->trans("Agenda"));
print $langs->trans("AgendaSetupOtherDesc")."<br>\n";
print "<br>\n";
print '<form name="agendasetupform" action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';

View File

@@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,12 +19,12 @@
/**
* \file htdocs/compta/bank/admin/bank.php
* \file htdocs/admin/bank.php
* \ingroup bank
* \brief Page to setup the bank module
*/
require '../../../main.inc.php';
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
@@ -87,6 +88,16 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
print_fiche_titre($langs->trans("BankSetupModule"),$linkback,'setup');
print '<br>';
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/bank.php";
$head[$h][1] = $langs->trans("Miscellaneous");
$head[$h][2] = 'general';
$hselected=$h;
$h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameters").'</td>';
@@ -154,7 +165,7 @@ while ($i < $nbofbank)
print '<td>'.$bankorder[$i][0]."</td><td>\n";
print $bankorder[$i][1];
print '</td>';
print '<td nowrap="nowrap">';
print '<td class="nowrap">';
$tmparray=explode(' ',$bankorder[$i][2]);
foreach($tmparray as $key => $val)
{

View File

@@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
@@ -28,6 +28,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/infobox.class.php';
include_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
$langs->load("admin");
$langs->load("boxes");
if (! $user->admin) accessforbidden();
@@ -35,9 +36,8 @@ $rowid = GETPOST('rowid','int');
$action = GETPOST('action','alpha');
$errmesg='';
// Definition des positions possibles pour les boites
$pos_array = array(0); // Positions possibles pour une boite (0,1,2,...)
$pos_name = array(0=>$langs->trans("Home")); // Nom des positions 0=Homepage, 1=...
// Define possible position of boxes
$pos_name = getStaticMember('InfoBox','listOfPages');
$boxes = array();
@@ -236,12 +236,14 @@ $sql.= " AND b.box_id = bd.rowid";
$sql.= " AND b.fk_user=0";
$sql.= " ORDER by b.position, b.box_order";
dol_syslog("Search available boxes sql=".$sql, LOG_DEBUG);
$resql = $db->query($sql);
if ($resql)
{
$num = $db->num_rows($resql);
$i = 0;
$decalage=0;
$var=false;
while ($i < $num)
{
$var = ! $var;
@@ -313,7 +315,7 @@ if ($resql)
}
// Available boxes
// Available boxes to activate
$boxtoadd=InfoBox::listBoxes($db,'available',-1,null,$actives);
print "<br>\n";
@@ -344,13 +346,22 @@ foreach($boxtoadd as $box)
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<tr '.$bc[$var].'>';
print '<td>'.img_object("",$logo).' '.$box->boxlabel.'</td>';
print '<td>' . ($box->note?$box->note:'&nbsp;') . '</td>';
print '<td>'.img_object("",$logo).' '.$langs->transnoentitiesnoconv($box->boxlabel);
if (! empty($box->class) && preg_match('/graph_/',$box->class)) print ' ('.$langs->trans("Graph").')';
print '</td>';
print '<td>';
if ($box->note == '(WarningUsingThisBoxSlowDown)')
{
$langs->load("errors");
print $langs->trans("WarningUsingThisBoxSlowDown");
}
else print ($box->note?$box->note:'&nbsp;');
print '</td>';
print '<td>' . $box->sourcefile . '</td>';
// Pour chaque position possible, on affiche un lien d'activation si boite non deja active pour cette position
print '<td>';
print $form->selectarray("pos",$pos_name);
print $form->selectarray("pos",$pos_name,0,0,0,0,'',1);
print '<input type="hidden" name="action" value="add">';
print '<input type="hidden" name="boxid" value="'.$box->box_id.'">';
print ' <input type="submit" class="button" name="button" value="'.$langs->trans("Activate").'">';
@@ -396,9 +407,18 @@ foreach($boxactivated as $key => $box)
print "\n".'<!-- Box '.$box->boxcode.' -->'."\n";
print '<tr '.$bc[$var].'>';
print '<td>'.img_object("",$logo).' '.$box->boxlabel.'</td>';
print '<td>' . ($box->note?$box->note:'&nbsp;') . '</td>';
print '<td align="center">' . (isset($pos_name[$box->position])?$pos_name[$box->position]:'') . '</td>';
print '<td>'.img_object("",$logo).' '.$langs->transnoentitiesnoconv($box->boxlabel);
if (! empty($box->class) && preg_match('/graph_/',$box->class)) print ' ('.$langs->trans("Graph").')';
print '</td>';
print '<td>';
if ($box->note == '(WarningUsingThisBoxSlowDown)')
{
$langs->load("errors");
print img_warning('',0).' '.$langs->trans("WarningUsingThisBoxSlowDown");
}
else print ($box->note?$box->note:'&nbsp;');
print '</td>';
print '<td align="center">' . (empty($pos_name[$box->position])?'':$langs->trans($pos_name[$box->position])) . '</td>';
$hasnext=($key < (count($boxactivated)-1));
$hasprevious=($key != 0);
print '<td align="center">'.($key+1).'</td>';

View File

@@ -38,7 +38,7 @@ $action = GETPOST("action");
*/
if ($action == 'setvalue' && $user->admin)
{
$result=dolibarr_set_const($db, "CLICKTODIAL_URL",GETPOST("url"),'chaine',0,'',$conf->entity);
$result=dolibarr_set_const($db, "CLICKTODIAL_URL", GETPOST("url"), 'chaine', 0, '', $conf->entity);
if ($result >= 0)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
@@ -54,6 +54,8 @@ if ($action == 'setvalue' && $user->admin)
* View
*/
$user->fetch_clicktodial();
$wikihelp='EN:Module_ClickToDial_En|FR:Module_ClickToDial|ES:Módulo_ClickTodial_Es';
llxHeader('',$langs->trans("ClickToDialSetup"),$wikihelp);
@@ -69,33 +71,67 @@ print '<input type="hidden" name="action" value="setvalue">';
$var=true;
print '<table class="nobordernopadding" width="100%">';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td width="120">'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Value").'</td>';
print "</tr>\n";
$var=!$var;
print '<tr '.$bc[$var].'><td valign="top">';
print $langs->trans("URL").'</td><td>';
print $langs->trans("DefaultLink").'</td><td>';
print '<input size="92" type="text" name="url" value="'.$conf->global->CLICKTODIAL_URL.'"><br>';
print '<br>';
print $langs->trans("ClickToDialUrlDesc").'<br>';
print $langs->trans("Example").':<br>http://myphoneserver/mypage?login=__LOGIN__&password=__PASS__&caller=__PHONEFROM__&called=__PHONETO__';
//if (! empty($user->clicktodial_url))
//{
print '<br>';
print info_admin($langs->trans("ValueOverwrittenByUserSetup"));
//}
print '</td></tr>';
print '<tr><td colspan="3" align="center"><br><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td></tr>';
print '</table></form>';
print '</table>';
/*if (! empty($conf->global->CLICKTODIAL_URL))
{
print $langs->trans("Test");
// Add a phone number to test
}
*/
print '<center><br><input type="submit" class="button" value="'.$langs->trans("Modify").'"></center>';
print '</form><br><br>';
if (! empty($conf->global->CLICKTODIAL_URL))
{
$user->fetch_clicktodial();
$phonefortest=$mysoc->phone;
if (GETPOST('phonefortest')) $phonefortest=GETPOST('phonefortest');
print '<form action="'.$_SERVER["PHP_SELF"].'">';
print $langs->trans("LinkToTestClickToDial",$user->login).' : ';
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 '</form>';
$setupcomplete=1;
if (preg_match('/__LOGIN__/',$conf->global->CLICKTODIAL_URL) && empty($user->clicktodial_login)) $setupcomplete=0;
if (preg_match('/__PASSWORD__/',$conf->global->CLICKTODIAL_URL) && empty($user->clicktodial_password)) $setupcomplete=0;
if (preg_match('/__PHONEFROM__/',$conf->global->CLICKTODIAL_URL) && empty($user->clicktodial_poste)) $setupcomplete=0;
if ($setupcomplete)
{
print $langs->trans("LinkToTest",$user->login).': '.dol_print_phone($phonefortest, '', 0, 0, 'AC_TEL');
}
else
{
$langs->load("errors");
print '<div class="warning">'.$langs->trans("WarningClickToDialUserSetupNotComplete").'</div>';
}
}
dol_htmloutput_mesg($mesg);
$db->close();
llxFooter();
?>
$db->close();
?>

View File

@@ -7,7 +7,8 @@
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2011-2013 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
*
* 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
@@ -32,6 +33,7 @@
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/order.lib.php';
$langs->load("admin");
$langs->load("errors");
@@ -114,30 +116,13 @@ else if ($action == 'specimen')
// Activate a model
else if ($action == 'set')
{
$label = GETPOST('label','alpha');
$scandir = GETPOST('scandir','alpha');
$type='order';
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$db->escape($value)."','".$type."',".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null");
$sql.= ")";
if ($db->query($sql))
{
}
$ret = addDocumentModel($value, $type, $label, $scandir);
}
else if ($action == 'del')
{
$type='order';
$sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
$sql.= " WHERE nom = '".$db->escape($value)."'";
$sql.= " AND type = '".$type."'";
$sql.= " AND entity = ".$conf->entity;
if ($db->query($sql))
$ret = delDocumentModel($value, $type);
if ($ret > 0)
{
if ($conf->global->COMMANDE_ADDON_PDF == "$value") dolibarr_del_const($db, 'COMMANDE_ADDON_PDF',$conf->entity);
}
@@ -146,41 +131,18 @@ else if ($action == 'del')
// Set default model
else if ($action == 'setdoc')
{
$label = GETPOST('label','alpha');
$scandir = GETPOST('scandir','alpha');
$db->begin();
if (dolibarr_set_const($db, "COMMANDE_ADDON_PDF",$value,'chaine',0,'',$conf->entity))
{
// La constante qui a ete lue en avant du nouveau set
// on passe donc par une variable pour avoir un affichage coherent
$conf->global->COMMANDE_ADDON_PDF = $value;
}
// On active le modele
$type='order';
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
$sql_del.= " WHERE nom = '".$db->escape($value)."'";
$sql_del.= " AND type = '".$type."'";
$sql_del.= " AND entity = ".$conf->entity;
dol_syslog("Delete from model table ".$sql_del);
$result1=$db->query($sql_del);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$value."', '".$type."', ".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
$sql.= (! empty($scandir)?"'".$scandir."'":"null");
$sql.= ")";
dol_syslog("Insert into model table ".$sql);
$result2=$db->query($sql);
if ($result1 && $result2)
$ret = delDocumentModel($value, $type);
if ($ret > 0)
{
$db->commit();
}
else
{
dol_syslog("Error ".$db->lasterror(), LOG_ERR);
$db->rollback();
$ret = addDocumentModel($value, $type, $label, $scandir);
}
}
@@ -234,6 +196,14 @@ else if ($action=='setModuleOptions') {
$conf->global->COMMANDE_ADDON_PDF_ODT_PATH = GETPOST('value1');
}
}
else if ($action=='setModuleOptions') {
if (dolibarr_set_const($db, "COMMANDE_ADDON_PDF_ODT_PATH",GETPOST('value1'),'chaine',0,'',$conf->entity))
{
// La constante qui a ete lue en avant du nouveau set
// on passe donc par une variable pour avoir un affichage coherent
$conf->global->COMMANDE_ADDON_PDF_ODT_PATH = GETPOST('value1');
}
}
/*
@@ -250,10 +220,12 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'setup');
print '<br>';
$head = order_admin_prepare_head(null);
dol_fiche_head($head, 'general', $langs->trans("ModuleSetup"), 0, 'order');
/*
* Numbering module
* Orders Numbering model
*/
print_titre($langs->trans("OrdersNumberingModules"));
@@ -262,7 +234,7 @@ print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>';
print '<td nowrap="nowrap">'.$langs->trans("Example").'</td>';
print '<td class="nowrap">'.$langs->trans("Example").'</td>';
print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="16">'.$langs->trans("Infos").'</td>';
print '</tr>'."\n";
@@ -286,23 +258,23 @@ foreach ($dirmodels as $reldir)
{
$file = substr($file, 0, dol_strlen($file)-4);
require_once DOL_DOCUMENT_ROOT ."/core/modules/commande/".$file.'.php';
require_once $dir.$file.'.php';
$module = new $file;
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
if ($module->isEnabled())
{
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$module->nom."</td><td>\n";
print $module->info();
print '</td>';
// Show example of numbering module
print '<td nowrap="nowrap">';
// Show example of numbering model
print '<td class="nowrap">';
$tmp=$module->getExample();
if (preg_match('/^Error/',$tmp)) print '<div class="error">'.$langs->trans($tmp).'</div>';
elseif ($tmp=='NotConfigured') print $langs->trans($tmp);
@@ -518,11 +490,14 @@ foreach ($dirmodels as $reldir)
}
print '</table>';
//Autres Options
print "<br>";
print_titre($langs->trans("OtherOptions"));
/*
* Other options
*
*/
print_titre($langs->trans("OtherOptions"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
@@ -61,14 +61,14 @@ if ( ($action == 'update' && empty($_POST["cancel"]))
$mysoc->country_label=$tmparray['label'];
$s=$mysoc->country_id.':'.$mysoc->country_code.':'.$mysoc->country_label;
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_PAYS", $s,'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_COUNTRY", $s,'chaine',0,'',$conf->entity);
}
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM",$_POST["nom"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADRESSE",$_POST["address"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_VILLE",$_POST["ville"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_CP",$_POST["cp"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_DEPARTEMENT",$_POST["departement_id"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADDRESS",$_POST["address"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TOWN",$_POST["town"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ZIP",$_POST["zipcode"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_STATE",$_POST["state_id"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_MONNAIE",$_POST["currency"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_TEL",$_POST["tel"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FAX",$_POST["fax"],'chaine',0,'',$conf->entity);
@@ -268,7 +268,7 @@ if ($action == 'edit' || $action == 'updateedit')
$var=true;
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td width="35%">'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
print '<tr class="liste_titre"><th width="35%">'.$langs->trans("CompanyInfo").'</th><th>'.$langs->trans("Value").'</th></tr>'."\n";
$var=!$var;
print '<tr '.$bc[$var].'><td class="fieldrequired">'.$langs->trans("CompanyName").'</td><td>';
@@ -276,27 +276,27 @@ if ($action == 'edit' || $action == 'updateedit')
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyAddress").'</td><td>';
print '<textarea name="address" cols="80" rows="'.ROWS_3.'">'. ($conf->global->MAIN_INFO_SOCIETE_ADRESSE?$conf->global->MAIN_INFO_SOCIETE_ADRESSE:$_POST["address"]) . '</textarea></td></tr>'."\n";
print '<textarea name="address" cols="80" rows="'.ROWS_3.'">'. ($conf->global->MAIN_INFO_SOCIETE_ADDRESS?$conf->global->MAIN_INFO_SOCIETE_ADDRESS:$_POST["address"]) . '</textarea></td></tr>'."\n";
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyZip").'</td><td>';
print '<input name="cp" value="'. ($conf->global->MAIN_INFO_SOCIETE_CP?$conf->global->MAIN_INFO_SOCIETE_CP:$_POST["cp"]) . '" size="10"></td></tr>'."\n";
print '<input name="zipcode" value="'. ($conf->global->MAIN_INFO_SOCIETE_ZIP?$conf->global->MAIN_INFO_SOCIETE_ZIP:$_POST["zipcode"]) . '" size="10"></td></tr>'."\n";
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyTown").'</td><td>';
print '<input name="ville" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_VILLE?$conf->global->MAIN_INFO_SOCIETE_VILLE:$_POST["ville"]) . '"></td></tr>'."\n";
print '<input name="town" size="30" value="'. ($conf->global->MAIN_INFO_SOCIETE_TOWN?$conf->global->MAIN_INFO_SOCIETE_TOWN:$_POST["town"]) . '"></td></tr>'."\n";
// Country
$var=!$var;
print '<tr '.$bc[$var].'><td class="fieldrequired">'.$langs->trans("Country").'</td><td>';
//if (empty($pays_selected)) $pays_selected=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation
//if (empty($country_selected)) $country_selected=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation
print $form->select_country($mysoc->country_id,'country_id');
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1);
print '</td></tr>'."\n";
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("State").'</td><td>';
$formcompany->select_departement($conf->global->MAIN_INFO_SOCIETE_DEPARTEMENT,$mysoc->country_code,'departement_id');
$formcompany->select_departement($conf->global->MAIN_INFO_SOCIETE_STATE,$mysoc->country_code,'state_id');
print '</td></tr>'."\n";
$var=!$var;
@@ -336,7 +336,7 @@ if ($action == 'edit' || $action == 'updateedit')
// Logo
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("Logo").' (png,jpg)</td><td>';
print '<tr'.dol_bc($var,'hideonsmartphone').'><td>'.$langs->trans("Logo").' (png,jpg)</td><td>';
print '<table width="100%" class="nocellnopadd"><tr class="nocellnopadd"><td valign="middle" class="nocellnopadd">';
print '<input type="file" class="flat" name="logo" size="50">';
print '</td><td valign="middle" align="right">';
@@ -366,7 +366,7 @@ if ($action == 'edit' || $action == 'updateedit')
print '<br>';
// Identifiants de la societe (propre au pays)
// Identifiants de la societe (country-specific)
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
$var=true;
@@ -547,7 +547,7 @@ if ($action == 'edit' || $action == 'updateedit')
/*
* Local Taxes
*/
if ($mysoc->hasLocalTax(1))
if ($mysoc->useLocalTax(1))
{
// Local Tax 1
print '<br>';
@@ -579,7 +579,7 @@ if ($action == 'edit' || $action == 'updateedit')
print "</td></tr>\n";
print "</table>";
}
if ($mysoc->hasLocalTax(2))
if ($mysoc->useLocalTax(2))
{
// Local Tax 2
print '<br>';
@@ -646,13 +646,13 @@ else
print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br($conf->global->MAIN_INFO_SOCIETE_ADRESSE) . '</td></tr>';
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br(empty($conf->global->MAIN_INFO_SOCIETE_ADDRESS)?'':$conf->global->MAIN_INFO_SOCIETE_ADDRESS) . '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyZip").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_CP . '</td></tr>';
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyZip").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_ZIP)?'':$conf->global->MAIN_INFO_SOCIETE_ZIP) . '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyTown").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_VILLE . '</td></tr>';
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyTown").'</td><td>' . (empty($conf->global->MAIN_INFO_SOCIETE_TOWN)?'':$conf->global->MAIN_INFO_SOCIETE_TOWN) . '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCountry").'</td><td>';
@@ -667,14 +667,14 @@ else
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("State").'</td><td>';
if (! empty($conf->global->MAIN_INFO_SOCIETE_DEPARTEMENT)) print getState($conf->global->MAIN_INFO_SOCIETE_DEPARTEMENT);
if (! empty($conf->global->MAIN_INFO_SOCIETE_STATE)) print getState($conf->global->MAIN_INFO_SOCIETE_STATE);
else print '&nbsp;';
print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>';
print currency_name($conf->currency,1);
print ' ('.getCurrencySymbol($conf->currency).')';
print ' ('.$langs->getCurrencySymbol($conf->currency).')';
print '</td></tr>';
$var=!$var;
@@ -731,7 +731,7 @@ else
print '<br>';
// Identifiants de la societe (propre au pays)
// Identifiants de la societe (country-specific)
print '<form name="formsoc" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="noborder" width="100%">';
@@ -860,7 +860,7 @@ else
}
else
{
$s.='<a href="'.$langs->transcountry("VATIntraCheckURL",$soc->id_pays).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').'</a>';
$s.='<a href="'.$langs->transcountry("VATIntraCheckURL",$soc->id_country).'" target="_blank">'.img_picto($langs->trans("VATIntraCheckableOnEUSite"),'help').'</a>';
}
}
print $s;
@@ -927,7 +927,7 @@ else
/*
* Local Taxes
*/
if ($mysoc->hasLocalTax(1))
if ($mysoc->useLocalTax(1))
{
// Local Tax 1
print '<br>';
@@ -960,7 +960,7 @@ else
print "</table>";
}
if ($mysoc->hasLocalTax(2))
if ($mysoc->useLocalTax(2))
{
// Local Tax 2
print '<br>';
@@ -997,7 +997,7 @@ else
// Actions buttons
print '<div class="tabsAction">';
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>';
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a></div>';
print '</div>';
print '<br>';

View File

@@ -2,7 +2,8 @@
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -35,6 +36,10 @@ accessforbidden();
$action = GETPOST('action','alpha');
/*
* Actions
*/
$compta_mode = defined('COMPTA_MODE')?COMPTA_MODE:'RECETTES-DEPENSES';
if ($action == 'setcomptamode')
@@ -87,7 +92,7 @@ if ($action == 'update' || $action == 'add')
}*/
/*
* Affichage page
* View
*/
llxHeader();
@@ -97,9 +102,18 @@ $form=new Form($db);
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans('ComptaSetup'),$linkback,'setup');
print '<br>';
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/compta.php";
$head[$h][1] = $langs->trans("Accountancy");
$head[$h][2] = 'Compta';
$hselected=$h;
$h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
print '<table class="noborder" width="100%">';
// Cas du parametre COMPTA_MODE

View File

@@ -122,7 +122,7 @@ if (! empty($consts) && $action == 'delete')
}
}
if ($nbdeleted > 0) setEventMessage($langs->trans("RecordDeleted"));
$action='';
$action='';
}
// Delete line from delete picto
@@ -130,7 +130,7 @@ if ($action == 'delete')
{
if (dolibarr_del_const($db, $rowid, $entity) >= 0)
{
setEventMessage($langs->trans("RecordDeleted"));
setEventMessage($langs->trans("RecordDeleted"));
}
else
{
@@ -222,8 +222,8 @@ print '</form>';
print "\n";
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" id="action" name="action" value="">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" id="action" name="action" value="">';
// Show constants
$sql = "SELECT";

View File

@@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,6 +28,7 @@ require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
$langs->load("admin");
$langs->load("errors");
$langs->load("contracts");
if (!$user->admin) accessforbidden();
@@ -88,6 +90,20 @@ print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'setup');
print "<br>";
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/contract.php";
$head[$h][1] = $langs->trans("Contracts");
$head[$h][2] = 'Contract';
$hselected=$h;
$h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
/*
* Contracts Numbering model
*/
print_titre($langs->trans("ContractsNumberingModules"));
print '<table class="noborder" width="100%">';
@@ -129,8 +145,8 @@ if (is_resource($handle))
print $module->info();
print '</td>';
// Show example of numbering module
print '<td nowrap="nowrap">';
// Show example of numbering model
print '<td class="nowrap">';
$tmp=$module->getExample();
if (preg_match('/^Error/',$tmp)) { $langs->load("errors"); print '<div class="error">'.$langs->trans($tmp).'</div>'; }
elseif ($tmp=='NotConfigured') print $langs->trans($tmp);

View File

@@ -6,9 +6,9 @@
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2011 Remy Younes <ryounes@gmail.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012-2013 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr>
* Copyright (C) 2011-2012 Alexandre Spangaro <alexandre.spangaro@gmail.com>
* Copyright (C) 2011-2012 Alexandre Spangaro <alexandre.spangaro@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -64,15 +64,13 @@ $pageprev = $page - 1;
$pagenext = $page + 1;
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
$hookmanager=new HookManager($db);
$hookmanager->initHooks(array('admin'));
// This page is a generic page to edit dictionnaries
// Put here declaration of dictionnaries properties
// Sort order to show dictionnary (0 is space). All other dictionnaries (added by modules) will be at end of this.
$taborder=array(9,0,4,3,2,0,1,8,19,16,0,5,11,0,6,0,10,12,13,0,14,0,7,17,0,22,20,18,21,0,15,0,24,23);
$taborder=array(9,0,4,3,2,0,1,8,19,16,0,5,11,0,6,0,10,25,12,13,0,14,0,7,17,0,22,20,18,21,0,15,0,24,23);
// Name of SQL tables of dictionnaries
$tabname=array();
@@ -100,6 +98,7 @@ $tabname[21]= MAIN_DB_PREFIX."c_availability";
$tabname[22]= MAIN_DB_PREFIX."c_input_reason";
$tabname[23]= MAIN_DB_PREFIX."accountingaccount";
$tabname[24]= MAIN_DB_PREFIX."accounting_system";
$tabname[25]= MAIN_DB_PREFIX."c_revenuestamp";
// Dictionary labels
$tablib=array();
@@ -127,50 +126,52 @@ $tablib[21]= "DictionnaryAvailability";
$tablib[22]= "DictionnarySource";
$tablib[23]= "DictionnaryAccountancyplan";
$tablib[24]= "DictionnaryAccountancysystem";
$tablib[25]= "DictionnaryRevenueStamp";
// Requete pour extraction des donnees des dictionnaires
$tabsql=array();
$tabsql[1] = "SELECT f.rowid as rowid, f.code, f.libelle, p.code as pays_code, p.libelle as pays, f.active FROM ".MAIN_DB_PREFIX."c_forme_juridique as f, ".MAIN_DB_PREFIX."c_pays as p WHERE f.fk_pays=p.rowid";
$tabsql[2] = "SELECT d.rowid as rowid, d.code_departement as code, d.nom as libelle, d.fk_region as region_id, r.nom as region, p.code as pays_code, p.libelle as pays, d.active FROM ".MAIN_DB_PREFIX."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid and r.active=1 and p.active=1";
$tabsql[3] = "SELECT r.rowid as rowid, code_region as code, nom as libelle, r.fk_pays as pays_id, p.code as pays_code, p.libelle as pays, r.active FROM ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p WHERE r.fk_pays=p.rowid and p.active=1";
$tabsql[1] = "SELECT f.rowid as rowid, f.code, f.libelle, p.code as country_code, p.libelle as country, f.active FROM ".MAIN_DB_PREFIX."c_forme_juridique as f, ".MAIN_DB_PREFIX."c_pays as p WHERE f.fk_pays=p.rowid";
$tabsql[2] = "SELECT d.rowid as rowid, d.code_departement as code, d.nom as libelle, d.fk_region as region_id, r.nom as region, p.code as country_code, p.libelle as country, d.active FROM ".MAIN_DB_PREFIX."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid and r.active=1 and p.active=1";
$tabsql[3] = "SELECT r.rowid as rowid, code_region as code, nom as libelle, r.fk_pays as country_id, p.code as country_code, p.libelle as country, r.active FROM ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p WHERE r.fk_pays=p.rowid and p.active=1";
$tabsql[4] = "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_pays";
$tabsql[5] = "SELECT c.rowid as rowid, c.code as code, c.civilite AS libelle, c.active FROM ".MAIN_DB_PREFIX."c_civilite AS c";
$tabsql[6] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active, a.module, a.position FROM ".MAIN_DB_PREFIX."c_actioncomm AS a";
$tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, a.deductible, p.code as pays_code, p.libelle as pays, a.fk_pays as pays_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_pays as p WHERE a.fk_pays=p.rowid and p.active=1";
$tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, a.deductible, p.code as country_code, p.libelle as country, a.fk_pays as country_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_pays as p WHERE a.fk_pays=p.rowid and p.active=1";
$tabsql[8] = "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_typent";
$tabsql[9] = "SELECT code_iso as code, label as libelle, unicode, active FROM ".MAIN_DB_PREFIX."c_currencies";
$tabsql[10]= "SELECT t.rowid, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, p.libelle as pays, p.code as pays_code, t.fk_pays as pays_id, t.recuperableonly, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p WHERE t.fk_pays=p.rowid";
$tabsql[9] = "SELECT code_iso as code, label, unicode, active FROM ".MAIN_DB_PREFIX."c_currencies";
$tabsql[10]= "SELECT t.rowid, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, p.libelle as country, p.code as country_code, t.fk_pays as country_id, t.recuperableonly, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p WHERE t.fk_pays=p.rowid";
$tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t";
$tabsql[12]= "SELECT c.rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX.'c_payment_term AS c';
$tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active FROM ".MAIN_DB_PREFIX."c_paiement AS c";
$tabsql[14]= "SELECT e.rowid as rowid, e.code as code, e.libelle, e.price, e.organization, e.fk_pays as pays_id, p.code as pays_code, p.libelle as pays, e.active FROM ".MAIN_DB_PREFIX."c_ecotaxe AS e, ".MAIN_DB_PREFIX."c_pays as p WHERE e.fk_pays=p.rowid and p.active=1";
$tabsql[14]= "SELECT e.rowid as rowid, e.code as code, e.libelle, e.price, e.organization, e.fk_pays as country_id, p.code as country_code, p.libelle as country, e.active FROM ".MAIN_DB_PREFIX."c_ecotaxe AS e, ".MAIN_DB_PREFIX."c_pays as p WHERE e.fk_pays=p.rowid and p.active=1";
$tabsql[15]= "SELECT rowid as rowid, code, label as libelle, width, height, unit, active FROM ".MAIN_DB_PREFIX."c_paper_format";
$tabsql[16]= "SELECT code, label as libelle, active FROM ".MAIN_DB_PREFIX."c_prospectlevel";
$tabsql[17]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_fees";
$tabsql[18]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_shipment_mode";
$tabsql[18]= "SELECT rowid as rowid, code, libelle, tracking, active FROM ".MAIN_DB_PREFIX."c_shipment_mode";
$tabsql[19]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_effectif";
$tabsql[20]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_input_method";
$tabsql[21]= "SELECT c.rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_availability AS c";
$tabsql[22]= "SELECT rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_input_reason";
$tabsql[23]= "SELECT rowid as rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number as accountancy_code, account_parent, label, active FROM ".MAIN_DB_PREFIX."accountingaccount";
$tabsql[24]= "SELECT s.rowid as rowid, pcg_version, s.fk_pays as pays_id, p.code as pays_code, p.libelle as pays, s.label, s.active FROM ".MAIN_DB_PREFIX."accounting_system as s, ".MAIN_DB_PREFIX."c_pays as p WHERE s.fk_pays=p.rowid and p.active=1";
$tabsql[24]= "SELECT s.rowid as rowid, pcg_version, s.fk_pays as country_id, p.code as country_code, p.libelle as pays, s.label, s.active FROM ".MAIN_DB_PREFIX."accounting_system as s, ".MAIN_DB_PREFIX."c_pays as p WHERE s.fk_pays=p.rowid and p.active=1";
$tabsql[25]= "SELECT t.rowid, t.taux, p.libelle as country, p.code as country_code, t.fk_pays as country_id, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_revenuestamp as t, ".MAIN_DB_PREFIX."c_pays as p WHERE t.fk_pays=p.rowid";
// Critere de tri du dictionnaire
$tabsqlsort=array();
$tabsqlsort[1] ="pays ASC, code ASC";
$tabsqlsort[2] ="pays ASC, code ASC";
$tabsqlsort[3] ="pays ASC, code ASC";
$tabsqlsort[1] ="country ASC, code ASC";
$tabsqlsort[2] ="country ASC, code ASC";
$tabsqlsort[3] ="country ASC, code ASC";
$tabsqlsort[4] ="code ASC";
$tabsqlsort[5] ="libelle ASC";
$tabsqlsort[6] ="a.type ASC, a.module ASC, a.position ASC, a.code ASC";
$tabsqlsort[7] ="pays ASC, code ASC, a.libelle ASC";
$tabsqlsort[7] ="country ASC, code ASC, a.libelle ASC";
$tabsqlsort[8] ="libelle ASC";
$tabsqlsort[9] ="libelle ASC";
$tabsqlsort[10]="pays ASC, taux ASC, recuperableonly ASC, localtax1 ASC, localtax2 ASC";
$tabsqlsort[9] ="label ASC";
$tabsqlsort[10]="country ASC, taux ASC, recuperableonly ASC, localtax1 ASC, localtax2 ASC";
$tabsqlsort[11]="element ASC, source ASC, code ASC";
$tabsqlsort[12]="sortorder ASC, code ASC";
$tabsqlsort[13]="code ASC";
$tabsqlsort[14]="pays ASC, e.organization ASC, code ASC";
$tabsqlsort[14]="country ASC, e.organization ASC, code ASC";
$tabsqlsort[15]="rowid ASC";
$tabsqlsort[16]="sortorder ASC";
$tabsqlsort[17]="code ASC";
@@ -181,60 +182,63 @@ $tabsqlsort[21]="code ASC, label ASC";
$tabsqlsort[22]="code ASC, label ASC";
$tabsqlsort[23]="fk_pcg_version ASC, accountancy_code ASC";
$tabsqlsort[24]="pcg_version ASC";
$tabsqlsort[25]="country ASC, taux ASC";
// Nom des champs en resultat de select pour affichage du dictionnaire
$tabfield=array();
$tabfield[1] = "code,libelle,pays";
$tabfield[2] = "code,libelle,region_id,region,pays"; // "code,libelle,region,pays_code-pays"
$tabfield[3] = "code,libelle,pays_id,pays";
$tabfield[1] = "code,libelle,country";
$tabfield[2] = "code,libelle,region_id,region,country"; // "code,libelle,region,country_code-country"
$tabfield[3] = "code,libelle,country_id,country";
$tabfield[4] = "code,libelle";
$tabfield[5] = "code,libelle";
$tabfield[6] = "code,libelle,type,position";
$tabfield[7] = "code,libelle,pays_id,pays,accountancy_code,deductible";
$tabfield[7] = "code,libelle,country_id,country,accountancy_code,deductible";
$tabfield[8] = "code,libelle";
$tabfield[9] = "code,libelle,unicode";
$tabfield[10]= "pays_id,pays,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note";
$tabfield[9] = "code,label,unicode";
$tabfield[10]= "country_id,country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note";
$tabfield[11]= "element,source,code,libelle";
$tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfield[13]= "code,libelle,type";
$tabfield[14]= "code,libelle,price,organization,pays_id,pays";
$tabfield[14]= "code,libelle,price,organization,country_id,country";
$tabfield[15]= "code,libelle,width,height,unit";
$tabfield[16]= "code,libelle";
$tabfield[17]= "code,libelle";
$tabfield[18]= "code,libelle";
$tabfield[18]= "code,libelle,tracking";
$tabfield[19]= "code,libelle";
$tabfield[20]= "code,libelle";
$tabfield[21]= "code,label";
$tabfield[22]= "code,label";
$tabfield[23]= "fk_pcg_version,accountancy_code,account_parent,pcg_type,pcg_subtype,label";
$tabfield[24]= "pcg_version,pays_id,pays,label";
$tabfield[24]= "pcg_version,country_id,country,label";
$tabfield[25]= "country_id,country,taux,accountancy_code_sell,accountancy_code_buy,note";
// Nom des champs d'edition pour modification d'un enregistrement
$tabfieldvalue=array();
$tabfieldvalue[1] = "code,libelle,pays";
$tabfieldvalue[1] = "code,libelle,country";
$tabfieldvalue[2] = "code,libelle,region"; // "code,libelle,region"
$tabfieldvalue[3] = "code,libelle,pays";
$tabfieldvalue[3] = "code,libelle,country";
$tabfieldvalue[4] = "code,libelle";
$tabfieldvalue[5] = "code,libelle";
$tabfieldvalue[6] = "code,libelle,type,position";
$tabfieldvalue[7] = "code,libelle,pays,accountancy_code,deductible";
$tabfieldvalue[7] = "code,libelle,country,accountancy_code,deductible";
$tabfieldvalue[8] = "code,libelle";
$tabfieldvalue[9] = "code,libelle,unicode";
$tabfieldvalue[10]= "pays,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note";
$tabfieldvalue[9] = "code,label,unicode";
$tabfieldvalue[10]= "country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note";
$tabfieldvalue[11]= "element,source,code,libelle";
$tabfieldvalue[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage";
$tabfieldvalue[13]= "code,libelle,type";
$tabfieldvalue[14]= "code,libelle,price,organization,pays";
$tabfieldvalue[14]= "code,libelle,price,organization,country";
$tabfieldvalue[15]= "code,libelle,width,height,unit";
$tabfieldvalue[16]= "code,libelle";
$tabfieldvalue[17]= "code,libelle";
$tabfieldvalue[18]= "code,libelle";
$tabfieldvalue[18]= "code,libelle,tracking";
$tabfieldvalue[19]= "code,libelle";
$tabfieldvalue[20]= "code,libelle";
$tabfieldvalue[21]= "code,label";
$tabfieldvalue[22]= "code,label";
$tabfieldvalue[23]= "fk_pcg_version,accountancy_code,account_parent,pcg_type,pcg_subtype,label";
$tabfieldvalue[24]= "pcg_version,pays,label";
$tabfieldvalue[24]= "pcg_version,country,label";
$tabfieldvalue[25]= "country,taux,accountancy_code_sell,accountancy_code_buy,note";
// Nom des champs dans la table pour insertion d'un enregistrement
$tabfieldinsert=array();
@@ -255,13 +259,14 @@ $tabfieldinsert[14]= "code,libelle,price,organization,fk_pays";
$tabfieldinsert[15]= "code,label,width,height,unit";
$tabfieldinsert[16]= "code,label";
$tabfieldinsert[17]= "code,libelle";
$tabfieldinsert[18]= "code,libelle";
$tabfieldinsert[18]= "code,libelle,tracking";
$tabfieldinsert[19]= "code,libelle";
$tabfieldinsert[20]= "code,libelle";
$tabfieldinsert[21]= "code,label";
$tabfieldinsert[22]= "code,label";
$tabfieldinsert[23]= "fk_pcg_version,account_number,account_parent,pcg_type,pcg_subtype,label";
$tabfieldinsert[24]= "pcg_version,fk_pays,label";
$tabfieldinsert[25]= "fk_pays,taux,accountancy_code_sell,accountancy_code_buy,note";
// Nom du rowid si le champ n'est pas de type autoincrement
// Example: "" if id field is "rowid" and has autoincrement on
@@ -291,6 +296,7 @@ $tabrowid[21]= "rowid";
$tabrowid[22]= "rowid";
$tabrowid[23]= "";
$tabrowid[24]= "";
$tabrowid[25]= "";
// Condition to show dictionnary in setup page
$tabcond=array();
@@ -318,6 +324,7 @@ $tabcond[21]= ! empty($conf->propal->enabled);
$tabcond[22]= (! empty($conf->commande->enabled) || ! empty($conf->propal->enabled));
$tabcond[23]= (! empty($conf->global->ACCOUNTING_USEDICTTOEDIT) && ! empty($conf->accounting->enabled)); // The accountancy plan should be edited with specific pages. You can set ACCOUNTING_USEDICTTOEDIT to 1 if you want to use dictionnary editor.
$tabcond[24]= (! empty($conf->global->ACCOUNTING_USEDICTTOEDIT) && ! empty($conf->accounting->enabled)); // The accountancy system should be edited with specific pages. You can set ACCOUNTING_USEDICTTOEDIT to 1 if you want to use dictionnary editor.
$tabcond[25]= true;
// List of help for fields
$tabhelp=array();
@@ -345,6 +352,7 @@ $tabhelp[21] = array();
$tabhelp[22] = array();
$tabhelp[23] = array();
$tabhelp[24] = array();
$tabhelp[25] = array();
// Complete all arrays with entries found into modules
complete_dictionnary_with_modules($taborder,$tabname,$tablib,$tabsql,$tabsqlsort,$tabfield,$tabfieldvalue,$tabfieldinsert,$tabrowid,$tabcond,$tabhelp);
@@ -411,7 +419,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
$ok=1;
foreach ($listfield as $f => $value)
{
if ($value == 'pays' && in_array('region_id',$listfield)) continue; // For region page, we do not require the country input
if ($value == 'country' && in_array('region_id',$listfield)) continue; // For region page, we do not require the country input
if ($value == 'localtax1' && empty($_POST['localtax1_type'])) continue;
if ($value == 'localtax2' && empty($_POST['localtax2_type'])) continue;
if ((! isset($_POST[$value]) || $_POST[$value]=='')
@@ -455,7 +463,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
$msg .= $langs->transnoentities('ErrorFieldFormat', $langs->transnoentities('Code')).'<br />';
}*/
}
if (isset($_POST["pays"]) && $_POST["pays"]=='0') {
if (isset($_POST["country"]) && $_POST["country"]=='0') {
$ok=0;
$msg.=$langs->transnoentities("ErrorFieldRequired",$langs->transnoentities("Country")).'<br>';
}
@@ -686,8 +694,8 @@ if ($id)
if ($sortfield)
{
// If sort order is "pays", we use pays_code instead
if ($sortfield == 'pays') $sortfield='pays_code';
// If sort order is "country", we use country_code instead
if ($sortfield == 'country') $sortfield='country_code';
$sql.= " ORDER BY ".$sortfield;
if ($sortorder)
{
@@ -730,7 +738,11 @@ if ($id)
$align="left";
if ($fieldlist[$field]=='source') { $valuetoshow=$langs->trans("Contact"); }
if ($fieldlist[$field]=='price') { $valuetoshow=$langs->trans("PriceUHT"); }
if ($fieldlist[$field]=='taux') { $valuetoshow=$langs->trans("Rate"); }
if ($fieldlist[$field]=='taux') {
if ($tabname[$id] != MAIN_DB_PREFIX."c_revenuestamp") $valuetoshow=$langs->trans("Rate");
else $valuetoshow=$langs->trans("Amount");
$align='right';
}
if ($fieldlist[$field]=='localtax1_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 2",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
if ($fieldlist[$field]=='localtax1') { $valuetoshow=$langs->trans("Rate")." 2";}
if ($fieldlist[$field]=='localtax2_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 3",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
@@ -741,18 +753,18 @@ if ($id)
if ($fieldlist[$field]=='code') { $valuetoshow=$langs->trans("Code"); }
if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label') { $valuetoshow=$langs->trans("Label")."*"; }
if ($fieldlist[$field]=='libelle_facture') { $valuetoshow=$langs->trans("LabelOnDocuments")."*"; }
if ($fieldlist[$field]=='pays') {
if ($fieldlist[$field]=='country') {
if (in_array('region_id',$fieldlist)) { print '<td>&nbsp;</td>'; continue; } // For region page, we do not show the country input
$valuetoshow=$langs->trans("Country");
}
if ($fieldlist[$field]=='recuperableonly') { $valuetoshow=MAIN_LABEL_MENTION_NPR; $align="center"; }
if ($fieldlist[$field]=='recuperableonly') { $valuetoshow=$langs->trans("NPR"); $align="center"; }
if ($fieldlist[$field]=='nbjour') { $valuetoshow=$langs->trans("NbOfDays"); }
if ($fieldlist[$field]=='fdm') { $valuetoshow=$langs->trans("AtEndOfMonth"); }
if ($fieldlist[$field]=='decalage') { $valuetoshow=$langs->trans("Offset"); }
if ($fieldlist[$field]=='width') { $valuetoshow=$langs->trans("Width"); }
if ($fieldlist[$field]=='height') { $valuetoshow=$langs->trans("Height"); }
if ($fieldlist[$field]=='unit') { $valuetoshow=$langs->trans("MeasuringUnit"); }
if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='pays_id') { $valuetoshow=''; }
if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='country_id') { $valuetoshow=''; }
if ($fieldlist[$field]=='accountancy_code'){ $valuetoshow=$langs->trans("AccountancyCode"); }
if ($fieldlist[$field]=='accountancy_code_sell'){ $valuetoshow=$langs->trans("AccountancyCodeSell"); }
if ($fieldlist[$field]=='accountancy_code_buy'){ $valuetoshow=$langs->trans("AccountancyCodeBuy"); }
@@ -847,7 +859,11 @@ if ($id)
$valuetoshow=$langs->trans($valuetoshow); // try to translate
if ($fieldlist[$field]=='source') { $valuetoshow=$langs->trans("Contact"); }
if ($fieldlist[$field]=='price') { $valuetoshow=$langs->trans("PriceUHT"); }
if ($fieldlist[$field]=='taux') { $valuetoshow=$langs->trans("Rate"); }
if ($fieldlist[$field]=='taux') {
if ($tabname[$id] != MAIN_DB_PREFIX."c_revenuestamp") $valuetoshow=$langs->trans("Rate");
else $valuetoshow=$langs->trans("Amount");
$align='right';
}
if ($fieldlist[$field]=='localtax1_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 2",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
if ($fieldlist[$field]=='localtax1') { $valuetoshow=$langs->trans("Rate")." 2"; $sortable=0; }
if ($fieldlist[$field]=='localtax2_type') { $valuetoshow=$form->textwithtooltip($langs->trans("UseLocalTax")." 3",$langs->trans("LocalTaxDesc"),2,1,img_help(1,'')); $align="center"; $sortable=0; }
@@ -858,15 +874,15 @@ if ($id)
if ($fieldlist[$field]=='code') { $valuetoshow=$langs->trans("Code"); }
if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label') { $valuetoshow=$langs->trans("Label")."*"; }
if ($fieldlist[$field]=='libelle_facture') { $valuetoshow=$langs->trans("LabelOnDocuments")."*"; }
if ($fieldlist[$field]=='pays') { $valuetoshow=$langs->trans("Country"); }
if ($fieldlist[$field]=='recuperableonly') { $valuetoshow=MAIN_LABEL_MENTION_NPR; $align="center"; }
if ($fieldlist[$field]=='country') { $valuetoshow=$langs->trans("Country"); }
if ($fieldlist[$field]=='recuperableonly') { $valuetoshow=$langs->trans("NPR"); $align="center"; }
if ($fieldlist[$field]=='nbjour') { $valuetoshow=$langs->trans("NbOfDays"); }
if ($fieldlist[$field]=='fdm') { $valuetoshow=$langs->trans("AtEndOfMonth"); }
if ($fieldlist[$field]=='decalage') { $valuetoshow=$langs->trans("Offset"); }
if ($fieldlist[$field]=='width') { $valuetoshow=$langs->trans("Width"); }
if ($fieldlist[$field]=='height') { $valuetoshow=$langs->trans("Height"); }
if ($fieldlist[$field]=='unit') { $valuetoshow=$langs->trans("MeasuringUnit"); }
if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='pays_id') { $showfield=0; }
if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='country_id') { $showfield=0; }
if ($fieldlist[$field]=='accountancy_code'){ $valuetoshow=$langs->trans("AccountancyCode"); }
if ($fieldlist[$field]=='accountancy_code_sell'){ $valuetoshow=$langs->trans("AccountancyCodeSell"); $sortable=0; }
if ($fieldlist[$field]=='accountancy_code_buy'){ $valuetoshow=$langs->trans("AccountancyCodeBuy"); $sortable=0; }
@@ -935,15 +951,15 @@ if ($id)
else if ($valuetoshow=='all') {
$valuetoshow=$langs->trans('All');
}
else if ($fieldlist[$field]=='pays') {
if (empty($obj->pays_code))
else if ($fieldlist[$field]=='country') {
if (empty($obj->country_code))
{
$valuetoshow='-';
}
else
{
$key=$langs->trans("Country".strtoupper($obj->pays_code));
$valuetoshow=($key != "Country".strtoupper($obj->pays_code)?$obj->pays_code." - ".$key:$obj->pays);
$key=$langs->trans("Country".strtoupper($obj->country_code));
$valuetoshow=($key != "Country".strtoupper($obj->country_code)?$obj->country_code." - ".$key:$obj->country);
}
}
else if ($fieldlist[$field]=='recuperableonly' || $fieldlist[$field]=='fdm' || $fieldlist[$field] == 'deductible') {
@@ -972,7 +988,7 @@ if ($id)
$key=$langs->trans("Action".strtoupper($obj->code));
$valuetoshow=($obj->code && $key != "Action".strtoupper($obj->code)?$key:$obj->$fieldlist[$field]);
}
else if (! empty($obj->code_iso) && $fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_currencies') {
else if (! empty($obj->code_iso) && $fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_currencies') {
$key=$langs->trans("Currency".strtoupper($obj->code_iso));
$valuetoshow=($obj->code_iso && $key != "Currency".strtoupper($obj->code_iso)?$key:$obj->$fieldlist[$field]);
}
@@ -1028,11 +1044,11 @@ if ($id)
$key = $langs->trans(strtoupper($obj->code));
$valuetoshow = ($obj->code && $key != strtoupper($obj->code) ? $key : $obj->$fieldlist[$field]);
}
else if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='pays_id') {
else if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='country_id') {
$showfield=0;
}
else if ($fieldlist[$field]=='unicode') {
$valuetoshow = getCurrencySymbol($obj->code);
$valuetoshow = $langs->getCurrencySymbol($obj->code,1);
}
else if (($fieldlist[$field] == 'unit') && ($tabname[$id] == MAIN_DB_PREFIX.'c_paper_format'))
@@ -1080,15 +1096,23 @@ if ($id)
}
// Est-ce une entree du dictionnaire qui peut etre desactivee ?
$iserasable=1; // Oui par defaut
if (isset($obj->code) && ($obj->code == '0' || $obj->code == '' || preg_match('/unknown/i',$obj->code))) $iserasable=0;
if (isset($obj->code) && $obj->code == 'RECEP') $iserasable=0;
if (isset($obj->code) && $obj->code == 'EF0') $iserasable=0;
// True by default
$iserasable=1;
if (isset($obj->code))
{
if (($obj->code == '0' || $obj->code == '' || preg_match('/unknown/i',$obj->code))) $iserasable = 0;
else if ($obj->code == 'RECEP') $iserasable = 0;
else if ($obj->code == 'EF0') $iserasable = 0;
}
if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto'))) $iserasable=0;
$url = $_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'&amp;code='.(! empty($obj->code)?$obj->code:'').'&amp;id='.$id.'&amp;';
// Active
print '<td align="center" nowrap="nowrap">';
if ($iserasable) print '<a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'&amp;code='.(! empty($obj->code)?$obj->code:'').'&amp;id='.$id.'&amp;action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>';
print '<td align="center" class="nowrap">';
if ($iserasable) print '<a href="'.$url.'action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>';
else
{
if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto')) && empty($obj->active)) print $langs->trans("Deprecated");
@@ -1097,11 +1121,11 @@ if ($id)
print "</td>";
// Modify link
if ($iserasable) print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'&amp;code='.(! empty($obj->code)?$obj->code:'').'&amp;id='.$id.'&amp;action=edit#'.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'">'.img_edit().'</a></td>';
if ($iserasable) print '<td align="center"><a href="'.$url.'action=edit#'.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'">'.img_edit().'</a></td>';
else print '<td>&nbsp;</td>';
// Delete link
if ($iserasable) print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.(! empty($obj->rowid)?$obj->rowid:(! empty($obj->code)?$obj->code:'')).'&amp;code='.(! empty($obj->code)?$obj->code:'').'&amp;id='.$id.'&amp;action=delete">'.img_delete().'</a></td>';
if ($iserasable) print '<td align="center"><a href="'.$url.'action=delete">'.img_delete().'</a></td>';
else print '<td>&nbsp;</td>';
print "</tr>\n";
@@ -1149,7 +1173,7 @@ else
$var=!$var;
$value=$tabname[$i];
print '<tr '.$bc[$var].'><td width="30%">';
print '<tr '.$bc[$var].'><td width="50%">';
if (! empty($tabcond[$i]))
{
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$i.'">'.$langs->trans($tablib[$i]).'</a>';
@@ -1207,15 +1231,15 @@ function fieldList($fieldlist,$obj='',$tabname='')
foreach ($fieldlist as $field => $value)
{
if ($fieldlist[$field] == 'pays') {
if ($fieldlist[$field] == 'country') {
if (in_array('region_id',$fieldlist)) { print '<td>&nbsp;</td>'; continue; } // For region page, we do not show the country input
print '<td>';
print $form->select_country((! empty($obj->pays_code)?$obj->pays_code:(! empty($obj->pays)?$obj->pays:'')), 'pays', '', 28);
print $form->select_country((! empty($obj->country_code)?$obj->country_code:(! empty($obj->country)?$obj->country:'')), 'country', '', 28);
print '</td>';
}
elseif ($fieldlist[$field] == 'pays_id') {
$pays_id = (! empty($obj->$fieldlist[$field]) ? $obj->$fieldlist[$field] : 0);
print '<input type="hidden" name="'.$fieldlist[$field].'" value="'.$pays_id.'">';
elseif ($fieldlist[$field] == 'country_id') {
$country_id = (! empty($obj->$fieldlist[$field]) ? $obj->$fieldlist[$field] : 0);
print '<input type="hidden" name="'.$fieldlist[$field].'" value="'.$country_id.'">';
}
elseif ($fieldlist[$field] == 'region') {
print '<td>';
@@ -1295,6 +1319,7 @@ function fieldList($fieldlist,$obj='',$tabname='')
print '<td>';
$size='';
if ($fieldlist[$field]=='libelle') $size='size="32" ';
if ($fieldlist[$field]=='tracking') $size='size="92" ';
if ($fieldlist[$field]=='accountancy_code') $size='size="15" ';
if ($fieldlist[$field]=='accountancy_code_sell') $size='size="15" ';
if ($fieldlist[$field]=='accountancy_code_buy') $size='size="15" ';

View File

@@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -47,7 +48,7 @@ if ($action == 'specimen')
$don = new Don($db);
$don->initAsSpecimen();
// Charge le modele
// Search template files
$dir = DOL_DOCUMENT_ROOT . "/core/modules/dons/";
$file = $modele.".modules.php";
if (file_exists($dir.$file))
@@ -75,67 +76,39 @@ if ($action == 'specimen')
}
}
if ($action == 'setdoc')
// Set default model
else if ($action == 'setdoc')
{
$value = GETPOST('value','alpha');
$label = GETPOST('label','alpha');
$scandir = GETPOST('scandir','alpha');
$db->begin();
if (dolibarr_set_const($db, "DON_ADDON_MODEL",$value,'chaine',0,'',$conf->entity))
{
// La constante qui a ete lue en avant du nouveau set
// on passe donc par une variable pour avoir un affichage coherent
$conf->global->DON_ADDON_MODEL = $value;
}
if (dolibarr_set_const($db, "DON_ADDON_MODEL",$value,'chaine',0,'',$conf->entity))
{
$conf->global->DON_ADDON_MODEL = $value;
}
// On active le modele
$type='donation';
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
$sql_del.= " WHERE nom = '".$db->escape($value)."' AND type = '".$type."'";
$result1=$db->query($sql_del);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$db->escape($value)."', '".$type."', ".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null");
$sql.= ")";
$result2=$db->query($sql);
if ($result1 && $result2)
{
$db->commit();
}
else
{
$db->rollback();
}
// On active le modele
$ret = delDocumentModel($value, $type);
if ($ret > 0)
{
$ret = addDocumentModel($value, $type, $label, $scandir);
}
}
if ($action == 'set')
// Activate a model
else if ($action == 'set')
{
$value = GETPOST('value','alpha');
$label = GETPOST('label','alpha');
$scandir = GETPOST('scandir','alpha');
$type='donation';
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$db->escape($value)."','".$type."',".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null");
$sql.= ")";
$resql=$db->query($sql);
$ret = addDocumentModel($value, $type, $label, $scandir);
}
if ($action == 'del')
else if ($action == 'del')
{
$value = GETPOST('value','alpha');
$type='donation';
$sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
$sql .= " WHERE nom = '".$value."' AND type = '".$type."'";
$resql=$db->query($sql);
$ret = delDocumentModel($value, $type);
if ($ret > 0)
{
if ($conf->global->DON_ADDON_MODEL == "$value") dolibarr_del_const($db, 'DON_ADDON_MODEL',$conf->entity);
}
}
/*
* View
*/
@@ -147,6 +120,17 @@ llxHeader('',$langs->trans("DonationsSetup"),'DonConfiguration');
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("DonationsSetup"),$linkback,'setup');
print '<br>';
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/dons.php";
$head[$h][1] = $langs->trans("Donations");
$head[$h][2] = 'Donation';
$hselected=$h;
$h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
// Document templates

122
htdocs/admin/ecm.php Normal file
View File

@@ -0,0 +1,122 @@
<?php
/* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/admin/ecm.php
* \ingroup core
* \brief Page to setup ECM (GED) module
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
$langs->load("admin");
if (! $user->admin) accessforbidden();
/*
* Action
*/
if (preg_match('/set_(.*)/',$action,$reg))
{
$code=$reg[1];
if (dolibarr_set_const($db, $code, 1, 'chaine', 0, '', $conf->entity) > 0)
{
header("Location: ".$_SERVER["PHP_SELF"]);
exit;
}
else
{
dol_print_error($db);
}
}
if (preg_match('/del_(.*)/',$action,$reg))
{
$code=$reg[1];
if (dolibarr_del_const($db, $code, $conf->entity) > 0)
{
header("Location: ".$_SERVER["PHP_SELF"]);
exit;
}
else
{
dol_print_error($db);
}
}
/*
* View
*/
$help_url='';
llxHeader('',$langs->trans("ECMSetup"),$help_url);
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("ECMSetup"),$linkback,'setup');
print '<br>';
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/ecm.php";
$head[$h][1] = $langs->trans("Miscellaneous");
$head[$h][2] = 'general';
$hselected=$h;
$h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Description").'</td>';
print '<td align="center" width="20">&nbsp;</td>';
print '<td align="center" width="100">'.$langs->trans("Value").'</td>'."\n";
print '</tr>';
$var=true;
$form = new Form($db);
// Mail required for members
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td>'.$langs->trans("ECMAutoTree").'</td>';
print '<td align="center" width="20">&nbsp;</td>';
print '<td align="center" width="100">';
if ($conf->use_javascript_ajax)
{
print ajax_constantonoff('ECM_AUTO_TREE_ENABLED');
}
else
{
if($conf->global->ECM_AUTO_TREE_ENABLED == 0)
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=set_ECM_AUTO_TREE_ENABLED">'.img_picto($langs->trans("Disabled"),'off').'</a>';
}
else if($conf->global->USER_MAIL_REQUIRED == 1)
{
print '<a href="'.$_SERVER['PHP_SELF'].'?action=del_ECM_AUTO_TREE_ENABLED">'.img_picto($langs->trans("Enabled"),'on').'</a>';
}
}
print '</td></tr>';
print '</table>';
llxFooter();
$db->close();

View File

@@ -6,7 +6,7 @@
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2012 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2011-2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -65,9 +65,9 @@ if ($action == 'updateMask')
if (isset($res))
{
if ($res < 0)
setEventMessage($langs->trans("Error"), 'errors');
else
setEventMessage($langs->trans("SetupSaved"));
else
setEventMessage($langs->trans("Error"), 'errors');
}
}
@@ -77,9 +77,9 @@ else if ($action == 'set_SHIPPING_FREE_TEXT')
$res = dolibarr_set_const($db, "SHIPPING_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity);
if ($res < 0)
setEventMessage($langs->trans("Error"), 'errors');
else
setEventMessage($langs->trans("SetupSaved"));
else
setEventMessage($langs->trans("Error"), 'errors');
}
else if ($action == 'set_SHIPPING_DRAFT_WATERMARK')
@@ -88,9 +88,9 @@ else if ($action == 'set_SHIPPING_DRAFT_WATERMARK')
$res = dolibarr_set_const($db, "SHIPPING_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
if ($res < 0)
setEventMessage($langs->trans("Error"), 'errors');
else
setEventMessage($langs->trans("SetupSaved"));
else
setEventMessage($langs->trans("Error"), 'errors');
}
else if ($action == 'specimen')
@@ -173,12 +173,7 @@ else if ($action == 'setdoc')
else if ($action == 'setmodel')
{
$res = dolibarr_set_const($db, "EXPEDITION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity);
if ($res < 0)
setEventMessage($langs->trans("Error"), 'errors');
else
setEventMessage($langs->trans("SetupSaved"));
dolibarr_set_const($db, "EXPEDITION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity);
}
@@ -213,17 +208,16 @@ $h++;
if (! empty($conf->global->MAIN_SUBMODULE_LIVRAISON))
{
$head[$h][0] = DOL_URL_ROOT."/admin/livraison.php";
$head[$h][1] = $langs->trans("Receivings");
$h++;
$head[$h][0] = DOL_URL_ROOT."/admin/livraison.php";
$head[$h][1] = $langs->trans("Receivings");
$h++;
}
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
/*
* Numbering module
*/
//print "<br>";
* Expedition numbering model
*/
print_titre($langs->trans("SendingsNumberingModules"));
@@ -255,16 +249,16 @@ foreach ($dirmodels as $reldir)
{
$file = substr($file, 0, dol_strlen($file)-4);
require_once DOL_DOCUMENT_ROOT ."/core/modules/expedition/".$file.'.php';
require_once $dir.$file.'.php';
$module = new $file;
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
if ($module->isEnabled())
{
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$module->nom."</td>\n";
print '<td>';
@@ -272,9 +266,11 @@ foreach ($dirmodels as $reldir)
print '</td>';
// Show example of numbering module
print '<td nowrap="nowrap">';
print '<td class="nowrap">';
$tmp=$module->getExample();
if (preg_match('/^Error/',$tmp)) { $langs->load("errors"); print '<div class="error">'.$langs->trans($tmp).'</div>'; }
if (preg_match('/^Error/',$tmp)) {
$langs->load("errors"); print '<div class="error">'.$langs->trans($tmp).'</div>';
}
elseif ($tmp=='NotConfigured') print $langs->trans($tmp);
else print $tmp;
print '</td>'."\n";
@@ -329,7 +325,7 @@ print '</table><br>';
/*
* Modeles de documents
* Documents models for Sendings Receipt
*/
print_titre($langs->trans("SendingsReceiptModel"));
@@ -365,7 +361,7 @@ print '<td width="140">'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>';
print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="60">'.$langs->trans("Default").'</td>';
print '<td align="center" width="80" nowrap="nowrap">'.$langs->trans("Infos").'</td>';
print '<td align="center" width="80" class="nowrap">'.$langs->trans("Infos").'</td>';
print "</tr>\n";
clearstatcache();

View File

@@ -28,11 +28,13 @@
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/invoice.lib.php';
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$langs->load("admin");
$langs->load("errors");
$langs->load('other');
$langs->load('bills');
if (! $user->admin) accessforbidden();
@@ -304,6 +306,8 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
print_fiche_titre($langs->trans("BillsSetup"),$linkback,'setup');
print '<br>';
$head = invoice_admin_prepare_head(null);
dol_fiche_head($head, 'general', $langs->trans("Invoices"), 0, 'invoice');
/*
* Numbering module
@@ -315,7 +319,7 @@ print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>';
print '<td nowrap="nowrap">'.$langs->trans("Example").'</td>';
print '<td class="nowrap">'.$langs->trans("Example").'</td>';
print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
print '<td align="center" width="16">'.$langs->trans("Infos").'</td>';
print '</tr>'."\n";
@@ -367,7 +371,7 @@ foreach ($dirmodels as $reldir)
print '</td>';
// Show example of numbering module
print '<td nowrap="nowrap">';
print '<td class="nowrap">';
$tmp=$module->getExample();
if (preg_match('/^Error/',$tmp)) print '<div class="error">'.$langs->trans($tmp).'</div>';
elseif ($tmp=='NotConfigured') print $langs->trans($tmp);

View File

@@ -41,6 +41,8 @@ $modules = array(
'PRODUCTDESC' => 'FCKeditorForProduct',
'MAILING' => 'FCKeditorForMailing',
'DETAILS' => 'FCKeditorForProductDetails',
'USERSIGN' => 'FCKeditorForUserSignature',
'MAIL' => 'FCKeditorForMail'
);
// Conditions pour que l'option soit proposee
$conditions = array(
@@ -48,6 +50,8 @@ $conditions = array(
'PRODUCTDESC' => (! empty($conf->product->enabled) || ! empty($conf->service->enabled)),
'MAILING' => ! empty($conf->mailing->enabled),
'DETAILS' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled)),
'USERSIGN' => 1,
'MAIL' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled))
);
// Picto
$picto = array(
@@ -55,6 +59,8 @@ $picto = array(
'PRODUCTDESC' => 'product',
'MAILING' => 'email',
'DETAILS' => 'generic',
'USERSIGN' => 'user',
'MAIL' => 'email'
);

View File

@@ -6,7 +6,7 @@
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2012 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2011-2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -67,42 +67,7 @@ if ($action == 'updateMask')
}
}
if ($action == 'set_FICHINTER_FREE_TEXT')
{
$freetext= GETPOST('FICHINTER_FREE_TEXT','alpha');
$res = dolibarr_set_const($db, "FICHINTER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
if ($action == 'set_FICHINTER_DRAFT_WATERMARK')
{
$draft= GETPOST('FICHINTER_DRAFT_WATERMARK','alpha');
$res = dolibarr_set_const($db, "FICHINTER_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
if ($action == 'specimen')
else if ($action == 'specimen') // For fiche inter
{
$modele= GETPOST('module','alpha');
@@ -147,12 +112,13 @@ if ($action == 'specimen')
}
}
if ($action == 'set')
// Activate a model
else if ($action == 'set')
{
$ret = addDocumentModel($value, $type, $label, $scandir);
}
if ($action == 'del')
else if ($action == 'del')
{
$ret = delDocumentModel($value, $type);
if ($ret > 0)
@@ -161,7 +127,8 @@ if ($action == 'del')
}
}
if ($action == 'setdoc')
// Set default model
else if ($action == 'setdoc')
{
if (dolibarr_set_const($db, "FICHEINTER_ADDON_PDF",$value,'chaine',0,'',$conf->entity))
{
@@ -178,7 +145,7 @@ if ($action == 'setdoc')
}
}
if ($action == 'setmod')
else if ($action == 'setmod')
{
// TODO Verifier si module numerotation choisi peut etre active
// par appel methode canBeActivated
@@ -186,6 +153,41 @@ if ($action == 'setmod')
dolibarr_set_const($db, "FICHEINTER_ADDON",$value,'chaine',0,'',$conf->entity);
}
else if ($action == 'set_FICHINTER_FREE_TEXT')
{
$freetext= GETPOST('FICHINTER_FREE_TEXT','alpha');
$res = dolibarr_set_const($db, "FICHINTER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
else if ($action == 'set_FICHINTER_DRAFT_WATERMARK')
{
$draft= GETPOST('FICHINTER_DRAFT_WATERMARK','alpha');
$res = dolibarr_set_const($db, "FICHINTER_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
else
{
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
}
}
/*
* View
@@ -202,6 +204,17 @@ print_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'setup');
print "<br>";
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/fichinter.php";
$head[$h][1] = $langs->trans("Interventions");
$head[$h][2] = 'Ficheinter';
$hselected=$h;
$h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
// Interventions numbering model
print_titre($langs->trans("FicheinterNumberingModules"));
@@ -234,23 +247,23 @@ foreach ($dirmodels as $reldir)
$file = $reg[1];
$classname = substr($file,4);
require_once DOL_DOCUMENT_ROOT ."/core/modules/fichinter/".$file.'.php';
require_once $dir.$file.'.php';
$module = new $file;
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
if ($module->isEnabled())
{
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$module->nom."</td><td>\n";
print $module->info();
print '</td>';
// Show example of numbering module
print '<td nowrap="nowrap">';
// Show example of numbering model
print '<td class="nowrap">';
$tmp=$module->getExample();
if (preg_match('/^Error/',$tmp)) print '<div class="error">'.$langs->trans($tmp).'</div>';
elseif ($tmp=='NotConfigured') print $langs->trans($tmp);
@@ -295,6 +308,9 @@ foreach ($dirmodels as $reldir)
print '</table><br>';
/*
* Documents models for Interventions
*/
print_titre($langs->trans("TemplatePDFInterventions"));
@@ -377,7 +393,7 @@ foreach ($dirmodels as $reldir)
print "</td>";
}
// Defaut
// Default
print "<td align=\"center\">";
if ($conf->global->FICHEINTER_ADDON_PDF == "$name")
{
@@ -413,11 +429,14 @@ foreach ($dirmodels as $reldir)
}
print '</table>';
//Autres Options
print "<br>";
print_titre($langs->trans("OtherOptions"));
/*
* Other options
*
*/
print_titre($langs->trans("OtherOptions"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -55,8 +55,8 @@ print $langs->trans("SetupDescription2")."<br><br>";
print '<br>';
//print '<hr style="color: #DDDDDD;">';
if (empty($conf->global->MAIN_INFO_SOCIETE_NOM) || empty($conf->global->MAIN_INFO_SOCIETE_PAYS)) $setupcompanynotcomplete=1;
print img_picto('','puce').' '.$langs->trans("SetupDescription3",DOL_URL_ROOT.'/admin/company.php?mainmenu=home');
if (empty($conf->global->MAIN_INFO_SOCIETE_NOM) || empty($conf->global->MAIN_INFO_SOCIETE_COUNTRY)) $setupcompanynotcomplete=1;
print img_picto('','puce').' '.$langs->trans("SetupDescription3",DOL_URL_ROOT.'/admin/company.php?mainmenu=home'.(empty($setupcompanynotcomplete)?'':'&action=edit'));
if (! empty($setupcompanynotcomplete))
{
$langs->load("errors");
@@ -82,16 +82,8 @@ print $langs->trans("SetupDescription5")."<br>";
//print '<hr style="color: #DDDDDD;">';
print "<br>";
/*
print '<table width="100%">';
print '<tr '.$bc[false].'><td '.$bc[false].'>'.img_picto('','puce').' '.$langs->trans("SetupDescription3")."</td></tr>";
print '<tr '.$bc[true].'><td '.$bc[true].'>'.img_picto('','puce').' '.$langs->trans("SetupDescription4")."</td></tr>";
print '<tr '.$bc[false].'><td '.$bc[false].'>'.img_picto('','puce').' '.$langs->trans("SetupDescription5")."</td></tr>";
print '</table>';
*/
//print '<br>';
//print info_admin($langs->trans("OnceSetupFinishedCreateUsers")).'<br>';
// Show logo
print '<center><div class="logo_setup"></div></center>';
llxFooter();

View File

@@ -230,7 +230,7 @@ print '</td><td>'.$langs->trans("LDAPFieldAddressExample").'</td>';
print '<td align="right"><input type="radio" name="key" value="LDAP_CONTACT_FIELD_ADDRESS"'.($conf->global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ADDRESS?' checked="checked"':'')."></td>";
print '</tr>';
// CP
// ZIP
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPFieldZip").'</td><td>';
print '<input size="25" type="text" name="fieldzip" value="'.$conf->global->LDAP_CONTACT_FIELD_ZIP.'">';
@@ -238,7 +238,7 @@ print '</td><td>'.$langs->trans("LDAPFieldZipExample").'</td>';
print '<td align="right"><input type="radio" name="key" value="LDAP_CONTACT_FIELD_ZIP"'.($conf->global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ZIP?' checked="checked"':'')."></td>";
print '</tr>';
// Ville
// TOWN
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPFieldTown").'</td><td>';
print '<input size="25" type="text" name="fieldtown" value="'.$conf->global->LDAP_CONTACT_FIELD_TOWN.'">';
@@ -246,7 +246,7 @@ print '</td><td>'.$langs->trans("LDAPFieldTownExample").'</td>';
print '<td align="right"><input type="radio" name="key" value="LDAP_CONTACT_FIELD_TOWN"'.($conf->global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_TOWN?' checked="checked"':'')."></td>";
print '</tr>';
// Pays
// COUNTRY
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPFieldCountry").'</td><td>';
print '<input size="25" type="text" name="fieldcountry" value="'.$conf->global->LDAP_CONTACT_FIELD_COUNTRY.'">';

View File

@@ -271,7 +271,7 @@ print '</td><td>'.$langs->trans("LDAPFieldAddressExample").'</td>';
print '<td align="right">&nbsp;</td>';
print '</tr>';
// CP
// ZIP
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPFieldZip").'</td><td>';
print '<input size="25" type="text" name="fieldzip" value="'.$conf->global->LDAP_MEMBER_FIELD_ZIP.'">';
@@ -279,7 +279,7 @@ print '</td><td>'.$langs->trans("LDAPFieldZipExample").'</td>';
print '<td align="right">&nbsp;</td>';
print '</tr>';
// Ville
// TOWN
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPFieldTown").'</td><td>';
print '<input size="25" type="text" name="fieldtown" value="'.$conf->global->LDAP_MEMBER_FIELD_TOWN.'">';
@@ -287,7 +287,7 @@ print '</td><td>'.$langs->trans("LDAPFieldTownExample").'</td>';
print '<td align="right">&nbsp;</td>';
print '</tr>';
// Pays
// COUNTRY
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPFieldCountry").'</td><td>';
print '<input size="25" type="text" name="fieldcountry" value="'.$conf->global->LDAP_MEMBER_FIELD_COUNTRY.'">';
@@ -303,7 +303,7 @@ print '</td><td>'.$langs->trans("LDAPFieldDescriptionExample").'</td>';
print '<td align="right">&nbsp;</td>';
print '</tr>';
// Date naissance
// Birthday
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("LDAPFieldBirthdate").'</td><td>';
print '<input size="25" type="text" name="fieldbirthdate" value="'.$conf->global->LDAP_MEMBER_FIELD_BIRTHDATE.'">';

View File

@@ -5,8 +5,8 @@
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2012 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -50,13 +50,13 @@ $type='delivery';
if ($action == 'updateMask')
{
$maskconstdelivery=GETPOST('maskconstdelivery','alpha');
$maskdelivery=GETPOST('maskdelivery','alpha');
if ($maskconstdelivery) $res = dolibarr_set_const($db,$maskconstdelivery,$maskdelivery,'chaine',0,'',$conf->entity);
$maskconstdelivery=GETPOST('maskconstdelivery','alpha');
$maskdelivery=GETPOST('maskdelivery','alpha');
if ($maskconstdelivery) $res = dolibarr_set_const($db,$maskconstdelivery,$maskdelivery,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $res > 0) $error++;
if (! $error)
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
@@ -68,12 +68,12 @@ if ($action == 'updateMask')
if ($action == 'set_DELIVERY_FREE_TEXT')
{
$free=GETPOST('DELIVERY_FREE_TEXT','alpha');
$free=GETPOST('DELIVERY_FREE_TEXT','alpha');
$res=dolibarr_set_const($db, "DELIVERY_FREE_TEXT",$free,'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
if (! $error)
if (! $error)
{
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
}
@@ -85,58 +85,58 @@ if ($action == 'set_DELIVERY_FREE_TEXT')
if ($action == 'specimen')
{
$modele=GETPOST('module','alpha');
$modele=GETPOST('module','alpha');
$sending = new Livraison($db);
$sending->initAsSpecimen();
$sending = new Livraison($db);
$sending->initAsSpecimen();
// Search template files
$file=''; $classname=''; $filefound=0;
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
foreach($dirmodels as $reldir)
{
$file=dol_buildpath($reldir."core/modules/livraison/pdf/pdf_".$modele.".modules.php",0);
if (file_exists($file))
{
$filefound=1;
$classname = "pdf_".$modele;
break;
}
}
// Search template files
$file=''; $classname=''; $filefound=0;
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']);
foreach($dirmodels as $reldir)
{
$file=dol_buildpath($reldir."core/modules/livraison/pdf/pdf_".$modele.".modules.php",0);
if (file_exists($file))
{
$filefound=1;
$classname = "pdf_".$modele;
break;
}
}
if ($filefound)
{
require_once $file;
if ($filefound)
{
require_once $file;
$module = new $classname($db);
$module = new $classname($db);
if ($module->write_file($sending,$langs) > 0)
{
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=livraison&file=SPECIMEN.pdf");
return;
}
else
{
$mesg='<font class="error">'.$module->error.'</font>';
dol_syslog($module->error, LOG_ERR);
}
}
else
{
$mesg='<font class="error">'.$langs->trans("ErrorModuleNotFound").'</font>';
dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR);
}
if ($module->write_file($sending,$langs) > 0)
{
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=livraison&file=SPECIMEN.pdf");
return;
}
else
{
$mesg='<font class="error">'.$module->error.'</font>';
dol_syslog($module->error, LOG_ERR);
}
}
else
{
$mesg='<font class="error">'.$langs->trans("ErrorModuleNotFound").'</font>';
dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR);
}
}
if ($action == 'set')
{
$ret = addDocumentModel($value, $type, $label, $scandir);
{
$ret = addDocumentModel($value, $type, $label, $scandir);
}
if ($action == 'del')
{
$ret = delDocumentModel($value, $type);
if ($ret > 0)
if ($ret > 0)
{
if ($conf->global->LIVRAISON_ADDON_PDF == "$value") dolibarr_del_const($db, 'LIVRAISON_ADDON_PDF',$conf->entity);
}
@@ -146,17 +146,17 @@ if ($action == 'setdoc')
{
if (dolibarr_set_const($db, "LIVRAISON_ADDON_PDF",$value,'chaine',0,'',$conf->entity))
{
// La constante qui a ete lue en avant du nouveau set
// on passe donc par une variable pour avoir un affichage coherent
// La constante qui a ete lue en avant du nouveau set
// on passe donc par une variable pour avoir un affichage coherent
$conf->global->LIVRAISON_ADDON_PDF = $value;
}
// On active le modele
$ret = delDocumentModel($value, $type);
if ($ret > 0)
{
$ret = addDocumentModel($value, $type, $label, $scandir);
}
$ret = delDocumentModel($value, $type);
if ($ret > 0)
{
$ret = addDocumentModel($value, $type, $label, $scandir);
}
}
if ($action == 'setmod')
@@ -164,7 +164,7 @@ if ($action == 'setmod')
// TODO Verifier si module numerotation choisi peut etre active
// par appel methode canBeActivated
dolibarr_set_const($db, "LIVRAISON_ADDON",$value,'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "LIVRAISON_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity);
}
@@ -191,9 +191,9 @@ $h++;
if (! empty($conf->global->MAIN_SUBMODULE_EXPEDITION))
{
$head[$h][0] = DOL_URL_ROOT."/admin/expedition.php";
$head[$h][1] = $langs->trans("Sending");
$h++;
$head[$h][0] = DOL_URL_ROOT."/admin/expedition.php";
$head[$h][1] = $langs->trans("Sending");
$h++;
}
$head[$h][0] = DOL_URL_ROOT."/admin/livraison.php";
@@ -205,8 +205,9 @@ $h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
/*
* Module numerotation
* Livraison numbering model
*/
print_titre($langs->trans("DeliveryOrderNumberingModules"));
print '<table class="noborder" width="100%">';
@@ -222,97 +223,99 @@ clearstatcache();
foreach ($dirmodels as $reldir)
{
$dir = dol_buildpath($reldir."core/modules/livraison/");
$dir = dol_buildpath($reldir."core/modules/livraison/");
if (is_dir($dir))
{
$handle = opendir($dir);
if (is_resource($handle))
{
$var=true;
while (($file = readdir($handle))!==false)
{
if (substr($file, 0, 14) == 'mod_livraison_' && substr($file, dol_strlen($file)-3, 3) == 'php')
{
$file = substr($file, 0, dol_strlen($file)-4);
if (is_dir($dir))
{
$handle = opendir($dir);
if (is_resource($handle))
{
$var=true;
while (($file = readdir($handle))!==false)
{
if (substr($file, 0, 14) == 'mod_livraison_' && substr($file, dol_strlen($file)-3, 3) == 'php')
{
$file = substr($file, 0, dol_strlen($file)-4);
require_once DOL_DOCUMENT_ROOT ."/core/modules/livraison/".$file.'.php';
require_once $dir.$file.'.php';
$module = new $file;
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
if ($module->isEnabled())
{
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$module->nom."</td><td>\n";
print $module->info();
print '</td>';
$module = new $file;
if ($module->isEnabled())
{
// Show modules according to features level
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$module->nom."</td><td>\n";
print $module->info();
print '</td>';
// Show example of numbering module
print '<td nowrap="nowrap">';
print '<td class="nowrap">';
$tmp=$module->getExample();
if (preg_match('/^Error/',$tmp)) { $langs->load("errors"); print '<div class="error">'.$langs->trans($tmp).'</div>'; }
if (preg_match('/^Error/',$tmp)) {
$langs->load("errors"); print '<div class="error">'.$langs->trans($tmp).'</div>';
}
elseif ($tmp=='NotConfigured') print $langs->trans($tmp);
else print $tmp;
print '</td>'."\n";
print '<td align="center">';
if ($conf->global->LIVRAISON_ADDON == "$file")
{
print img_picto($langs->trans("Activated"),'switch_on');
}
else
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$file.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
}
print '</td>';
print '<td align="center">';
if ($conf->global->LIVRAISON_ADDON_NUMBER == "$file")
{
print img_picto($langs->trans("Activated"),'switch_on');
}
else
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmod&amp;value='.$file.'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
}
print '</td>';
$livraison=new Livraison($db);
$livraison->initAsSpecimen();
$livraison=new Livraison($db);
$livraison->initAsSpecimen();
// Info
$htmltooltip='';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$nextval=$module->getNextValue($mysoc,$livraison);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.=''.$langs->trans("NextValue").': ';
if ($nextval)
{
$htmltooltip.=$nextval.'<br>';
}
else
{
$htmltooltip.=$langs->trans($module->error).'<br>';
}
}
// Info
$htmltooltip='';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$nextval=$module->getNextValue($mysoc,$livraison);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.=''.$langs->trans("NextValue").': ';
if ($nextval)
{
$htmltooltip.=$nextval.'<br>';
}
else
{
$htmltooltip.=$langs->trans($module->error).'<br>';
}
}
print '<td align="center">';
print $form->textwithpicto('',$htmltooltip,1,0);
print '</td>';
print '<td align="center">';
print $form->textwithpicto('',$htmltooltip,1,0);
print '</td>';
print '</tr>';
}
}
}
closedir($handle);
}
}
print '</tr>';
}
}
}
closedir($handle);
}
}
}
print '</table>';
/*
* Modeles de documents
* Documents Models for delivery
*/
print '<br>';
print_titre($langs->trans("DeliveryOrderModel"));
// Defini tableau def de modele invoice
// Defini tableau def de modele
$type="delivery";
$def = array();
@@ -352,77 +355,77 @@ clearstatcache();
$var=true;
foreach ($dirmodels as $reldir)
{
$dir = dol_buildpath($reldir."core/modules/livraison/pdf/");
$dir = dol_buildpath($reldir."core/modules/livraison/pdf/");
if (is_dir($dir))
{
$handle = opendir($dir);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (substr($file, dol_strlen($file) -12) == '.modules.php' && substr($file,0,4) == 'pdf_')
{
$name = substr($file, 4, dol_strlen($file) - 16);
$classname = substr($file, 0, dol_strlen($file) - 12);
if (is_dir($dir))
{
$handle = opendir($dir);
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (substr($file, dol_strlen($file) -12) == '.modules.php' && substr($file,0,4) == 'pdf_')
{
$name = substr($file, 4, dol_strlen($file) - 16);
$classname = substr($file, 0, dol_strlen($file) - 12);
$var=!$var;
$var=!$var;
print '<tr '.$bc[$var].'><td>';
print $name;
print "</td><td>\n";
require_once $dir.$file;
$module = new $classname($db);
print '<tr '.$bc[$var].'><td>';
print $name;
print "</td><td>\n";
require_once $dir.$file;
$module = new $classname($db);
print $module->description;
print '</td>';
print $module->description;
print '</td>';
// Activ
if (in_array($name, $def))
{
print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'&amp;scandir='.$module->scandir.'&amp;label='.urlencode($module->name).'">';
print img_picto($langs->trans("Enabled"),'switch_on');
print '</a>';
print "</td>";
}
else
{
print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'&amp;scandir='.$module->scandir.'&amp;label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
print "</td>";
}
// Activ
if (in_array($name, $def))
{
print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&amp;value='.$name.'&amp;scandir='.$module->scandir.'&amp;label='.urlencode($module->name).'">';
print img_picto($langs->trans("Enabled"),'switch_on');
print '</a>';
print "</td>";
}
else
{
print "<td align=\"center\">\n";
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&amp;value='.$name.'&amp;scandir='.$module->scandir.'&amp;label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
print "</td>";
}
// Defaut
print "<td align=\"center\">";
if ($conf->global->LIVRAISON_ADDON_PDF == "$name")
{
print img_picto($langs->trans("Default"),'on');
}
else
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'&amp;scandir='.$module->scandir.'&amp;label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
}
print '</td>';
// Default
print "<td align=\"center\">";
if ($conf->global->LIVRAISON_ADDON_PDF == "$name")
{
print img_picto($langs->trans("Default"),'on');
}
else
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setdoc&amp;value='.$name.'&amp;scandir='.$module->scandir.'&amp;label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').'</a>';
}
print '</td>';
// Info
$htmltooltip = ''.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
print '<td align="center">';
print $form->textwithpicto('',$htmltooltip,1,0);
print '</td>';
print '<td align="center">';
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'">'.img_object($langs->trans("Preview"),'sending').'</a>';
print '</td>';
// Info
$htmltooltip = ''.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
print '<td align="center">';
print $form->textwithpicto('',$htmltooltip,1,0);
print '</td>';
print '<td align="center">';
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'">'.img_object($langs->trans("Preview"),'sending').'</a>';
print '</td>';
print '</tr>';
}
}
closedir($handle);
}
}
print '</tr>';
}
}
closedir($handle);
}
}
}
print '</table>';

View File

@@ -103,8 +103,36 @@ llxHeader('',$langs->trans("MailingSetup"));
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("MailingSetup"),$linkback,'setup');
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/mailing.php";
$head[$h][1] = $langs->trans("Miscellaneous");
$head[$h][2] = 'general';
$hselected=$h;
$h++;
dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
dol_htmloutput_mesg($mesg);
if (! empty($conf->use_javascript_ajax))
{
print "\n".'<script type="text/javascript">';
print '$(document).ready(function () {
$("#generate_token").click(function() {
$.get( "'.DOL_URL_ROOT.'/core/ajax/security.php", {
action: \'getrandompassword\',
generic: true
},
function(token) {
$("#MAILING_EMAIL_UNSUBSCRIBE_KEY").val(token);
});
});
});';
print '</script>';
}
print '<br>';
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@@ -155,7 +183,9 @@ print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td>';
print $langs->trans("ActivateCheckReadKey").'</td><td>';
print '<input size="32" type="text" name="MAILING_EMAIL_UNSUBSCRIBE_KEY" '.$readonly.' value="'.$conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY.'">';
print '<input size="32" type="text" name="MAILING_EMAIL_UNSUBSCRIBE_KEY" id="MAILING_EMAIL_UNSUBSCRIBE_KEY" '.$readonly.' value="'.$conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY.'">';
if (! empty($conf->use_javascript_ajax))
print '&nbsp;'.img_picto($langs->trans('Generate'), 'refresh', 'id="generate_token" class="linkobject"');
print '</td></tr>';
print '</table>';

View File

@@ -434,7 +434,7 @@ if ($action == 'edit')
// SuperAdministrator access only
if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity))
{
print '<input class="flat" name="MAIN_MAIL_SMTPS_PW" size="32" value="' . $mainsmtppw . '">';
print '<input class="flat" type="password" name="MAIN_MAIL_SMTPS_PW" size="32" value="' . $mainsmtppw . '">';
}
else
{

View File

@@ -68,7 +68,7 @@ error_reporting($err);
if ($action == 'update' && empty($_POST["cancel"]))
{
$_SESSION["mainmenu"]="home"; // Le gestionnaire de menu a pu changer
dolibarr_set_const($db, "MAIN_MENU_STANDARD", $_POST["MAIN_MENU_STANDARD"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_MENU_SMARTPHONE", $_POST["MAIN_MENU_SMARTPHONE"],'chaine',0,'',$conf->entity);
@@ -77,33 +77,37 @@ if ($action == 'update' && empty($_POST["cancel"]))
// Define list of menu handlers to initialize
$listofmenuhandler=array();
$listofmenuhandler[preg_replace('/((_back|_front)office)?\.php/i','',$_POST["MAIN_MENU_STANDARD"])]=1;
$listofmenuhandler[preg_replace('/((_back|_front)office)?\.php/i','',$_POST["MAIN_MENUFRONT_STANDARD"])]=1;
if (isset($_POST["MAIN_MENU_SMARTPHONE"])) $listofmenuhandler[preg_replace('/((_back|_front)office)?\.php/i','',$_POST["MAIN_MENU_SMARTPHONE"])]=1;
if (isset($_POST["MAIN_MENUFRONT_SMARTPHONE"])) $listofmenuhandler[preg_replace('/((_back|_front)office)?\.php/i','',$_POST["MAIN_MENUFRONT_SMARTPHONE"])]=1;
$listofmenuhandler[preg_replace('/(_backoffice|_frontoffice|_menu)?\.php/i','',$_POST["MAIN_MENU_STANDARD"])]=1;
$listofmenuhandler[preg_replace('/(_backoffice|_frontoffice|_menu)?\.php/i','',$_POST["MAIN_MENUFRONT_STANDARD"])]=1;
if (isset($_POST["MAIN_MENU_SMARTPHONE"])) $listofmenuhandler[preg_replace('/(_backoffice|_frontoffice|_menu)?\.php/i','',$_POST["MAIN_MENU_SMARTPHONE"])]=1;
if (isset($_POST["MAIN_MENUFRONT_SMARTPHONE"])) $listofmenuhandler[preg_replace('/(_backoffice|_frontoffice|_menu)?\.php/i','',$_POST["MAIN_MENUFRONT_SMARTPHONE"])]=1;
// Initialize menu handlers
foreach ($listofmenuhandler as $key => $val)
{
// Load sql init_menu_handler.sql file
$dir = "/core/menus/";
$file='init_menu_'.$key.'.sql';
$fullpath=dol_buildpath($dir.$file);
if (file_exists($fullpath))
$dirmenus=array_merge(array("/core/menus/"),(array) $conf->modules_parts['menus']);
foreach($dirmenus as $dirmenu)
{
$db->begin();
$result=run_sql($fullpath,1,'',1,$key,'none');
if ($result > 0)
$file='init_menu_'.$key.'.sql';
$fullpath=dol_buildpath($dirmenu.$file);
//print 'action='.$action.' Search menu into fullpath='.$fullpath.'<br>';exit;
if (file_exists($fullpath))
{
$db->commit();
}
else
{
$error++;
$errmsgs[]='Failed to initialize menu '.$key.'.';
$db->rollback();
$db->begin();
$result=run_sql($fullpath,1,'',1,$key,'none');
if ($result > 0)
{
$db->commit();
}
else
{
$error++;
$errmsgs[]='Failed to initialize menu '.$key.'.';
$db->rollback();
}
}
}
}
@@ -145,7 +149,7 @@ $head[$h][2] = 'editor';
$h++;
$head[$h][0] = DOL_URL_ROOT."/admin/menus/other.php";
$head[$h][1] = $langs->trans("Miscellanous");
$head[$h][1] = $langs->trans("Miscellaneous");
$head[$h][2] = 'misc';
$h++;

View File

@@ -50,8 +50,8 @@ $menu_handler_smartphone=preg_replace('/_frontoffice.php/i','',$menu_handler_sma
$menu_handler=$menu_handler_top;
if ($_REQUEST["handler_origine"]) $menu_handler=$_REQUEST["handler_origine"];
if ($_REQUEST["menu_handler"]) $menu_handler=$_REQUEST["menu_handler"];
if (GETPOST("handler_origine")) $menu_handler=GETPOST("handler_origine");
if (GETPOST("menu_handler")) $menu_handler=GETPOST("menu_handler");
@@ -174,7 +174,7 @@ if ($action == 'add')
if (! $error)
{
$menu = new Menubase($db);
$menu->menu_handler=$_POST['menu_handler'];
$menu->menu_handler=preg_replace('/_menu$/','',$_POST['menu_handler']);
$menu->type=$_POST['type'];
$menu->titre=$_POST['titre'];
$menu->url=$_POST['url'];
@@ -305,7 +305,7 @@ if ($action == 'create')
print '<td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
//User
print '<tr><td nowrap="nowrap" class="fieldrequired">'.$langs->trans('MenuForUsers').'</td>';
print '<tr><td class="nowrap fieldrequired">'.$langs->trans('MenuForUsers').'</td>';
print '<td><select class="flat" name="user">';
print '<option value="2" selected>'.$langs->trans("AllMenus").'</option>';
print '<option value="0">'.$langs->trans('Internal').'</option>';
@@ -406,7 +406,7 @@ elseif ($action == 'edit')
print '<tr><td class="fieldrequired">'.$langs->trans('MenuHandler').'</td><td>'.$handler.'</td><td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
// User
print '<tr><td nowrap="nowrap" class="fieldrequired">'.$langs->trans('MenuForUsers').'</td><td><select class="flat" name="user">';
print '<tr><td class="nowrap fieldrequired">'.$langs->trans('MenuForUsers').'</td><td><select class="flat" name="user">';
print '<option value="2"'.($menu->user==2?' selected="true"':'').'>'.$langs->trans("AllMenus").'</option>';
print '<option value="0"'.($menu->user==0?' selected="true"':'').'>'.$langs->trans('Internal').'</option>';
print '<option value="1"'.($menu->user==1?' selected="true"':'').'>'.$langs->trans('External').'</option>';
@@ -444,10 +444,14 @@ elseif ($action == 'edit')
print '</select></td><td>'.$langs->trans('DetailTarget').'</td></tr>';
// Enabled
print '<tr><td>'.$langs->trans('Enabled').'</td><td><input type="text" size="60" name="enabled" value="'.$menu->enabled.'"></td><td>'.$langs->trans('DetailEnabled').'</td></tr>';
print '<tr><td>'.$langs->trans('Enabled').'</td><td><input type="text" size="60" name="enabled" value="'.dol_escape_htmltag($menu->enabled).'"></td><td>'.$langs->trans('DetailEnabled');
if (! empty($menu->enabled)) print ' ('.$langs->trans("ConditionIsCurrently").': '.yn(dol_eval($menu->enabled,1)).')';
print '</td></tr>';
// Perms
print '<tr><td>'.$langs->trans('Rights').'</td><td><input type="text" size="60" name="perms" value="'.$menu->perms.'"></td><td>'.$langs->trans('DetailRight').'</td></tr>';
print '<tr><td>'.$langs->trans('Rights').'</td><td><input type="text" size="60" name="perms" value="'.dol_escape_htmltag($menu->perms).'"></td><td>'.$langs->trans('DetailRight');
if (! empty($menu->perms)) print ' ('.$langs->trans("ConditionIsCurrently").': '.yn(dol_eval($menu->perms,1)).')';
print '</td></tr>';
print '</table>';

View File

@@ -47,20 +47,22 @@ $mesg=GETPOST('mesg');
$menu_handler_top=$conf->global->MAIN_MENU_STANDARD;
$menu_handler_smartphone=$conf->global->MAIN_MENU_SMARTPHONE;
$menu_handler_top=preg_replace('/_backoffice.php/i','',$menu_handler_top);
$menu_handler_top=preg_replace('/_frontoffice.php/i','',$menu_handler_top);
$menu_handler_smartphone=preg_replace('/_backoffice.php/i','',$menu_handler_smartphone);
$menu_handler_smartphone=preg_replace('/_frontoffice.php/i','',$menu_handler_smartphone);
$menu_handler_top=preg_replace('/(_backoffice\.php|_menu\.php)/i','',$menu_handler_top);
$menu_handler_top=preg_replace('/(_frontoffice\.php|_menu\.php)/i','',$menu_handler_top);
$menu_handler_smartphone=preg_replace('/(_backoffice\.php|_menu\.php)/i','',$menu_handler_smartphone);
$menu_handler_smartphone=preg_replace('/(_frontoffice\.php|_menu\.php)/i','',$menu_handler_smartphone);
$menu_handler=$menu_handler_top;
if (GETPOST("handler_origine")) $menu_handler=GETPOST("handler_origine");
if (GETPOST("menu_handler")) $menu_handler=GETPOST("menu_handler");
$menu_handler_to_search=preg_replace('/(_backoffice|_frontoffice|_menu)?(\.php)?/i','',$menu_handler);
/*
* Actions
*/
* Actions
*/
if ($action == 'up')
{
@@ -89,7 +91,7 @@ if ($action == 'up')
$sql = "SELECT m.rowid, m.position";
$sql.= " FROM ".MAIN_DB_PREFIX."menu as m";
$sql.= " WHERE (m.position < ".($current['order'])." OR (m.position = ".($current['order'])." AND rowid < ".$_GET["menuId"]."))";
$sql.= " AND m.menu_handler='".$menu_handler."'";
$sql.= " AND m.menu_handler='".$menu_handler_to_search."'";
$sql.= " AND m.entity = ".$conf->entity;
$sql.= " AND m.type = '".$current['type']."'";
$sql.= " AND m.fk_menu = '".$current['fk_menu']."'";
@@ -145,7 +147,7 @@ elseif ($action == 'down')
$sql = "SELECT m.rowid, m.position";
$sql.= " FROM ".MAIN_DB_PREFIX."menu as m";
$sql.= " WHERE (m.position > ".($current['order'])." OR (m.position = ".($current['order'])." AND rowid > ".$_GET["menuId"]."))";
$sql.= " AND m.menu_handler='".$menu_handler."'";
$sql.= " AND m.menu_handler='".$menu_handler_to_search."'";
$sql.= " AND m.entity = ".$conf->entity;
$sql.= " AND m.type = '".$current['type']."'";
$sql.= " AND m.fk_menu = '".$current['fk_menu']."'";
@@ -204,9 +206,11 @@ elseif ($action == 'confirm_delete' && $confirm == 'yes')
$form=new Form($db);
$formadmin=new FormAdmin($db);
$arrayofjs=array('/admin/menus/menu.js.php?lang='.$langs->defaultlang);
llxHeader('',$langs->trans("Menus"),'','',0,0,$arrayofjs);
$arrayofjs=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.js', '/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js');
$arrayofcss=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css');
llxHeader('',$langs->trans("Menus"),'','',0,0,$arrayofjs,$arrayofcss);
print_fiche_titre($langs->trans("Menus"),'','setup');
@@ -228,7 +232,7 @@ $head[$h][2] = 'editor';
$h++;
$head[$h][0] = DOL_URL_ROOT."/admin/menus/other.php";
$head[$h][1] = $langs->trans("Miscellanous");
$head[$h][1] = $langs->trans("Miscellaneous");
$head[$h][2] = 'misc';
$h++;
@@ -255,7 +259,7 @@ if ($action == 'delete')
print '<form name="newmenu" class="nocellnopadd" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" action="change_menu_handler">';
print $langs->trans("MenuHandler").': ';
print $formadmin->select_menu_families($menu_handler,'menu_handler',array_merge($dirstandard,$dirsmartphone));
print $formadmin->select_menu_families($menu_handler.(preg_match('/_menu/',$menu_handler)?'':'_menu'),'menu_handler',array_merge($dirstandard,$dirsmartphone));
print ' &nbsp; <input type="submit" class="button" value="'.$langs->trans("Refresh").'">';
print '</form>';
@@ -265,10 +269,12 @@ print '<table class="border" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("TreeMenuPersonalized").'</td>';
print '<td align="right"><div id="iddivjstreecontrol"><a href="#">'.img_picto('','object_category').' '.$langs->trans("UndoExpandAll").'</a>';
print ' | <a href="#">'.img_picto('','object_category-expanded').' '.$langs->trans("ExpandAll").'</a></div></td>';
print '</tr>';
print '<tr>';
print '<td>';
print '<td colspan="2">';
// ARBORESCENCE
@@ -294,7 +300,7 @@ if ($conf->use_javascript_ajax)
$sql = "SELECT m.rowid, m.titre, m.langs, m.mainmenu, m.leftmenu, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu";
$sql.= " FROM ".MAIN_DB_PREFIX."menu as m";
$sql.= " WHERE menu_handler = '".$menu_handler."'";
$sql.= " WHERE menu_handler = '".$menu_handler_to_search."'";
$sql.= " AND entity = ".$conf->entity;
$sql.= " AND fk_menu >= 0";
$sql.= " ORDER BY m.position, m.rowid"; // Order is position then rowid (because we need a sort criteria when position is same)
@@ -310,7 +316,23 @@ if ($conf->use_javascript_ajax)
{
if (! empty($menu['langs'])) $langs->load($menu['langs']);
$titre = $langs->trans($menu['titre']);
$data[] = array('rowid'=>$menu['rowid'],'fk_menu'=>$menu['fk_menu'],'title'=>$titre,'mainmenu'=>$menu['mainmenu'],'leftmenu'=>$menu['leftmenu'],'fk_mainmenu'=>$menu['fk_mainmenu'],'fk_leftmenu'=>$menu['fk_leftmenu']);
$data[] = array(
'rowid'=>$menu['rowid'],
'fk_menu'=>$menu['fk_menu'],
'title'=>$titre,
'mainmenu'=>$menu['mainmenu'],
'leftmenu'=>$menu['leftmenu'],
'fk_mainmenu'=>$menu['fk_mainmenu'],
'fk_leftmenu'=>$menu['fk_leftmenu'],
'entry'=>'<table class="nobordernopadding centpercent"><tr><td>'.
'<strong> &nbsp; <a href="edit.php?menu_handler='.$menu_handler_to_search.'&action=edit&menuId='.$menu['rowid'].'">'.$titre.'</a></strong>'.
'</td><td align="right">'.
'<a href="edit.php?menu_handler='.$menu_handler_to_search.'&action=edit&menuId='.$menu['rowid'].'">'.img_edit('default',0,'class="menuEdit" id="edit'.$menu['rowid'].'"').'</a> '.
'<a href="edit.php?menu_handler='.$menu_handler_to_search.'&action=create&menuId='.$menu['rowid'].'">'.img_edit_add('default',0,'class="menuNew" id="new'.$menu['rowid'].'"').'</a> '.
'<a href="index.php?menu_handler='.$menu_handler_to_search.'&action=delete&menuId='.$menu['rowid'].'">'.img_delete('default',0,'class="menuDel" id="del'.$menu['rowid'].'"').'</a> '.
'<a href="index.php?menu_handler='.$menu_handler_to_search.'&action=up&menuId='.$menu['rowid'].'">'.img_picto("Monter","1uparrow").'</a><a href="index.php?menu_handler='.$menu_handler_to_search.'&action=down&menuId='.$menu['rowid'].'">'.img_picto("Descendre","1downarrow").'</a>'.
'</td></tr></table>'
);
$i++;
}
}

View File

@@ -1,225 +0,0 @@
<?php
/* Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/admin/menus/menu.js.php
* \brief File for js menu
*/
//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language
//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url.
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled cause need to do translations
if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1);
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1);
if (! defined('NOLOGIN')) define('NOLOGIN',1);
if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1);
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1);
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
session_cache_limiter(FALSE);
require_once '../../master.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php';
// Define css type
header('Content-type: application/javascript');
// Important: Following code is to avoid page request by browser and PHP CPU at
// each Dolibarr page access.
if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate');
else header('Cache-Control: no-cache');
// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1.
if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); }
if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL
if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL
$langs->load("main",0,0);
?>
// Tests pour navigateurs
var OPE = (window.opera) ? true : false;
var IE = (document.all && !OPE) ? true : false;
var MOZ = (!IE && !OPE) ? true : false;
// -----------------------------------------------------
// Fonction d'initialisation de l'arbre
function arbre() {
// Choix de la balise contenant le texte. (strong par defaut).
balise = "STRONG";
// Presentation de l'arbre au depart : deployee ('yes') ou fermee ('no')
extend = "no";
// Textes du lien plier / deplier
plier_text = '<?php echo $langs->transnoentities("UndoExpandAll"); ?>';
plier_title = 'Replier tous les noeuds de l\'arbre'
deplier_text = '<?php echo $langs->transnoentities("ExpandAll"); ?>';
deplier_title = 'Deplier tous les noeuds de l\'arbre'
// Recuperation de tous les arbres de la page
uls = getElBy('ul','class','arbre');
for (uli=0;uli < uls.length;uli++)
{
ul = uls[uli];
linkSwitch(ul);
processULEL(ul);
plier(ul,'replier');
}
}
// -------------------------------------------------------
// Creation des liens plier /deplier tout
function linkSwitch(ul) {
var a=document.createElement('a');
a.setAttribute('href','#');
if (extend=='yes') {
a.appendChild(document.createTextNode(plier_text));
a.setAttribute('title',plier_title);
}
else {
a.appendChild(document.createTextNode(deplier_text));
a.setAttribute('title',deplier_title);
}
var parbre = document.createElement('p');
parbre.setAttribute('class','arbre-switch');
parbre.appendChild(a);
ul.parentNode.insertBefore(parbre,ul);
listenlink(ul);
}
// Gestion des Clics sur les liens plier / deplier tout
function listenlink(ul) {
var link = ul.previousSibling.childNodes[0];
link.onclick = function() {
if (this.childNodes[0].nodeValue == plier_text) {
plier(ul,'replier');
this.childNodes[0].nodeValue = deplier_text;
this.setAttribute('title',deplier_title);
}
else {
plier(ul,'deplier');
this.childNodes[0].nodeValue = plier_text;
this.setAttribute('title',plier_title);
}
return false;
}
}
// Action Plier / deplier tout
function plier(ul,act) {
for (var i=0; i < ul.childNodes.length; i++) {
var li = ul.childNodes[i];
if (li.nodeName == 'LI') {
for (var j=0; j < li.childNodes.length; j++) {
var child = li.childNodes[j];
if (child.nodeName==balise) {
var strong = child;
}
if (child.nodeName=='UL') {
if (act=='replier') {
child.className='hide';
strong.className='arbre-plier';
}
else {
child.className='';
strong.className='arbre-deplier';
}
var sub = child;
plier(sub,act);
}
}
}
}
}
// ---------------------------------------------------------
// Analyse de l'arbre
function processULEL(ul) {
if (!ul.childNodes || ul.childNodes.length == 0) return;
// Iterate LIs
for (var itemi=0;itemi < ul.childNodes.length;itemi++) {
var item = ul.childNodes[itemi];
if (item.nodeName == "LI") {
// Contenu des balises LI
var a;
var subul;
subul = "";
for (var sitemi=0;sitemi < item.childNodes.length;sitemi++) {
// Uniquement pour moz-firefox
if (MOZ) {item.style.background = "";}
// Enfants des li : balise ou sous-ul
var sitem = item.childNodes[sitemi];
switch (sitem.nodeName) {
case balise:
a = sitem;
break;
case "UL":
subul = sitem;
if (extend != "yes") {sitem.className = 'hide';}
processULEL(subul);
break;
}
}
if (subul) {
if (extend!="yes") {
a.className='arbre-plier';
}
else {
a.className='arbre-deplier';
subul.className='';
}
associateEL(a,subul);
}
}
}
}
// Swicth des noeuds
function associateEL(a,ul) {
a.onclick = function () {
this.className = (ul.className=='hide') ? 'arbre-deplier' : 'arbre-plier';
ul.className = (ul.className=='hide') ? '' : 'hide';
return false;
}
}
// -----------------------------------------------------
// Nom : GetElBy(tag,attr,val)
// By : Rui Nibau
// Date : aout 2005
// Func : Tableau des elements 'tag' dont l'attribut 'attr' a la valeur 'val'.
// -----------------------------------------------------
function getElBy(tag,attr,val) {
var dbRes = [];
var dbEl = document.getElementsByTagName(tag);
for (e=0; e < dbEl.length; e++) {
if (attr == 'class') {if (dbEl[e].className==val) {dbRes.push(dbEl[e]);}}
else {if (dbEl[e].getAttribute(attr)==val) {dbRes.push(dbEl[e]);}}
}
return dbRes;
}
// -----------------------------------------------------
// A l'affichage de la page, lancer la fonction arbre
window.onload = function() {
arbre();
}
function imgDel(id)
{
var delId='del'+id;
var imgDel = document.getElementById('del'+id);
if (imgDel != null) imgDel.style.display='block';
return true;
}

View File

@@ -87,7 +87,7 @@ $head[$h][2] = 'editor';
$h++;
$head[$h][0] = DOL_URL_ROOT."/admin/menus/other.php";
$head[$h][1] = $langs->trans("Miscellanous");
$head[$h][1] = $langs->trans("Miscellaneous");
$head[$h][2] = 'misc';
$h++;

View File

@@ -71,8 +71,6 @@ $_SESSION["mode"]=$mode;
$help_url='EN:First_setup|FR:Premiers_paramétrages|ES:Primeras_configuraciones';
llxHeader('',$langs->trans("Setup"),$help_url);
print_fiche_titre($langs->trans("ModulesSetup"),'','setup');
// Search modules dirs
$modulesdir = array();
@@ -194,6 +192,11 @@ asort($orders);
//var_dump($categ);
//var_dump($modules);
$nbofactivatedmodules=count($conf->modules);
$moreinfo=$langs->trans("TotalNumberOfActivatedModules",($nbofactivatedmodules-1));
if ($nbofactivatedmodules <= 1) $moreinfo .= ' '.img_warning($langs->trans("YouMustEnableOneModule"));
print load_fiche_titre($langs->trans("ModulesSetup"),$moreinfo,'setup');
// Start to show page
if (empty($mode)) $mode='common';
if ($mode==='common') print $langs->trans("ModulesDesc")."<br>\n";
@@ -203,10 +206,8 @@ if ($mode==='functional') print $langs->trans("ModulesJobDesc")."<br>\n";
if ($mode==='marketplace') print $langs->trans("ModulesMarketPlaceDesc")."<br>\n";
if ($mode==='expdev') print $langs->trans("ModuleFamilyExperimental")."<br>\n";
$nbofactivatedmodules=count($conf->modules);
print $langs->trans("TotalNumberOfActivatedModules",($nbofactivatedmodules-1));
if ($nbofactivatedmodules <= 1) print ' '.img_warning($langs->trans("YouMustEnableOneModule"));
print '<br>'."\n";
//print '<br>'."\n";
$h = 0;
@@ -265,9 +266,7 @@ $head[$h][2] = 'marketplace';
$h++;
// Show warning about external users
print showModulesExludedForExternal($modules).'<br>'."\n";
print "<br>\n";
print "<br>\n";
dol_fiche_head($head, $mode, $langs->trans("Modules"));
@@ -500,6 +499,10 @@ else
dol_fiche_end();
// Show warning about external users
if ($mode != 'marketplace') print showModulesExludedForExternal($modules).'<br>'."\n";
llxFooter();
$db->close();

View File

@@ -0,0 +1,159 @@
<?php
/* Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/admin/order_extrafields.php
* \ingroup order
* \brief Page to setup extra fields of order
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/order.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
if (!$user->admin)
accessforbidden();
$langs->load("admin");
$langs->load("other");
$langs->load("orders");
$extrafields = new ExtraFields($db);
$form = new Form($db);
// List of supported format
$tmptype2label=getStaticMember(get_class($extrafields),'type2label');
$type2label=array('');
foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val);
$action=GETPOST('action', 'alpha');
$attrname=GETPOST('attrname', 'alpha');
$elementtype='commande'; //Must be the $table_element of the class that manage extrafield
if (!$user->admin) accessforbidden();
/*
* Actions
*/
require DOL_DOCUMENT_ROOT.'/core/admin_extrafields.inc.php';
/*
* View
*/
$textobject=$langs->transnoentitiesnoconv("Orders");
llxHeader('',$langs->trans("OrdersSetup"));
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'setup');
print "<br>\n";
$head = order_admin_prepare_head(null);
dol_fiche_head($head, 'attributes', $langs->trans("ModuleSetup"), 0, 'order');
print $langs->trans("DefineHereComplementaryAttributes",$textobject).'<br>'."\n";
print '<br>';
// Load attribute_label
$extrafields->fetch_name_optionals_label($elementtype);
print "<table summary=\"listofattributes\" class=\"noborder\" width=\"100%\">";
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Label").'</td>';
print '<td>'.$langs->trans("AttributeCode").'</td>';
print '<td>'.$langs->trans("Type").'</td>';
print '<td align="right">'.$langs->trans("Size").'</td>';
print '<td align="center">'.$langs->trans("Unique").'</td>';
print '<td align="center">'.$langs->trans("Required").'</td>';
print '<td width="80">&nbsp;</td>';
print "</tr>\n";
$var=True;
foreach($extrafields->attribute_type as $key => $value)
{
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>".$extrafields->attribute_label[$key]."</td>\n";
print "<td>".$key."</td>\n";
print "<td>".$type2label[$extrafields->attribute_type[$key]]."</td>\n";
print '<td align="right">'.$extrafields->attribute_size[$key]."</td>\n";
print '<td align="center">'.yn($extrafields->attribute_unique[$key])."</td>\n";
print '<td align="center">'.yn($extrafields->attribute_required[$key])."</td>\n";
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=edit&attrname='.$key.'">'.img_edit().'</a>';
print "&nbsp; <a href=\"".$_SERVER["PHP_SELF"]."?action=delete&attrname=$key\">".img_delete()."</a></td>\n";
print "</tr>";
}
print "</table>";
dol_fiche_end();
// Buttons
if ($action != 'create' && $action != 'edit')
{
print '<div class="tabsAction">';
print "<a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?action=create\">".$langs->trans("NewAttribute")."</a>";
print "</div>";
}
/* ************************************************************************** */
/* */
/* Creation d'un champ optionnel */
/* */
/* ************************************************************************** */
if ($action == 'create')
{
print "<br>";
print_titre($langs->trans('NewAttribute'));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php';
}
/* ************************************************************************** */
/* */
/* Edition d'un champ optionnel */
/* */
/* ************************************************************************** */
if ($action == 'edit' && ! empty($attrname))
{
print "<br>";
print_titre($langs->trans("FieldEdition", $attrname));
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php';
}
llxFooter();
$db->close();
?>

View File

@@ -2,7 +2,7 @@
/* Copyright (C) 2001-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012-2103 Juanjo Menent <jmenent@2byte.es>
*
* 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
@@ -29,7 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php';
$langs->load("admin");
$langs->load("languages");
@@ -51,23 +51,36 @@ if ($action == 'update')
{
dolibarr_set_const($db, "MAIN_PDF_FORMAT", $_POST["MAIN_PDF_FORMAT"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", $_POST["MAIN_PROFID1_IN_ADDRESS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_PROFID2_IN_ADDRESS", $_POST["MAIN_PROFID2_IN_ADDRESS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_PROFID3_IN_ADDRESS", $_POST["MAIN_PROFID3_IN_ADDRESS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_PROFID4_IN_ADDRESS", $_POST["MAIN_PROFID4_IN_ADDRESS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_PROFID4_IN_ADDRESS", $_POST["MAIN_PROFID4_IN_ADDRESS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT", $_POST["MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT"],'chaine',0,'',$conf->entity);
if ($conf->global->MAIN_FEATURES_LEVEL > 1)
{
dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS", $_POST["MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DESC", $_POST["MAIN_GENERATE_DOCUMENTS_HIDE_DESC"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_REF", $_POST["MAIN_GENERATE_DOCUMENTS_HIDE_REF"],'chaine',0,'',$conf->entity);
}
dolibarr_set_const($db, "MAIN_TVAINTRA_NOT_IN_ADDRESS", $_POST["MAIN_TVAINTRA_NOT_IN_ADDRESS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS", $_POST["MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DESC", $_POST["MAIN_GENERATE_DOCUMENTS_HIDE_DESC"],'chaine',0,'',$conf->entity);
dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_REF", $_POST["MAIN_GENERATE_DOCUMENTS_HIDE_REF"],'chaine',0,'',$conf->entity);
header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup");
exit;
}
if ($action == 'activate_pdfsecurity')
{
dolibarr_set_const($db, "PDF_SECURITY_ENCRYPTION", "1",'chaine',0,'',$conf->entity);
header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup");
exit;
}
else if ($action == 'disable_pdfsecurity')
{
dolibarr_del_const($db, "PDF_SECURITY_ENCRYPTION",$conf->entity);
header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup");
exit;
}
/*
* View
@@ -209,27 +222,31 @@ if ($action == 'edit') // Edit
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideAnyVATInformationOnPDF").'</td><td>';
print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT))?$conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT:0,1);
print '</td></tr>';
// Hide Tva Intra on adress
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("ShowVATIntaInAddress").'</td><td>';
print $form->selectyesno('MAIN_TVAINTRA_NOT_IN_ADDRESS',(! empty($conf->global->MAIN_TVAINTRA_NOT_IN_ADDRESS))?$conf->global->MAIN_TVAINTRA_NOT_IN_ADDRESS:0,1);
print '</td></tr>';
if ($conf->global->MAIN_FEATURES_LEVEL > 1)
{
//Desc
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDescOnPDF").'</td><td>';
print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DESC',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC))?$conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC:0,1);
print '</td></tr>';
//Desc
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDescOnPDF").'</td><td>';
print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DESC',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC))?$conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC:0,1);
print '</td></tr>';
//Ref
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideRefOnPDF").'</td><td>';
print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_REF',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF))?$conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF:0,1);
print '</td></tr>';
//Ref
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideRefOnPDF").'</td><td>';
print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_REF',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF))?$conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF:0,1);
print '</td></tr>';
//Details
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDetailsOnPDF").'</td><td>';
print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS))?$conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS:0,1);
print '</td></tr>';
//Details
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDetailsOnPDF").'</td><td>';
print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS))?$conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS:0,1);
print '</td></tr>';
}
print '</table>';
@@ -366,72 +383,106 @@ else // Show
print_fiche_titre($langs->trans("Other"),'','').'<br>';
$var=true;
print '<table summary="more" class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td width="200px">'.$langs->trans("Value").'</td></tr>';
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td width="200px" colspan="2">'.$langs->trans("Value").'</td></tr>';
// Hide any PDF informations
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideAnyVATInformationOnPDF").'</td><td>';
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideAnyVATInformationOnPDF").'</td><td colspan="2">';
print yn($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT,1);
print '</td></tr>';
if ($conf->global->MAIN_FEATURES_LEVEL > 1)
{
//Desc
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDescOnPDF").'</td><td>';
print yn($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC,1);
print '</td></tr>';
// Encrypt and protect PDF
$var=!$var;
print "<tr ".$bc[$var].">";
print '<td>';
$text = $langs->trans("ProtectAndEncryptPdfFiles");
$desc = $form->textwithpicto($text,$langs->transnoentities("ProtectAndEncryptPdfFilesDesc"),1);
print $desc;
print '</td>';
print '<td width="60">';
if($conf->global->PDF_SECURITY_ENCRYPTION == 1)
{
print img_picto($langs->trans("Active"),'tick');
}
print '</td>';
print '<td align="center" width="140">';
if ($conf->global->PDF_SECURITY_ENCRYPTION == 0)
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=activate_pdfsecurity">'.$langs->trans("Activate").'</a>';
}
if($conf->global->PDF_SECURITY_ENCRYPTION == 1)
{
print '<a href="'.$_SERVER["PHP_SELF"].'?action=disable_pdfsecurity">'.$langs->trans("Disable").'</a>';
}
print "</td>";
print "</td>";
print '</tr>';
// Hide Tva Intra on adress
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("ShowVATIntaInAddress").'</td><td colspan="2">';
print yn($conf->global->MAIN_TVAINTRA_NOT_IN_ADDRESS,1);
print '</td></tr>';
//Desc
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDescOnPDF").'</td><td colspan="2">';
print yn($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC,1);
print '</td></tr>';
//Ref
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideRefOnPDF").'</td><td>';
print yn($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF,1);
print '</td></tr>';
//Ref
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideRefOnPDF").'</td><td colspan="2">';
print yn($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF,1);
print '</td></tr>';
//Details
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDetailsOnPDF").'</td><td colspan="2">';
print yn($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS,1);
print '</td></tr>';
//Details
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("HideDetailsOnPDF").'</td><td>';
print yn($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS,1);
print '</td></tr>';
}
print '</table>';
/*
* Library
*/
print '<br>';
print_titre($langs->trans("Library"));
print '<table class="noborder" width="100%">'."\n";
/*
* Library
*/
print '<br>';
print_titre($langs->trans("Library"));
print '<tr class="liste_titre">'."\n";
print '<td>'.$langs->trans("Name").'</td>'."\n";
print '<td>'.$langs->trans("Value").'</td>'."\n";
print "</tr>\n";
print '<table class="noborder" width="100%">'."\n";
print '<tr class="liste_titre">'."\n";
print '<td>'.$langs->trans("Name").'</td>'."\n";
print '<td>'.$langs->trans("Value").'</td>'."\n";
print "</tr>\n";
$var=false;
if (! empty($dolibarr_pdf_force_fpdf))
{
$var=!$var;
print '<tr '.$bc[$var].'>'."\n";
print '<td>dolibarr_pdf_force_fpdf</td>'."\n";
print '<td>';
$var=!$var;
print '<tr '.$bc[$var].'>'."\n";
print '<td>dolibarr_pdf_force_fpdf</td>'."\n";
print '<td>';
print $dolibarr_pdf_force_fpdf;
print '</td>';
print '</tr>';
}
$var=!$var;
print '<tr '.$bc[$var].'>'."\n";
print '<td>'.$langs->trans("LibraryToBuildPDF").'</td>'."\n";
print '<tr '.$bc[$var].'>'."\n";
print '<td>'.$langs->trans("LibraryToBuildPDF").'</td>'."\n";
print '<td>';
$i=0;
$pdf=pdf_getInstance('A4');
if (class_exists('FPDF') && ! class_exists('TCPDF'))
if (class_exists('FPDF') && ! class_exists('TCPDF'))
{
if ($i) print ' + ';
if ($i) print ' + ';
print 'FPDF';
print ' ('.@constant('FPDF_PATH').')';
$i++;
@@ -451,8 +502,8 @@ else // Show
$i++;
}
print '<!-- $conf->global->MAIN_USE_FPDF = '.$conf->global->MAIN_USE_FPDF.' -->';
print '</td>'."\n";
print '</tr>'."\n";
print '</td>'."\n";
print '</tr>'."\n";
print "</table>\n";

View File

@@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2011 Herve Prot <herve.prot@symeos.com>
*
* This program is free software; you can redistribute it and/or modify
@@ -69,7 +69,53 @@ print_fiche_titre($langs->trans("SecuritySetup"),'','setup');
print $langs->trans("DefaultRightsDesc");
print " ".$langs->trans("OnlyActiveElementsAreShown")."<br>\n";
// Show warning about external users
$db->begin();
// Charge les modules soumis a permissions
$modules = array();
$modulesdir = dolGetModulesDirs();
foreach ($modulesdir as $dir)
{
// Load modules attributes in arrays (name, numero, orders) from dir directory
//print $dir."\n<br>";
$handle=@opendir(dol_osencode($dir));
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php')
{
$modName = substr($file, 0, dol_strlen($file) - 10);
if ($modName)
{
include_once $dir.$file;
$objMod = new $modName($db);
// Load all lang files of module
if (isset($objMod->langfiles) && is_array($objMod->langfiles))
{
foreach($objMod->langfiles as $domain)
{
$langs->load($domain);
}
}
// Load all permissions
if ($objMod->rights_class)
{
$ret=$objMod->insert_permissions(0);
$modules[$objMod->rights_class]=$objMod;
//print "modules[".$objMod->rights_class."]=$objMod;";
}
}
}
}
}
}
$db->commit();
// Show warning about external users
print showModulesExludedForExternal($modules).'<br>'."\n";
print "<br>\n";
@@ -81,54 +127,6 @@ dol_fiche_head($head, 'default', $langs->trans("Security"));
print '<table class="noborder" width="100%">';
$db->begin();
// Charge les modules soumis a permissions
$modules = array();
$modulesdir = dolGetModulesDirs();
foreach ($modulesdir as $dir)
{
// Load modules attributes in arrays (name, numero, orders) from dir directory
//print $dir."\n<br>";
$handle=@opendir(dol_osencode($dir));
if (is_resource($handle))
{
while (($file = readdir($handle))!==false)
{
if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php')
{
$modName = substr($file, 0, dol_strlen($file) - 10);
if ($modName)
{
include_once $dir.$file;
$objMod = new $modName($db);
// Load all lang files of module
if (isset($objMod->langfiles) && is_array($objMod->langfiles))
{
foreach($objMod->langfiles as $domain)
{
$langs->load($domain);
}
}
// Load all permissions
if ($objMod->rights_class)
{
$ret=$objMod->insert_permissions(0);
$modules[$objMod->rights_class]=$objMod;
//print "modules[".$objMod->rights_class."]=$objMod;";
}
}
}
}
}
}
$db->commit();
// Affiche lignes des permissions
$sql = "SELECT r.id, r.libelle, r.module, r.perms, r.subperms, r.bydefault";
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r";

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