Merge branch 'develop' of github.com:Dolibarr/dolibarr into dev_contactdefault
103
ChangeLog
@ -20,9 +20,110 @@ Following changes may create regressions for some external modules, but were nec
|
||||
* The deprecated method get_OutstandingBill has been removed. You can use getOutstandingBills() instead.
|
||||
* The hook "moreFamily" must return payment into var "totalpayment" and no more "paiement" (english replace french).
|
||||
* Removed deprecated method actioncomm->add(), use create() instead
|
||||
* If you develop your own emailing target selector and used parent::add_to_target(...), you must now use parent::addToTargets(...)
|
||||
* If you have developed your own emailing target selector and used parent::add_to_target(...), you must now use parent::addToTargets(...)
|
||||
* Removed function dol_micro_time. Use native PHP microtime instead.
|
||||
|
||||
|
||||
***** ChangeLog for 10.0.2 compared to 10.0.1 *****
|
||||
|
||||
FIX: #10460 compatibility with MariaDB 10.4
|
||||
FIX: #11401 Adherent unknown language key
|
||||
FIX: #11422 Can't edit his own events with standard rights
|
||||
FIX: #11427 require product class (fixes POST /supplierinvoices REST API endpoint)
|
||||
FIX: #11570
|
||||
FIX: #11591 FIX: #11592
|
||||
FIX: #11671 CVE-2019-15062
|
||||
FIX: #11672
|
||||
FIX: #11685
|
||||
FIX: #11702
|
||||
FIX: #11711
|
||||
FIX: #11720
|
||||
FIX: #11746 Unable to modify amount of insurance of a loan
|
||||
FIX: #11752
|
||||
FIX: #11789 FIX: #11790
|
||||
FIX: #11804 list of tickets from a customer card display ALL tickets
|
||||
FIX: #11834
|
||||
FIX: Add char $ and ; in sanitizing of filenames.
|
||||
FIX: Add comment before protected functions
|
||||
FIX: Add log and type of content in dolWebsiteOutput and
|
||||
FIX: Add repair.php option 'restore' to restore user picture after v10
|
||||
FIX: amount opened on thirdparty card dont care of credit note not converted
|
||||
FIX: Api of documents work with value 'thirdparty'
|
||||
FIX: author in message / ticket API
|
||||
FIX: avoid sql error if fk_project is empty during update
|
||||
FIX: avoid Warning: A non-numeric value encountered
|
||||
FIX: bad consistency in list of invoice for direct debit order.
|
||||
FIX: Bad error management in zip compress and web site export
|
||||
FIX: bad substitution for extrafields type checkbox
|
||||
FIX: better help message with multicompany
|
||||
FIX: calculation of $products_dispatched
|
||||
FIX: Can't add a new chart of account
|
||||
FIX: Can't delete a draft leave even if it should
|
||||
FIX: Can't save setup of mailman module
|
||||
FIX: column jabberid missing
|
||||
FIX: Confirmation of deletion
|
||||
FIX: Consistency in direct debit order lists.
|
||||
FIX: Content send before header warning
|
||||
FIX: credit note can be split
|
||||
FIX: credit note used on list
|
||||
FIX: Css was saved on wrong website.
|
||||
FIX: delivery extrafields
|
||||
FIX: Disabling a website does not put it offline
|
||||
FIX: display only stripe sources for customer
|
||||
FIX: display payment intent in stripe's charge list
|
||||
FIX: document list for products in API
|
||||
FIX: dol_thirdparty_id for stripe PI
|
||||
FIX: Do not show tooltip if tooltip is empty
|
||||
FIX: duplicate css tag, decrease padding-bottom for boxes in eldy theme
|
||||
FIX: duration when creating service
|
||||
FIX: EDB-ID:47370
|
||||
FIX: Enable web site
|
||||
FIX: error management when adding a property with type real
|
||||
FIX: Fatal situation if payment removed on expense report. Action
|
||||
FIX: filepath of generated documents doesn't handle products with special characters
|
||||
FIX: for MAIN_MAXTABS_IN_CARD = $i card
|
||||
FIX: gzip and bzip2 must use option -f
|
||||
FIX: It was possible to create cashfence without entering data.
|
||||
FIX: javascript error when using dol_use_jmobile=1
|
||||
FIX: logout redirect to takepos.php
|
||||
FIX: Look and feel v10
|
||||
FIX: Make protected all pfd models functions
|
||||
FIX: management of extrafields in modulebuilder
|
||||
FIX: Missing div for buttons in tax, loan, various payment modules
|
||||
FIX: missing include (dol_convert_file not found)
|
||||
FIX: Missing some replacements in website module
|
||||
FIX: missing test on permission on button to delete ledger record
|
||||
FIX: Missing the filter fields in export of expense report and leaves
|
||||
FIX: Missing ticket icon on md theme
|
||||
FIX: Missing transaction
|
||||
FIX: Mode smartphone was not triggered when there is too loo menu
|
||||
FIX: Must escape shell
|
||||
FIX: Must exclude logs and some dirs for compressed backup
|
||||
FIX: name and position of hook FIX: #11710
|
||||
FIX: Not showing MAIN_INVERT_SENDER_RECIPIENT when edit field
|
||||
FIX: Nowrap missing on amount in boxes
|
||||
FIX: Option to use ZipArchive instead of PclZip bugged with large files.
|
||||
FIX: order or proposals billed if both workflow conf activated
|
||||
FIX: permission check on API intervention
|
||||
FIX: phpcs
|
||||
FIX: placement function
|
||||
FIX: qty in invoice list on product's stats
|
||||
FIX: remove disabled product type from product list
|
||||
FIX: Return code of pdf_einstein.modules.php and proformat
|
||||
FIX: round for application fee in stripe
|
||||
FIX: Sens of the balance (Debit - Credit in accountancy not contrary)
|
||||
FIX: Several pb in export of documents
|
||||
FIX: SQL syntax error and CSRF check on vat reports
|
||||
FIX: takepos layout clear or focus search
|
||||
FIX: too many record in sql request. Whena criteria is a filter, we must
|
||||
FIX: Translation of month
|
||||
FIX: USEDOLIBARREDITOR not always set
|
||||
FIX: VAT number for Monaco (it uses FR)
|
||||
FIX: vulenrability in uploading file found by 美创科技安全实验室
|
||||
FIX: wrong display (and hidden input) for already dispatched quantity
|
||||
FIX: wrong parameters (same error in branch 9, 10, develop)
|
||||
FIX: Wrong variable. Must be PROJECT_HIDE_UNSELECTABLES
|
||||
|
||||
***** ChangeLog for 10.0.1 compared to 10.0.0 *****
|
||||
FIX: #10930
|
||||
FIX: #10984
|
||||
|
||||
30
README.md
@ -74,6 +74,7 @@ If you don't have time to install it yourself, you can try some commercial 'read
|
||||
|
||||
## UPGRADING
|
||||
|
||||
- At first make a backup of your Dolibarr files & than see https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr
|
||||
- Overwrite all old files from 'dolibarr' directory with files provided into the new version's package.
|
||||
- At first next access, Dolibarr will redirect your to the "install/" page to follow the upgrade process.
|
||||
If an `install.lock` file exists to lock any other upgrade process, the application will ask you to remove the file manually (you should find the `install.lock` file into the directory used to store generated and uploaded documents, in most cases, it is the directory called "*documents*").
|
||||
@ -90,18 +91,19 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
||||
|
||||
### Main application/modules (all optional)
|
||||
|
||||
- Customers, Prospects and/or Suppliers directory
|
||||
- Customers, Prospects (Leads) and/or Suppliers directory
|
||||
- Products and/or Services catalog
|
||||
- Commercial proposals management
|
||||
- Customer and Supplier Orders management
|
||||
- Invoices and payment management
|
||||
- Standing orders management (European SEPA)
|
||||
- Bank accounts management
|
||||
- Accounting management
|
||||
- Shared calendar/agenda (with ical and vcal export for third party tools integration)
|
||||
- Opportunities and/or project management
|
||||
- Projects management
|
||||
- Contracts management
|
||||
- Stock management
|
||||
- Warehouse/Stock management
|
||||
- Shipping management
|
||||
- Interventions management
|
||||
- Employee's leave requests management
|
||||
@ -111,7 +113,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
||||
- Foundations members management
|
||||
- Mass emailing
|
||||
- Surveys
|
||||
- Point of Sale
|
||||
- Point of Sale (POS)
|
||||
- …
|
||||
|
||||
### Other application/modules
|
||||
@ -131,15 +133,15 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
||||
|
||||
### Other general features
|
||||
|
||||
- Localization in most major languages.
|
||||
- Multi-Users and groups with finely grained rights.
|
||||
- Multi-currency.
|
||||
- Multi-company by adding of an external module.
|
||||
- Very user friendly and easy to use.
|
||||
- Localization in most major languages
|
||||
- Multi-Users and groups with finely grained rights
|
||||
- Multi-currency
|
||||
- Multi-company by adding of an external module
|
||||
- Very user friendly and easy to use
|
||||
- customizable Dashboard
|
||||
- Highly customizable: enable only the modules you need, add user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one)
|
||||
- Works with PHP 5.5+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite))
|
||||
- Compatible with all Cloud solutions that match MySQL, PHP or PostgreSQL prerequisites.
|
||||
- APIs.
|
||||
|
||||
- APIs
|
||||
- An easy to understand, maintain and develop code (PHP with no heavy framework; trigger and hook architecture)
|
||||
- Support a lot of country specific features:
|
||||
- Spanish Tax RE and ISPF
|
||||
@ -153,6 +155,12 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
|
||||
- PDF or ODT generation for invoice, proposals, orders...
|
||||
- …
|
||||
|
||||
### System Environment / Requirements
|
||||
|
||||
- Works with PHP 5.5+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite))
|
||||
- Compatible with all Cloud solutions that match MySQL, PHP or PostgreSQL prerequisites.
|
||||
|
||||
|
||||
### Extending
|
||||
|
||||
Dolibarr can be extended with a lot of other external application or modules from third party developers available at the [DoliStore](https://www.dolistore.com).
|
||||
|
||||
@ -23,3 +23,6 @@ The URL to go to the Dolibarr is :
|
||||
The URL to go to PhpMyAdmin is (login/password is root/root) :
|
||||
|
||||
http://0.0.0.0:8080
|
||||
|
||||
Setup the database connection during the installation process, please use mariad
|
||||
b (name of the database container) as database host.
|
||||
|
||||
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
BIN
dev/initdemo/documents_demo/users/10/thumbs/mariecurie_mini.jpg
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
dev/initdemo/documents_demo/users/10/thumbs/mariecurie_small.jpg
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
dev/initdemo/documents_demo/users/11/person4.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
dev/initdemo/documents_demo/users/11/thumbs/person4_mini.jpeg
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
dev/initdemo/documents_demo/users/11/thumbs/person4_small.jpeg
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
dev/initdemo/documents_demo/users/12/person6.jpeg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
dev/initdemo/documents_demo/users/12/thumbs/person6_mini.jpeg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
dev/initdemo/documents_demo/users/12/thumbs/person6_small.jpeg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
dev/initdemo/documents_demo/users/13/person7.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
dev/initdemo/documents_demo/users/13/thumbs/person7_mini.jpeg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
dev/initdemo/documents_demo/users/13/thumbs/person7_small.jpeg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
dev/initdemo/documents_demo/users/14/person3.jpeg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
dev/initdemo/documents_demo/users/14/thumbs/person3_mini.jpeg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
dev/initdemo/documents_demo/users/14/thumbs/person3_small.jpeg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
dev/initdemo/documents_demo/users/16/person1.jpeg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
dev/initdemo/documents_demo/users/16/thumbs/person1_mini.jpeg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
dev/initdemo/documents_demo/users/16/thumbs/person1_small.jpeg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
dev/initdemo/documents_demo/users/17/person5.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
dev/initdemo/documents_demo/users/17/thumbs/person5_mini.jpeg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
dev/initdemo/documents_demo/users/17/thumbs/person5_small.jpeg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
BIN
dev/initdemo/documents_demo/users/19/person2.jpeg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
dev/initdemo/documents_demo/users/19/thumbs/person2_mini.jpeg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
dev/initdemo/documents_demo/users/19/thumbs/person2_small.jpeg
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
BIN
dev/initdemo/documents_demo/users/2/person9.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
dev/initdemo/documents_demo/users/2/thumbs/person9_mini.jpeg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
dev/initdemo/documents_demo/users/2/thumbs/person9_small.jpeg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
BIN
dev/initdemo/documents_demo/users/4/person8.jpeg
Normal file
|
After Width: | Height: | Size: 991 KiB |
BIN
dev/initdemo/documents_demo/users/4/thumbs/person8_mini.jpeg
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
dev/initdemo/documents_demo/users/4/thumbs/person8_small.jpeg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
@ -50,7 +50,7 @@ fi
|
||||
# ----------------------------- if no params on command line
|
||||
if [ "x$passwd" = "x" ]
|
||||
then
|
||||
export dumpfile=`ls $mydir/mysqldump_dolibarr_*.sql | sort | tail -n 1`
|
||||
export dumpfile=`ls -v $mydir/mysqldump_dolibarr_*.sql | tail -n 1`
|
||||
export dumpfile=`basename $dumpfile`
|
||||
|
||||
# ----------------------------- input file
|
||||
|
||||
@ -38,7 +38,7 @@ passwd=$5;
|
||||
# ----------------------------- if no params on command line
|
||||
if [ "x$passwd" = "x" ]
|
||||
then
|
||||
export dumpfile=`ls $mydir/mysqldump_dolibarr_*.sql | sort | tail -n 1`
|
||||
export dumpfile=`ls -v $mydir/mysqldump_dolibarr_*.sql | tail -n 1`
|
||||
export dumpfile=`basename $dumpfile`
|
||||
|
||||
# ----------------------------- input file
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2016-2019 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -50,6 +51,7 @@ $hookmanager->initHooks(array('accountancyindex'));
|
||||
llxHeader('', $langs->trans("AccountancyArea"));
|
||||
|
||||
print load_fiche_titre($langs->trans("AccountancyArea"), '', 'title_accountancy');
|
||||
//dol_fiche_head();
|
||||
|
||||
$step = 0;
|
||||
|
||||
@ -175,6 +177,7 @@ else
|
||||
{
|
||||
print $langs->trans("Module10Desc")."<br>\n";
|
||||
}
|
||||
//dol_fiche_end();
|
||||
|
||||
// End of page
|
||||
llxFooter();
|
||||
|
||||
@ -79,7 +79,7 @@ if ($action == 'updateall')
|
||||
}
|
||||
}
|
||||
|
||||
// Action mise a jour ou ajout d'une constante
|
||||
// Action to update or add a constant
|
||||
if ($action == 'update' || $action == 'add')
|
||||
{
|
||||
$constname=GETPOST('constname', 'alpha');
|
||||
@ -108,7 +108,7 @@ if ($action == 'update' || $action == 'add')
|
||||
}
|
||||
}
|
||||
|
||||
// Action activation d'un sous module du module adherent
|
||||
// Action to enable of a submodule of the adherent module
|
||||
if ($action == 'set')
|
||||
{
|
||||
$result=dolibarr_set_const($db, GETPOST('name', 'alpha'), GETPOST('value'), '', 0, '', $conf->entity);
|
||||
@ -118,7 +118,7 @@ if ($action == 'set')
|
||||
}
|
||||
}
|
||||
|
||||
// Action desactivation d'un sous module du module adherent
|
||||
// Action to disable a submodule of the adherent module
|
||||
if ($action == 'unset')
|
||||
{
|
||||
$result=dolibarr_del_const($db, GETPOST('name', 'alpha'), $conf->entity);
|
||||
@ -220,9 +220,9 @@ if ($conf->facture->enabled)
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<center>';
|
||||
print '<div class="center">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Update").'" name="Button">';
|
||||
print '</center>';
|
||||
print '</div>';
|
||||
|
||||
print '</form>';
|
||||
|
||||
@ -230,7 +230,7 @@ print '<br>';
|
||||
|
||||
|
||||
/*
|
||||
* Edition info modele document
|
||||
* Edit info of model document
|
||||
*/
|
||||
$constantes=array(
|
||||
'ADHERENT_CARD_TYPE',
|
||||
@ -254,7 +254,7 @@ print '<br>';
|
||||
|
||||
|
||||
/*
|
||||
* Edition info modele document
|
||||
* Edit info of model document
|
||||
*/
|
||||
$constantes=array('ADHERENT_ETIQUETTE_TYPE','ADHERENT_ETIQUETTE_TEXT');
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ if ($action == 'updateall')
|
||||
}
|
||||
}
|
||||
|
||||
// Action mise a jour ou ajout d'une constante
|
||||
// Action to update or add a constant
|
||||
if ($action == 'update' || $action == 'add')
|
||||
{
|
||||
$constlineid = GETPOST('rowid', 'int');
|
||||
@ -108,7 +108,7 @@ if ($action == 'update' || $action == 'add')
|
||||
}
|
||||
}
|
||||
|
||||
// Action activation d'un sous module du module adherent
|
||||
// Action to enable a submodule of the adherent module
|
||||
if ($action == 'set')
|
||||
{
|
||||
$result=dolibarr_set_const($db, GETPOST('name', 'alpha'), GETPOST('value'), '', 0, '', $conf->entity);
|
||||
@ -118,7 +118,7 @@ if ($action == 'set')
|
||||
}
|
||||
}
|
||||
|
||||
// Action desactivation d'un sous module du module adherent
|
||||
// Action to disable a submodule of the adherent module
|
||||
if ($action == 'unset')
|
||||
{
|
||||
$result=dolibarr_del_const($db, GETPOST('name', 'alpha'), $conf->entity);
|
||||
|
||||
@ -22,7 +22,6 @@
|
||||
* \file htdocs/adherents/admin/website.php
|
||||
* \ingroup member
|
||||
* \brief File of main public page for member module
|
||||
* \author Laurent Destailleur
|
||||
*/
|
||||
|
||||
require '../../main.inc.php';
|
||||
@ -211,9 +210,9 @@ if (! empty($conf->global->MEMBER_ENABLE_PUBLIC))
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<center>';
|
||||
print '<div class="center">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||
print '</center>';
|
||||
print '</div>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -19,11 +19,11 @@
|
||||
/**
|
||||
* \file htdocs/adherents/canvas/actions_adherentcard_common.class.php
|
||||
* \ingroup adherent
|
||||
* \brief Fichier de la classe Adherent card controller (common)
|
||||
* \brief File of class Thirdparty member card controller (common)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class to maage members using default canvas
|
||||
* Class to manage members using default canvas
|
||||
*/
|
||||
abstract class ActionsAdherentCardCommon
|
||||
{
|
||||
@ -170,7 +170,6 @@ abstract class ActionsAdherentCardCommon
|
||||
$this->tpl['nb_emailing'] = $this->object->getNbOfEMailings();
|
||||
}
|
||||
|
||||
|
||||
// Dolibarr user
|
||||
if ($this->object->user_id)
|
||||
{
|
||||
|
||||
@ -638,7 +638,7 @@ if (empty($reshook))
|
||||
// Set output language
|
||||
$outputlangs = new Translate('', $conf);
|
||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$outputlangs->loadLangs(array("main", "members"));
|
||||
// Get email content from template
|
||||
$arraydefaultmessage=null;
|
||||
@ -719,7 +719,7 @@ if (empty($reshook))
|
||||
// Set output language
|
||||
$outputlangs = new Translate('', $conf);
|
||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$outputlangs->loadLangs(array("main", "members"));
|
||||
// Get email content from template
|
||||
$arraydefaultmessage=null;
|
||||
@ -1483,7 +1483,7 @@ else
|
||||
// Set output language
|
||||
$outputlangs = new Translate('', $conf);
|
||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$outputlangs->loadLangs(array("main", "members"));
|
||||
// Get email content from template
|
||||
$arraydefaultmessage=null;
|
||||
@ -1544,7 +1544,7 @@ else
|
||||
// Set output language
|
||||
$outputlangs = new Translate('', $conf);
|
||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$outputlangs->loadLangs(array("main", "members"));
|
||||
// Get email content from template
|
||||
$arraydefaultmessage=null;
|
||||
|
||||
@ -31,7 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/printsheet/modules_labels.php';
|
||||
|
||||
$langs->loadLangs(array("members","errors"));
|
||||
|
||||
// Choix de l'annee d'impression ou annee courante.
|
||||
// Choice of printing year or current year.
|
||||
$now = dol_now();
|
||||
$year=dol_print_date($now, '%Y');
|
||||
$month=dol_print_date($now, '%m');
|
||||
@ -47,7 +47,7 @@ $adherentstatic=new Adherent($db);
|
||||
$object=new Adherent($db);
|
||||
|
||||
$extrafields = new ExtraFields($db);
|
||||
// fetch optionals attributes and labels
|
||||
// Fetch optionals attributes and labels
|
||||
$extralabels = $extrafields->fetch_name_optionals_label('adherent');
|
||||
|
||||
|
||||
@ -97,7 +97,7 @@ if ((! empty($foruserid) || ! empty($foruserlogin) || ! empty($mode)) && ! $mesg
|
||||
$adherentstatic->lastname=$objp->lastname;
|
||||
$adherentstatic->firstname=$objp->firstname;
|
||||
|
||||
// format extrafiled so they can be parsed in function complete_substitutions_array
|
||||
// Format extrafield so they can be parsed in function complete_substitutions_array
|
||||
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label']))
|
||||
{
|
||||
$adherentstatic->array_options = array();
|
||||
|
||||
@ -2688,12 +2688,12 @@ class Adherent extends CommonObject
|
||||
// Process
|
||||
foreach ($to_del as $del) {
|
||||
if ($c->fetch($del) > 0) {
|
||||
$c->del_type($this, 'member');
|
||||
$c->del_type($this, Categorie::TYPE_MEMBER);
|
||||
}
|
||||
}
|
||||
foreach ($to_add as $add) {
|
||||
if ($c->fetch($add) > 0) {
|
||||
$c->add_type($this, 'member');
|
||||
$c->add_type($this, Categorie::TYPE_MEMBER);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ class AdherentStats extends Stats
|
||||
* Return the number of proposition by month for a given year
|
||||
*
|
||||
* @param int $year Year
|
||||
* @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month
|
||||
* @param int $format 0=Label of abscissa is a translated text, 1=Label of abscissa is month number, 2=Label of abscissa is first letter of month
|
||||
* @return array Array of nb each month
|
||||
*/
|
||||
public function getNbByMonth($year, $format = 0)
|
||||
@ -124,7 +124,7 @@ class AdherentStats extends Stats
|
||||
* Return the number of subscriptions by month for a given year
|
||||
*
|
||||
* @param int $year Year
|
||||
* @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month
|
||||
* @param int $format 0=Label of abscissa is a translated text, 1=Label of abscissa is month number, 2=Label of abscissa is first letter of month
|
||||
* @return array Array of amount each month
|
||||
*/
|
||||
public function getAmountByMonth($year, $format = 0)
|
||||
|
||||
@ -20,8 +20,7 @@
|
||||
/**
|
||||
* \file htdocs/adherents/htpasswd.php
|
||||
* \ingroup member
|
||||
* \brief Page d'export htpasswd du fichier des adherents
|
||||
* \author Rodolphe Quiedeville
|
||||
* \brief Export page htpasswd of the membership file
|
||||
*/
|
||||
|
||||
require '../main.inc.php';
|
||||
|
||||
@ -360,7 +360,7 @@ if ($user->rights->adherent->cotisation->creer && $action == 'subscription' && !
|
||||
// Set output language
|
||||
$outputlangs = new Translate('', $conf);
|
||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$outputlangs->loadLangs(array("main", "members"));
|
||||
|
||||
// Get email content from template
|
||||
@ -1093,7 +1093,7 @@ if ($rowid > 0)
|
||||
// Set output language
|
||||
$outputlangs = new Translate('', $conf);
|
||||
$outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$outputlangs->loadLangs(array("main", "members"));
|
||||
// Get email content from template
|
||||
$arraydefaultmessage=null;
|
||||
|
||||
@ -68,7 +68,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include,
|
||||
|
||||
if ($user->rights->adherent->cotisation->creer && $action == 'update' && ! $cancel)
|
||||
{
|
||||
// Charge objet actuel
|
||||
// Load current object
|
||||
$result=$object->fetch($rowid);
|
||||
if ($result > 0)
|
||||
{
|
||||
@ -101,7 +101,7 @@ if ($user->rights->adherent->cotisation->creer && $action == 'update' && ! $canc
|
||||
|
||||
if (! $errmsg)
|
||||
{
|
||||
// Modifie valeures
|
||||
// Modify values
|
||||
$object->dateh=dol_mktime($_POST['datesubhour'], $_POST['datesubmin'], 0, $_POST['datesubmonth'], $_POST['datesubday'], $_POST['datesubyear']);
|
||||
$object->datef=dol_mktime($_POST['datesubendhour'], $_POST['datesubendmin'], 0, $_POST['datesubendmonth'], $_POST['datesubendday'], $_POST['datesubendyear']);
|
||||
$object->fk_type=$_POST["typeid"];
|
||||
@ -389,7 +389,7 @@ if ($rowid && $action != 'edit')
|
||||
}
|
||||
}
|
||||
|
||||
// Supprimer
|
||||
// Delete
|
||||
if ($user->rights->adherent->cotisation->creer)
|
||||
{
|
||||
print '<div class="inline-block divButAction"><a class="butActionDelete" href="'.$_SERVER["PHP_SELF"]."?rowid=".$object->id."&action=delete\">".$langs->trans("Delete")."</a></div>\n";
|
||||
|
||||
@ -112,56 +112,56 @@ if ($action == 'edit' || $action == 'updateedit')
|
||||
print '<input type="hidden" name="action" value="update">';
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><th class="titlefield wordbreak">'.$langs->trans("CompanyInfo").'</th><th>'.$langs->trans("Value").'</th></tr>'."\n";
|
||||
print '<tr class="oddeven liste_titre"><th class="titlefield wordbreak">'.$langs->trans("CompanyInfo").'</th><th>'.$langs->trans("Value").'</th></tr>'."\n";
|
||||
|
||||
// Name
|
||||
print '<tr class="oddeven"><td class="fieldrequired"><label for="name">'.$langs->trans("CompanyName").'</label></td><td>';
|
||||
print '<tr><td class="fieldrequired"><label for="name">'.$langs->trans("CompanyName").'</label></td><td>';
|
||||
print '<input name="nom" id="name" class="minwidth200" value="'. ($conf->global->MAIN_INFO_ACCOUNTANT_NAME?$conf->global->MAIN_INFO_ACCOUNTANT_NAME: GETPOST("nom", 'nohtml')) . '" autofocus="autofocus"></td></tr>'."\n";
|
||||
|
||||
// Address
|
||||
print '<tr class="oddeven"><td><label for="address">'.$langs->trans("CompanyAddress").'</label></td><td>';
|
||||
print '<tr><td><label for="address">'.$langs->trans("CompanyAddress").'</label></td><td>';
|
||||
print '<textarea name="address" id="address" class="quatrevingtpercent" rows="'.ROWS_3.'">'. ($conf->global->MAIN_INFO_ACCOUNTANT_ADDRESS?$conf->global->MAIN_INFO_ACCOUNTANT_ADDRESS: GETPOST("address", 'nohtml')) . '</textarea></td></tr>'."\n";
|
||||
|
||||
print '<tr class="oddeven"><td><label for="zipcode">'.$langs->trans("CompanyZip").'</label></td><td>';
|
||||
print '<tr><td><label for="zipcode">'.$langs->trans("CompanyZip").'</label></td><td>';
|
||||
print '<input class="minwidth100" name="zipcode" id="zipcode" value="'. ($conf->global->MAIN_INFO_ACCOUNTANT_ZIP?$conf->global->MAIN_INFO_ACCOUNTANT_ZIP: GETPOST("zipcode", 'alpha')) . '"></td></tr>'."\n";
|
||||
|
||||
print '<tr class="oddeven"><td><label for="town">'.$langs->trans("CompanyTown").'</label></td><td>';
|
||||
print '<tr><td><label for="town">'.$langs->trans("CompanyTown").'</label></td><td>';
|
||||
print '<input name="town" class="minwidth100" id="town" value="'. ($conf->global->MAIN_INFO_ACCOUNTANT_TOWN?$conf->global->MAIN_INFO_ACCOUNTANT_TOWN: GETPOST("town", 'nohtml')) . '"></td></tr>'."\n";
|
||||
|
||||
// Country
|
||||
print '<tr class="oddeven"><td class="fieldrequired"><label for="selectcountry_id">'.$langs->trans("Country").'</label></td><td class="maxwidthonsmartphone">';
|
||||
print '<tr><td class="fieldrequired"><label for="selectcountry_id">'.$langs->trans("Country").'</label></td><td class="maxwidthonsmartphone">';
|
||||
//if (empty($country_selected)) $country_selected=substr($langs->defaultlang,-2); // By default, country of localization
|
||||
print $form->select_country($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY, 'country_id');
|
||||
if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
print '<tr class="oddeven"><td><label for="state_id">'.$langs->trans("State").'</label></td><td class="maxwidthonsmartphone">';
|
||||
print '<tr><td><label for="state_id">'.$langs->trans("State").'</label></td><td class="maxwidthonsmartphone">';
|
||||
$formcompany->select_departement($conf->global->MAIN_INFO_ACCOUNTANT_STATE, $conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY, 'state_id');
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
print '<tr class="oddeven"><td><label for="phone">'.$langs->trans("Phone").'</label></td><td>';
|
||||
print '<tr><td><label for="phone">'.$langs->trans("Phone").'</label></td><td>';
|
||||
print '<input name="tel" id="phone" value="'. $conf->global->MAIN_INFO_ACCOUNTANT_PHONE . '"></td></tr>';
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
print '<tr class="oddeven"><td><label for="fax">'.$langs->trans("Fax").'</label></td><td>';
|
||||
print '<tr><td><label for="fax">'.$langs->trans("Fax").'</label></td><td>';
|
||||
print '<input name="fax" id="fax" value="'. $conf->global->MAIN_INFO_ACCOUNTANT_FAX . '"></td></tr>';
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
print '<tr class="oddeven"><td><label for="email">'.$langs->trans("EMail").'</label></td><td>';
|
||||
print '<tr><td><label for="email">'.$langs->trans("EMail").'</label></td><td>';
|
||||
print '<input name="mail" id="email" class="minwidth200" value="'. $conf->global->MAIN_INFO_ACCOUNTANT_MAIL . '"></td></tr>';
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
// Web
|
||||
print '<tr class="oddeven"><td><label for="web">'.$langs->trans("Web").'</label></td><td>';
|
||||
print '<tr><td><label for="web">'.$langs->trans("Web").'</label></td><td>';
|
||||
print '<input name="web" id="web" class="minwidth300" value="'. $conf->global->MAIN_INFO_ACCOUNTANT_WEB . '"></td></tr>';
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
// Code
|
||||
print '<tr class="oddeven"><td><label for="code">'.$langs->trans("AccountantFileNumber").'</label></td><td>';
|
||||
print '<tr><td><label for="code">'.$langs->trans("AccountantFileNumber").'</label></td><td>';
|
||||
print '<input name="code" id="code" class="minwidth100" value="'. ($conf->global->MAIN_INFO_ACCOUNTANT_CODE?$conf->global->MAIN_INFO_ACCOUNTANT_CODE: GETPOST("code", 'nohtml')) . '" autofocus="autofocus"></td></tr>'."\n";
|
||||
|
||||
// Note
|
||||
print '<tr class="oddeven"><td class="tdtop"><label for="note">'.$langs->trans("Note").'</label></td><td>';
|
||||
print '<tr><td class="tdtop"><label for="note">'.$langs->trans("Note").'</label></td><td>';
|
||||
print '<textarea class="flat quatrevingtpercent" name="note" id="note" rows="'.ROWS_5.'">'.(GETPOST('note', 'none') ? GETPOST('note', 'none') : $conf->global->MAIN_INFO_ACCOUNTANT_NOTE).'</textarea></td></tr>';
|
||||
print '</td></tr>';
|
||||
|
||||
@ -189,24 +189,24 @@ else
|
||||
|
||||
print '<div class="div-table-responsive-no-min">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
print '<tr class="oddeven liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td class="titlefield wordbreak">'.$langs->trans("CompanyName").'</td><td>';
|
||||
print '<tr><td class="titlefield wordbreak">'.$langs->trans("CompanyName").'</td><td>';
|
||||
print $conf->global->MAIN_INFO_ACCOUNTANT_NAME;
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("CompanyAddress").'</td><td>' . nl2br(empty($conf->global->MAIN_INFO_ACCOUNTANT_ADDRESS)?'':$conf->global->MAIN_INFO_ACCOUNTANT_ADDRESS) . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("CompanyAddress").'</td><td>' . nl2br(empty($conf->global->MAIN_INFO_ACCOUNTANT_ADDRESS)?'':$conf->global->MAIN_INFO_ACCOUNTANT_ADDRESS) . '</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("CompanyZip").'</td><td>' . (empty($conf->global->MAIN_INFO_ACCOUNTANT_ZIP)?'':$conf->global->MAIN_INFO_ACCOUNTANT_ZIP) . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("CompanyZip").'</td><td>' . (empty($conf->global->MAIN_INFO_ACCOUNTANT_ZIP)?'':$conf->global->MAIN_INFO_ACCOUNTANT_ZIP) . '</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("CompanyTown").'</td><td>' . (empty($conf->global->MAIN_INFO_ACCOUNTANT_TOWN)?'':$conf->global->MAIN_INFO_ACCOUNTANT_TOWN) . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("CompanyTown").'</td><td>' . (empty($conf->global->MAIN_INFO_ACCOUNTANT_TOWN)?'':$conf->global->MAIN_INFO_ACCOUNTANT_TOWN) . '</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("CompanyCountry").'</td><td>';
|
||||
print '<tr><td>'.$langs->trans("CompanyCountry").'</td><td>';
|
||||
if (! empty($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY))
|
||||
{
|
||||
$code = getCountry($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY, 2);
|
||||
@ -217,23 +217,23 @@ else
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
if (! empty($conf->global->MAIN_SHOW_REGION_IN_STATE_SELECT)) print '<tr class="oddeven"><td>'.$langs->trans("Region-State").'</td><td>';
|
||||
else print '<tr class="oddeven"><td>'.$langs->trans("State").'</td><td>';
|
||||
if (! empty($conf->global->MAIN_SHOW_REGION_IN_STATE_SELECT)) print '<tr><td>'.$langs->trans("Region-State").'</td><td>';
|
||||
else print '<tr><td>'.$langs->trans("State").'</td><td>';
|
||||
if (! empty($conf->global->MAIN_INFO_ACCOUNTANT_STATE)) print getState($conf->global->MAIN_INFO_ACCOUNTANT_STATE, $conf->global->MAIN_SHOW_STATE_CODE, 0, $conf->global->MAIN_SHOW_REGION_IN_STATE_SELECT);
|
||||
else print ' ';
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("Phone").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_ACCOUNTANT_PHONE, $mysoc->country_code) . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("Phone").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_ACCOUNTANT_PHONE, $mysoc->country_code) . '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("Fax").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_ACCOUNTANT_FAX, $mysoc->country_code) . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("Fax").'</td><td>' . dol_print_phone($conf->global->MAIN_INFO_ACCOUNTANT_FAX, $mysoc->country_code) . '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("Mail").'</td><td>' . dol_print_email($conf->global->MAIN_INFO_ACCOUNTANT_MAIL, 0, 0, 0, 80) . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("Mail").'</td><td>' . dol_print_email($conf->global->MAIN_INFO_ACCOUNTANT_MAIL, 0, 0, 0, 80) . '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("Web").'</td><td>' . dol_print_url($conf->global->MAIN_INFO_ACCOUNTANT_WEB, '_blank', 80) . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("Web").'</td><td>' . dol_print_url($conf->global->MAIN_INFO_ACCOUNTANT_WEB, '_blank', 80) . '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("AccountantFileNumber").'</td><td>' . $conf->global->MAIN_INFO_ACCOUNTANT_CODE . '</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("AccountantFileNumber").'</td><td>' . $conf->global->MAIN_INFO_ACCOUNTANT_CODE . '</td></tr>';
|
||||
|
||||
print '<tr class="oddeven"><td class="tdtop">'.$langs->trans("Note").'</td><td>' . (! empty($conf->global->MAIN_INFO_ACCOUNTANT_NOTE) ? nl2br($conf->global->MAIN_INFO_ACCOUNTANT_NOTE) : '') . '</td></tr>';
|
||||
print '<tr><td class="tdtop">'.$langs->trans("Note").'</td><td>' . (! empty($conf->global->MAIN_INFO_ACCOUNTANT_NOTE) ? nl2br($conf->global->MAIN_INFO_ACCOUNTANT_NOTE) : '') . '</td></tr>';
|
||||
|
||||
print '</table>';
|
||||
print "</div>";
|
||||
|
||||
@ -44,7 +44,7 @@ $actionsave=GETPOST('save', 'alpha');
|
||||
if (empty($conf->global->AGENDA_EXT_NB)) $conf->global->AGENDA_EXT_NB=5;
|
||||
$MAXAGENDA=$conf->global->AGENDA_EXT_NB;
|
||||
|
||||
// List of aviable colors
|
||||
// List of available colors
|
||||
$colorlist=array('BECEDD','DDBECE','BFDDBE','F598B4','F68654','CBF654','A4A4A5');
|
||||
|
||||
|
||||
|
||||
@ -148,8 +148,8 @@ elseif ($action == 'setdoc')
|
||||
{
|
||||
if (dolibarr_set_const($db, "ACTION_EVENT_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
|
||||
// The constant that has been read in front of the new set
|
||||
// is therefore passed through a variable to have a coherent display
|
||||
$conf->global->ACTION_EVENT_ADDON_PDF = $value;
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2013-2018 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
@ -28,6 +27,7 @@
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/bank.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT . '/societe/class/companybankaccount.class.php';
|
||||
|
||||
@ -38,6 +38,7 @@ if (!$user->admin)
|
||||
accessforbidden();
|
||||
|
||||
$action = GETPOST('action', 'alpha');
|
||||
$actionsave=GETPOST('save', 'alpha');
|
||||
$value = GETPOST('value', 'alpha');
|
||||
$label = GETPOST('label', 'alpha');
|
||||
$scandir = GETPOST('scan_dir', 'alpha');
|
||||
@ -48,7 +49,7 @@ $type = 'bankaccount';
|
||||
* Actions
|
||||
*/
|
||||
|
||||
//Order display of bank account
|
||||
// Order display of bank account
|
||||
if ($action == 'setbankorder') {
|
||||
if (dolibarr_set_const($db, "BANK_SHOW_ORDER_OPTION", GETPOST('value', 'alpha'), 'chaine', 0, '', $conf->entity) > 0)
|
||||
{
|
||||
@ -60,7 +61,7 @@ if ($action == 'setbankorder') {
|
||||
}
|
||||
}
|
||||
|
||||
//Auto report last num releve on conciliate
|
||||
// Auto report last num releve on conciliate
|
||||
if ($action == 'setreportlastnumreleve') {
|
||||
if (dolibarr_set_const($db, "BANK_REPORT_LAST_NUM_RELEVE", 1, 'chaine', 0, '', $conf->entity) > 0)
|
||||
{
|
||||
@ -82,6 +83,58 @@ elseif ($action == 'unsetreportlastnumreleve') {
|
||||
}
|
||||
}
|
||||
|
||||
// Colorize movements
|
||||
if ($action == 'setbankcolorizemovement') {
|
||||
if (dolibarr_set_const($db, "BANK_COLORIZE_MOVEMENT", 1, 'chaine', 0, '', $conf->entity) > 0)
|
||||
{
|
||||
header("Location: " . $_SERVER["PHP_SELF"]);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
elseif ($action == 'unsetbankcolorizemovement') {
|
||||
if (dolibarr_set_const($db, "BANK_COLORIZE_MOVEMENT", 0, 'chaine', 0, '', $conf->entity) > 0)
|
||||
{
|
||||
header("Location: " . $_SERVER["PHP_SELF"]);
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
|
||||
if ($actionsave)
|
||||
{
|
||||
$db->begin();
|
||||
|
||||
$i=1; $errorsaved=0;
|
||||
$error=0;
|
||||
|
||||
// Save colors
|
||||
while ($i <= 2)
|
||||
{
|
||||
$color=trim(GETPOST('BANK_COLORIZE_MOVEMENT_COLOR'.$i, 'alpha'));
|
||||
if ($color=='-1') $color='';
|
||||
|
||||
$res=dolibarr_set_const($db, 'BANK_COLORIZE_MOVEMENT_COLOR'.$i, $color, 'chaine', 0, '', $conf->entity);
|
||||
if (! $res > 0) $error++;
|
||||
$i++;
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$db->commit();
|
||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->rollback();
|
||||
if (empty($errorsaved)) setEventMessages($langs->trans("Error"), null, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($action == 'specimen') {
|
||||
$modele = GETPOST('module', 'alpha');
|
||||
@ -157,10 +210,11 @@ elseif ($action == 'setdoc') {
|
||||
|
||||
|
||||
/*
|
||||
* view
|
||||
* View
|
||||
*/
|
||||
|
||||
$form = new Form($db);
|
||||
$formother=new FormOther($db);
|
||||
|
||||
$dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
|
||||
|
||||
@ -169,6 +223,10 @@ llxHeader("", $langs->trans("BankSetupModule"));
|
||||
$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1">' . $langs->trans("BackToModuleList") . '</a>';
|
||||
print load_fiche_titre($langs->trans("BankSetupModule"), $linkback, 'title_setup');
|
||||
|
||||
print '<form name="bankmovementcolorconfig" action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="save">';
|
||||
|
||||
$head = bank_admin_prepare_head(null);
|
||||
dol_fiche_head($head, 'general', $langs->trans("BankSetupModule"), -1, 'account');
|
||||
|
||||
@ -372,7 +430,56 @@ foreach ($dirmodels as $reldir) {
|
||||
print '</table>';
|
||||
//}
|
||||
|
||||
print '<br><br>';
|
||||
|
||||
print load_fiche_titre($langs->trans("BankColorizeMovement"), '', '');
|
||||
print '<table class="noborder" width="100%">';
|
||||
print "<tr class=\"liste_titre\">\n";
|
||||
print '<td colspan="4">' . $langs->trans("Name") . '</td>';
|
||||
print '<td align="center" width="100">'.$langs->trans("Value").'</td>'."\n";
|
||||
print "</tr>\n";
|
||||
|
||||
print '<tr class="oddeven"><td colspan="4" width="100">';
|
||||
print $langs->trans('BankColorizeMovementDesc');
|
||||
print "</td>";
|
||||
// Active
|
||||
if ($conf->global->BANK_COLORIZE_MOVEMENT) {
|
||||
print '<td align="center">' . "\n";
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=unsetbankcolorizemovement">';
|
||||
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=setbankcolorizemovement">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>';
|
||||
print "</td>";
|
||||
}
|
||||
|
||||
print "</tr>\n";
|
||||
|
||||
if(! empty($conf->global->BANK_COLORIZE_MOVEMENT))
|
||||
{
|
||||
$i=1;
|
||||
while ($i <= 2)
|
||||
{
|
||||
$key=$i;
|
||||
$color='BANK_COLORIZE_MOVEMENT_COLOR'.$key;
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
|
||||
// Label
|
||||
print '<td colspan="4" width="180" class="nowrap">'.$langs->trans("BankColorizeMovementName".$key)."</td>";
|
||||
// Color
|
||||
print '<td class="nowrap right">';
|
||||
print $formother->selectColor((GETPOST("BANK_COLORIZE_MOVEMENT_COLOR".$key)?GETPOST("BANK_COLORIZE_MOVEMENT_COLOR".$key):$conf->global->$color), "BANK_COLORIZE_MOVEMENT_COLOR".$key, 'bankmovementcolorconfig', 1, '', 'right hideifnotset');
|
||||
print '</td>';
|
||||
print "</tr>";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
print '</table>';
|
||||
|
||||
print '<br><br>';
|
||||
|
||||
@ -384,7 +491,6 @@ print '<br><br>';
|
||||
//{
|
||||
print load_fiche_titre($langs->trans("Other"), '', '');
|
||||
|
||||
|
||||
print "<table class=\"noborder\" width=\"100%\">\n";
|
||||
print "<tr class=\"liste_titre\">\n";
|
||||
print '<td>' . $langs->trans("Name") . '</td>';
|
||||
@ -416,6 +522,12 @@ print "</tr>\n";
|
||||
print '</table>';
|
||||
dol_fiche_end();
|
||||
|
||||
print '<div class="center">';
|
||||
print '<input type="submit" id="save" name="save" class="button hideifnotset" value="'.$langs->trans("Save").'">';
|
||||
print '</div>';
|
||||
|
||||
print "</form>\n";
|
||||
|
||||
// End of page
|
||||
llxFooter();
|
||||
$db->close();
|
||||
|
||||
@ -63,7 +63,7 @@ if ($action == 'add') {
|
||||
{
|
||||
$pos = $boxid['pos'];
|
||||
|
||||
// Initialize distinct fkuser with all already existing values of fk_user (user that use a personalized view of boxes for page "pos")
|
||||
// Initialize distinct fk_user with all already existing values of fk_user (user that use a personalized view of boxes for page "pos")
|
||||
$distinctfkuser=array();
|
||||
if (! $error)
|
||||
{
|
||||
@ -225,8 +225,8 @@ print load_fiche_titre($langs->trans("Boxes"), '', 'title_setup');
|
||||
print $langs->trans("BoxesDesc")." ".$langs->trans("OnlyActiveElementsAreShown")."<br>\n";
|
||||
|
||||
/*
|
||||
* Recherche des boites actives par defaut pour chaque position possible
|
||||
* On stocke les boites actives par defaut dans $boxes[position][id_boite]=1
|
||||
* Search for the default active boxes for each possible position
|
||||
* We store the active boxes by default in $boxes[position][id_boite]=1
|
||||
*/
|
||||
|
||||
$actives = array();
|
||||
@ -257,7 +257,7 @@ if ($resql)
|
||||
array_push($actives, $obj->box_id);
|
||||
|
||||
if ($obj->box_order == '' || $obj->box_order == '0' || $decalage) $decalage++;
|
||||
// On renumerote l'ordre des boites si l'une d'elle est a ''
|
||||
// We renumber the order of the boxes if one of them is in ''
|
||||
// This occurs just after an insert.
|
||||
if ($decalage)
|
||||
{
|
||||
@ -268,7 +268,7 @@ if ($resql)
|
||||
|
||||
if ($decalage)
|
||||
{
|
||||
// Si on a renumerote, on corrige champ box_order
|
||||
// If we have renumbered, we correct the field box_order
|
||||
// This occurs just after an insert.
|
||||
$sql = "SELECT box_order";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes";
|
||||
@ -366,7 +366,7 @@ foreach($boxtoadd as $box)
|
||||
print '</td>'."\n";
|
||||
print '<td>' . $box->sourcefile . '</td>'."\n";
|
||||
|
||||
// Pour chaque position possible, on affiche un lien d'activation si boite non deja active pour cette position
|
||||
// For each possible position, an activation link is displayed if the box is not already active for that position
|
||||
print '<td class="center">';
|
||||
print $form->selectarray("boxid[".$box->box_id."][pos]", $pos_name, 0, 1, 0, 0, '', 1)."\n";
|
||||
print '<input type="hidden" name="boxid['.$box->box_id.'][value]" value="'.$box->box_id.'">'."\n";
|
||||
@ -483,7 +483,9 @@ if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIV
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
print '<div class="center"><input type="submit" class="button" value="'.$langs->trans("Save").'" name="Button"></div>';
|
||||
print '<br>';
|
||||
|
||||
print '</form>';
|
||||
print "\n".'<!-- End Other Const -->'."\n";
|
||||
|
||||
@ -91,7 +91,7 @@ if ($action == 'set_BANK_CHEQUERECEIPT_FREE_TEXT')
|
||||
}
|
||||
|
||||
/*
|
||||
* view
|
||||
* View
|
||||
*/
|
||||
|
||||
$dirmodels=array_merge(array('/'), (array) $conf->modules_parts['models']);
|
||||
@ -233,7 +233,6 @@ print '<br>';
|
||||
|
||||
/*
|
||||
* Other options
|
||||
*
|
||||
*/
|
||||
print load_fiche_titre($langs->trans("OtherOptions"), '', '');
|
||||
|
||||
|
||||
@ -222,7 +222,7 @@ if ($action == 'edit')
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Affichage des parametres
|
||||
* Show parameters
|
||||
*/
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
|
||||
@ -251,7 +251,7 @@ $tabsqlsort[35]="c.label ASC";
|
||||
$tabsqlsort[36]="r.fk_c_exp_tax_cat ASC, r.range_ik ASC";
|
||||
$tabsqlsort[37]="r.unit_type ASC, r.scale ASC, r.code ASC";
|
||||
|
||||
// Nom des champs en resultat de select pour affichage du dictionnaire
|
||||
// Field names in select result for dictionary display
|
||||
$tabfield=array();
|
||||
$tabfield[1] = "code,libelle,country";
|
||||
$tabfield[2] = "code,libelle,region_id,region,country"; // "code,libelle,region,country_code-country"
|
||||
@ -291,7 +291,7 @@ $tabfield[35]= "label";
|
||||
$tabfield[36]= "range_ik,fk_c_exp_tax_cat";
|
||||
$tabfield[37]= "code,label,short_label,unit_type,scale";
|
||||
|
||||
// Nom des champs d'edition pour modification d'un enregistrement
|
||||
// Edit field names for editing a record
|
||||
$tabfieldvalue=array();
|
||||
$tabfieldvalue[1] = "code,libelle,country";
|
||||
$tabfieldvalue[2] = "code,libelle,region"; // "code,libelle,region"
|
||||
@ -331,7 +331,7 @@ $tabfieldvalue[35]= "label";
|
||||
$tabfieldvalue[36]= "range_ik,fk_c_exp_tax_cat";
|
||||
$tabfieldvalue[37]= "code,label,short_label,unit_type,scale";
|
||||
|
||||
// Nom des champs dans la table pour insertion d'un enregistrement
|
||||
// Field names in the table for inserting a record
|
||||
$tabfieldinsert=array();
|
||||
$tabfieldinsert[1] = "code,libelle,fk_pays";
|
||||
$tabfieldinsert[2] = "code_departement,nom,fk_region";
|
||||
@ -979,7 +979,7 @@ if ($sortfield) $paramwithsearch.= '&sortfield='.urlencode($sortfield);
|
||||
if (GETPOST('from')) $paramwithsearch.= '&from='.urlencode(GETPOST('from', 'alpha'));
|
||||
|
||||
|
||||
// Confirmation de la suppression de la ligne
|
||||
// Confirmation of the deletion of the line
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'rowid='.urlencode($rowid).'&code='.urlencode($code).$paramwithsearch, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_delete', '', 0, 1);
|
||||
@ -991,7 +991,7 @@ if ($action == 'delete')
|
||||
*/
|
||||
if ($id)
|
||||
{
|
||||
// Complete requete recherche valeurs avec critere de tri
|
||||
// Complete search values request with sort criteria
|
||||
$sql=$tabsql[$id];
|
||||
|
||||
if (! preg_match('/ WHERE /', $sql)) $sql.= " WHERE 1 = 1";
|
||||
@ -1283,8 +1283,8 @@ if ($id)
|
||||
{
|
||||
if ($fieldlist[$field] == 'entity') continue;
|
||||
|
||||
// Determine le nom du champ par rapport aux noms possibles
|
||||
// dans les dictionnaires de donnees
|
||||
// Determines the name of the field in relation to the possible names
|
||||
// in data dictionaries
|
||||
$showfield=1; // By defaut
|
||||
$align="left";
|
||||
$cssprefix='';
|
||||
@ -1850,14 +1850,14 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
|
||||
print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT, 'lang');
|
||||
print '</td>';
|
||||
}
|
||||
// Le type de l'element (pour les type de contact)
|
||||
// The type of the element (for contact types)
|
||||
elseif ($fieldlist[$field] == 'element')
|
||||
{
|
||||
print '<td>';
|
||||
print $form->selectarray('element', $elementList, (! empty($obj->{$fieldlist[$field]})?$obj->{$fieldlist[$field]}:''));
|
||||
print '</td>';
|
||||
}
|
||||
// La source de l'element (pour les type de contact)
|
||||
// The source of the element (for contact types)
|
||||
elseif ($fieldlist[$field] == 'source')
|
||||
{
|
||||
print '<td>';
|
||||
|
||||
@ -36,7 +36,7 @@ include_once DOL_DOCUMENT_ROOT.'/emailcollector/lib/emailcollector.lib.php';
|
||||
if (!$user->admin) accessforbidden();
|
||||
if (empty($conf->emailcollector->enabled)) accessforbidden();
|
||||
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$langs->loadLangs(array("admin", "mails", "other"));
|
||||
|
||||
// Get parameters
|
||||
@ -116,7 +116,7 @@ if (empty($reshook))
|
||||
if (GETPOST('addfilter', 'alpha'))
|
||||
{
|
||||
$emailcollectorfilter = new EmailCollectorFilter($db);
|
||||
$emailcollectorfilter->type = GETPOST('filtertype', 'az09');
|
||||
$emailcollectorfilter->type = GETPOST('filtertype', 'aZ09');
|
||||
$emailcollectorfilter->rulevalue = GETPOST('rulevalue', 'alpha');
|
||||
$emailcollectorfilter->fk_emailcollector = $object->id;
|
||||
$emailcollectorfilter->status = 1;
|
||||
@ -150,7 +150,7 @@ if ($action == 'deletefilter')
|
||||
if (GETPOST('addoperation', 'alpha'))
|
||||
{
|
||||
$emailcollectoroperation = new EmailCollectorAction($db);
|
||||
$emailcollectoroperation->type = GETPOST('operationtype', 'az09');
|
||||
$emailcollectoroperation->type = GETPOST('operationtype', 'aZ09');
|
||||
$emailcollectoroperation->actionparam = GETPOST('operationparam', 'none');
|
||||
$emailcollectoroperation->fk_emailcollector = $object->id;
|
||||
$emailcollectoroperation->status = 1;
|
||||
|
||||
@ -34,7 +34,7 @@ dol_include_once('/emailcollector/class/emailcollector.class.php');
|
||||
if (!$user->admin) accessforbidden();
|
||||
if (empty($conf->emailcollector->enabled)) accessforbidden();
|
||||
|
||||
// Load traductions files requiredby by page
|
||||
// Load traductions files required by page
|
||||
$langs->loadLangs(array("admin", "other"));
|
||||
|
||||
$action = GETPOST('action', 'aZ09')?GETPOST('action', 'aZ09'):'view'; // The action 'add', 'create', 'edit', 'update', 'view', ...
|
||||
|
||||
@ -496,7 +496,7 @@ else
|
||||
}
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
//Use draft Watermark
|
||||
// Use draft Watermark
|
||||
|
||||
print '<tr class="oddeven"><td colspan="2">';
|
||||
print $form->textwithpicto($langs->trans("WatermarkOnDraftExpenseReports"), $htmltext, 1, 'help', '', 0, 2, 'watermarktooltip').'<br>';
|
||||
|
||||
@ -63,8 +63,6 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php';
|
||||
* View
|
||||
*/
|
||||
|
||||
$textobject=$langs->transnoentitiesnoconv("expensereports");
|
||||
|
||||
llxHeader('', $langs->trans("ExpenseReportsSetup"));
|
||||
|
||||
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
|
||||
|
||||
118
htdocs/admin/holiday_extrafields.php
Normal file
@ -0,0 +1,118 @@
|
||||
<?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@inodbox.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/holiday_extrafields.php
|
||||
* \ingroup holiday
|
||||
* \brief Page to setup extra fields of holiday
|
||||
*/
|
||||
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/holiday.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
|
||||
|
||||
if (!$user->admin)
|
||||
accessforbidden();
|
||||
|
||||
// Load translation files required by the page
|
||||
$langs->loadLangs(array('admin', 'errors', 'holiday', 'other'));
|
||||
|
||||
$extrafields = new ExtraFields($db);
|
||||
$form = new Form($db);
|
||||
|
||||
// List of supported format
|
||||
$tmptype2label=ExtraFields::$type2label;
|
||||
$type2label=array('');
|
||||
foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->transnoentitiesnoconv($val);
|
||||
|
||||
$action=GETPOST('action', 'alpha');
|
||||
$attrname=GETPOST('attrname', 'alpha');
|
||||
$elementtype='holiday'; //Must be the $table_element of the class that manage extrafield
|
||||
|
||||
if (!$user->admin) accessforbidden();
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
|
||||
require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php';
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
|
||||
llxHeader('', $langs->trans("HolidaySetup"));
|
||||
|
||||
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
|
||||
print load_fiche_titre($langs->trans("HolidaySetup"), $linkback, 'title_setup');
|
||||
|
||||
$head = holiday_admin_prepare_head();
|
||||
|
||||
dol_fiche_head($head, 'attributes', $langs->trans("Holidays"), -1, 'holiday');
|
||||
|
||||
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
|
||||
// Buttons
|
||||
if ($action != 'create' && $action != 'edit')
|
||||
{
|
||||
print '<div class="tabsAction">';
|
||||
print "<a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?action=create#newattrib\">".$langs->trans("NewAttribute")."</a>";
|
||||
print "</div>";
|
||||
}
|
||||
|
||||
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* Creation of an optional field */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
if ($action == 'create')
|
||||
{
|
||||
print '<br><div id="newattrib"></div>';
|
||||
print load_fiche_titre($langs->trans('NewAttribute'));
|
||||
|
||||
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php';
|
||||
}
|
||||
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* Edition of an optional field */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
if ($action == 'edit' && ! empty($attrname))
|
||||
{
|
||||
print "<br>";
|
||||
print load_fiche_titre($langs->trans("FieldEdition", $attrname));
|
||||
|
||||
require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php';
|
||||
}
|
||||
|
||||
// End of page
|
||||
llxFooter();
|
||||
$db->close();
|
||||
@ -432,11 +432,13 @@ if ($action == 'edit') // Edit
|
||||
print '</table>'."\n";
|
||||
|
||||
|
||||
print '<br><div class="center">';
|
||||
print '<br>';
|
||||
print '<div class="center">';
|
||||
print '<input class="button" type="submit" name="submit" value="'.$langs->trans("Save").'">';
|
||||
print ' ';
|
||||
print ' ';
|
||||
print '<input class="button" type="submit" name="cancel" value="'.$langs->trans("Cancel").'">';
|
||||
print '</div>';
|
||||
print '<br>';
|
||||
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ $wikihelp='EN:First_setup|FR:Premiers_paramétrages|ES:Primeras_configuraciones'
|
||||
llxHeader('', $langs->trans("Setup"), $wikihelp);
|
||||
|
||||
|
||||
print load_fiche_titre($langs->trans("SetupArea"), '', 'title_setup.png');
|
||||
print load_fiche_titre($langs->trans("SetupArea"), '', 'tools');
|
||||
|
||||
|
||||
if (! empty($conf->global->MAIN_MOTD_SETUPPAGE))
|
||||
|
||||
@ -58,6 +58,7 @@ if ($action == 'setvalue' && $user->admin)
|
||||
//if (! dolibarr_set_const($db, 'LDAP_GROUP_FIELD_NAME',$_POST["fieldname"],'chaine',0,'',$conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_GROUP_FIELD_DESCRIPTION', GETPOST("fielddescription"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_GROUP_FIELD_GROUPMEMBERS', GETPOST("fieldgroupmembers"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_GROUP_FIELD_GROUPID', GETPOST("fieldgroupid"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
|
||||
// This one must be after the others
|
||||
$valkey='';
|
||||
@ -170,6 +171,13 @@ print '</td><td>'.$langs->trans("LDAPFieldGroupMembersExample").'</td>';
|
||||
print '<td class="right"><input type="radio" name="key" value="LDAP_GROUP_FIELD_GROUPMEMBERS"'.(($conf->global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_GROUPMEMBERS)?' checked':'')."></td>";
|
||||
print '</tr>';
|
||||
|
||||
// Group id
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldGroupid").'</td><td>';
|
||||
print '<input size="25" type="text" name="fieldgroupid" value="'.$conf->global->LDAP_GROUP_FIELD_GROUPID.'">';
|
||||
print '</td><td>'.$langs->trans("LDAPFieldGroupidExample").'</td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print info_admin($langs->trans("LDAPDescValues"));
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
* Copyright (C) 2005 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2006-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2011-2016 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2019 Abbes Bahfir <dolipar@dolipar.org>
|
||||
*
|
||||
* 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
|
||||
@ -73,6 +74,10 @@ if ($action == 'setvalue' && $user->admin)
|
||||
if (! dolibarr_set_const($db, 'LDAP_FIELD_DESCRIPTION', GETPOST("fielddescription"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_FIELD_SID', GETPOST("fieldsid"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_FIELD_TITLE', GETPOST("fieldtitle"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_FIELD_GROUPID', GETPOST("fieldgroupid"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_FIELD_USERID', GETPOST("fielduserid"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_FIELD_HOMEDIRECTORY', GETPOST("fieldhomedirectory"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
if (! dolibarr_set_const($db, 'LDAP_FIELD_HOMEDIRECTORYPREFIX', GETPOST("fieldhomedirectoryprefix"), 'chaine', 0, '', $conf->entity)) $error++;
|
||||
|
||||
// This one must be after the others
|
||||
$valkey='';
|
||||
@ -301,6 +306,34 @@ print '</td><td>'.$langs->trans("LDAPFieldSidExample").'</td>';
|
||||
print '<td class="right"><input type="radio" name="key" value="LDAP_FIELD_SID"'.(($conf->global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SID)?' checked':'')."></td>";
|
||||
print '</tr>';
|
||||
|
||||
// Group id
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldGroupid").'</td><td>';
|
||||
print '<input size="25" type="text" name="fieldgroupid" value="'.$conf->global->LDAP_FIELD_GROUPID.'">';
|
||||
print '</td><td>'.$langs->trans("LDAPFieldGroupidExample").'</td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
// Userid
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldUserid").'</td><td>';
|
||||
print '<input size="25" type="text" name="fielduserid" value="'.$conf->global->LDAP_FIELD_USERID.'">';
|
||||
print '</td><td>'.$langs->trans("LDAPFieldUseridExample").'</td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
// Home Directory
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldHomedirectory").'</td><td>';
|
||||
print '<input size="25" type="text" name="fieldhomedirectory" value="'.$conf->global->LDAP_FIELD_HOMEDIRECTORY.'">';
|
||||
print '</td><td>'.$langs->trans("LDAPFieldHomedirectoryExample").'</td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
// Home Directory Prefix
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("LDAPFieldHomedirectoryprefix").'</td><td>';
|
||||
print '<input size="25" type="text" name="fieldhomedirectoryprefix" value="'.$conf->global->LDAP_FIELD_HOMEDIRECTORYPREFIX.'">';
|
||||
print '</td><td></td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print info_admin($langs->trans("LDAPDescValues"));
|
||||
|
||||
@ -102,7 +102,7 @@ if ($action == 'edit')
|
||||
clearstatcache();
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameters").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
@ -110,23 +110,25 @@ if ($action == 'edit')
|
||||
print '</td><td><input class="flat" name="MAIN_MAX_DECIMALS_UNIT" size="3" value="' . $conf->global->MAIN_MAX_DECIMALS_UNIT . '"></td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print '<tr><td>';
|
||||
print $form->textwithpicto($langs->trans("MAIN_MAX_DECIMALS_TOT"), $langs->trans("ParameterActiveForNextInputOnly"));
|
||||
print '</td><td><input class="flat" name="MAIN_MAX_DECIMALS_TOT" size="3" value="' . $conf->global->MAIN_MAX_DECIMALS_TOT . '"></td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_MAX_DECIMALS_SHOWN").'</td><td><input class="flat" name="MAIN_MAX_DECIMALS_SHOWN" size="3" value="' . $conf->global->MAIN_MAX_DECIMALS_SHOWN . '"></td></tr>';
|
||||
print '<tr><td>'.$langs->trans("MAIN_MAX_DECIMALS_SHOWN").'</td><td><input class="flat" name="MAIN_MAX_DECIMALS_SHOWN" size="3" value="' . $conf->global->MAIN_MAX_DECIMALS_SHOWN . '"></td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print '<tr><td>';
|
||||
print $form->textwithpicto($langs->trans("MAIN_ROUNDING_RULE_TOT"), $langs->trans("ParameterActiveForNextInputOnly"));
|
||||
print '</td><td><input class="flat" name="MAIN_ROUNDING_RULE_TOT" size="3" value="' . $conf->global->MAIN_ROUNDING_RULE_TOT . '"></td></tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br><div class="center">';
|
||||
print '<br>';
|
||||
print '<div class="center">';
|
||||
print '<input class="button" type="submit" value="'.$langs->trans("Save").'">';
|
||||
print '</div>';
|
||||
print '<br>';
|
||||
|
||||
print '</form>';
|
||||
print '<br>';
|
||||
@ -142,21 +144,21 @@ else
|
||||
print '</td><td class="right">'.$conf->global->MAIN_MAX_DECIMALS_UNIT.'</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print '<tr><td>';
|
||||
print $form->textwithpicto($langs->trans("MAIN_MAX_DECIMALS_TOT"), $langs->trans("ParameterActiveForNextInputOnly"));
|
||||
print '</td><td class="right">'.$conf->global->MAIN_MAX_DECIMALS_TOT.'</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_MAX_DECIMALS_SHOWN").'</td><td class="right">'.$conf->global->MAIN_MAX_DECIMALS_SHOWN.'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans("MAIN_MAX_DECIMALS_SHOWN").'</td><td class="right">'.$conf->global->MAIN_MAX_DECIMALS_SHOWN.'</td></tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print '<tr><td>';
|
||||
print $form->textwithpicto($langs->trans("MAIN_ROUNDING_RULE_TOT"), $langs->trans("ParameterActiveForNextInputOnly"));
|
||||
print '</td><td class="right">'.$conf->global->MAIN_ROUNDING_RULE_TOT.'</td></tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<div class="tabsAction">';
|
||||
print '<div class="tabsAction tabsActionNoBottom">';
|
||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>';
|
||||
print '</div>';
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ $confirm = GETPOST('confirm', 'alpha'); // Result of a confirmatio
|
||||
|
||||
$id = GETPOST('id', 'int');
|
||||
$rowid = GETPOST('rowid', 'alpha');
|
||||
$search_label=GETPOST('search_label', 'alpha');
|
||||
$search_label=GETPOST('search_label', 'alphanohtml'); // Must allow value like 'Abc Def' or '(MyTemplateName)'
|
||||
$search_type_template=GETPOST('search_type_template', 'alpha');
|
||||
$search_lang=GETPOST('search_lang', 'alpha');
|
||||
$search_fk_user=GETPOST('search_fk_user', 'intcomma');
|
||||
@ -263,6 +263,7 @@ if (empty($reshook))
|
||||
{
|
||||
//var_dump($i.' - '.$listfieldvalue[$i].' - '.$_POST[$listfieldvalue[$i]].' - '.$value);
|
||||
$keycode=$listfieldvalue[$i];
|
||||
if ($value == 'label') $_POST[$keycode] = dol_escape_htmltag($_POST[$keycode]);
|
||||
if ($value == 'lang') $keycode='langcode';
|
||||
if ($value == 'entity') $_POST[$keycode] = $conf->entity;
|
||||
if ($i) $sql.=",";
|
||||
@ -667,8 +668,6 @@ if ($resql)
|
||||
print '<tr class="liste_titre">';
|
||||
foreach ($fieldlist as $field => $value)
|
||||
{
|
||||
// Determine le nom du champ par rapport aux noms possibles
|
||||
// dans les dictionnaires de donnees
|
||||
$showfield=1; // By defaut
|
||||
$align="left";
|
||||
$sortable=1;
|
||||
@ -695,7 +694,7 @@ if ($resql)
|
||||
if ($fieldlist[$field]=='content') { $valuetoshow=$langs->trans("Content"); $showfield=0;}
|
||||
if ($fieldlist[$field]=='content_lines') { $valuetoshow=$langs->trans("ContentLines"); $showfield=0; }
|
||||
|
||||
// Affiche nom du champ
|
||||
// Show fields
|
||||
if ($showfield)
|
||||
{
|
||||
if (! empty($tabhelp[$id][$value]))
|
||||
@ -813,6 +812,10 @@ if ($resql)
|
||||
$showfield=1;
|
||||
$align="left";
|
||||
$valuetoshow=$obj->{$fieldlist[$field]};
|
||||
if ($value == 'label' || $value == 'topic')
|
||||
{
|
||||
$valuetoshow = dol_escape_htmltag($valuetoshow);
|
||||
}
|
||||
if ($value == 'type_template')
|
||||
{
|
||||
$valuetoshow = isset($elementList[$valuetoshow])?$elementList[$valuetoshow]:$valuetoshow;
|
||||
|
||||
@ -252,14 +252,16 @@ print "</td></tr>\n";
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<center>';
|
||||
dol_fiche_end();
|
||||
|
||||
print '<br>';
|
||||
print '<div class="center">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'" />';
|
||||
print '</center>';
|
||||
print '</div>';
|
||||
print '<br>';
|
||||
|
||||
print '</form>';
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
// End of page
|
||||
llxFooter();
|
||||
$db->close();
|
||||
|
||||
@ -127,6 +127,15 @@ print '</td>';
|
||||
print '<td></td>';
|
||||
print '</tr>';
|
||||
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
print '<td>'.$langs->trans('EnableResourceUsedInEventCheck').'</td>';
|
||||
print '<td>';
|
||||
echo ajax_constantonoff('RESOURCE_USED_IN_EVENT_CHECK');
|
||||
print '</td>';
|
||||
print '<td></td>';
|
||||
print '</tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '</form>';
|
||||
|
||||
@ -96,11 +96,11 @@ else
|
||||
|
||||
<tr>
|
||||
<td class="label1"><?php echo $langs->trans("Login"); ?></td>
|
||||
<td><input name="txtUsername" class="texte_login" type="text" value="<?php echo $usertxt; ?>" /></td>
|
||||
<td><input name="txtUsername" class="texte_login maxwidth150onsmartphoneimp" type="text" value="<?php echo $usertxt; ?>" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label1"><?php echo $langs->trans("Password"); ?></td>
|
||||
<td><input name="pwdPassword" class="texte_login" type="password" value="" /></td>
|
||||
<td><input name="pwdPassword" class="texte_login maxwidth150onsmartphoneimp" type="password" value="" /></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
@ -157,7 +157,7 @@ print '<td class="label1">'.$langs->trans("CashDeskBankAccountForSell").'</td>';
|
||||
print '<td>';
|
||||
$defaultknown=0;
|
||||
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CASH) && $conf->global->CASHDESK_ID_BANKACCOUNT_CASH > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
||||
print $form->select_comptes(((GETPOST('bankid_cash') > 0)?GETPOST('bankid_cash'):$conf->global->CASHDESK_ID_BANKACCOUNT_CASH), 'CASHDESK_ID_BANKACCOUNT_CASH', 0, "courant=2", ($defaultknown?0:2));
|
||||
$form->select_comptes(((GETPOST('bankid_cash') > 0)?GETPOST('bankid_cash'):$conf->global->CASHDESK_ID_BANKACCOUNT_CASH), 'CASHDESK_ID_BANKACCOUNT_CASH', 0, "courant=2", ($defaultknown?0:2));
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@ -166,7 +166,7 @@ print '<td class="label1">'.$langs->trans("CashDeskBankAccountForCheque").'</td>
|
||||
print '<td>';
|
||||
$defaultknown=0;
|
||||
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE) && $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
||||
print $form->select_comptes(((GETPOST('bankid_cheque') > 0)?GETPOST('bankid_cheque'):$conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE), 'CASHDESK_ID_BANKACCOUNT_CHEQUE', 0, "courant=1", ($defaultknown?0:2));
|
||||
$form->select_comptes(((GETPOST('bankid_cheque') > 0)?GETPOST('bankid_cheque'):$conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE), 'CASHDESK_ID_BANKACCOUNT_CHEQUE', 0, "courant=1", ($defaultknown?0:2));
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@ -175,7 +175,7 @@ print '<td class="label1">'.$langs->trans("CashDeskBankAccountForCB").'</td>';
|
||||
print '<td>';
|
||||
$defaultknown=0;
|
||||
if (! empty($conf->global->CASHDESK_ID_BANKACCOUNT_CB) && $conf->global->CASHDESK_ID_BANKACCOUNT_CB > 0) $defaultknown=1; // If a particular stock is defined, we disable choice
|
||||
print $form->select_comptes(((GETPOST('bankid_cb') > 0)?GETPOST('bankid_cb'):$conf->global->CASHDESK_ID_BANKACCOUNT_CB), 'CASHDESK_ID_BANKACCOUNT_CB', 0, "courant=1", ($defaultknown?0:2));
|
||||
$form->select_comptes(((GETPOST('bankid_cb') > 0)?GETPOST('bankid_cb'):$conf->global->CASHDESK_ID_BANKACCOUNT_CB), 'CASHDESK_ID_BANKACCOUNT_CB', 0, "courant=1", ($defaultknown?0:2));
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@ -191,7 +191,7 @@ print "</tr>\n";
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<div align="center"><span class="bouton_login"><input class="button" name="sbmtConnexion" type="submit" value=<?php echo $langs->trans("Connection"); ?> /></span></div>
|
||||
<div align="center"><span class="bouton_login"><input class="button" name="sbmtConnexion" type="submit" value="<?php echo dol_escape_htmltag($langs->trans("Connection")); ?>" /></span></div>
|
||||
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
@ -53,6 +53,7 @@ class Categorie extends CommonObject
|
||||
const TYPE_PROJECT = 'project';
|
||||
const TYPE_ACCOUNT = 'bank_account';
|
||||
const TYPE_BANK_LINE = 'bank_line';
|
||||
const TYPE_WAREHOUSE = 'warehouse';
|
||||
|
||||
/**
|
||||
* @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png
|
||||
@ -75,6 +76,7 @@ class Categorie extends CommonObject
|
||||
'project' => 6,
|
||||
'user' => 7,
|
||||
'bank_line' => 8,
|
||||
'warehouse' => 9,
|
||||
);
|
||||
|
||||
/**
|
||||
@ -90,12 +92,13 @@ class Categorie extends CommonObject
|
||||
6 => 'project',
|
||||
7 => 'user',
|
||||
8 => 'bank_line',
|
||||
9 => 'warehouse',
|
||||
);
|
||||
|
||||
/**
|
||||
* @var array Foreign keys mapping from type string
|
||||
*
|
||||
* @note Move to const array when PHP 5.6 will be our minimum target
|
||||
* @TODO Move to const array when PHP 5.6 will be our minimum target
|
||||
*/
|
||||
protected $MAP_CAT_FK = array(
|
||||
'product' => 'product',
|
||||
@ -104,13 +107,14 @@ class Categorie extends CommonObject
|
||||
'member' => 'member',
|
||||
'contact' => 'socpeople',
|
||||
'user' => 'user',
|
||||
'account' => 'account', // old for bank_account
|
||||
'account' => 'account', // old key for bank_account
|
||||
'bank_account' => 'account',
|
||||
'project' => 'project',
|
||||
'warehouse'=> 'warehouse',
|
||||
);
|
||||
|
||||
/**
|
||||
* @var array Category tables mapping from type string
|
||||
* @var array Category tables mapping from type string (llx_categorie_...)
|
||||
*
|
||||
* @note Move to const array when PHP 5.6 will be our minimum target
|
||||
*/
|
||||
@ -121,9 +125,10 @@ class Categorie extends CommonObject
|
||||
'member' => 'member',
|
||||
'contact' => 'contact',
|
||||
'user' => 'user',
|
||||
'account' => 'account', // old for bank_account
|
||||
'account' => 'account', // old key for bank_account
|
||||
'bank_account'=> 'account',
|
||||
'project' => 'project',
|
||||
'warehouse'=> 'warehouse',
|
||||
);
|
||||
|
||||
/**
|
||||
@ -141,10 +146,11 @@ class Categorie extends CommonObject
|
||||
'account' => 'Account', // old for bank account
|
||||
'bank_account' => 'Account',
|
||||
'project' => 'Project',
|
||||
'warehouse'=> 'Entrepot',
|
||||
);
|
||||
|
||||
/**
|
||||
* @var array Object table mapping from type string
|
||||
* @var array Object table mapping from type string (table llx_...)
|
||||
*
|
||||
* @note Move to const array when PHP 5.6 will be our minimum target
|
||||
*/
|
||||
@ -157,6 +163,7 @@ class Categorie extends CommonObject
|
||||
'user' => 'user',
|
||||
'account' => 'bank_account',
|
||||
'project' => 'projet',
|
||||
'warehouse'=> 'entrepot',
|
||||
);
|
||||
|
||||
/**
|
||||
@ -197,14 +204,16 @@ class Categorie extends CommonObject
|
||||
/**
|
||||
* @var string Category type
|
||||
*
|
||||
* @see Categorie::TYPE_ACCOUNT
|
||||
* @see Categorie::TYPE_PRODUCT
|
||||
* @see Categorie::TYPE_SUPPLIER
|
||||
* @see Categorie::TYPE_CUSTOMER
|
||||
* @see Categorie::TYPE_MEMBER
|
||||
* @see Categorie::TYPE_CONTACT
|
||||
* @see Categorie::TYPE_USER
|
||||
* @see Categorie::TYPE_ACCOUNT
|
||||
* @see Categorie::TYPE_PROJECT
|
||||
* @see Categorie::TYPE_BANK_LINE
|
||||
* @see Categorie::TYPE_WAREHOUSE
|
||||
*/
|
||||
public $type;
|
||||
|
||||
|
||||
@ -58,6 +58,7 @@ elseif ($type == Categorie::TYPE_CONTACT) { $title=$langs->trans("ContactsCate
|
||||
elseif ($type == Categorie::TYPE_ACCOUNT) { $title=$langs->trans("AccountsCategoriesArea"); $typetext='bank_account'; }
|
||||
elseif ($type == Categorie::TYPE_PROJECT) { $title=$langs->trans("ProjectsCategoriesArea"); $typetext='project'; }
|
||||
elseif ($type == Categorie::TYPE_USER) { $title=$langs->trans("UsersCategoriesArea"); $typetext='user'; }
|
||||
elseif ($type == Categorie::TYPE_WAREHOUSE) { $title=$langs->trans("StocksCategoriesArea"); $typetext='warehouse'; }
|
||||
else { $title=$langs->trans("CategoriesArea"); $typetext='unknown'; }
|
||||
|
||||
$arrayofjs=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.js', '/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js');
|
||||
|
||||
@ -36,7 +36,7 @@ $langs->load("categories");
|
||||
|
||||
$id = GETPOST('id', 'int');
|
||||
$label = GETPOST('label', 'alpha');
|
||||
$type = GETPOST('type', 'az09');
|
||||
$type = GETPOST('type', 'aZ09');
|
||||
$removeelem = GETPOST('removeelem', 'int');
|
||||
$elemid = GETPOST('elemid', 'int');
|
||||
|
||||
|
||||
@ -86,6 +86,18 @@ $form = new Form($db);
|
||||
$formfile = new FormFile($db);
|
||||
$formactions = new FormActions($db);
|
||||
|
||||
// Load object
|
||||
if ($id > 0 && $action!='add') {
|
||||
$ret = $object->fetch($id);
|
||||
if ($ret > 0) {
|
||||
$ret = $object->fetch_optionals();
|
||||
$ret1 = $object->fetch_userassigned();
|
||||
}
|
||||
if ($ret < 0 || $ret1 < 0) {
|
||||
dol_print_error('', $object->error);
|
||||
}
|
||||
}
|
||||
|
||||
// fetch optionals attributes and labels
|
||||
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
|
||||
@ -94,6 +106,9 @@ $extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
|
||||
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
|
||||
$hookmanager->initHooks(array('actioncard','globalcard'));
|
||||
|
||||
$parameters = array('socid' => $socid);
|
||||
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -101,7 +116,7 @@ $hookmanager->initHooks(array('actioncard','globalcard'));
|
||||
|
||||
$listUserAssignedUpdated = false;
|
||||
// Remove user to assigned list
|
||||
if (GETPOST('removedassigned') || GETPOST('removedassigned') == '0')
|
||||
if (empty($reshook) && (GETPOST('removedassigned') || GETPOST('removedassigned') == '0'))
|
||||
{
|
||||
$idtoremove=GETPOST('removedassigned');
|
||||
|
||||
@ -122,7 +137,7 @@ if (GETPOST('removedassigned') || GETPOST('removedassigned') == '0')
|
||||
}
|
||||
|
||||
// Add user to assigned list
|
||||
if (GETPOST('addassignedtouser') || GETPOST('updateassignedtouser'))
|
||||
if (empty($reshook) && (GETPOST('addassignedtouser') || GETPOST('updateassignedtouser')))
|
||||
{
|
||||
// Add a new user
|
||||
if (GETPOST('assignedtouser') > 0)
|
||||
@ -143,15 +158,15 @@ if (GETPOST('addassignedtouser') || GETPOST('updateassignedtouser'))
|
||||
}
|
||||
|
||||
// Link to a project
|
||||
if ($action == 'classin' && ($user->rights->agenda->allactions->create ||
|
||||
if (empty($reshook) && $action == 'classin' && ($user->rights->agenda->allactions->create ||
|
||||
(($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->create)))
|
||||
{
|
||||
$object->fetch($id);
|
||||
//$object->fetch($id);
|
||||
$object->setProject(GETPOST('projectid', 'int'));
|
||||
}
|
||||
|
||||
// Action clone object
|
||||
if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||
if (empty($reshook) && $action == 'confirm_clone' && $confirm == 'yes')
|
||||
{
|
||||
if (1 == 0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers'))
|
||||
{
|
||||
@ -160,7 +175,7 @@ if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||
else
|
||||
{
|
||||
if ($id > 0) {
|
||||
$object->fetch($id);
|
||||
//$object->fetch($id);
|
||||
if (!empty($object->socpeopleassigned)) {
|
||||
reset($object->socpeopleassigned);
|
||||
$object->contactid = key($object->socpeopleassigned);
|
||||
@ -178,7 +193,7 @@ if ($action == 'confirm_clone' && $confirm == 'yes')
|
||||
}
|
||||
|
||||
// Add event
|
||||
if ($action == 'add')
|
||||
if (empty($reshook) && $action == 'add')
|
||||
{
|
||||
$error=0;
|
||||
|
||||
@ -221,7 +236,7 @@ if ($action == 'add')
|
||||
}
|
||||
|
||||
// Initialisation objet cactioncomm
|
||||
if (! GETPOST('actioncode') > 0) // actioncode is id
|
||||
if (GETPOSTISSET('actioncode') && ! GETPOST('actioncode', 'aZ09')) // actioncode is '0'
|
||||
{
|
||||
$error++; $donotclearsession=1;
|
||||
$action = 'create';
|
||||
@ -229,7 +244,7 @@ if ($action == 'add')
|
||||
}
|
||||
else
|
||||
{
|
||||
$object->type_code = GETPOST('actioncode');
|
||||
$object->type_code = GETPOST('actioncode', 'aZ09');
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
@ -243,7 +258,7 @@ if ($action == 'add')
|
||||
$object->elementtype = GETPOST("elementtype", 'alpha');
|
||||
if (! GETPOST('label'))
|
||||
{
|
||||
if (GETPOST('actioncode') == 'AC_RDV' && $contact->getFullName($langs))
|
||||
if (GETPOST('actioncode', 'aZ09') == 'AC_RDV' && $contact->getFullName($langs))
|
||||
{
|
||||
$object->label = $langs->transnoentitiesnoconv("TaskRDVWith", $contact->getFullName($langs));
|
||||
}
|
||||
@ -403,7 +418,7 @@ if ($action == 'add')
|
||||
/*
|
||||
* Action update event
|
||||
*/
|
||||
if ($action == 'update')
|
||||
if (empty($reshook) && $action == 'update')
|
||||
{
|
||||
if (empty($cancel))
|
||||
{
|
||||
@ -421,20 +436,22 @@ if ($action == 'update')
|
||||
if ($p2min == -1) $p2min='0';
|
||||
|
||||
$object->fetch($id);
|
||||
$object->fetch_optionals();
|
||||
$object->fetch_userassigned();
|
||||
$object->oldcopy = clone $object;
|
||||
|
||||
$datep=dol_mktime($fulldayevent?'00':$aphour, $fulldayevent?'00':$apmin, 0, $_POST["apmonth"], $_POST["apday"], $_POST["apyear"]);
|
||||
$datef=dol_mktime($fulldayevent?'23':$p2hour, $fulldayevent?'59':$p2min, $fulldayevent?'59':'0', $_POST["p2month"], $_POST["p2day"], $_POST["p2year"]);
|
||||
|
||||
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode"), 'c_actioncomm');
|
||||
$object->label = GETPOST("label");
|
||||
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
||||
$object->label = GETPOST("label", "alphanohtml");
|
||||
$object->datep = $datep;
|
||||
$object->datef = $datef;
|
||||
$object->percentage = $percentage;
|
||||
$object->priority = GETPOST("priority");
|
||||
$object->priority = GETPOST("priority", "alphanohtml");
|
||||
$object->fulldayevent= GETPOST("fullday")?1:0;
|
||||
$object->location = GETPOST('location');
|
||||
$object->socid = GETPOST("socid");
|
||||
$object->location = GETPOST('location', "alphanohtml");
|
||||
$object->socid = GETPOST("socid", "int");
|
||||
$socpeopleassigned = GETPOST("socpeopleassigned", 'array');
|
||||
$object->socpeopleassigned = array();
|
||||
foreach ($socpeopleassigned as $cid) $object->socpeopleassigned[$cid] = array('id' => $cid);
|
||||
@ -446,8 +463,8 @@ if ($action == 'update')
|
||||
$object->fk_project = GETPOST("projectid", 'int');
|
||||
$object->note = GETPOST("note", "none"); // deprecated
|
||||
$object->note_private= GETPOST("note", "none");
|
||||
$object->fk_element = GETPOST("fk_element");
|
||||
$object->elementtype = GETPOST("elementtype");
|
||||
$object->fk_element = GETPOST("fk_element", "int");
|
||||
$object->elementtype = GETPOST("elementtype", "alphanohtml");
|
||||
|
||||
if (! $datef && $percentage == 100)
|
||||
{
|
||||
@ -491,7 +508,7 @@ if ($action == 'update')
|
||||
}
|
||||
|
||||
// Check parameters
|
||||
if (! GETPOST('actioncode') > 0)
|
||||
if (GETPOSTISSET('actioncode') && ! GETPOST('actioncode', 'aZ09')) // actioncode is '0'
|
||||
{
|
||||
$error++; $donotclearsession=1;
|
||||
$action = 'edit';
|
||||
@ -499,7 +516,7 @@ if ($action == 'update')
|
||||
}
|
||||
else
|
||||
{
|
||||
$result=$cactioncomm->fetch(GETPOST('actioncode'));
|
||||
$result=$cactioncomm->fetch(GETPOST('actioncode', 'aZ09'));
|
||||
}
|
||||
if (empty($object->userownerid))
|
||||
{
|
||||
@ -512,6 +529,65 @@ if ($action == 'update')
|
||||
$ret = $extrafields->setOptionalsFromPost($extralabels, $object);
|
||||
if ($ret < 0) $error++;
|
||||
|
||||
if (!$error) {
|
||||
// check if an event resource is already in use
|
||||
if (!empty($conf->global->RESOURCE_USED_IN_EVENT_CHECK) && $object->element == 'action') {
|
||||
$eventDateStart = $object->datep;
|
||||
$eventDateEnd = $object->datef;
|
||||
|
||||
$sql = "SELECT er.rowid, r.ref as r_ref, ac.id as ac_id, ac.label as ac_label";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "element_resources as er";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "resource as r ON r.rowid = er.resource_id AND er.resource_type = 'dolresource'";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "actioncomm as ac ON ac.id = er.element_id AND er.element_type = '" . $db->escape($object->element) . "'";
|
||||
$sql .= " WHERE ac.id != " . $object->id;
|
||||
$sql .= " AND er.resource_id IN (";
|
||||
$sql .= " SELECT resource_id FROM " . MAIN_DB_PREFIX . "element_resources";
|
||||
$sql .= " WHERE element_id = " . $object->id;
|
||||
$sql .= " AND element_type = '" . $db->escape($object->element) . "'";
|
||||
$sql .= " AND busy = 1";
|
||||
$sql .= ")";
|
||||
$sql .= " AND er.busy = 1";
|
||||
$sql .= " AND (";
|
||||
|
||||
// event date start between ac.datep and ac.datep2 (if datep2 is null we consider there is no end)
|
||||
$sql .= " (ac.datep <= '" . $db->idate($eventDateStart) . "' AND (ac.datep2 IS NULL OR ac.datep2 >= '" . $db->idate($eventDateStart) . "'))";
|
||||
// event date end between ac.datep and ac.datep2
|
||||
if (!empty($eventDateEnd)) {
|
||||
$sql .= " OR (ac.datep <= '" . $db->idate($eventDateEnd) . "' AND (ac.datep2 >= '" . $db->idate($eventDateEnd) . "'))";
|
||||
}
|
||||
// event date start before ac.datep and event date end after ac.datep2
|
||||
$sql .= " OR (";
|
||||
$sql .= "ac.datep >= '" . $db->idate($eventDateStart) . "'";
|
||||
if (!empty($eventDateEnd)) {
|
||||
$sql .= " AND (ac.datep2 IS NOT NULL AND ac.datep2 <= '" . $db->idate($eventDateEnd) . "')";
|
||||
}
|
||||
$sql .= ")";
|
||||
|
||||
$sql .= ")";
|
||||
$resql = $db->query($sql);
|
||||
if (!$resql) {
|
||||
$error++;
|
||||
$object->error = $db->lasterror();
|
||||
$object->errors[] = $object->error;
|
||||
} else {
|
||||
if ($db->num_rows($resql) > 0) {
|
||||
// already in use
|
||||
$error++;
|
||||
$object->error = $langs->trans('ErrorResourcesAlreadyInUse') . ' : ';
|
||||
while ($obj = $db->fetch_object($resql)) {
|
||||
$object->error .= '<br> - ' . $langs->trans('ErrorResourceUseInEvent', $obj->r_ref, $obj->ac_label . ' [' . $obj->ac_id . ']');
|
||||
}
|
||||
$object->errors[] = $object->error;
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
|
||||
if ($error) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$db->begin();
|
||||
@ -546,9 +622,12 @@ if ($action == 'update')
|
||||
/*
|
||||
* delete event
|
||||
*/
|
||||
if ($action == 'confirm_delete' && GETPOST("confirm") == 'yes')
|
||||
if (empty($reshook) && $action == 'confirm_delete' && GETPOST("confirm") == 'yes')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->fetch($id);
|
||||
$object->fetch_optionals();
|
||||
$object->fetch_userassigned();
|
||||
$object->oldcopy = clone $object;
|
||||
|
||||
if ($user->rights->agenda->myactions->delete
|
||||
|| $user->rights->agenda->allactions->delete)
|
||||
@ -571,10 +650,9 @@ if ($action == 'confirm_delete' && GETPOST("confirm") == 'yes')
|
||||
* Action move update, used when user move an event in calendar by drag'n drop
|
||||
* TODO Move this into page comm/action/index that trigger this call by the drag and drop of event.
|
||||
*/
|
||||
if (GETPOST('actionmove', 'alpha') == 'mupdate')
|
||||
if (empty($reshook) && GETPOST('actionmove', 'alpha') == 'mupdate')
|
||||
{
|
||||
$object->fetch($id);
|
||||
$object->fetch_userassigned();
|
||||
$error = 0;
|
||||
|
||||
$shour = dol_print_date($object->datep, "%H");
|
||||
$smin = dol_print_date($object->datep, "%M");
|
||||
@ -594,10 +672,76 @@ if (GETPOST('actionmove', 'alpha') == 'mupdate')
|
||||
$object->datef+=$datep-$object->datep;
|
||||
}
|
||||
$object->datep=$datep;
|
||||
$result=$object->update($user);
|
||||
if ($result < 0)
|
||||
{
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
|
||||
if (!$error) {
|
||||
// check if an event resource is already in use
|
||||
if (!empty($conf->global->RESOURCE_USED_IN_EVENT_CHECK) && $object->element == 'action') {
|
||||
$eventDateStart = $object->datep;
|
||||
$eventDateEnd = $object->datef;
|
||||
|
||||
$sql = "SELECT er.rowid, r.ref as r_ref, ac.id as ac_id, ac.label as ac_label";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX . "element_resources as er";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "resource as r ON r.rowid = er.resource_id AND er.resource_type = 'dolresource'";
|
||||
$sql .= " INNER JOIN " . MAIN_DB_PREFIX . "actioncomm as ac ON ac.id = er.element_id AND er.element_type = '" . $db->escape($object->element) . "'";
|
||||
$sql .= " WHERE ac.id != " . $object->id;
|
||||
$sql .= " AND er.resource_id IN (";
|
||||
$sql .= " SELECT resource_id FROM " . MAIN_DB_PREFIX . "element_resources";
|
||||
$sql .= " WHERE element_id = " . $object->id;
|
||||
$sql .= " AND element_type = '" . $db->escape($object->element) . "'";
|
||||
$sql .= " AND busy = 1";
|
||||
$sql .= ")";
|
||||
$sql .= " AND er.busy = 1";
|
||||
$sql .= " AND (";
|
||||
|
||||
// event date start between ac.datep and ac.datep2 (if datep2 is null we consider there is no end)
|
||||
$sql .= " (ac.datep <= '" . $db->idate($eventDateStart) . "' AND (ac.datep2 IS NULL OR ac.datep2 >= '" . $db->idate($eventDateStart) . "'))";
|
||||
// event date end between ac.datep and ac.datep2
|
||||
if (!empty($eventDateEnd)) {
|
||||
$sql .= " OR (ac.datep <= '" . $db->idate($eventDateEnd) . "' AND (ac.datep2 >= '" . $db->idate($eventDateEnd) . "'))";
|
||||
}
|
||||
// event date start before ac.datep and event date end after ac.datep2
|
||||
$sql .= " OR (";
|
||||
$sql .= "ac.datep >= '" . $db->idate($eventDateStart) . "'";
|
||||
if (!empty($eventDateEnd)) {
|
||||
$sql .= " AND (ac.datep2 IS NOT NULL AND ac.datep2 <= '" . $db->idate($eventDateEnd) . "')";
|
||||
}
|
||||
$sql .= ")";
|
||||
|
||||
$sql .= ")";
|
||||
$resql = $db->query($sql);
|
||||
if (!$resql) {
|
||||
$error++;
|
||||
$object->error = $db->lasterror();
|
||||
$object->errors[] = $object->error;
|
||||
} else {
|
||||
if ($db->num_rows($resql) > 0) {
|
||||
// already in use
|
||||
$error++;
|
||||
$object->error = $langs->trans('ErrorResourcesAlreadyInUse') . ' : ';
|
||||
while ($obj = $db->fetch_object($resql)) {
|
||||
$object->error .= '<br> - ' . $langs->trans('ErrorResourceUseInEvent', $obj->r_ref, $obj->ac_label . ' [' . $obj->ac_id . ']');
|
||||
}
|
||||
$object->errors[] = $object->error;
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
|
||||
if ($error) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$error) {
|
||||
$db->begin();
|
||||
$result = $object->update($user);
|
||||
if ($result < 0) {
|
||||
$error++;
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$db->rollback();
|
||||
} else {
|
||||
$db->commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (! empty($backtopage))
|
||||
@ -614,7 +758,9 @@ if (GETPOST('actionmove', 'alpha') == 'mupdate')
|
||||
// Actions to delete doc
|
||||
$upload_dir = $conf->agenda->dir_output.'/'.dol_sanitizeFileName($object->ref);
|
||||
$permissioncreate = ($user->rights->agenda->allactions->create || (($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->read));
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
|
||||
if (empty($reshook)) {
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@ -689,7 +835,7 @@ if ($action == 'create')
|
||||
if ($backtopage) print '<input type="hidden" name="backtopage" value="'.($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"]).'">';
|
||||
if (empty($conf->global->AGENDA_USE_EVENT_TYPE)) print '<input type="hidden" name="actioncode" value="'.dol_getIdFromCode($db, 'AC_OTH', 'c_actioncomm').'">';
|
||||
|
||||
if (GETPOST("actioncode") == 'AC_RDV') print load_fiche_titre($langs->trans("AddActionRendezVous"), '', 'title_agenda');
|
||||
if (GETPOST("actioncode", 'aZ09') == 'AC_RDV') print load_fiche_titre($langs->trans("AddActionRendezVous"), '', 'title_agenda');
|
||||
else print load_fiche_titre($langs->trans("AddAnAction"), '', 'title_agenda');
|
||||
|
||||
dol_fiche_head();
|
||||
@ -701,7 +847,7 @@ if ($action == 'create')
|
||||
{
|
||||
print '<tr><td class="titlefieldcreate"><span class="fieldrequired">'.$langs->trans("Type").'</span></b></td><td>';
|
||||
$default=(empty($conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT)?'':$conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT);
|
||||
$formactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):($object->type_code?$object->type_code:$default), "actioncode", "systemauto", 0, -1);
|
||||
$formactions->select_type_actions(GETPOST("actioncode", 'aZ09')?GETPOST("actioncode", 'aZ09'):($object->type_code?$object->type_code:$default), "actioncode", "systemauto", 0, -1);
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
@ -731,7 +877,7 @@ if ($action == 'create')
|
||||
{
|
||||
$datef=dol_time_plus_duree($datep, $conf->global->AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS, 'h');
|
||||
}
|
||||
print '<tr><td><span id="dateend"'.(GETPOST("actioncode") == 'AC_RDV'?' class="fieldrequired"':'').'>'.$langs->trans("DateActionEnd").'</span></td><td>';
|
||||
print '<tr><td><span id="dateend"'.(GETPOST("actioncode", 'aZ09') == 'AC_RDV'?' class="fieldrequired"':'').'>'.$langs->trans("DateActionEnd").'</span></td><td>';
|
||||
if (GETPOST("afaire") == 1) {
|
||||
print $form->selectDate($datef, 'p2', 1, 1, 1, "action", 1, 1, 0, 'fulldayend');
|
||||
} elseif (GETPOST("afaire") == 2) {
|
||||
@ -1010,15 +1156,15 @@ if ($id > 0)
|
||||
$datep=dol_mktime($fulldayevent?'00':$aphour, $fulldayevent?'00':$apmin, 0, $_POST["apmonth"], $_POST["apday"], $_POST["apyear"]);
|
||||
$datef=dol_mktime($fulldayevent?'23':$p2hour, $fulldayevent?'59':$p2min, $fulldayevent?'59':'0', $_POST["p2month"], $_POST["p2day"], $_POST["p2year"]);
|
||||
|
||||
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode"), 'c_actioncomm');
|
||||
$object->label = GETPOST("label");
|
||||
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
||||
$object->label = GETPOST("label", "alphanohtml");
|
||||
$object->datep = $datep;
|
||||
$object->datef = $datef;
|
||||
$object->percentage = $percentage;
|
||||
$object->priority = GETPOST("priority");
|
||||
$object->priority = GETPOST("priority", "alphanohtml");
|
||||
$object->fulldayevent= GETPOST("fullday")?1:0;
|
||||
$object->location = GETPOST('location');
|
||||
$object->socid = GETPOST("socid");
|
||||
$object->location = GETPOST('location', "alpanohtml");
|
||||
$object->socid = GETPOST("socid", "int");
|
||||
$socpeopleassigned = GETPOST("socpeopleassigned", 'array');
|
||||
foreach ($socpeopleassigned as $tmpid) $object->socpeopleassigned[$id] = array('id' => $tmpid);
|
||||
$object->contactid = GETPOST("contactid", 'int');
|
||||
@ -1101,7 +1247,7 @@ if ($id > 0)
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Type").'</td><td colspan="3">';
|
||||
if ($object->type_code != 'AC_OTH_AUTO')
|
||||
{
|
||||
$formactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$object->type_code, "actioncode", "systemauto");
|
||||
$formactions->select_type_actions(GETPOST("actioncode", 'aZ09')?GETPOST("actioncode", 'aZ09'):$object->type_code, "actioncode", "systemauto");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||