Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
0baea71d0f
15
.github/CONTRIBUTING.md
vendored
15
.github/CONTRIBUTING.md
vendored
@ -113,13 +113,14 @@ Also, some code changes need a prior approbation:
|
|||||||
|
|
||||||
* if you add a new table, you must first create a page on http://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Than ask the project manager (@eldy) if the new data model you plan to add can be accepted as you suggest.
|
* if you add a new table, you must first create a page on http://wiki.dolibarr.org/index.php/Category:Table_SQL (copy an existing page changing its name to see it into this index page). Than ask the project manager (@eldy) if the new data model you plan to add can be accepted as you suggest.
|
||||||
|
|
||||||
Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow
|
Once a PR has been submitted, you may need to wait for its integration. It is common that the project leader let the PR open for a long delay to allow every developer discuss about the PR.
|
||||||
every developer discuss about the PR.
|
|
||||||
If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later.
|
If your PR has errors reported by the Continuous Integration Platform, it means your PR is not valid and nothing will be done with it. It will be kept open to allow developers to fix this, or it may be closed several month later. Don't expect anything on your PR if you have such errors, you MUST first fix the Continuous Integration error to have it taken into consideration.
|
||||||
If the PR is valid, and is kept open for a long time, a tag will also be added on the PR to describe the status of your PR.
|
|
||||||
By putting your mouse on the tag, you will get a full explanation of the tag/status that explain why your PR has not been integrated yet.
|
If the PR is valid, and is kept open for a long time, a tag will also be added on the PR to describe the status of your PR and why the PR is kept open. By putting your mouse on the tag, you will get a full explanation of the tag/status that explain why your PR has not been integrated yet.
|
||||||
Around 95% of submitted PR are reviewed and tagged. Even if this is one of the most important ratio in Open Source world, don't expect the core team
|
In most cases, it give you information of things you have to do to have the PR taken into consideration (for example a change is requested, a conflict is expected to be solved, some questions were asked). If you have a yellow, red flag of purple flag, don't expect to have your PR validated. You must first provide the answer the flag ask you. The majority of PR are waiting a developer action.
|
||||||
to reach the 100%. With the increasing popularity of Dolibarr, this ratio will probably decrease in future.
|
|
||||||
|
Around 95% of submitted PR are reviewed and tagged. Even if this is one of the most important ratio of answered PR in Open Source world, don't expect the core team to reach the 100%. With the increasing popularity of Dolibarr, this ratio will probably decrease in future.
|
||||||
|
|
||||||
|
|
||||||
### Resources
|
### Resources
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# .scrutinizer.yml
|
# .scrutinizer.yml
|
||||||
build:
|
#build:
|
||||||
- php-scrutinizer-run
|
# - php-scrutinizer-run
|
||||||
|
|
||||||
imports:
|
imports:
|
||||||
- javascript
|
- javascript
|
||||||
|
|||||||
@ -14,7 +14,7 @@ WARNING:
|
|||||||
|
|
||||||
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
|
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
|
||||||
* Properties ->libelle_incoterms were renamed into ->label_incoterms
|
* Properties ->libelle_incoterms were renamed into ->label_incoterms
|
||||||
|
* Removed the method liste_array() of project class. It was not used by core code.
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 10.0.0 compared to 9.0.0 *****
|
***** ChangeLog for 10.0.0 compared to 9.0.0 *****
|
||||||
@ -414,7 +414,7 @@ NEW: add option PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT
|
|||||||
NEW: Add option to display thirdparty adress in combolist
|
NEW: Add option to display thirdparty adress in combolist
|
||||||
NEW: Add option to swap sender/recipient address on PDF
|
NEW: Add option to swap sender/recipient address on PDF
|
||||||
NEW: Add option to display thirdparty adress in combolist
|
NEW: Add option to display thirdparty adress in combolist
|
||||||
NEW: Add project on pament of salaries
|
NEW: Add project on payment of salaries
|
||||||
NEW: Add SHIPPING_PDF_HIDE_WEIGHT_AND_VOLUME and
|
NEW: Add SHIPPING_PDF_HIDE_WEIGHT_AND_VOLUME and
|
||||||
NEW: Add somes hooks in bank planned entries
|
NEW: Add somes hooks in bank planned entries
|
||||||
NEW: Add supplier ref in item reception page
|
NEW: Add supplier ref in item reception page
|
||||||
|
|||||||
@ -3,9 +3,9 @@
|
|||||||

|

|
||||||
[](https://houndci.com)
|
[](https://houndci.com)
|
||||||
|
|
||||||
|6|7|8|9|develop|
|
|7|8|9|10|develop|
|
||||||
|----------|----------|----------|----------|----------|
|
|----------|----------|----------|----------|----------|
|
||||||
||||||
|
||||||
|
||||||
|
|
||||||
Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).
|
Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…).
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ LaunchProgram=Launch %1
|
|||||||
AssocFileExtension=&Associate %1 with the %2 file extension
|
AssocFileExtension=&Associate %1 with the %2 file extension
|
||||||
AssocingFileExtension=Associating %1 with the %2 file extension...
|
AssocingFileExtension=Associating %1 with the %2 file extension...
|
||||||
|
|
||||||
YouWillInstallDoliWamp=You will install or upgrade DoliWamp (so Dolibarr + all required third party softwares like Apache, Mysql and PHP) on your computer.
|
YouWillInstallDoliWamp=You will install or upgrade DoliWamp (so Dolibarr + all required third party software like Apache, Mysql and PHP) on your computer.
|
||||||
ThisAssistantInstallOrUpgrade=WARNING: Using an ERP CRM installed on a local computer can be dangerous: if your computer break down, you can lose all your data. Do this if you are ready to manage backup yourself seriously. If not, use an installation in Saas instead (see https://saas.dolibarr.org).
|
ThisAssistantInstallOrUpgrade=WARNING: Using an ERP CRM installed on a local computer can be dangerous: if your computer break down, you can lose all your data. Do this if you are ready to manage backup yourself seriously. If not, use an installation in Saas instead (see https://saas.dolibarr.org).
|
||||||
IfYouHaveTechnicalKnowledge=Moreover, if you have technical knowledges and want to manage your Apache, Mysql and PHP yourself, you should not use this assistant and make a manual installation of Dolibarr on your existing server with Apache, Mysql and PHP.
|
IfYouHaveTechnicalKnowledge=Moreover, if you have technical knowledges and want to manage your Apache, Mysql and PHP yourself, you should not use this assistant and make a manual installation of Dolibarr on your existing server with Apache, Mysql and PHP.
|
||||||
ButIfYouLook=But if you look for an automatic setup on your local computer, you''re on the good way...
|
ButIfYouLook=But if you look for an automatic setup on your local computer, you''re on the good way...
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# DOLIWAMP, THE DOLIBARR INSTALLER FOR WINDOWS
|
# DOLIWAMP, THE DOLIBARR INSTALLER FOR WINDOWS
|
||||||
|
|
||||||
DoliWamp is a special all in one package installer for Windows (Dolibarr+Mysql+Apache+PHP).
|
DoliWamp is a special all in one package installer for Windows (Dolibarr+Mysql+Apache+PHP).
|
||||||
It's a dedicated Dolibarr version for Windows newbies with no technical knowledge. This package will install or upgrade Dolibarr but also and all prerequisites like the web server, and the database in one autoinstall process.
|
It's a dedicated Dolibarr version for Windows newbies with no technical knowledge. This package will install or upgrade Dolibarr but also all prerequisites like the web server, and the database in one auto-install process.
|
||||||
|
|
||||||
If you have technical knowledge in web administration and plan to share your server instance (Apache, Mysql or PHP) with other projects than Dolibarr or want to use Dolibarr other components (PostgreSQL), you should not use this assistant and make a manual installation of Dolibarr on your existing server by downloading the standard package (.tgz or .zip file).
|
If you have technical knowledge in web administration and plan to share your server instance (Apache, Mysql or PHP) with other projects than Dolibarr or want to use Dolibarr other components (PostgreSQL), you should not use this assistant and make a manual installation of Dolibarr on your existing server by downloading the standard package (.tgz or .zip file).
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ AppPublisher=NLTechno
|
|||||||
AppPublisherURL=https://www.nltechno.com
|
AppPublisherURL=https://www.nltechno.com
|
||||||
AppSupportURL=https://www.dolibarr.org
|
AppSupportURL=https://www.dolibarr.org
|
||||||
AppUpdatesURL=https://www.dolibarr.org
|
AppUpdatesURL=https://www.dolibarr.org
|
||||||
AppComments=DoliWamp includes Dolibarr, Apache, PHP and Mysql softwares.
|
AppComments=DoliWamp includes Dolibarr, Apache, PHP and Mysql software.
|
||||||
AppCopyright=Copyright (C) 2008-2019 Laurent Destailleur (NLTechno), Fabian Rodriguez (Le Goût du Libre)
|
AppCopyright=Copyright (C) 2008-2019 Laurent Destailleur (NLTechno), Fabian Rodriguez (Le Goût du Libre)
|
||||||
DefaultDirName=c:\dolibarr
|
DefaultDirName=c:\dolibarr
|
||||||
DefaultGroupName=Dolibarr
|
DefaultGroupName=Dolibarr
|
||||||
|
|||||||
@ -150,7 +150,7 @@ Require local
|
|||||||
# e-mailed. This address appears on some server-generated pages, such
|
# e-mailed. This address appears on some server-generated pages, such
|
||||||
# as error documents. e.g. admin@your-domain.com
|
# as error documents. e.g. admin@your-domain.com
|
||||||
#
|
#
|
||||||
ServerAdmin webmaster@localhost
|
ServerAdmin doliwamp@localhost
|
||||||
|
|
||||||
#
|
#
|
||||||
# ServerName gives the name and port that the server uses to identify itself.
|
# ServerName gives the name and port that the server uses to identify itself.
|
||||||
@ -772,5 +772,5 @@ SSLCertificateKeyFile "WAMPROOT/myserver.key"
|
|||||||
#</Location>
|
#</Location>
|
||||||
|
|
||||||
|
|
||||||
# Declare alias for Dolibarr, PHPMyAdmin and other softwares
|
# Declare alias for Dolibarr, PHPMyAdmin and other software
|
||||||
Include "WAMPROOT/alias/*.conf"
|
Include "WAMPROOT/alias/*.conf"
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
// during install process to be used.
|
// during install process to be used.
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
$force_install_type='doliwamp';
|
||||||
$force_install_noedit=2; // 1=To block vars specific to distrib, 2 to block all technical parameters
|
$force_install_noedit=2; // 1=To block vars specific to distrib, 2 to block all technical parameters
|
||||||
$force_install_message='KeepDefaultValuesWamp';
|
$force_install_message='KeepDefaultValuesWamp';
|
||||||
$force_install_main_data_root='WAMPROOT/dolibarr_documents';
|
$force_install_main_data_root='WAMPROOT/dolibarr_documents';
|
||||||
|
|||||||
@ -653,6 +653,8 @@ default_socket_timeout = 60
|
|||||||
; extension folders as well as the separate PECL DLL download (PHP 5).
|
; extension folders as well as the separate PECL DLL download (PHP 5).
|
||||||
; Be sure to appropriately set the extension_dir directive.
|
; Be sure to appropriately set the extension_dir directive.
|
||||||
|
|
||||||
|
; If an extension does not load, run "deplister.exe php_xxx.dll" to get list of dependency dll missing.
|
||||||
|
|
||||||
extension=php_bz2.dll
|
extension=php_bz2.dll
|
||||||
extension=php_curl.dll
|
extension=php_curl.dll
|
||||||
;extension=php_dba.dll
|
;extension=php_dba.dll
|
||||||
@ -665,6 +667,7 @@ extension=php_gd2.dll
|
|||||||
;extension=php_ifx.dll
|
;extension=php_ifx.dll
|
||||||
;extension=php_imap.dll
|
;extension=php_imap.dll
|
||||||
;extension=php_interbase.dll
|
;extension=php_interbase.dll
|
||||||
|
extension=php_intl.dll
|
||||||
extension=php_ldap.dll
|
extension=php_ldap.dll
|
||||||
extension=php_mbstring.dll
|
extension=php_mbstring.dll
|
||||||
;extension=php_mcrypt.dll
|
;extension=php_mcrypt.dll
|
||||||
|
|||||||
@ -4,3 +4,4 @@ REM ----------------------------
|
|||||||
|
|
||||||
REM Go to admin center page
|
REM Go to admin center page
|
||||||
start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/
|
start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/
|
||||||
|
REM FOR EDGE start microsoft-edge:"http://localhost:WAMPAPACHEPORT/"
|
||||||
@ -5,3 +5,4 @@ REM ---------------------------
|
|||||||
REM Go to help center page
|
REM Go to help center page
|
||||||
echo Please wait...
|
echo Please wait...
|
||||||
start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/support/
|
start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/support/
|
||||||
|
REM FOR EDGE start microsoft-edge:"http://localhost:WAMPAPACHEPORT/dolibarr/support/"
|
||||||
@ -4,6 +4,8 @@ REM ---------------
|
|||||||
|
|
||||||
REM If no lock file, we call install process
|
REM If no lock file, we call install process
|
||||||
IF NOT EXIST dolibarr_documents\install.lock start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/install/
|
IF NOT EXIST dolibarr_documents\install.lock start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/install/
|
||||||
|
REM FOR EDGE IF NOT EXIST dolibarr_documents\install.lock start microsoft-edge:"http://localhost:WAMPAPACHEPORT/dolibarr/install/"
|
||||||
|
|
||||||
REM If lock file exists, we call home page
|
REM If lock file exists, we call home page
|
||||||
IF EXIST dolibarr_documents\install.lock start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/
|
IF EXIST dolibarr_documents\install.lock start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/
|
||||||
|
REM FOR EDGE IF EXIST dolibarr_documents\install.lock start microsoft-edge:"http://localhost:WAMPAPACHEPORT/dolibarr/"
|
||||||
|
|||||||
@ -8,7 +8,7 @@ define('DOL_DOCUMENT_ROOT', __DIR__ . '/../../htdocs');
|
|||||||
define('DOL_DATA_ROOT', __DIR__ . '/../../documents');
|
define('DOL_DATA_ROOT', __DIR__ . '/../../documents');
|
||||||
define('DOL_URL_ROOT', '/');
|
define('DOL_URL_ROOT', '/');
|
||||||
|
|
||||||
// Load the main.inc.php file to have finctions llx_Header and llx_Footer defined
|
// Load the main.inc.php file to have functions llx_Header and llx_Footer defined
|
||||||
if (! defined("NOLOGIN")) define("NOLOGIN", '1');
|
if (! defined("NOLOGIN")) define("NOLOGIN", '1');
|
||||||
global $conf, $langs, $user, $db;
|
global $conf, $langs, $user, $db;
|
||||||
include_once __DIR__ . '/../../htdocs/main.inc.php';
|
include_once __DIR__ . '/../../htdocs/main.inc.php';
|
||||||
|
|||||||
@ -27,6 +27,15 @@ With
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ESCPOS:
|
||||||
|
-------
|
||||||
|
Replace
|
||||||
|
private $connector;
|
||||||
|
With
|
||||||
|
protected $connector;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NUSOAP:
|
NUSOAP:
|
||||||
-------
|
-------
|
||||||
* In file nusoap.php, to avoid a warning,
|
* In file nusoap.php, to avoid a warning,
|
||||||
|
|||||||
1
htdocs/.gitignore
vendored
1
htdocs/.gitignore
vendored
@ -28,3 +28,4 @@
|
|||||||
/nomenclature*
|
/nomenclature*
|
||||||
/of/
|
/of/
|
||||||
/workstation/
|
/workstation/
|
||||||
|
/oblyon*
|
||||||
|
|||||||
@ -162,7 +162,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
|
|||||||
{
|
{
|
||||||
if ($fieldnamekey == 'libelle' || ($fieldnamekey == 'label')) $fieldnamekey='Label';
|
if ($fieldnamekey == 'libelle' || ($fieldnamekey == 'label')) $fieldnamekey='Label';
|
||||||
if ($fieldnamekey == 'code') $fieldnamekey = 'Code';
|
if ($fieldnamekey == 'code') $fieldnamekey = 'Code';
|
||||||
if ($fieldnamekey == 'nature') $fieldnamekey = 'Nature';
|
if ($fieldnamekey == 'nature') $fieldnamekey = 'NatureOfJournal';
|
||||||
}
|
}
|
||||||
// Other checks
|
// Other checks
|
||||||
if (isset($_POST["code"]))
|
if (isset($_POST["code"]))
|
||||||
@ -437,7 +437,7 @@ if ($id)
|
|||||||
$valuetoshow=$langs->trans("Label");
|
$valuetoshow=$langs->trans("Label");
|
||||||
}
|
}
|
||||||
if ($fieldlist[$field]=='nature') {
|
if ($fieldlist[$field]=='nature') {
|
||||||
$valuetoshow=$langs->trans("Nature");
|
$valuetoshow=$langs->trans("NatureOfJournal");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($valuetoshow != '') {
|
if ($valuetoshow != '') {
|
||||||
@ -516,7 +516,7 @@ if ($id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Title line with search boxes
|
// Title line with search boxes
|
||||||
print '<tr class="liste_titre_filter liste_titre_add">';
|
/*print '<tr class="liste_titre_filter liste_titre_add">';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"></td>';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"></td>';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"></td>';
|
||||||
@ -524,16 +524,14 @@ if ($id)
|
|||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"></td>';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"></td>';
|
||||||
print '<td class="liste_titre center">';
|
print '<td class="liste_titre center">';
|
||||||
if ($filterfound)
|
$searchpicto=$form->showFilterButtons();
|
||||||
{
|
print $searchpicto;
|
||||||
$searchpicto=$form->showFilterAndCheckAddButtons(0);
|
|
||||||
print $searchpicto;
|
|
||||||
}
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
*/
|
||||||
|
|
||||||
// Title of lines
|
// Title of lines
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre liste_titre_add">';
|
||||||
foreach ($fieldlist as $field => $value)
|
foreach ($fieldlist as $field => $value)
|
||||||
{
|
{
|
||||||
// Determine le nom du champ par rapport aux noms possibles
|
// Determine le nom du champ par rapport aux noms possibles
|
||||||
@ -558,7 +556,7 @@ if ($id)
|
|||||||
$valuetoshow=$langs->trans("Label");
|
$valuetoshow=$langs->trans("Label");
|
||||||
}
|
}
|
||||||
if ($fieldlist[$field]=='nature') {
|
if ($fieldlist[$field]=='nature') {
|
||||||
$valuetoshow=$langs->trans("Nature");
|
$valuetoshow=$langs->trans("NatureOfJournal");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Affiche nom du champ
|
// Affiche nom du champ
|
||||||
|
|||||||
@ -462,7 +462,7 @@ if ($result)
|
|||||||
// print '<td class="left">' . $obj->description . '</td>';
|
// print '<td class="left">' . $obj->description . '</td>';
|
||||||
// TODO: we shoul set a user defined value to adjust user square / wide screen size
|
// TODO: we shoul set a user defined value to adjust user square / wide screen size
|
||||||
$trunclengh = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
|
$trunclengh = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
|
||||||
print '<td style="' . $code_sell_p_l_differ . '">' . nl2br(dol_trunc($obj->description, $trunclengh)) . '</td>';
|
print '<td>' . nl2br(dol_trunc($obj->description, $trunclengh)) . '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($accounting_product_mode == 'ACCOUNTANCY_SELL' || $accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA' || $accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT')
|
if ($accounting_product_mode == 'ACCOUNTANCY_SELL' || $accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA' || $accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT')
|
||||||
|
|||||||
@ -321,8 +321,8 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= ", piece_num";
|
$sql .= ", piece_num";
|
||||||
$sql .= ', entity';
|
$sql .= ', entity';
|
||||||
$sql .= ") VALUES (";
|
$sql .= ") VALUES (";
|
||||||
$sql .= "'" . $this->db->idate($this->doc_date) . "'";
|
$sql .= "'".$this->db->idate($this->doc_date)."'";
|
||||||
$sql .= ", ".(! isset($this->date_lim_reglement) || dol_strlen($this->date_lim_reglement) == 0 ? 'NULL' : "'" . $this->db->idate($this->date_lim_reglement) . "'");
|
$sql .= ", ".(! isset($this->date_lim_reglement) || dol_strlen($this->date_lim_reglement) == 0 ? 'NULL' : "'".$this->db->idate($this->date_lim_reglement)."'");
|
||||||
$sql .= ",'" . $this->db->escape($this->doc_type) . "'";
|
$sql .= ",'" . $this->db->escape($this->doc_type) . "'";
|
||||||
$sql .= ",'" . $this->db->escape($this->doc_ref) . "'";
|
$sql .= ",'" . $this->db->escape($this->doc_ref) . "'";
|
||||||
$sql .= "," . $this->fk_doc;
|
$sql .= "," . $this->fk_doc;
|
||||||
@ -338,7 +338,7 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= "," . $this->montant;
|
$sql .= "," . $this->montant;
|
||||||
$sql .= ",'" . $this->db->escape($this->sens) . "'";
|
$sql .= ",'" . $this->db->escape($this->sens) . "'";
|
||||||
$sql .= ",'" . $this->db->escape($this->fk_user_author) . "'";
|
$sql .= ",'" . $this->db->escape($this->fk_user_author) . "'";
|
||||||
$sql .= ",'" . $this->db->idate($now). "'";
|
$sql .= ",'".$this->db->idate($now)."'";
|
||||||
$sql .= ",'" . $this->db->escape($this->code_journal) . "'";
|
$sql .= ",'" . $this->db->escape($this->code_journal) . "'";
|
||||||
$sql .= ",'" . $this->db->escape($this->journal_label) . "'";
|
$sql .= ",'" . $this->db->escape($this->journal_label) . "'";
|
||||||
$sql .= "," . $this->db->escape($this->piece_num);
|
$sql .= "," . $this->db->escape($this->piece_num);
|
||||||
@ -543,7 +543,7 @@ class BookKeeping extends CommonObject
|
|||||||
// Put here code to add control on parameters values
|
// Put here code to add control on parameters values
|
||||||
|
|
||||||
// Insert request
|
// Insert request
|
||||||
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . $mode.'(';
|
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . $mode.' (';
|
||||||
$sql .= 'doc_date,';
|
$sql .= 'doc_date,';
|
||||||
$sql .= 'date_lim_reglement,';
|
$sql .= 'date_lim_reglement,';
|
||||||
$sql .= 'doc_type,';
|
$sql .= 'doc_type,';
|
||||||
@ -567,7 +567,7 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= 'piece_num,';
|
$sql .= 'piece_num,';
|
||||||
$sql .= 'entity';
|
$sql .= 'entity';
|
||||||
$sql .= ') VALUES (';
|
$sql .= ') VALUES (';
|
||||||
$sql .= ' ' . (! isset($this->doc_date) || dol_strlen($this->doc_date) == 0 ? 'NULL' : "'" . $this->db->idate($this->doc_date) . "'") . ',';
|
$sql .= ' ' . (! isset($this->doc_date) || dol_strlen($this->doc_date) == 0 ? 'NULL' : "'".$this->db->idate($this->doc_date)."'") . ',';
|
||||||
$sql .= ' ' . (! isset($this->date_lim_reglement) || dol_strlen($this->date_lim_reglement) == 0 ? 'NULL' : "'" . $this->db->idate($this->date_lim_reglement) . "'") . ',';
|
$sql .= ' ' . (! isset($this->date_lim_reglement) || dol_strlen($this->date_lim_reglement) == 0 ? 'NULL' : "'" . $this->db->idate($this->date_lim_reglement) . "'") . ',';
|
||||||
$sql .= ' ' . (! isset($this->doc_type) ? 'NULL' : "'" . $this->db->escape($this->doc_type) . "'") . ',';
|
$sql .= ' ' . (! isset($this->doc_type) ? 'NULL' : "'" . $this->db->escape($this->doc_type) . "'") . ',';
|
||||||
$sql .= ' ' . (! isset($this->doc_ref) ? 'NULL' : "'" . $this->db->escape($this->doc_ref) . "'") . ',';
|
$sql .= ' ' . (! isset($this->doc_ref) ? 'NULL' : "'" . $this->db->escape($this->doc_ref) . "'") . ',';
|
||||||
@ -584,7 +584,7 @@ class BookKeeping extends CommonObject
|
|||||||
$sql .= ' ' . (! isset($this->montant) ? 'NULL' : $this->montant ). ',';
|
$sql .= ' ' . (! isset($this->montant) ? 'NULL' : $this->montant ). ',';
|
||||||
$sql .= ' ' . (! isset($this->sens) ? 'NULL' : "'" . $this->db->escape($this->sens) . "'") . ',';
|
$sql .= ' ' . (! isset($this->sens) ? 'NULL' : "'" . $this->db->escape($this->sens) . "'") . ',';
|
||||||
$sql .= ' ' . $user->id . ',';
|
$sql .= ' ' . $user->id . ',';
|
||||||
$sql .= ' ' . "'" . $this->db->idate($now) . "',";
|
$sql .= ' ' . "'".$this->db->idate($now)."',";
|
||||||
$sql .= ' ' . (empty($this->code_journal) ? 'NULL' : "'" . $this->db->escape($this->code_journal) . "'") . ',';
|
$sql .= ' ' . (empty($this->code_journal) ? 'NULL' : "'" . $this->db->escape($this->code_journal) . "'") . ',';
|
||||||
$sql .= ' ' . (empty($this->journal_label) ? 'NULL' : "'" . $this->db->escape($this->journal_label) . "'") . ',';
|
$sql .= ' ' . (empty($this->journal_label) ? 'NULL' : "'" . $this->db->escape($this->journal_label) . "'") . ',';
|
||||||
$sql .= ' ' . (empty($this->piece_num) ? 'NULL' : $this->db->escape($this->piece_num)).',';
|
$sql .= ' ' . (empty($this->piece_num) ? 'NULL' : $this->db->escape($this->piece_num)).',';
|
||||||
@ -1161,7 +1161,7 @@ class BookKeeping extends CommonObject
|
|||||||
|
|
||||||
// Update request
|
// Update request
|
||||||
$sql = 'UPDATE ' . MAIN_DB_PREFIX . $this->table_element . $mode.' SET';
|
$sql = 'UPDATE ' . MAIN_DB_PREFIX . $this->table_element . $mode.' SET';
|
||||||
$sql .= ' doc_date = ' . (! isset($this->doc_date) || dol_strlen($this->doc_date) != 0 ? "'" . $this->db->idate($this->doc_date) . "'" : 'null') . ',';
|
$sql .= ' doc_date = ' . (! isset($this->doc_date) || dol_strlen($this->doc_date) != 0 ? "'".$this->db->idate($this->doc_date)."'" : 'null') . ',';
|
||||||
$sql .= ' doc_type = ' . (isset($this->doc_type) ? "'" . $this->db->escape($this->doc_type) . "'" : "null") . ',';
|
$sql .= ' doc_type = ' . (isset($this->doc_type) ? "'" . $this->db->escape($this->doc_type) . "'" : "null") . ',';
|
||||||
$sql .= ' doc_ref = ' . (isset($this->doc_ref) ? "'" . $this->db->escape($this->doc_ref) . "'" : "null") . ',';
|
$sql .= ' doc_ref = ' . (isset($this->doc_ref) ? "'" . $this->db->escape($this->doc_ref) . "'" : "null") . ',';
|
||||||
$sql .= ' fk_doc = ' . (isset($this->fk_doc) ? $this->fk_doc : "null") . ',';
|
$sql .= ' fk_doc = ' . (isset($this->fk_doc) ? $this->fk_doc : "null") . ',';
|
||||||
@ -1689,28 +1689,30 @@ class BookKeeping extends CommonObject
|
|||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
if ($direction==0)
|
if ($direction==0)
|
||||||
{
|
{
|
||||||
$next_piecenum=$this->getNextNumMvt();
|
$next_piecenum=$this->getNextNumMvt();
|
||||||
|
$now = dol_now();
|
||||||
|
|
||||||
if ($next_piecenum < 0) {
|
if ($next_piecenum < 0) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element.'(doc_date, doc_type,';
|
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . ' (doc_date, doc_type,';
|
||||||
$sql .= ' doc_ref, fk_doc, fk_docdet, entity, thirdparty_code, subledger_account, subledger_label,';
|
$sql .= ' doc_ref, fk_doc, fk_docdet, entity, thirdparty_code, subledger_account, subledger_label,';
|
||||||
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
||||||
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num)';
|
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num, date_creation)';
|
||||||
$sql .= 'SELECT doc_date, doc_type,';
|
$sql .= ' SELECT doc_date, doc_type,';
|
||||||
$sql .= ' doc_ref, fk_doc, fk_docdet, entity, thirdparty_code, subledger_account, subledger_label,';
|
$sql .= ' doc_ref, fk_doc, fk_docdet, entity, thirdparty_code, subledger_account, subledger_label,';
|
||||||
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
||||||
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, '.$next_piecenum.'';
|
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, ' . $next_piecenum . ", '".$this->db->idate($now)."'";
|
||||||
$sql .= ' FROM '.MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
|
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . '_tmp WHERE piece_num = ' . $this->db->escape($piece_num);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql) {
|
if (! $resql) {
|
||||||
$error ++;
|
$error ++;
|
||||||
$this->errors[] = 'Error ' . $this->db->lasterror();
|
$this->errors[] = 'Error ' . $this->db->lasterror();
|
||||||
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
||||||
}
|
}
|
||||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
|
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element . '_tmp WHERE piece_num = ' . $this->db->escape($piece_num);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql) {
|
if (! $resql) {
|
||||||
$error ++;
|
$error ++;
|
||||||
@ -1718,29 +1720,29 @@ class BookKeeping extends CommonObject
|
|||||||
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
||||||
}
|
}
|
||||||
} elseif ($direction==1) {
|
} elseif ($direction==1) {
|
||||||
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
|
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element . '_tmp WHERE piece_num = ' . $piece_num;
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql) {
|
if (! $resql) {
|
||||||
$error ++;
|
$error ++;
|
||||||
$this->errors[] = 'Error ' . $this->db->lasterror();
|
$this->errors[] = 'Error ' . $this->db->lasterror();
|
||||||
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
||||||
}
|
}
|
||||||
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element.'_tmp(doc_date, doc_type,';
|
$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . '_tmp (doc_date, doc_type,';
|
||||||
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
|
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
|
||||||
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
||||||
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num)';
|
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num)';
|
||||||
$sql .= 'SELECT doc_date, doc_type,';
|
$sql .= ' SELECT doc_date, doc_type,';
|
||||||
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
|
$sql .= ' doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,';
|
||||||
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
$sql .= ' numero_compte, label_compte, label_operation, debit, credit,';
|
||||||
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num';
|
$sql .= ' montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num';
|
||||||
$sql .= ' FROM '.MAIN_DB_PREFIX . $this->table_element.' WHERE piece_num = '.$piece_num;
|
$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element.' WHERE piece_num = ' . $piece_num;
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql) {
|
if (! $resql) {
|
||||||
$error ++;
|
$error ++;
|
||||||
$this->errors[] = 'Error ' . $this->db->lasterror();
|
$this->errors[] = 'Error ' . $this->db->lasterror();
|
||||||
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
|
||||||
}
|
}
|
||||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX . $this->table_element.'_tmp WHERE piece_num = '.$piece_num;
|
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element . '_tmp WHERE piece_num = ' . $piece_num;
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if (! $resql) {
|
if (! $resql) {
|
||||||
$error ++;
|
$error ++;
|
||||||
|
|||||||
@ -374,9 +374,9 @@ if ($result) {
|
|||||||
|
|
||||||
// Ref Product
|
// Ref Product
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($product_static->id)
|
if ($product_static->id > 0) print $product_static->getNomUrl(1);
|
||||||
print $product_static->getNomUrl(1);
|
if ($product_static->id > 0 && $objp->product_label) print '<br>';
|
||||||
if ($objp->product_label) print '<br>'.$objp->product_label;
|
if ($objp->product_label) print $objp->product_label;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td class="tdoverflowonsmartphone">';
|
print '<td class="tdoverflowonsmartphone">';
|
||||||
|
|||||||
@ -319,8 +319,8 @@ if ($result) {
|
|||||||
$arrayofselected=is_array($toselect)?$toselect:array();
|
$arrayofselected=is_array($toselect)?$toselect:array();
|
||||||
|
|
||||||
$param='';
|
$param='';
|
||||||
if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
|
if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage);
|
||||||
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
|
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.urlencode($limit);
|
||||||
if ($search_lineid) $param.='&search_lineid='.urlencode($search_lineid);
|
if ($search_lineid) $param.='&search_lineid='.urlencode($search_lineid);
|
||||||
if ($search_day) $param.='&search_day='.urlencode($search_day);
|
if ($search_day) $param.='&search_day='.urlencode($search_day);
|
||||||
if ($search_month) $param.='&search_month='.urlencode($search_month);
|
if ($search_month) $param.='&search_month='.urlencode($search_month);
|
||||||
@ -330,8 +330,8 @@ if ($result) {
|
|||||||
if ($search_desc) $param.='&search_desc='.urlencode($search_desc);
|
if ($search_desc) $param.='&search_desc='.urlencode($search_desc);
|
||||||
if ($search_amount) $param.='&search_amount='.urlencode($search_amount);
|
if ($search_amount) $param.='&search_amount='.urlencode($search_amount);
|
||||||
if ($search_vat) $param.='&search_vat='.urlencode($search_vat);
|
if ($search_vat) $param.='&search_vat='.urlencode($search_vat);
|
||||||
if ($search_country) $param .= "&search_country=" . urlencode($search_country);
|
if ($search_country) $param.= "&search_country=".urlencode($search_country);
|
||||||
if ($search_tvaintra) $param .= "&search_tvaintra=" . urlencode($search_tvaintra);
|
if ($search_tvaintra) $param.= "&search_tvaintra=".urlencode($search_tvaintra);
|
||||||
|
|
||||||
$arrayofmassactions = array(
|
$arrayofmassactions = array(
|
||||||
'ventil'=>$langs->trans("Ventilate")
|
'ventil'=>$langs->trans("Ventilate")
|
||||||
@ -403,7 +403,7 @@ if ($result) {
|
|||||||
print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "f.datef, f.ref, l.rowid", "", $param, '', $sortfield, $sortorder, 'center ');
|
print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "f.datef, f.ref, l.rowid", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||||
print_liste_field_titre("ProductRef", $_SERVER["PHP_SELF"], "p.ref", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("ProductRef", $_SERVER["PHP_SELF"], "p.ref", "", $param, '', $sortfield, $sortorder);
|
||||||
//print_liste_field_titre("ProductLabel", $_SERVER["PHP_SELF"], "p.label", "", $param, '', $sortfield, $sortorder);
|
//print_liste_field_titre("ProductLabel", $_SERVER["PHP_SELF"], "p.label", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("ProductDescription", $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "l.total_ht", "", $param, '', $sortfield, $sortorder, 'right maxwidth50 ');
|
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "l.total_ht", "", $param, '', $sortfield, $sortorder, 'right maxwidth50 ');
|
||||||
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||||
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
||||||
|
|||||||
@ -45,7 +45,7 @@ require_once DOL_DOCUMENT_ROOT . '/compta/paiement/class/paiement.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT . '/don/class/don.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/don/class/don.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/don/class/paymentdonation.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/don/class/paymentdonation.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/compta/tva/class/tva.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/compta/tva/class/tva.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/compta/salaries/class/paymentsalary.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/salaries/class/paymentsalary.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/fourn/class/paiementfourn.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/fourn/class/paiementfourn.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php';
|
||||||
@ -573,7 +573,14 @@ if (! $error && $action == 'writebookkeeping') {
|
|||||||
{
|
{
|
||||||
$reflabel = '';
|
$reflabel = '';
|
||||||
if (! empty($val['lib'])) $reflabel .= dol_string_nohtmltag($val['lib']) . ($val['soclib']?" - ":"");
|
if (! empty($val['lib'])) $reflabel .= dol_string_nohtmltag($val['lib']) . ($val['soclib']?" - ":"");
|
||||||
$reflabel.= dol_string_nohtmltag($val['soclib']);
|
if ($tabtype[$key] == 'banktransfert')
|
||||||
|
{
|
||||||
|
$reflabel.= dol_string_nohtmltag($langs->transnoentitiesnoconv('TransitionalAccount').' '.$account_transfer);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$reflabel.= dol_string_nohtmltag($val['soclib']);
|
||||||
|
}
|
||||||
|
|
||||||
$bookkeeping = new BookKeeping($db);
|
$bookkeeping = new BookKeeping($db);
|
||||||
$bookkeeping->doc_date = $val["date"];
|
$bookkeeping->doc_date = $val["date"];
|
||||||
@ -702,7 +709,7 @@ if (! $error && $action == 'writebookkeeping') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { // If thirdparty unkown, output the waiting account
|
else { // If thirdparty unknown, output the waiting account
|
||||||
foreach ($tabbq[$key] as $k => $mt) {
|
foreach ($tabbq[$key] as $k => $mt) {
|
||||||
if ($mt)
|
if ($mt)
|
||||||
{
|
{
|
||||||
@ -831,7 +838,6 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
print '"' . $langs->transnoentitiesnoconv("Note") . '"' . $sep;
|
print '"' . $langs->transnoentitiesnoconv("Note") . '"' . $sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
|
|
||||||
|
|
||||||
foreach ($tabpay as $key => $val)
|
foreach ($tabpay as $key => $val)
|
||||||
{
|
{
|
||||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||||
@ -869,7 +875,14 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
{
|
{
|
||||||
$reflabel = '';
|
$reflabel = '';
|
||||||
if (! empty($val['lib'])) $reflabel .= dol_string_nohtmltag($val['lib']) . ($val['soclib']?" - ":"");
|
if (! empty($val['lib'])) $reflabel .= dol_string_nohtmltag($val['lib']) . ($val['soclib']?" - ":"");
|
||||||
$reflabel.= dol_string_nohtmltag($val['soclib']);
|
if ($tabtype[$key] == 'banktransfert')
|
||||||
|
{
|
||||||
|
$reflabel.= dol_string_nohtmltag($langs->transnoentitiesnoconv('TransitionalAccount').' '.$account_transfer);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$reflabel.= dol_string_nohtmltag($val['soclib']);
|
||||||
|
}
|
||||||
|
|
||||||
print '"' . $key . '"' . $sep;
|
print '"' . $key . '"' . $sep;
|
||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
@ -951,7 +964,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
|
|
||||||
$varlink = 'id_journal=' . $id_journal;
|
$varlink = 'id_journal=' . $id_journal;
|
||||||
|
|
||||||
journalHead($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
|
journalHead($nom, '', $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
|
||||||
|
|
||||||
|
|
||||||
// Test that setup is complete
|
// Test that setup is complete
|
||||||
@ -1087,7 +1100,14 @@ if (empty($action) || $action == 'view') {
|
|||||||
{
|
{
|
||||||
$reflabel = '';
|
$reflabel = '';
|
||||||
if (! empty($val['lib'])) $reflabel .= $val['lib'] . ($val['soclib']?" - ":"");
|
if (! empty($val['lib'])) $reflabel .= $val['lib'] . ($val['soclib']?" - ":"");
|
||||||
$reflabel.= $val['soclib'];
|
if ($tabtype[$key] == 'banktransfert')
|
||||||
|
{
|
||||||
|
$reflabel.= $langs->trans('TransitionalAccount').' '.$account_transfer;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$reflabel.= $val['soclib'];
|
||||||
|
}
|
||||||
|
|
||||||
print '<!-- Thirdparty bank.rowid='.$key.' -->';
|
print '<!-- Thirdparty bank.rowid='.$key.' -->';
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
@ -1115,7 +1135,7 @@ if (empty($action) || $action == 'view') {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<span class="warning">'.$langs->trans('UnknownAccountForThirdparty', length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE)).'</span>'; // We will a waiting account
|
print '<span class="warning">'.$langs->trans('UnknownAccountForThirdparty', length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE)).'</span>'; // We will use a waiting account
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -384,9 +384,9 @@ if ($result) {
|
|||||||
|
|
||||||
// Ref product
|
// Ref product
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($product_static->id)
|
if ($product_static->id > 0) print $product_static->getNomUrl(1);
|
||||||
print $product_static->getNomUrl(1);
|
if ($product_static->id > 0 && $objp->product_label) print '<br>';
|
||||||
if ($objp->product_label) print '<br>'.$objp->product_label;
|
if ($objp->product_label) print $objp->product_label;
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Description
|
// Description
|
||||||
|
|||||||
@ -405,7 +405,7 @@ if ($result) {
|
|||||||
print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "f.datef, f.ref, l.rowid", "", $param, '', $sortfield, $sortorder, 'center ');
|
print_liste_field_titre("Date", $_SERVER["PHP_SELF"], "f.datef, f.ref, l.rowid", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||||
print_liste_field_titre("ProductRef", $_SERVER["PHP_SELF"], "p.ref", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("ProductRef", $_SERVER["PHP_SELF"], "p.ref", "", $param, '', $sortfield, $sortorder);
|
||||||
//print_liste_field_titre("ProductLabel", $_SERVER["PHP_SELF"], "p.label", "", $param, '', $sortfield, $sortorder);
|
//print_liste_field_titre("ProductLabel", $_SERVER["PHP_SELF"], "p.label", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("ProductDescription", $_SERVER["PHP_SELF"], "l.description", "", $param, '', $sortfield, $sortorder);
|
||||||
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "l.total_ht", "", $param, '', $sortfield, $sortorder, 'right maxwidth50 ');
|
print_liste_field_titre("Amount", $_SERVER["PHP_SELF"], "l.total_ht", "", $param, '', $sortfield, $sortorder, 'right maxwidth50 ');
|
||||||
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], "l.tva_tx", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||||
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
print_liste_field_titre("Country", $_SERVER["PHP_SELF"], "co.label", "", $param, '', $sortfield, $sortorder);
|
||||||
|
|||||||
@ -653,7 +653,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if (empty($labeltouse) || (int) $labeltouse === -1) {
|
if (empty($labeltouse) || (int) $labeltouse === -1) {
|
||||||
//fallback on the old configuration.
|
//fallback on the old configuration.
|
||||||
setEventMessages('WarningMandatorySetupNotComplete', [], 'errors');
|
setEventMessages('WarningMandatorySetupNotComplete', null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -734,7 +734,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if (empty($labeltouse) || (int) $labeltouse === -1) {
|
if (empty($labeltouse) || (int) $labeltouse === -1) {
|
||||||
//fallback on the old configuration.
|
//fallback on the old configuration.
|
||||||
setEventMessages('WarningMandatorySetupNotComplete', [], 'errors');
|
setEventMessages('WarningMandatorySetupNotComplete', null, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@ -2439,6 +2439,7 @@ class Adherent extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||||
/**
|
/**
|
||||||
* Retourne chaine DN complete dans l'annuaire LDAP pour l'objet
|
* Retourne chaine DN complete dans l'annuaire LDAP pour l'objet
|
||||||
*
|
*
|
||||||
@ -2448,7 +2449,7 @@ class Adherent extends CommonObject
|
|||||||
* 2=Return key only (uid=qqq)
|
* 2=Return key only (uid=qqq)
|
||||||
* @return string DN
|
* @return string DN
|
||||||
*/
|
*/
|
||||||
private function _load_ldap_dn($info, $mode = 0)
|
public function _load_ldap_dn($info, $mode = 0)
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|||||||
@ -229,7 +229,7 @@ if ($search_type) $param.="&search_type=".urlencode($search_type);
|
|||||||
if ($date_select) $param.="&date_select=".urlencode($date_select);
|
if ($date_select) $param.="&date_select=".urlencode($date_select);
|
||||||
if ($search_lastname) $param.="&search_lastname=".urlencode($search_lastname);
|
if ($search_lastname) $param.="&search_lastname=".urlencode($search_lastname);
|
||||||
if ($search_login) $param.="&search_login=".urlencode($search_login);
|
if ($search_login) $param.="&search_login=".urlencode($search_login);
|
||||||
if ($search_acount) $param.="&search_account=".urlencode($search_account);
|
if ($search_account) $param.="&search_account=".urlencode($search_account);
|
||||||
if ($search_amount) $param.="&search_amount=".urlencode($search_amount);
|
if ($search_amount) $param.="&search_amount=".urlencode($search_amount);
|
||||||
if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss);
|
if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss);
|
||||||
// Add $param from extra fields
|
// Add $param from extra fields
|
||||||
|
|||||||
@ -603,7 +603,7 @@ if ($rowid > 0)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Fields title search
|
||||||
print '<tr class="liste_titre_filter">';
|
print '<tr class="liste_titre_filter">';
|
||||||
|
|
||||||
print '<td class="liste_titre left">';
|
print '<td class="liste_titre left">';
|
||||||
|
|||||||
@ -40,7 +40,7 @@ $cancel = GETPOST('cancel', 'alpha');
|
|||||||
$search_event = GETPOST('search_event', 'alpha');
|
$search_event = GETPOST('search_event', 'alpha');
|
||||||
|
|
||||||
// Get list of triggers available
|
// Get list of triggers available
|
||||||
$sql = "SELECT a.rowid, a.code, a.label, a.elementtype";
|
$sql = "SELECT a.rowid, a.code, a.label, a.elementtype, a.rang as position";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a";
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a";
|
||||||
$sql.= " ORDER BY a.rang ASC";
|
$sql.= " ORDER BY a.rang ASC";
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
@ -55,6 +55,7 @@ if ($resql)
|
|||||||
$triggers[$i]['code'] = $obj->code;
|
$triggers[$i]['code'] = $obj->code;
|
||||||
$triggers[$i]['element'] = $obj->elementtype;
|
$triggers[$i]['element'] = $obj->elementtype;
|
||||||
$triggers[$i]['label'] = ($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
|
$triggers[$i]['label'] = ($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
|
||||||
|
$triggers[$i]['position'] = $obj->position;
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -65,6 +66,8 @@ else
|
|||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//$triggers = dol_sort_array($triggers, 'code', 'asc', 0, 0, 1);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
|
|||||||
@ -1622,7 +1622,11 @@ if ($id)
|
|||||||
elseif ($obj->code == 'RECEP') { $iserasable = 0; $canbedisabled = 0; }
|
elseif ($obj->code == 'RECEP') { $iserasable = 0; $canbedisabled = 0; }
|
||||||
elseif ($obj->code == 'EF0') { $iserasable = 0; $canbedisabled = 0; }
|
elseif ($obj->code == 'EF0') { $iserasable = 0; $canbedisabled = 0; }
|
||||||
}
|
}
|
||||||
|
if ($id == 25 && in_array($obj->code, array('banner', 'blogpost', 'other', 'page')))
|
||||||
|
{
|
||||||
|
$iserasable = 0; $canbedisabled = 0;
|
||||||
|
if (in_array($obj->code, array('banner'))) $canbedisabled = 1;
|
||||||
|
}
|
||||||
if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto'))) { $iserasable=0; }
|
if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto'))) { $iserasable=0; }
|
||||||
if (in_array($obj->code, array('AC_OTH','AC_OTH_AUTO')) || in_array($obj->type, array('systemauto'))) { $canbedisabled=0; $canbedisabled = 0; }
|
if (in_array($obj->code, array('AC_OTH','AC_OTH_AUTO')) || in_array($obj->type, array('systemauto'))) { $canbedisabled=0; $canbedisabled = 0; }
|
||||||
$canbemodified=$iserasable;
|
$canbemodified=$iserasable;
|
||||||
@ -1903,6 +1907,9 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
|
|||||||
{
|
{
|
||||||
print '<textarea cols="30" rows="'.ROWS_2.'" class="flat" name="'.$fieldlist[$field].'">'.(! empty($obj->{$fieldlist[$field]})?$obj->{$fieldlist[$field]}:'').'</textarea>';
|
print '<textarea cols="30" rows="'.ROWS_2.'" class="flat" name="'.$fieldlist[$field].'">'.(! empty($obj->{$fieldlist[$field]})?$obj->{$fieldlist[$field]}:'').'</textarea>';
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
print '<input type="hidden" name="'.$fieldlist[$field].'" value="'.$transkey.'">';
|
||||||
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
elseif ($fieldlist[$field] == 'price' || preg_match('/^amount/i', $fieldlist[$field])) {
|
elseif ($fieldlist[$field] == 'price' || preg_match('/^amount/i', $fieldlist[$field])) {
|
||||||
@ -1965,7 +1972,13 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($fieldlist[$field]=='sortorder') $fieldlist[$field]='position';
|
|
||||||
|
$fieldValue = isset($obj->{$fieldlist[$field]})?$obj->{$fieldlist[$field]}:'';
|
||||||
|
|
||||||
|
if ($fieldlist[$field]=='sortorder')
|
||||||
|
{
|
||||||
|
$fieldlist[$field]='position';
|
||||||
|
}
|
||||||
|
|
||||||
$classtd=''; $class='';
|
$classtd=''; $class='';
|
||||||
if ($fieldlist[$field]=='code') $classtd='width100';
|
if ($fieldlist[$field]=='code') $classtd='width100';
|
||||||
@ -1982,7 +1995,7 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
|
|||||||
}
|
}
|
||||||
if ($tabname == MAIN_DB_PREFIX.'c_payment_term') {
|
if ($tabname == MAIN_DB_PREFIX.'c_payment_term') {
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
$transkey="PaymentCondition".strtoupper($obj->code);
|
$transkey="PaymentConditionShort".strtoupper($obj->code);
|
||||||
}
|
}
|
||||||
if ($transkey && $langs->trans($transkey) != $transkey)
|
if ($transkey && $langs->trans($transkey) != $transkey)
|
||||||
{
|
{
|
||||||
@ -1992,8 +2005,11 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
|
|||||||
}
|
}
|
||||||
if (! $transfound)
|
if (! $transfound)
|
||||||
{
|
{
|
||||||
print '<input type="text" class="flat'.($class?' '.$class:'').'" value="'.dol_escape_htmltag(isset($obj->{$fieldlist[$field]})?$obj->{$fieldlist[$field]}:'').'" name="'.$fieldlist[$field].'">';
|
print '<input type="text" class="flat'.($class?' '.$class:'').'" value="'.dol_escape_htmltag($fieldValue).'" name="'.$fieldlist[$field].'">';
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
print '<input type="hidden" name="'.$fieldlist[$field].'" value="'.$transkey.'">';
|
||||||
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -201,6 +201,7 @@ dol_fiche_head($head, 'holiday', $langs->trans("Holidays"), -1, 'holiday');
|
|||||||
|
|
||||||
print load_fiche_titre($langs->trans("HolidaysNumberingModules"), '', '');
|
print load_fiche_titre($langs->trans("HolidaysNumberingModules"), '', '');
|
||||||
|
|
||||||
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td width="100">'.$langs->trans("Name").'</td>';
|
print '<td width="100">'.$langs->trans("Name").'</td>';
|
||||||
@ -294,8 +295,10 @@ foreach ($dirmodels as $reldir)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table><br>';
|
print '</table>';
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
|
||||||
if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
||||||
@ -331,6 +334,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Name").'</td>';
|
print '<td>'.$langs->trans("Name").'</td>';
|
||||||
@ -457,6 +461,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
print '</div>';
|
||||||
print "<br>";
|
print "<br>";
|
||||||
|
|
||||||
|
|
||||||
@ -469,6 +474,8 @@ print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
|||||||
print '<input type="hidden" name="action" value="set_other">';
|
print '<input type="hidden" name="action" value="set_other">';
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("OtherOptions"), '', '');
|
print load_fiche_titre($langs->trans("OtherOptions"), '', '');
|
||||||
|
|
||||||
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||||
@ -506,6 +513,8 @@ print '<input size="50" class="flat" type="text" name="HOLIDAY_DRAFT_WATERMARK"
|
|||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
|
|
||||||
print '<div class="center">';
|
print '<div class="center">';
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Save").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Save").'">';
|
||||||
|
|||||||
@ -60,6 +60,7 @@ if (GETPOST('cancel', 'alpha'))
|
|||||||
|
|
||||||
if ($action == 'removebackgroundlogin' && ! empty($conf->global->MAIN_LOGIN_BACKGROUND))
|
if ($action == 'removebackgroundlogin' && ! empty($conf->global->MAIN_LOGIN_BACKGROUND))
|
||||||
{
|
{
|
||||||
|
dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", (int) $conf->global->MAIN_IHM_PARAMS_REV+1, 'chaine', 0, '', $conf->entity);
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
$logofile=$conf->mycompany->dir_output.'/logos/'.$conf->global->MAIN_LOGIN_BACKGROUND;
|
$logofile=$conf->mycompany->dir_output.'/logos/'.$conf->global->MAIN_LOGIN_BACKGROUND;
|
||||||
@ -81,6 +82,7 @@ if ($action == 'removebackgroundlogin' && ! empty($conf->global->MAIN_LOGIN_BACK
|
|||||||
if ($action == 'update')
|
if ($action == 'update')
|
||||||
{
|
{
|
||||||
dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["MAIN_LANG_DEFAULT"], 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["MAIN_LANG_DEFAULT"], 'chaine', 0, '', $conf->entity);
|
||||||
|
dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", (int) $conf->global->MAIN_IHM_PARAMS_REV+1, 'chaine', 0, '', $conf->entity);
|
||||||
dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["MAIN_MULTILANGS"], 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["MAIN_MULTILANGS"], 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"], 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"], 'chaine', 0, '', $conf->entity);
|
||||||
|
|||||||
@ -526,11 +526,17 @@ else
|
|||||||
print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
print '<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||||
|
|
||||||
// Disable
|
// Disable
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_DISABLE_ALL_MAILS").'</td><td>'.yn($conf->global->MAIN_DISABLE_ALL_MAILS).'</td></tr>';
|
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_DISABLE_ALL_MAILS").'</td><td>'.yn($conf->global->MAIN_DISABLE_ALL_MAILS);
|
||||||
|
if (! empty($conf->global->MAIN_DISABLE_ALL_MAILS)) print img_warning($langs->trans("Disabled"));
|
||||||
|
print '</td></tr>';
|
||||||
|
|
||||||
// Force e-mail recipient
|
// Force e-mail recipient
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_MAIL_FORCE_SENDTO").'</td><td>'.$conf->global->MAIN_MAIL_FORCE_SENDTO;
|
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_MAIL_FORCE_SENDTO").'</td><td>'.$conf->global->MAIN_MAIL_FORCE_SENDTO;
|
||||||
if (! empty($conf->global->MAIN_MAIL_FORCE_SENDTO) && ! isValidEmail($conf->global->MAIN_MAIL_FORCE_SENDTO)) print img_warning($langs->trans("ErrorBadEMail"));
|
if (! empty($conf->global->MAIN_MAIL_FORCE_SENDTO))
|
||||||
|
{
|
||||||
|
if (! isValidEmail($conf->global->MAIN_MAIL_FORCE_SENDTO)) print img_warning($langs->trans("ErrorBadEMail"));
|
||||||
|
else print img_warning($langs->trans("RecipientEmailsWillBeReplacedWithThisValue"));
|
||||||
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
//Add user to select destinaries list
|
//Add user to select destinaries list
|
||||||
|
|||||||
@ -873,6 +873,7 @@ if ($resql)
|
|||||||
// Status / Active
|
// Status / Active
|
||||||
print '<td align="center" class="nowrap">';
|
print '<td align="center" class="nowrap">';
|
||||||
if ($canbedisabled) print '<a href="'.$url.'action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>';
|
if ($canbedisabled) print '<a href="'.$url.'action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>';
|
||||||
|
else print '<span class="opacitymedium">'.$actl[$obj->active].'</span>';
|
||||||
print "</td>";
|
print "</td>";
|
||||||
|
|
||||||
// Modify link / Delete link
|
// Modify link / Delete link
|
||||||
|
|||||||
@ -87,7 +87,8 @@ if ($action == 'update')
|
|||||||
$result=$menu->fetch(GETPOST('menuId', 'int'));
|
$result=$menu->fetch(GETPOST('menuId', 'int'));
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
$menu->titre=GETPOST('titre', 'alpha');
|
$menu->titre=GETPOST('titre', 'alpha'); // deprecated
|
||||||
|
$menu->title=GETPOST('titre', 'alpha');
|
||||||
$menu->leftmenu=GETPOST('leftmenu', 'aZ09');
|
$menu->leftmenu=GETPOST('leftmenu', 'aZ09');
|
||||||
$menu->url=GETPOST('url', 'alpha');
|
$menu->url=GETPOST('url', 'alpha');
|
||||||
$menu->langs=GETPOST('langs', 'alpha');
|
$menu->langs=GETPOST('langs', 'alpha');
|
||||||
@ -205,7 +206,8 @@ if ($action == 'add')
|
|||||||
$menu = new Menubase($db);
|
$menu = new Menubase($db);
|
||||||
$menu->menu_handler=preg_replace('/_menu$/', '', GETPOST('menu_handler', 'aZ09'));
|
$menu->menu_handler=preg_replace('/_menu$/', '', GETPOST('menu_handler', 'aZ09'));
|
||||||
$menu->type=GETPOST('type', 'alpha');
|
$menu->type=GETPOST('type', 'alpha');
|
||||||
$menu->titre=GETPOST('titre', 'alpha');
|
$menu->titre=GETPOST('titre', 'alpha'); // deprecated
|
||||||
|
$menu->title=GETPOST('titre', 'alpha');
|
||||||
$menu->url=GETPOST('url', 'alpha');
|
$menu->url=GETPOST('url', 'alpha');
|
||||||
$menu->langs=GETPOST('langs', 'alpha');
|
$menu->langs=GETPOST('langs', 'alpha');
|
||||||
$menu->position=GETPOST('position', 'int');
|
$menu->position=GETPOST('position', 'int');
|
||||||
@ -494,7 +496,7 @@ elseif ($action == 'edit')
|
|||||||
//print '<tr><td>'.$langs->trans('Level').'</td><td>'.$menu->level.'</td><td>'.$langs->trans('DetailLevel').'</td></tr>';
|
//print '<tr><td>'.$langs->trans('Level').'</td><td>'.$menu->level.'</td><td>'.$langs->trans('DetailLevel').'</td></tr>';
|
||||||
|
|
||||||
// Title
|
// Title
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans('Title').'</td><td><input type="text" class="minwidth300" name="titre" value="'.dol_escape_htmltag($menu->titre).'"></td><td>'.$langs->trans('DetailTitre').'</td></tr>';
|
print '<tr><td class="fieldrequired">'.$langs->trans('Title').'</td><td><input type="text" class="minwidth300" name="titre" value="'.dol_escape_htmltag($menu->titre ? $menu->titre : $menu->title).'"></td><td>'.$langs->trans('DetailTitre').'</td></tr>';
|
||||||
|
|
||||||
// Url
|
// Url
|
||||||
print '<tr><td class="fieldrequired">'.$langs->trans('URL').'</td><td><input type="text" class="quatrevingtpercent" name="url" value="'.$menu->url.'"></td><td>'.$langs->trans('DetailUrl').'</td></tr>';
|
print '<tr><td class="fieldrequired">'.$langs->trans('URL').'</td><td><input type="text" class="quatrevingtpercent" name="url" value="'.$menu->url.'"></td><td>'.$langs->trans('DetailUrl').'</td></tr>';
|
||||||
|
|||||||
@ -244,13 +244,13 @@ print "<br>\n";
|
|||||||
// Confirmation for remove menu entry
|
// Confirmation for remove menu entry
|
||||||
if ($action == 'delete')
|
if ($action == 'delete')
|
||||||
{
|
{
|
||||||
$sql = "SELECT m.titre";
|
$sql = "SELECT m.titre as title";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."menu as m";
|
$sql.= " FROM ".MAIN_DB_PREFIX."menu as m";
|
||||||
$sql.= " WHERE m.rowid = ".GETPOST('menuId', 'int');
|
$sql.= " WHERE m.rowid = ".GETPOST('menuId', 'int');
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
|
|
||||||
print $form->formconfirm("index.php?menu_handler=".$menu_handler."&menuId=".GETPOST('menuId', 'int'), $langs->trans("DeleteMenu"), $langs->trans("ConfirmDeleteMenu", $obj->titre), "confirm_delete");
|
print $form->formconfirm("index.php?menu_handler=".$menu_handler."&menuId=".GETPOST('menuId', 'int'), $langs->trans("DeleteMenu"), $langs->trans("ConfirmDeleteMenu", $obj->title), "confirm_delete");
|
||||||
}
|
}
|
||||||
|
|
||||||
$newcardbutton='';
|
$newcardbutton='';
|
||||||
|
|||||||
@ -900,7 +900,8 @@ if ($mode == 'marketplace')
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
<form method="POST" class="centpercent" id="searchFormList" action="<?php echo $dolistore->url ?>">
|
<form method="POST" class="centpercent" id="searchFormList" action="<?php echo $dolistore->url ?>">
|
||||||
<input type="hidden" name="mode" value="marketplace" />
|
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken'] ?>">
|
||||||
|
<input type="hidden" name="mode" value="marketplace">
|
||||||
<div class="divsearchfield"><?php echo $langs->trans('Keyword') ?>:
|
<div class="divsearchfield"><?php echo $langs->trans('Keyword') ?>:
|
||||||
<input name="search_keyword" placeholder="<?php echo $langs->trans('Chercher un module') ?>" id="search_keyword" type="text" size="50" value="<?php echo $options['search'] ?>"><br>
|
<input name="search_keyword" placeholder="<?php echo $langs->trans('Chercher un module') ?>" id="search_keyword" type="text" size="50" value="<?php echo $options['search'] ?>"><br>
|
||||||
</div>
|
</div>
|
||||||
@ -1026,15 +1027,35 @@ if ($mode == 'deploy')
|
|||||||
|
|
||||||
print $langs->trans("YouCanSubmitFile");
|
print $langs->trans("YouCanSubmitFile");
|
||||||
|
|
||||||
$max=$conf->global->MAIN_UPLOAD_DOC; // En Kb
|
$max=$conf->global->MAIN_UPLOAD_DOC; // In Kb
|
||||||
$maxphp=@ini_get('upload_max_filesize'); // En inconnu
|
$maxphp=@ini_get('upload_max_filesize'); // In unknown
|
||||||
if (preg_match('/k$/i', $maxphp)) $maxphp=$maxphp*1;
|
if (preg_match('/k$/i', $maxphp)) $maxphp=$maxphp*1;
|
||||||
if (preg_match('/m$/i', $maxphp)) $maxphp=$maxphp*1024;
|
if (preg_match('/m$/i', $maxphp)) $maxphp=$maxphp*1024;
|
||||||
if (preg_match('/g$/i', $maxphp)) $maxphp=$maxphp*1024*1024;
|
if (preg_match('/g$/i', $maxphp)) $maxphp=$maxphp*1024*1024;
|
||||||
if (preg_match('/t$/i', $maxphp)) $maxphp=$maxphp*1024*1024*1024;
|
if (preg_match('/t$/i', $maxphp)) $maxphp=$maxphp*1024*1024*1024;
|
||||||
// Now $max and $maxphp are in Kb
|
$maxphp2=@ini_get('post_max_size'); // In unknown
|
||||||
|
if (preg_match('/k$/i', $maxphp2)) $maxphp2=$maxphp2*1;
|
||||||
|
if (preg_match('/m$/i', $maxphp2)) $maxphp2=$maxphp2*1024;
|
||||||
|
if (preg_match('/g$/i', $maxphp2)) $maxphp2=$maxphp2*1024*1024;
|
||||||
|
if (preg_match('/t$/i', $maxphp2)) $maxphp2=$maxphp2*1024*1024*1024;
|
||||||
|
// Now $max and $maxphp and $maxphp2 are in Kb
|
||||||
$maxmin = $max;
|
$maxmin = $max;
|
||||||
if ($maxphp > 0) $maxmin=min($max, $maxphp);
|
$maxphptoshow = $maxphptoshowparam = '';
|
||||||
|
if ($maxphp > 0)
|
||||||
|
{
|
||||||
|
$maxmin=min($max, $maxphp);
|
||||||
|
$maxphptoshow = $maxphp;
|
||||||
|
$maxphptoshowparam = 'upload_max_filesize';
|
||||||
|
}
|
||||||
|
if ($maxphp2 > 0)
|
||||||
|
{
|
||||||
|
$maxmin=min($max, $maxphp2);
|
||||||
|
if ($maxphp2 < $maxphp)
|
||||||
|
{
|
||||||
|
$maxphptoshow = $maxphp2;
|
||||||
|
$maxphptoshowparam = 'post_max_size';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($maxmin > 0)
|
if ($maxmin > 0)
|
||||||
{
|
{
|
||||||
@ -1062,7 +1083,7 @@ if ($mode == 'deploy')
|
|||||||
{
|
{
|
||||||
$langs->load('other');
|
$langs->load('other');
|
||||||
print ' ';
|
print ' ';
|
||||||
print info_admin($langs->trans("ThisLimitIsDefinedInSetup", $max, $maxphp), 1);
|
print info_admin($langs->trans("ThisLimitIsDefinedInSetup", $max, $maxphptoshow, $maxphptoshowparam), 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -220,7 +220,7 @@ print load_fiche_titre($langs->trans("SupplierProposalSetup"), $linkback, 'title
|
|||||||
|
|
||||||
$head = supplier_proposal_admin_prepare_head();
|
$head = supplier_proposal_admin_prepare_head();
|
||||||
|
|
||||||
dol_fiche_head($head, 'general', $langs->trans("CommRequests"), 0, 'supplier_proposal');
|
dol_fiche_head($head, 'general', $langs->trans("CommRequests"), -1, 'supplier_proposal');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Module numerotation
|
* Module numerotation
|
||||||
|
|||||||
@ -70,6 +70,18 @@ else
|
|||||||
}
|
}
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
// Module log
|
||||||
|
print '<br>';
|
||||||
|
print '<strong>'.$langs->trans("Syslog").'</strong>: ';
|
||||||
|
$test=empty($conf->syslog->enabled);
|
||||||
|
if ($test) print img_picto('', 'tick.png').' '.$langs->trans("NotInstalled");
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print img_picto('', 'warning').' '.$langs->trans("ModuleActivated", $langs->transnoentities("Syslog"));
|
||||||
|
//print ' '.$langs->trans("MoreInformation").' <a href="'.DOL_URL_ROOT.'/admin/system/xdebug.php'.'">XDebug admin page</a>';
|
||||||
|
}
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
// Module debugbar
|
// Module debugbar
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '<strong>'.$langs->trans("DebugBar").'</strong>: ';
|
print '<strong>'.$langs->trans("DebugBar").'</strong>: ';
|
||||||
@ -77,7 +89,7 @@ $test=empty($conf->debugbar->enabled);
|
|||||||
if ($test) print img_picto('', 'tick.png').' '.$langs->trans("NotInstalled");
|
if ($test) print img_picto('', 'tick.png').' '.$langs->trans("NotInstalled");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print img_picto('', 'warning').' '.$langs->trans("DebugBarModuleActivated");
|
print img_picto('', 'warning').' '.$langs->trans("ModuleActivated", $langs->transnoentities("DebugBar"));
|
||||||
//print ' '.$langs->trans("MoreInformation").' <a href="'.DOL_URL_ROOT.'/admin/system/xdebug.php'.'">XDebug admin page</a>';
|
//print ' '.$langs->trans("MoreInformation").' <a href="'.DOL_URL_ROOT.'/admin/system/xdebug.php'.'">XDebug admin page</a>';
|
||||||
}
|
}
|
||||||
print '<br>';
|
print '<br>';
|
||||||
@ -110,20 +122,20 @@ $test=function_exists('xcache_info');
|
|||||||
if (! $foundcache && $test)
|
if (! $foundcache && $test)
|
||||||
{
|
{
|
||||||
$foundcache++;
|
$foundcache++;
|
||||||
print img_picto('', 'tick.png').' '.$langs->trans("XCacheInstalled");
|
print img_picto('', 'tick.png').' '.$langs->trans("PHPModuleLoaded", "XCache");
|
||||||
print ' '.$langs->trans("MoreInformation").' <a href="'.DOL_URL_ROOT.'/admin/system/xcache.php'.'">Xcache admin page</a>';
|
print ' '.$langs->trans("MoreInformation").' <a href="'.DOL_URL_ROOT.'/admin/system/xcache.php'.'">Xcache admin page</a>';
|
||||||
}
|
}
|
||||||
$test=function_exists('eaccelerator_info');
|
$test=function_exists('eaccelerator_info');
|
||||||
if (! $foundcache && $test)
|
if (! $foundcache && $test)
|
||||||
{
|
{
|
||||||
$foundcache++;
|
$foundcache++;
|
||||||
print img_picto('', 'tick.png').' '.$langs->trans("EAcceleratorInstalled");
|
print img_picto('', 'tick.png').' '.$langs->trans("PHPModuleLoaded", "Eaccelerator");
|
||||||
}
|
}
|
||||||
$test=function_exists('opcache_get_status');
|
$test=function_exists('opcache_get_status');
|
||||||
if (! $foundcache && $test)
|
if (! $foundcache && $test)
|
||||||
{
|
{
|
||||||
$foundcache++;
|
$foundcache++;
|
||||||
print img_picto('', 'tick.png').' '.$langs->trans("ZendOPCacheInstalled"); // Should be by default starting with PHP 5.5
|
print img_picto('', 'tick.png').' '.$langs->trans("PHPModuleLoaded", "ZendOPCache"); // Should be by default starting with PHP 5.5
|
||||||
//$tmp=opcache_get_status();
|
//$tmp=opcache_get_status();
|
||||||
//var_dump($tmp);
|
//var_dump($tmp);
|
||||||
}
|
}
|
||||||
@ -144,6 +156,21 @@ if (! $foundcache && $test)
|
|||||||
if (! $foundcache) print $langs->trans("NoOPCodeCacheFound");
|
if (! $foundcache) print $langs->trans("NoOPCodeCacheFound");
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
// Use of preload bootstrap
|
||||||
|
if (ini_get('opcache.preload'))
|
||||||
|
{
|
||||||
|
print '<br>';
|
||||||
|
print '<strong>'.$langs->trans("PreloadOPCode").'</strong>: ';
|
||||||
|
print ini_get('opcache.preload');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<br>';
|
||||||
|
print '<strong>'.$langs->trans("PreloadOPCode").'</strong>: ';
|
||||||
|
print $langs->trans("No");
|
||||||
|
}
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
// HTTPCacheStaticResources
|
// HTTPCacheStaticResources
|
||||||
print '<script type="text/javascript" language="javascript">
|
print '<script type="text/javascript" language="javascript">
|
||||||
jQuery(document).ready(function() {
|
jQuery(document).ready(function() {
|
||||||
@ -467,16 +494,46 @@ if ($resql)
|
|||||||
{
|
{
|
||||||
if (empty($conf->global->PRODUCT_DONOTSEARCH_ANYWHERE))
|
if (empty($conf->global->PRODUCT_DONOTSEARCH_ANYWHERE))
|
||||||
{
|
{
|
||||||
print img_picto('', 'warning.png').' '.$langs->trans("YouHaveXProductUseSearchOptim", $nb);
|
print img_picto('', 'warning.png').' '.$langs->trans("YouHaveXObjectUseSearchOptim", $nb, $langs->transnoentitiesnoconv("ProductsOrServices"), 'PRODUCT_DONOTSEARCH_ANYWHERE');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print img_picto('', 'tick.png').' '.$langs->trans("YouHaveXProductAndSearchOptimOn", $nb);
|
print img_picto('', 'tick.png').' '.$langs->trans("YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv("ProductsOrServices"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print img_picto('', 'tick.png').' '.$langs->trans("NbOfProductIsLowerThanNoPb", $nb);
|
print img_picto('', 'tick.png').' '.$langs->trans("NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv("ProductsOrServices"));
|
||||||
|
}
|
||||||
|
print '<br>';
|
||||||
|
$db->free($resql);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Thirdparty search
|
||||||
|
$tab = array();
|
||||||
|
$sql = "SELECT COUNT(*) as nb";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||||
|
$resql=$db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$limitforoptim=10000;
|
||||||
|
$num=$db->num_rows($resql);
|
||||||
|
$obj=$db->fetch_object($resql);
|
||||||
|
$nb=$obj->nb;
|
||||||
|
if ($nb > $limitforoptim)
|
||||||
|
{
|
||||||
|
if (empty($conf->global->THIRDPARTY_DONOTSEARCH_ANYWHERE))
|
||||||
|
{
|
||||||
|
print img_picto('', 'warning.png').' '.$langs->trans("YouHaveXObjectUseSearchOptim", $nb, $langs->transnoentitiesnoconv("ThirdParties"), 'THIRDPARTY_DONOTSEARCH_ANYWHERE');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print img_picto('', 'tick.png').' '.$langs->trans("YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv("ThirdParties"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print img_picto('', 'tick.png').' '.$langs->trans("NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv("ThirdParties"));
|
||||||
}
|
}
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
|
|||||||
@ -48,14 +48,31 @@ if (isset($title))
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Check PHP setup is OK
|
||||||
|
$maxphp=@ini_get('upload_max_filesize'); // In unknown
|
||||||
|
if (preg_match('/k$/i', $maxphp)) $maxphp=$maxphp*1;
|
||||||
|
if (preg_match('/m$/i', $maxphp)) $maxphp=$maxphp*1024;
|
||||||
|
if (preg_match('/g$/i', $maxphp)) $maxphp=$maxphp*1024*1024;
|
||||||
|
if (preg_match('/t$/i', $maxphp)) $maxphp=$maxphp*1024*1024*1024;
|
||||||
|
$maxphp2=@ini_get('post_max_size'); // In unknown
|
||||||
|
if (preg_match('/k$/i', $maxphp2)) $maxphp2=$maxphp2*1;
|
||||||
|
if (preg_match('/m$/i', $maxphp2)) $maxphp2=$maxphp2*1024;
|
||||||
|
if (preg_match('/g$/i', $maxphp2)) $maxphp2=$maxphp2*1024*1024;
|
||||||
|
if (preg_match('/t$/i', $maxphp2)) $maxphp2=$maxphp2*1024*1024*1024;
|
||||||
|
if ($maxphp > 0 && $maxphp2 > 0 && $maxphp > $maxphp2)
|
||||||
|
{
|
||||||
|
$langs->load("errors");
|
||||||
|
print info_admin($langs->trans("WarningParamUploadMaxFileSizeHigherThanPostMaxSize", @ini_get('upload_max_filesize'), @ini_get('post_max_size')), 0, 0, 0, 'warning');
|
||||||
|
print '<br>';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
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("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||||
print "\n";
|
print "\n";
|
||||||
|
|
||||||
$var=false;
|
|
||||||
|
|
||||||
// Recupere la version de PHP
|
// Get PHP version
|
||||||
$phpversion=version_php();
|
$phpversion=version_php();
|
||||||
print '<tr class="oddeven"><td width="220px">'.$langs->trans("Version")."</td><td>".$phpversion."</td></tr>\n";
|
print '<tr class="oddeven"><td width="220px">'.$langs->trans("Version")."</td><td>".$phpversion."</td></tr>\n";
|
||||||
|
|
||||||
|
|||||||
@ -185,12 +185,6 @@ if ($action == 'setvarother') {
|
|||||||
if (!$res > 0) {
|
if (!$res > 0) {
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$param_auto_assign = GETPOST('TICKET_AUTO_ASSIGN_USER_CREATE', 'alpha');
|
|
||||||
$res = dolibarr_set_const($db, 'TICKET_AUTO_ASSIGN_USER_CREATE', $param_auto_assign, 'chaine', 0, '', $conf->entity);
|
|
||||||
if (!$res > 0) {
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -260,7 +254,7 @@ if (! empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE))
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Check if email exists
|
// Check if email exists
|
||||||
print '<tr class="pair"><td width="70%">' . $langs->trans("TicketsEmailMustExist") . '</td>';
|
print '<tr class="oddeven"><td>' . $langs->trans("TicketsEmailMustExist") . '</td>';
|
||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('TICKET_EMAIL_MUST_EXISTS');
|
print ajax_constantonoff('TICKET_EMAIL_MUST_EXISTS');
|
||||||
@ -277,7 +271,7 @@ if (! empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE))
|
|||||||
/*if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
/*if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
||||||
{
|
{
|
||||||
// Show logo for module
|
// Show logo for module
|
||||||
print '<tr class="pair"><td width="70%">' . $langs->trans("TicketsShowModuleLogo") . '</td>';
|
print '<tr class="oddeven"><td>' . $langs->trans("TicketsShowModuleLogo") . '</td>';
|
||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('TICKET_SHOW_MODULE_LOGO');
|
print ajax_constantonoff('TICKET_SHOW_MODULE_LOGO');
|
||||||
@ -293,7 +287,7 @@ if (! empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE))
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
// Show logo for company
|
// Show logo for company
|
||||||
print '<tr class="pair"><td width="70%">' . $langs->trans("TicketsShowCompanyLogo") . '</td>';
|
print '<tr class="oddeven"><td>' . $langs->trans("TicketsShowCompanyLogo") . '</td>';
|
||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('TICKET_SHOW_COMPANY_LOGO');
|
print ajax_constantonoff('TICKET_SHOW_COMPANY_LOGO');
|
||||||
@ -310,7 +304,7 @@ if (! empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE))
|
|||||||
// Also send to main email address
|
// Also send to main email address
|
||||||
if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
||||||
{
|
{
|
||||||
print '<tr class="pair"><td width="70%">' . $langs->trans("TicketsEmailAlsoSendToMainAddress") . '</td>';
|
print '<tr class="oddeven"><td>' . $langs->trans("TicketsEmailAlsoSendToMainAddress") . '</td>';
|
||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
if ($conf->use_javascript_ajax) {
|
if ($conf->use_javascript_ajax) {
|
||||||
print ajax_constantonoff('TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS');
|
print ajax_constantonoff('TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS');
|
||||||
@ -330,21 +324,6 @@ if (! empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE))
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auto assign ticket at user who created it
|
|
||||||
print '<tr class="pair"><td width="70%">' . $langs->trans("TicketsAutoAssignTicket") . '</td>';
|
|
||||||
print '<td class="left">';
|
|
||||||
if ($conf->use_javascript_ajax) {
|
|
||||||
print ajax_constantonoff('TICKET_AUTO_ASSIGN_USER_CREATE');
|
|
||||||
} else {
|
|
||||||
$arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
|
|
||||||
print $form->selectarray("TICKET_AUTO_ASSIGN_USER_CREATE", $arrval, $conf->global->TICKET_AUTO_ASSIGN_USER_CREATE);
|
|
||||||
}
|
|
||||||
print '</td>';
|
|
||||||
print '<td align="center">';
|
|
||||||
print $form->textwithpicto('', $langs->trans("TicketsAutoAssignTicketHelp"), 1, 'help');
|
|
||||||
print '</td>';
|
|
||||||
print '</tr>';
|
|
||||||
|
|
||||||
print '</table><br>';
|
print '</table><br>';
|
||||||
|
|
||||||
if (!$conf->use_javascript_ajax) {
|
if (!$conf->use_javascript_ajax) {
|
||||||
|
|||||||
@ -233,7 +233,7 @@ if ($result)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="liste" width="100%">';
|
print '<table class="liste" width="100%">';
|
||||||
|
|
||||||
// Lignes des champs de filtres
|
// Fields title search
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|
||||||
print '<td class="liste_titre" width="15%">'.$form->selectDate($date_start, 'date_start', 0, 0, 0, '', 1, 0).$form->selectDate($date_end, 'date_end', 0, 0, 0, '', 1, 0).'</td>';
|
print '<td class="liste_titre" width="15%">'.$form->selectDate($date_start, 'date_start', 0, 0, 0, '', 1, 0).$form->selectDate($date_end, 'date_end', 0, 0, 0, '', 1, 0).'</td>';
|
||||||
|
|||||||
@ -143,7 +143,6 @@ class DolibarrApi
|
|||||||
unset($object->picto);
|
unset($object->picto);
|
||||||
|
|
||||||
unset($object->fieldsforcombobox);
|
unset($object->fieldsforcombobox);
|
||||||
unset($object->comments);
|
|
||||||
|
|
||||||
unset($object->skip_update_total);
|
unset($object->skip_update_total);
|
||||||
unset($object->context);
|
unset($object->context);
|
||||||
|
|||||||
@ -495,7 +495,7 @@ if (is_array($blocks))
|
|||||||
print '<td'.(preg_match('/<a/', $object_link) ? ' class="nowrap"' : '').'><!-- object_link -->'.$object_link.'</td>';
|
print '<td'.(preg_match('/<a/', $object_link) ? ' class="nowrap"' : '').'><!-- object_link -->'.$object_link.'</td>';
|
||||||
|
|
||||||
// Amount
|
// Amount
|
||||||
print '<td class="right">'.price($block->amounts).'</td>';
|
print '<td class="right nowraponall">'.price($block->amounts).'</td>';
|
||||||
|
|
||||||
// Details link
|
// Details link
|
||||||
print '<td align="center"><a href="#" data-blockid="'.$block->id.'" rel="show-info">'.img_info($langs->trans('ShowDetails')).'</a></td>';
|
print '<td align="center"><a href="#" data-blockid="'.$block->id.'" rel="show-info">'.img_info($langs->trans('ShowDetails')).'</a></td>';
|
||||||
|
|||||||
@ -889,7 +889,7 @@ class BOM extends CommonObject
|
|||||||
$this->lines=array();
|
$this->lines=array();
|
||||||
|
|
||||||
$objectline = new BOMLine($this->db);
|
$objectline = new BOMLine($this->db);
|
||||||
$result = $objectline->fetchAll('ASC', 'rank', 0, 0, array('customsql'=>'fk_bom = '.$this->id));
|
$result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_bom = '.$this->id));
|
||||||
|
|
||||||
if (is_numeric($result))
|
if (is_numeric($result))
|
||||||
{
|
{
|
||||||
@ -1044,7 +1044,7 @@ class BOMLine extends CommonObject
|
|||||||
'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>-1, 'position'=>60, 'notnull'=>-1,),
|
'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>-1, 'position'=>60, 'notnull'=>-1,),
|
||||||
'qty' => array('type'=>'double(24,8)', 'label'=>'Quantity', 'enabled'=>1, 'visible'=>1, 'position'=>100, 'notnull'=>1, 'isameasure'=>'1',),
|
'qty' => array('type'=>'double(24,8)', 'label'=>'Quantity', 'enabled'=>1, 'visible'=>1, 'position'=>100, 'notnull'=>1, 'isameasure'=>'1',),
|
||||||
'efficiency' => array('type'=>'double(8,4)', 'label'=>'ManufacturingEfficiency', 'enabled'=>1, 'visible'=>1, 'default'=>1, 'position'=>110, 'notnull'=>1, 'css'=>'maxwidth50imp', 'help'=>'ValueOfMeansLoss'),
|
'efficiency' => array('type'=>'double(8,4)', 'label'=>'ManufacturingEfficiency', 'enabled'=>1, 'visible'=>1, 'default'=>1, 'position'=>110, 'notnull'=>1, 'css'=>'maxwidth50imp', 'help'=>'ValueOfMeansLoss'),
|
||||||
'rank' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>1, 'visible'=>0, 'position'=>200, 'notnull'=>1,),
|
'position' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>1, 'visible'=>0, 'position'=>200, 'notnull'=>1,),
|
||||||
'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>1000, 'notnull'=>-1,),
|
'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>1000, 'notnull'=>-1,),
|
||||||
);
|
);
|
||||||
public $rowid;
|
public $rowid;
|
||||||
@ -1053,7 +1053,7 @@ class BOMLine extends CommonObject
|
|||||||
public $description;
|
public $description;
|
||||||
public $qty;
|
public $qty;
|
||||||
public $efficiency;
|
public $efficiency;
|
||||||
public $rank;
|
public $position;
|
||||||
public $import_key;
|
public $import_key;
|
||||||
// END MODULEBUILDER PROPERTIES
|
// END MODULEBUILDER PROPERTIES
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
* Copyright (C) 2014 Cedric GROSS <c.gross@kreiz-it.fr>
|
* Copyright (C) 2014 Cedric GROSS <c.gross@kreiz-it.fr>
|
||||||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||||
|
* Copyright (C) 2019 Ferran Marcet <fmarcet@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -252,7 +253,10 @@ if ($action == 'add')
|
|||||||
{
|
{
|
||||||
$object->label = $langs->transnoentitiesnoconv("Action".$object->type_code)."\n";
|
$object->label = $langs->transnoentitiesnoconv("Action".$object->type_code)."\n";
|
||||||
}
|
}
|
||||||
else $object->label = $cactioncomm->libelle;
|
else {
|
||||||
|
$cactioncomm->fetch($object->type_code);
|
||||||
|
$object->label = $cactioncomm->label;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$object->fk_project = isset($_POST["projectid"])?$_POST["projectid"]:0;
|
$object->fk_project = isset($_POST["projectid"])?$_POST["projectid"]:0;
|
||||||
|
|||||||
@ -43,7 +43,7 @@ $action=GETPOST('action', 'alpha');
|
|||||||
$contextpage=GETPOST('contextpage', 'aZ')?GETPOST('contextpage', 'aZ'):'actioncommlist'; // To manage different context of search
|
$contextpage=GETPOST('contextpage', 'aZ')?GETPOST('contextpage', 'aZ'):'actioncommlist'; // To manage different context of search
|
||||||
$resourceid=GETPOST("search_resourceid", "int")?GETPOST("search_resourceid", "int"):GETPOST("resourceid", "int");
|
$resourceid=GETPOST("search_resourceid", "int")?GETPOST("search_resourceid", "int"):GETPOST("resourceid", "int");
|
||||||
$pid=GETPOST("search_projectid", 'int', 3)?GETPOST("search_projectid", 'int', 3):GETPOST("projectid", 'int', 3);
|
$pid=GETPOST("search_projectid", 'int', 3)?GETPOST("search_projectid", 'int', 3):GETPOST("projectid", 'int', 3);
|
||||||
$status=GETPOST("search_status", 'alpha')?GETPOST("search_status", 'alpha'):GETPOST("status", 'alpha');
|
$status=(GETPOST("search_status", 'alpha') != '')?GETPOST("search_status", 'alpha'):GETPOST("status", 'alpha');
|
||||||
$type=GETPOST('search_type', 'alphanohtml')?GETPOST('search_type', 'alphanohtml'):GETPOST('type', 'alphanohtml');
|
$type=GETPOST('search_type', 'alphanohtml')?GETPOST('search_type', 'alphanohtml'):GETPOST('type', 'alphanohtml');
|
||||||
$optioncss = GETPOST('optioncss', 'alpha');
|
$optioncss = GETPOST('optioncss', 'alpha');
|
||||||
$year=GETPOST("year", 'int');
|
$year=GETPOST("year", 'int');
|
||||||
@ -526,6 +526,7 @@ if ($resql)
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/comm/action/class/cactioncomm.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/comm/action/class/cactioncomm.class.php';
|
||||||
$caction=new CActionComm($db);
|
$caction=new CActionComm($db);
|
||||||
$arraylist=$caction->liste_array(1, 'code', '', (empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:0), '', 1);
|
$arraylist=$caction->liste_array(1, 'code', '', (empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:0), '', 1);
|
||||||
|
$contactListCache = array();
|
||||||
|
|
||||||
while ($i < min($num, $limit))
|
while ($i < min($num, $limit))
|
||||||
{
|
{
|
||||||
@ -645,7 +646,34 @@ if ($resql)
|
|||||||
// Contact
|
// Contact
|
||||||
if (! empty($arrayfields['a.fk_contact']['checked'])) {
|
if (! empty($arrayfields['a.fk_contact']['checked'])) {
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($obj->fk_contact > 0)
|
|
||||||
|
|
||||||
|
$actionstatic->fetchResources();
|
||||||
|
if(!empty($actionstatic->socpeopleassigned))
|
||||||
|
{
|
||||||
|
$contactList = array();
|
||||||
|
foreach ($actionstatic->socpeopleassigned as $socpeopleId => $socpeopleassigned)
|
||||||
|
{
|
||||||
|
if(!isset($contactListCache[$socpeopleassigned['id']]))
|
||||||
|
{
|
||||||
|
// if no cache found we fetch it
|
||||||
|
$contact = new Contact($db);
|
||||||
|
if($contact->fetch($socpeopleassigned['id'])>0)
|
||||||
|
{
|
||||||
|
$contactListCache[$socpeopleassigned['id']] = $contact->getNomUrl(1, '', 28);
|
||||||
|
$contactList[] = $contact->getNomUrl(1, '', 28);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
// use cache
|
||||||
|
$contactList[] = $contactListCache[$socpeopleassigned['id']];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!empty($contactList)){
|
||||||
|
print implode(', ', $contactList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($obj->fk_contact > 0) //keep for retrocompatibility with faraway event
|
||||||
{
|
{
|
||||||
$contactstatic->id=$obj->fk_contact;
|
$contactstatic->id=$obj->fk_contact;
|
||||||
$contactstatic->email=$obj->email;
|
$contactstatic->email=$obj->email;
|
||||||
|
|||||||
@ -1330,9 +1330,9 @@ class Propal extends CommonObject
|
|||||||
// Hook of thirdparty module
|
// Hook of thirdparty module
|
||||||
if (is_object($hookmanager))
|
if (is_object($hookmanager))
|
||||||
{
|
{
|
||||||
$parameters=array('objFrom'=>$this,'clonedObj'=>$clonedObj);
|
$parameters=array('objFrom'=>$this,'clonedObj'=>$object);
|
||||||
$action='';
|
$action='';
|
||||||
$reshook=$hookmanager->executeHooks('createFrom', $parameters, $clonedObj, $action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||||
if ($reshook < 0) $error++;
|
if ($reshook < 0) $error++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -446,7 +446,7 @@ if ($resql)
|
|||||||
$newcardbutton.= dolGetButtonTitle($langs->trans('NewPropal'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/comm/propal/card.php?action=create');
|
$newcardbutton.= dolGetButtonTitle($langs->trans('NewPropal'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/comm/propal/card.php?action=create');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Fields title search
|
||||||
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
|
print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
|
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
|||||||
@ -43,7 +43,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock'];
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->load("propal");
|
$langs->load("propal");
|
||||||
|
|
||||||
$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc');
|
$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc', 0, 0, 1);
|
||||||
|
|
||||||
$total=0; $ilink=0;
|
$total=0; $ilink=0;
|
||||||
foreach($linkedObjectBlock as $key => $objectlink)
|
foreach($linkedObjectBlock as $key => $objectlink)
|
||||||
|
|||||||
@ -1519,11 +1519,11 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
if ($element == 'order' || $element == 'commande') {
|
if ($element == 'order' || $element == 'commande') {
|
||||||
$element = $subelement = 'commande';
|
$element = $subelement = 'commande';
|
||||||
}
|
}
|
||||||
if ($element == 'propal') {
|
elseif ($element == 'propal') {
|
||||||
$element = 'comm/propal';
|
$element = 'comm/propal';
|
||||||
$subelement = 'propal';
|
$subelement = 'propal';
|
||||||
}
|
}
|
||||||
if ($element == 'contract') {
|
elseif ($element == 'contract') {
|
||||||
$element = $subelement = 'contrat';
|
$element = $subelement = 'contrat';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2116,7 +2116,7 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
print '<div class="fichehalfleft">';
|
print '<div class="fichehalfleft">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
print '<table class="border tableforfield" width="100%">';
|
print '<table class="border tableforfield centpercent">';
|
||||||
|
|
||||||
if ($soc->outstanding_limit)
|
if ($soc->outstanding_limit)
|
||||||
{
|
{
|
||||||
@ -2454,7 +2454,7 @@ if ($action == 'create' && $user->rights->commande->creer)
|
|||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '</div>';
|
print '</div>'; // Close fichecenter
|
||||||
|
|
||||||
print '<div class="clearboth"></div><br>';
|
print '<div class="clearboth"></div><br>';
|
||||||
|
|
||||||
|
|||||||
@ -133,7 +133,7 @@ if ($resql)
|
|||||||
print_liste_field_titre("DateCreation", $_SERVER["PHP_SELF"], "datec", $addu, "", 'class="right"', $sortfield, $sortorder);
|
print_liste_field_titre("DateCreation", $_SERVER["PHP_SELF"], "datec", $addu, "", 'class="right"', $sortfield, $sortorder);
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Fields title search
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|
||||||
print '<td align="left" class="liste_titre">';
|
print '<td align="left" class="liste_titre">';
|
||||||
|
|||||||
@ -615,7 +615,7 @@ if (($action != 'create' && $action != 'add') || ($action == 'create' && $error)
|
|||||||
print_liste_field_titre('GenerateBill', '', '', '', '', 'align="center"');
|
print_liste_field_titre('GenerateBill', '', '', '', '', 'align="center"');
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Fields title search
|
||||||
print '<form method="get" action="orderstoinvoice.php">';
|
print '<form method="get" action="orderstoinvoice.php">';
|
||||||
print '<input type="hidden" name="socid" value="'.$socid.'">';
|
print '<input type="hidden" name="socid" value="'.$socid.'">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|||||||
@ -39,7 +39,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock'];
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->load("orders");
|
$langs->load("orders");
|
||||||
|
|
||||||
$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc');
|
$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc', 0, 0, 1);
|
||||||
|
|
||||||
$total=0; $ilink=0;
|
$total=0; $ilink=0;
|
||||||
foreach($linkedObjectBlock as $key => $objectlink)
|
foreach($linkedObjectBlock as $key => $objectlink)
|
||||||
|
|||||||
@ -26,13 +26,13 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
|
||||||
|
|
||||||
$langs->loadLangs(array("accountancy", "bills", "companies", "salaries"));
|
$langs->loadLangs(array("accountancy", "bills", "companies", "salaries", "compta"));
|
||||||
|
|
||||||
$date_start =GETPOST('date_start', 'alpha');
|
$date_start =GETPOST('date_start', 'alpha');
|
||||||
$date_startDay= GETPOST('date_startday', 'int');
|
$date_startDay= GETPOST('date_startday', 'int');
|
||||||
@ -503,9 +503,9 @@ if (!empty($date_start) && !empty($date_stop))
|
|||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
print '<td align="right">'.price($totalET).'</td>';
|
print '<td align="right">'.price(price2num($totalET, 'MT')).'</td>';
|
||||||
print '<td align="right">'.price($totalIT).'</td>';
|
print '<td align="right">'.price(price2num($totalIT, 'MT')).'</td>';
|
||||||
print '<td align="right">'.price($totalVAT).'</td>';
|
print '<td align="right">'.price(price2num($totalVAT, 'MT')).'</td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
print '<td></td>';
|
print '<td></td>';
|
||||||
|
|||||||
@ -43,7 +43,7 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php';
|
||||||
@ -603,12 +603,13 @@ if ($resql)
|
|||||||
print $langs->trans("EventualyAddCategory").': ';
|
print $langs->trans("EventualyAddCategory").': ';
|
||||||
print Form::selectarray('cat', $options, GETPOST('cat'), 1);
|
print Form::selectarray('cat', $options, GETPOST('cat'), 1);
|
||||||
}
|
}
|
||||||
print '<br>'.$langs->trans("ThenCheckLinesAndConciliate").' ';
|
print '<br><div style="margin-top: 5px;">'.$langs->trans("ThenCheckLinesAndConciliate").' ';
|
||||||
print '<input class="button" name="confirm_savestatement" type="submit" value="'.$langs->trans("SaveStatementOnly").'">';
|
print '<input class="button" name="confirm_savestatement" type="submit" value="'.$langs->trans("SaveStatementOnly").'">';
|
||||||
print ' '.$langs->trans("or").' ';
|
print ' '.$langs->trans("or").' ';
|
||||||
print '<input class="button" name="confirm_reconcile" type="submit" value="'.$langs->trans("Conciliate").'">';
|
print '<input class="button" name="confirm_reconcile" type="submit" value="'.$langs->trans("Conciliate").'">';
|
||||||
print ' '.$langs->trans("or").' ';
|
print ' '.$langs->trans("or").' ';
|
||||||
print '<input type="submit" name="cancel" class="button" value="'.$langs->trans("Cancel").'">';
|
print '<input type="submit" name="cancel" class="button" value="'.$langs->trans("Cancel").'">';
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
// Show last bank statements
|
// Show last bank statements
|
||||||
$nbmax=15; // We accept to show last 15 receipts (so we can have more than one year)
|
$nbmax=15; // We accept to show last 15 receipts (so we can have more than one year)
|
||||||
@ -617,7 +618,7 @@ if ($resql)
|
|||||||
$sql.= " WHERE fk_account=".$object->id." AND num_releve IS NOT NULL";
|
$sql.= " WHERE fk_account=".$object->id." AND num_releve IS NOT NULL";
|
||||||
$sql.= $db->order("num_releve", "DESC");
|
$sql.= $db->order("num_releve", "DESC");
|
||||||
$sql.= $db->plimit($nbmax+1);
|
$sql.= $db->plimit($nbmax+1);
|
||||||
print '<br><br>';
|
print '<br>';
|
||||||
print $langs->trans("LastAccountStatements").' : ';
|
print $langs->trans("LastAccountStatements").' : ';
|
||||||
$resqlr=$db->query($sql);
|
$resqlr=$db->query($sql);
|
||||||
if ($resqlr)
|
if ($resqlr)
|
||||||
@ -1115,7 +1116,7 @@ if ($resql)
|
|||||||
if (! empty($arrayfields['b.rowid']['checked']))
|
if (! empty($arrayfields['b.rowid']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="nowrap left">';
|
print '<td class="nowrap left">';
|
||||||
print "<a href=\"ligne.php?rowid=".$objp->rowid.'&save_lastsearch_values=1">'.img_object($langs->trans("ShowPayment").': '.$objp->rowid, 'account', 'class="classfortooltip"').' '.$objp->rowid."</a> ";
|
print "<a href=\"line.php?rowid=".$objp->rowid.'&save_lastsearch_values=1">'.img_object($langs->trans("ShowPayment").': '.$objp->rowid, 'account', 'class="classfortooltip"').' '.$objp->rowid."</a> ";
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
@ -1125,7 +1126,7 @@ if ($resql)
|
|||||||
{
|
{
|
||||||
print "<td>";
|
print "<td>";
|
||||||
|
|
||||||
//print "<a href=\"ligne.php?rowid=".$objp->rowid."&account=".$objp->fk_account."\">";
|
//print "<a href=\"line.php?rowid=".$objp->rowid."&account=".$objp->fk_account."\">";
|
||||||
$reg=array();
|
$reg=array();
|
||||||
preg_match('/\((.+)\)/i', $objp->label, $reg); // Si texte entoure de parenthee on tente recherche de traduction
|
preg_match('/\((.+)\)/i', $objp->label, $reg); // Si texte entoure de parenthee on tente recherche de traduction
|
||||||
if ($reg[1] && $langs->trans($reg[1])!=$reg[1]) print $langs->trans($reg[1]);
|
if ($reg[1] && $langs->trans($reg[1])!=$reg[1]) print $langs->trans($reg[1]);
|
||||||
@ -1458,7 +1459,7 @@ if ($resql)
|
|||||||
// Transaction reconciliated or edit link
|
// Transaction reconciliated or edit link
|
||||||
if ($objp->conciliated && $bankaccount->canBeConciliated() > 0) // If line not conciliated and account can be conciliated
|
if ($objp->conciliated && $bankaccount->canBeConciliated() > 0) // If line not conciliated and account can be conciliated
|
||||||
{
|
{
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?save_lastsearch_values=1&rowid='.$objp->rowid.'&account='.$objp->bankid.'&page='.$page.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/bank/line.php?save_lastsearch_values=1&rowid='.$objp->rowid.'&account='.$objp->bankid.'&page='.$page.'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
@ -1466,13 +1467,13 @@ if ($resql)
|
|||||||
{
|
{
|
||||||
if ($user->rights->banque->modifier || $user->rights->banque->consolidate)
|
if ($user->rights->banque->modifier || $user->rights->banque->consolidate)
|
||||||
{
|
{
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?save_lastsearch_values=1&rowid='.$objp->rowid.'&account='.$objp->bankid.'&page='.$page.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/bank/line.php?save_lastsearch_values=1&rowid='.$objp->rowid.'&account='.$objp->bankid.'&page='.$page.'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?save_lastsearch_values=1&rowid='.$objp->rowid.'&account='.$objp->bankid.'&page='.$page.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/bank/line.php?save_lastsearch_values=1&rowid='.$objp->rowid.'&account='.$objp->bankid.'&page='.$page.'">';
|
||||||
print img_view();
|
print img_view();
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2277,7 +2277,7 @@ class AccountLine extends CommonObject
|
|||||||
|
|
||||||
$result='';
|
$result='';
|
||||||
$label=$langs->trans("ShowTransaction").': '.$this->rowid;
|
$label=$langs->trans("ShowTransaction").': '.$this->rowid;
|
||||||
$linkstart = '<a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$this->rowid.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
|
$linkstart = '<a href="'.DOL_URL_ROOT.'/compta/bank/line.php?rowid='.$this->rowid.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
|
||||||
$linkend='</a>';
|
$linkend='</a>';
|
||||||
|
|
||||||
$result .= $linkstart;
|
$result .= $linkstart;
|
||||||
|
|||||||
@ -45,7 +45,7 @@ $object->info($id);
|
|||||||
|
|
||||||
$h=0;
|
$h=0;
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$id;
|
$head[$h][0] = DOL_URL_ROOT.'/compta/bank/line.php?rowid='.$id;
|
||||||
$head[$h][1] = $langs->trans("Card");
|
$head[$h][1] = $langs->trans("Card");
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/compta/bank/ligne.php
|
* \file htdocs/compta/bank/line.php
|
||||||
* \ingroup bank
|
* \ingroup bank
|
||||||
* \brief Page to edit a bank transaction record
|
* \brief Page to edit a bank transaction record
|
||||||
*/
|
*/
|
||||||
@ -223,7 +223,7 @@ if ($user->rights->banque->consolidate && ($action == 'num_releve' || $action ==
|
|||||||
else $sql.=", rappro = ".$rappro;
|
else $sql.=", rappro = ".$rappro;
|
||||||
$sql.= " WHERE rowid = ".$rowid;
|
$sql.= " WHERE rowid = ".$rowid;
|
||||||
|
|
||||||
dol_syslog("ligne.php", LOG_DEBUG);
|
dol_syslog("line.php", LOG_DEBUG);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -256,7 +256,7 @@ foreach ($cats as $cat) {
|
|||||||
|
|
||||||
$tabs = array(
|
$tabs = array(
|
||||||
array(
|
array(
|
||||||
DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$rowid,
|
DOL_URL_ROOT.'/compta/bank/line.php?rowid='.$rowid,
|
||||||
$langs->trans('Card')
|
$langs->trans('Card')
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
@ -416,7 +416,7 @@ if ($result)
|
|||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
elseif ($links[$key]['type']=='banktransfert') {
|
elseif ($links[$key]['type']=='banktransfert') {
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$links[$key]['url_id'].'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/bank/line.php?rowid='.$links[$key]['url_id'].'">';
|
||||||
print img_object($langs->trans('ShowTransaction'), 'payment').' ';
|
print img_object($langs->trans('ShowTransaction'), 'payment').' ';
|
||||||
print $langs->trans("TransactionOnTheOtherAccount");
|
print $langs->trans("TransactionOnTheOtherAccount");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
@ -415,7 +415,7 @@ if (empty($numref))
|
|||||||
if ($object->canBeConciliated() > 0) {
|
if ($object->canBeConciliated() > 0) {
|
||||||
// If not cash account and can be reconciliate
|
// If not cash account and can be reconciliate
|
||||||
if ($user->rights->banque->consolidate) {
|
if ($user->rights->banque->consolidate) {
|
||||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?action=reconcile&search_conciliated=0'.$param.'">'.$langs->trans("Conciliate").'</a>';
|
print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?action=reconcile&sortfield=b.datev,b.dateo,b.rowid&sortorder=asc,asc,asc&search_conciliated=0&search_account='.$id.$param.'">'.$langs->trans("Conciliate").'</a>';
|
||||||
} else {
|
} else {
|
||||||
print '<a class="butActionRefused classfortooltip" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
print '<a class="butActionRefused classfortooltip" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
|
||||||
}
|
}
|
||||||
@ -616,7 +616,7 @@ else
|
|||||||
print '<td class="nowrap">'.$type_label.' '.($objp->num_chq?$objp->num_chq:'').$link.'</td>';
|
print '<td class="nowrap">'.$type_label.' '.($objp->num_chq?$objp->num_chq:'').$link.'</td>';
|
||||||
|
|
||||||
// Description
|
// Description
|
||||||
print '<td valign="center"><a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$objp->rowid.'&account='.$object->id.'">';
|
print '<td valign="center"><a href="'.DOL_URL_ROOT.'/compta/bank/line.php?rowid='.$objp->rowid.'&account='.$object->id.'">';
|
||||||
$reg=array();
|
$reg=array();
|
||||||
preg_match('/\((.+)\)/i', $objp->label, $reg); // Si texte entoure de parenthese on tente recherche de traduction
|
preg_match('/\((.+)\)/i', $objp->label, $reg); // Si texte entoure de parenthese on tente recherche de traduction
|
||||||
if ($reg[1] && $langs->trans($reg[1])!=$reg[1]) print $langs->trans($reg[1]);
|
if ($reg[1] && $langs->trans($reg[1])!=$reg[1]) print $langs->trans($reg[1]);
|
||||||
@ -662,7 +662,7 @@ else
|
|||||||
}
|
}
|
||||||
elseif ($links[$key]['type']=='payment_salary')
|
elseif ($links[$key]['type']=='payment_salary')
|
||||||
{
|
{
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/salaries/card.php?id='.$links[$key]['url_id'].'">';
|
print '<a href="'.DOL_URL_ROOT.'/salaries/card.php?id='.$links[$key]['url_id'].'">';
|
||||||
print ' '.img_object($langs->trans('ShowPayment'), 'payment').' ';
|
print ' '.img_object($langs->trans('ShowPayment'), 'payment').' ';
|
||||||
print $langs->trans("Payment");
|
print $langs->trans("Payment");
|
||||||
print '</a>';
|
print '</a>';
|
||||||
@ -778,7 +778,7 @@ else
|
|||||||
|
|
||||||
if ($user->rights->banque->modifier || $user->rights->banque->consolidate)
|
if ($user->rights->banque->modifier || $user->rights->banque->consolidate)
|
||||||
{
|
{
|
||||||
print '<td class="center"><a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$objp->rowid.'&account='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?account='.$object->id.'&num='.$numref).'">';
|
print '<td class="center"><a href="'.DOL_URL_ROOT.'/compta/bank/line.php?rowid='.$objp->rowid.'&account='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?account='.$object->id.'&num='.$numref).'">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print "</a></td>";
|
print "</a></td>";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -120,9 +120,9 @@ if ($action == 'add')
|
|||||||
if (! $error) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amountto), '', '', $user);
|
if (! $error) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amountto), '', '', $user);
|
||||||
if (! ($bank_line_id_to > 0)) $error++;
|
if (! ($bank_line_id_to > 0)) $error++;
|
||||||
|
|
||||||
if (! $error) $result=$accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
|
if (! $error) $result=$accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, DOL_URL_ROOT.'/compta/bank/line.php?rowid=', '(banktransfert)', 'banktransfert');
|
||||||
if (! ($result > 0)) $error++;
|
if (! ($result > 0)) $error++;
|
||||||
if (! $error) $result=$accountto->add_url_line($bank_line_id_to, $bank_line_id_from, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
|
if (! $error) $result=$accountto->add_url_line($bank_line_id_to, $bank_line_id_from, DOL_URL_ROOT.'/compta/bank/line.php?rowid=', '(banktransfert)', 'banktransfert');
|
||||||
if (! ($result > 0)) $error++;
|
if (! ($result > 0)) $error++;
|
||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
|
|||||||
@ -31,7 +31,7 @@ require '../../main.inc.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
||||||
|
|
||||||
|
|||||||
@ -151,7 +151,7 @@ if ($resql)
|
|||||||
print_liste_field_titre("DateCreation", $_SERVER["PHP_SELF"], "datec", $addu, "", '', $sortfield, $sortorder, 'right ');
|
print_liste_field_titre("DateCreation", $_SERVER["PHP_SELF"], "datec", $addu, "", '', $sortfield, $sortorder, 'right ');
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Fields title search
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
|
|
||||||
print '<td class="liste_titre left">';
|
print '<td class="liste_titre left">';
|
||||||
|
|||||||
@ -638,7 +638,7 @@ if (empty($reshook))
|
|||||||
|
|
||||||
$resteapayer = $object->total_ttc - $totalpaye;
|
$resteapayer = $object->total_ttc - $totalpaye;
|
||||||
|
|
||||||
// On verifie si les lignes de factures ont ete exportees en compta et/ou ventilees
|
// We check that invlice lines are transferred into accountancy
|
||||||
$ventilExportCompta = $object->getVentilExportCompta();
|
$ventilExportCompta = $object->getVentilExportCompta();
|
||||||
|
|
||||||
// On verifie si aucun paiement n'a ete effectue
|
// On verifie si aucun paiement n'a ete effectue
|
||||||
@ -2773,7 +2773,7 @@ if ($action == 'create')
|
|||||||
$note_public = $invoice_predefined->note_public;
|
$note_public = $invoice_predefined->note_public;
|
||||||
$note_private = $invoice_predefined->note_private;
|
$note_private = $invoice_predefined->note_private;
|
||||||
|
|
||||||
$sql = 'SELECT r.rowid, r.titre, r.total_ttc';
|
$sql = 'SELECT r.rowid, r.titre as title, r.total_ttc';
|
||||||
$sql .= ' FROM ' . MAIN_DB_PREFIX . 'facture_rec as r';
|
$sql .= ' FROM ' . MAIN_DB_PREFIX . 'facture_rec as r';
|
||||||
$sql .= ' WHERE r.fk_soc = ' . $invoice_predefined->socid;
|
$sql .= ' WHERE r.fk_soc = ' . $invoice_predefined->socid;
|
||||||
|
|
||||||
@ -2797,7 +2797,7 @@ if ($action == 'create')
|
|||||||
print ' selected';
|
print ' selected';
|
||||||
$exampletemplateinvoice->fetch(GETPOST('fac_rec'));
|
$exampletemplateinvoice->fetch(GETPOST('fac_rec'));
|
||||||
}
|
}
|
||||||
print '>' . $objp->titre . ' (' . price($objp->total_ttc) . ' ' . $langs->trans("TTC") . ')</option>';
|
print '>' . $objp->title . ' (' . price($objp->total_ttc) . ' ' . $langs->trans("TTC") . ')</option>';
|
||||||
$i ++;
|
$i ++;
|
||||||
}
|
}
|
||||||
print '</select>';
|
print '</select>';
|
||||||
@ -4616,7 +4616,7 @@ elseif ($id > 0 || ! empty($ref))
|
|||||||
// Editer une facture deja validee, sans paiement effectue et pas exporte en compta
|
// Editer une facture deja validee, sans paiement effectue et pas exporte en compta
|
||||||
if ($object->statut == Facture::STATUS_VALIDATED)
|
if ($object->statut == Facture::STATUS_VALIDATED)
|
||||||
{
|
{
|
||||||
// On verifie si les lignes de factures ont ete exportees en compta et/ou ventilees
|
// We check that invlice lines are transferred into accountancy
|
||||||
$ventilExportCompta = $object->getVentilExportCompta();
|
$ventilExportCompta = $object->getVentilExportCompta();
|
||||||
|
|
||||||
if ($ventilExportCompta == 0)
|
if ($ventilExportCompta == 0)
|
||||||
|
|||||||
@ -123,7 +123,8 @@ class FactureRec extends CommonInvoice
|
|||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
$this->titre=trim($this->titre);
|
$this->titre=trim($this->titre); // deprecated
|
||||||
|
$this->title=trim($this->title);
|
||||||
$this->usenewprice=empty($this->usenewprice)?0:$this->usenewprice;
|
$this->usenewprice=empty($this->usenewprice)?0:$this->usenewprice;
|
||||||
if (empty($this->suspended)) $this->suspended=0;
|
if (empty($this->suspended)) $this->suspended=0;
|
||||||
|
|
||||||
@ -180,7 +181,7 @@ class FactureRec extends CommonInvoice
|
|||||||
$sql.= ", multicurrency_tx";
|
$sql.= ", multicurrency_tx";
|
||||||
$sql.= ", suspended";
|
$sql.= ", suspended";
|
||||||
$sql.= ") VALUES (";
|
$sql.= ") VALUES (";
|
||||||
$sql.= "'".$this->db->escape($this->titre)."'";
|
$sql.= "'".$this->db->escape($this->titre ? $this->titre : $this->title)."'";
|
||||||
$sql.= ", ".$facsrc->socid;
|
$sql.= ", ".$facsrc->socid;
|
||||||
$sql.= ", ".$conf->entity;
|
$sql.= ", ".$conf->entity;
|
||||||
$sql.= ", '".$this->db->idate($now)."'";
|
$sql.= ", '".$this->db->idate($now)."'";
|
||||||
@ -376,7 +377,7 @@ class FactureRec extends CommonInvoice
|
|||||||
*/
|
*/
|
||||||
public function fetch($rowid, $ref = '', $ref_ext = '', $ref_int = '')
|
public function fetch($rowid, $ref = '', $ref_ext = '', $ref_int = '')
|
||||||
{
|
{
|
||||||
$sql = 'SELECT f.rowid, f.entity, f.titre, f.suspended, f.fk_soc, f.amount, f.tva, f.localtax1, f.localtax2, f.total, f.total_ttc';
|
$sql = 'SELECT f.rowid, f.entity, f.titre as title, f.suspended, f.fk_soc, f.amount, f.tva, f.localtax1, f.localtax2, f.total, f.total_ttc';
|
||||||
$sql.= ', f.remise_percent, f.remise_absolue, f.remise';
|
$sql.= ', f.remise_percent, f.remise_absolue, f.remise';
|
||||||
$sql.= ', f.date_lim_reglement as dlr';
|
$sql.= ', f.date_lim_reglement as dlr';
|
||||||
$sql.= ', f.note_private, f.note_public, f.fk_user_author';
|
$sql.= ', f.note_private, f.note_public, f.fk_user_author';
|
||||||
@ -410,8 +411,9 @@ class FactureRec extends CommonInvoice
|
|||||||
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->entity = $obj->entity;
|
$this->entity = $obj->entity;
|
||||||
$this->titre = $obj->titre;
|
$this->titre = $obj->title; // deprecated
|
||||||
$this->ref = $obj->titre;
|
$this->title = $obj->title;
|
||||||
|
$this->ref = $obj->title;
|
||||||
$this->ref_client = $obj->ref_client;
|
$this->ref_client = $obj->ref_client;
|
||||||
$this->suspended = $obj->suspended;
|
$this->suspended = $obj->suspended;
|
||||||
$this->type = $obj->type;
|
$this->type = $obj->type;
|
||||||
|
|||||||
@ -187,7 +187,8 @@ if (empty($reshook))
|
|||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
$object->titre = GETPOST('titre', 'alpha');
|
$object->titre = GETPOST('titre', 'alpha'); // deprecated
|
||||||
|
$object->title = GETPOST('titre', 'alpha');
|
||||||
$object->note_private = GETPOST('note_private', 'none');
|
$object->note_private = GETPOST('note_private', 'none');
|
||||||
$object->note_public = GETPOST('note_public', 'none');
|
$object->note_public = GETPOST('note_public', 'none');
|
||||||
$object->modelpdf = GETPOST('modelpdf', 'alpha');
|
$object->modelpdf = GETPOST('modelpdf', 'alpha');
|
||||||
@ -295,8 +296,9 @@ if (empty($reshook))
|
|||||||
$result=$object->setValueFrom('titre', GETPOST('ref', 'alpha'), '', null, 'text', '', $user, 'BILLREC_MODIFY');
|
$result=$object->setValueFrom('titre', GETPOST('ref', 'alpha'), '', null, 'text', '', $user, 'BILLREC_MODIFY');
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
$object->titre = GETPOST('ref', 'alpha');
|
$object->titre = GETPOST('ref', 'alpha'); // deprecated
|
||||||
$object->ref = $object->titre;
|
$object->title = GETPOST('ref', 'alpha');
|
||||||
|
$object->ref = $object->title;
|
||||||
}
|
}
|
||||||
else dol_print_error($db, $object->error, $object->errors);
|
else dol_print_error($db, $object->error, $object->errors);
|
||||||
}
|
}
|
||||||
@ -774,7 +776,7 @@ if (empty($reshook))
|
|||||||
$array_options = $extrafieldsline->getOptionalsFromPost($object->table_element_line);
|
$array_options = $extrafieldsline->getOptionalsFromPost($object->table_element_line);
|
||||||
|
|
||||||
$objectline = new FactureLigneRec($db);
|
$objectline = new FactureLigneRec($db);
|
||||||
if ($objectline->fetch(GETPOST('lineid')))
|
if ($objectline->fetch(GETPOST('lineid', 'int')))
|
||||||
{
|
{
|
||||||
$objectline->array_options=$array_options;
|
$objectline->array_options=$array_options;
|
||||||
$result=$objectline->insertExtraFields();
|
$result=$objectline->insertExtraFields();
|
||||||
@ -784,6 +786,8 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$position = ($objectline->rang >= 0 ? $objectline->rang : 0);
|
||||||
|
|
||||||
// Unset extrafield
|
// Unset extrafield
|
||||||
if (is_array($extralabelsline))
|
if (is_array($extralabelsline))
|
||||||
{
|
{
|
||||||
@ -795,8 +799,8 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Define special_code for special lines
|
// Define special_code for special lines
|
||||||
$special_code=GETPOST('special_code');
|
$special_code=GETPOST('special_code', 'int');
|
||||||
if (! GETPOST('qty')) $special_code=3;
|
if (! GETPOST('qty', 'alpha')) $special_code=3;
|
||||||
|
|
||||||
/*$line = new FactureLigne($db);
|
/*$line = new FactureLigne($db);
|
||||||
$line->fetch(GETPOST('lineid'));
|
$line->fetch(GETPOST('lineid'));
|
||||||
@ -832,11 +836,11 @@ if (empty($reshook))
|
|||||||
$error ++;
|
$error ++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$type = GETPOST('type');
|
$type = GETPOST('type', 'int');
|
||||||
$label = (GETPOST('product_label') ? GETPOST('product_label') : '');
|
$label = (GETPOST('product_label') ? GETPOST('product_label') : '');
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if (GETPOST('type') < 0) {
|
if (GETPOST('type', 'int') < 0) {
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors');
|
||||||
$error ++;
|
$error ++;
|
||||||
}
|
}
|
||||||
@ -868,7 +872,7 @@ if (empty($reshook))
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
$type,
|
$type,
|
||||||
0,
|
$position,
|
||||||
$special_code,
|
$special_code,
|
||||||
$label,
|
$label,
|
||||||
GETPOST('units'),
|
GETPOST('units'),
|
||||||
@ -1423,8 +1427,8 @@ else
|
|||||||
include_once DOL_DOCUMENT_ROOT . '/core/modules/facture/modules_facture.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/modules/facture/modules_facture.php';
|
||||||
$list = array();
|
$list = array();
|
||||||
$models = ModelePDFFactures::liste_modeles($db);
|
$models = ModelePDFFactures::liste_modeles($db);
|
||||||
foreach ($models as $model) {
|
foreach ($models as $k => $model) {
|
||||||
$list[] = $model . ':' . $model;
|
$list[] = str_replace(':', '|', $k) . ':' . $model;
|
||||||
}
|
}
|
||||||
$select = 'select;'.implode(',', $list);
|
$select = 'select;'.implode(',', $list);
|
||||||
print $form->editfieldval($langs->trans("Model"), 'modelpdf', $object->modelpdf, $object, $user->rights->facture->creer, $select);
|
print $form->editfieldval($langs->trans("Model"), 'modelpdf', $object->modelpdf, $object, $user->rights->facture->creer, $select);
|
||||||
|
|||||||
@ -213,7 +213,7 @@ $today = dol_mktime(23, 59, 59, $tmparray['mon'], $tmparray['mday'], $tmparray['
|
|||||||
/*
|
/*
|
||||||
* List mode
|
* List mode
|
||||||
*/
|
*/
|
||||||
$sql = "SELECT s.nom as name, s.rowid as socid, f.rowid as facid, f.titre, f.total, f.tva as total_vat, f.total_ttc, f.frequency, f.unit_frequency,";
|
$sql = "SELECT s.nom as name, s.rowid as socid, f.rowid as facid, f.titre as title, f.total, f.tva as total_vat, f.total_ttc, f.frequency, f.unit_frequency,";
|
||||||
$sql.= " f.nb_gen_done, f.nb_gen_max, f.date_last_gen, f.date_when, f.suspended,";
|
$sql.= " f.nb_gen_done, f.nb_gen_max, f.date_last_gen, f.date_when, f.suspended,";
|
||||||
$sql.= " f.datec, f.tms,";
|
$sql.= " f.datec, f.tms,";
|
||||||
$sql.= " f.fk_cond_reglement, f.fk_mode_reglement";
|
$sql.= " f.fk_cond_reglement, f.fk_mode_reglement";
|
||||||
@ -261,7 +261,7 @@ if ($search_month_date_when > 0)
|
|||||||
if ($search_year_date_when > 0 && empty($search_day_date_when))
|
if ($search_year_date_when > 0 && empty($search_day_date_when))
|
||||||
$sql.= " AND f.date_when BETWEEN '".$db->idate(dol_get_first_day($search_year_date_when, $search_month_date_when, false))."' AND '".$db->idate(dol_get_last_day($search_year_date_when, $search_month_date_when, false))."'";
|
$sql.= " AND f.date_when BETWEEN '".$db->idate(dol_get_first_day($search_year_date_when, $search_month_date_when, false))."' AND '".$db->idate(dol_get_last_day($search_year_date_when, $search_month_date_when, false))."'";
|
||||||
elseif ($search_year_date_when > 0 && ! empty($search_day_date_when))
|
elseif ($search_year_date_when > 0 && ! empty($search_day_date_when))
|
||||||
$sql.= " AND f.date_date_when_reglement BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month_date_when, $search_day_date_when, $search_year_date_when))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month_date_when, $search_day_date_when, $search_year_date_when))."'";
|
$sql.= " AND f.date_when BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month_date_when, $search_day_date_when, $search_year_date_when))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month_date_when, $search_day_date_when, $search_year_date_when))."'";
|
||||||
else
|
else
|
||||||
$sql.= " AND date_format(f.date_when, '%m') = '".$db->escape($search_month_date_when)."'";
|
$sql.= " AND date_format(f.date_when, '%m') = '".$db->escape($search_month_date_when)."'";
|
||||||
}
|
}
|
||||||
@ -514,7 +514,7 @@ if ($resql)
|
|||||||
$invoicerectmp->unit_frequency=$objp->unit_frequency;
|
$invoicerectmp->unit_frequency=$objp->unit_frequency;
|
||||||
$invoicerectmp->nb_gen_max=$objp->nb_gen_max;
|
$invoicerectmp->nb_gen_max=$objp->nb_gen_max;
|
||||||
$invoicerectmp->nb_gen_done=$objp->nb_gen_done;
|
$invoicerectmp->nb_gen_done=$objp->nb_gen_done;
|
||||||
$invoicerectmp->ref=$objp->titre;
|
$invoicerectmp->ref=$objp->title;
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
|
|||||||
@ -1143,7 +1143,7 @@ if ($resql)
|
|||||||
// Amount HT
|
// Amount HT
|
||||||
if (! empty($arrayfields['f.total_ht']['checked']))
|
if (! empty($arrayfields['f.total_ht']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="right">'.price($obj->total_ht)."</td>\n";
|
print '<td class="right nowrap">'.price($obj->total_ht)."</td>\n";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
if (! $i) $totalarray['totalhtfield']=$totalarray['nbfield'];
|
if (! $i) $totalarray['totalhtfield']=$totalarray['nbfield'];
|
||||||
$totalarray['totalht'] += $obj->total_ht;
|
$totalarray['totalht'] += $obj->total_ht;
|
||||||
@ -1151,7 +1151,7 @@ if ($resql)
|
|||||||
// Amount VAT
|
// Amount VAT
|
||||||
if (! empty($arrayfields['f.total_vat']['checked']))
|
if (! empty($arrayfields['f.total_vat']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="right">'.price($obj->total_vat)."</td>\n";
|
print '<td class="right nowrap">'.price($obj->total_vat)."</td>\n";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
if (! $i) $totalarray['totalvatfield']=$totalarray['nbfield'];
|
if (! $i) $totalarray['totalvatfield']=$totalarray['nbfield'];
|
||||||
$totalarray['totalvat'] += $obj->total_vat;
|
$totalarray['totalvat'] += $obj->total_vat;
|
||||||
@ -1159,7 +1159,7 @@ if ($resql)
|
|||||||
// Amount LocalTax1
|
// Amount LocalTax1
|
||||||
if (! empty($arrayfields['f.total_localtax1']['checked']))
|
if (! empty($arrayfields['f.total_localtax1']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="right">'.price($obj->total_localtax1)."</td>\n";
|
print '<td class="right nowrap">'.price($obj->total_localtax1)."</td>\n";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
if (! $i) $totalarray['totallocaltax1field']=$totalarray['nbfield'];
|
if (! $i) $totalarray['totallocaltax1field']=$totalarray['nbfield'];
|
||||||
$totalarray['totallocaltax1'] += $obj->total_localtax1;
|
$totalarray['totallocaltax1'] += $obj->total_localtax1;
|
||||||
@ -1167,7 +1167,7 @@ if ($resql)
|
|||||||
// Amount LocalTax2
|
// Amount LocalTax2
|
||||||
if (! empty($arrayfields['f.total_localtax2']['checked']))
|
if (! empty($arrayfields['f.total_localtax2']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="right">'.price($obj->total_localtax2)."</td>\n";
|
print '<td class="right nowrap">'.price($obj->total_localtax2)."</td>\n";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
if (! $i) $totalarray['totallocaltax2field']=$totalarray['nbfield'];
|
if (! $i) $totalarray['totallocaltax2field']=$totalarray['nbfield'];
|
||||||
$totalarray['totallocaltax2'] += $obj->total_localtax2;
|
$totalarray['totallocaltax2'] += $obj->total_localtax2;
|
||||||
@ -1175,7 +1175,7 @@ if ($resql)
|
|||||||
// Amount TTC
|
// Amount TTC
|
||||||
if (! empty($arrayfields['f.total_ttc']['checked']))
|
if (! empty($arrayfields['f.total_ttc']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="right">'.price($obj->total_ttc)."</td>\n";
|
print '<td class="right nowrap">'.price($obj->total_ttc)."</td>\n";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
if (! $i) $totalarray['totalttcfield']=$totalarray['nbfield'];
|
if (! $i) $totalarray['totalttcfield']=$totalarray['nbfield'];
|
||||||
$totalarray['totalttc'] += $obj->total_ttc;
|
$totalarray['totalttc'] += $obj->total_ttc;
|
||||||
@ -1183,7 +1183,7 @@ if ($resql)
|
|||||||
|
|
||||||
if (! empty($arrayfields['dynamount_payed']['checked']))
|
if (! empty($arrayfields['dynamount_payed']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="right">'.(! empty($totalpay)?price($totalpay, 0, $langs):' ').'</td>'; // TODO Use a denormalized field
|
print '<td class="right nowrap">'.(! empty($totalpay)?price($totalpay, 0, $langs):' ').'</td>'; // TODO Use a denormalized field
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
if (! $i) $totalarray['totalamfield']=$totalarray['nbfield'];
|
if (! $i) $totalarray['totalamfield']=$totalarray['nbfield'];
|
||||||
$totalarray['totalam'] += $totalpay;
|
$totalarray['totalam'] += $totalpay;
|
||||||
@ -1191,7 +1191,7 @@ if ($resql)
|
|||||||
|
|
||||||
if (! empty($arrayfields['rtp']['checked']))
|
if (! empty($arrayfields['rtp']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="right">'.(! empty($remaintopay)?price($remaintopay, 0, $langs):' ').'</td>'; // TODO Use a denormalized field
|
print '<td class="right nowrap">'.(! empty($remaintopay)?price($remaintopay, 0, $langs):' ').'</td>'; // TODO Use a denormalized field
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
if (! $i) $totalarray['totalrtpfield']=$totalarray['nbfield'];
|
if (! $i) $totalarray['totalrtpfield']=$totalarray['nbfield'];
|
||||||
$totalarray['totalrtp'] += $remaintopay;
|
$totalarray['totalrtp'] += $remaintopay;
|
||||||
|
|||||||
@ -62,42 +62,52 @@ if ($id > 0 || ! empty($ref))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$hookmanager->initHooks(array('directdebitcard','globalcard'));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action == "new")
|
$parameters = array('socid' => $socid);
|
||||||
|
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
if ($object->id > 0)
|
if ($action == "new")
|
||||||
{
|
{
|
||||||
$db->begin();
|
if ($object->id > 0)
|
||||||
|
|
||||||
$result = $object->demande_prelevement($user, GETPOST('withdraw_request_amount'));
|
|
||||||
if ($result > 0)
|
|
||||||
{
|
{
|
||||||
$db->commit();
|
$db->begin();
|
||||||
|
|
||||||
setEventMessages($langs->trans("RecordSaved"), null, 'mesgs');
|
$result = $object->demande_prelevement($user, GETPOST('withdraw_request_amount'));
|
||||||
}
|
if ($result > 0)
|
||||||
else
|
{
|
||||||
{
|
$db->commit();
|
||||||
$db->rollback();
|
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($langs->trans("RecordSaved"), null, 'mesgs');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$db->rollback();
|
||||||
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
$action='';
|
||||||
}
|
}
|
||||||
$action='';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($action == "delete")
|
if ($action == "delete")
|
||||||
{
|
|
||||||
if ($object->id > 0)
|
|
||||||
{
|
{
|
||||||
$result = $object->demande_prelevement_delete($user, GETPOST('did'));
|
if ($object->id > 0)
|
||||||
if ($result == 0)
|
|
||||||
{
|
{
|
||||||
header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
|
$result = $object->demande_prelevement_delete($user, GETPOST('did'));
|
||||||
exit;
|
if ($result == 0)
|
||||||
|
{
|
||||||
|
header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock'];
|
|||||||
|
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
|
|
||||||
$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc');
|
$linkedObjectBlock = dol_sort_array($linkedObjectBlock, 'date', 'desc', 0, 0, 1);
|
||||||
|
|
||||||
$total=0; $ilink=0;
|
$total=0; $ilink=0;
|
||||||
foreach($linkedObjectBlock as $key => $objectlink)
|
foreach($linkedObjectBlock as $key => $objectlink)
|
||||||
|
|||||||
@ -412,8 +412,8 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
|
|||||||
print '<td class="left">';
|
print '<td class="left">';
|
||||||
print $thirdpartystatic->getNomUrl(1, 'customer', 44);
|
print $thirdpartystatic->getNomUrl(1, 'customer', 44);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="nowrap right">'.price($obj->total_ht).'</td>';
|
||||||
print '<td class="right">'.price($obj->total_ttc).'</td>';
|
print '<td class="nowrap right">'.price($obj->total_ttc).'</td>';
|
||||||
print '<td class="right">'.dol_print_date($db->jdate($obj->tms), 'day').'</td>';
|
print '<td class="right">'.dol_print_date($db->jdate($obj->tms), 'day').'</td>';
|
||||||
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3, $obj->am).'</td>';
|
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3, $obj->am).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -512,7 +512,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture-
|
|||||||
print $thirdpartystatic->getNomUrl(1, 'supplier', 44);
|
print $thirdpartystatic->getNomUrl(1, 'supplier', 44);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
||||||
print '<td class="right">'.price($obj->total_ttc).'</td>';
|
print '<td class="nowrap right">'.price($obj->total_ttc).'</td>';
|
||||||
print '<td class="right">'.dol_print_date($db->jdate($obj->tms), 'day').'</td>';
|
print '<td class="right">'.dol_print_date($db->jdate($obj->tms), 'day').'</td>';
|
||||||
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3).'</td>';
|
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -593,7 +593,7 @@ if (! empty($conf->don->enabled) && $user->rights->societe->lire)
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>'.$donationstatic->getNomUrl(1).'</td>';
|
print '<td>'.$donationstatic->getNomUrl(1).'</td>';
|
||||||
print '<td>'.$label.'</td>';
|
print '<td>'.$label.'</td>';
|
||||||
print '<td class="right">'.price($objp->amount).'</td>';
|
print '<td class="nowrap right">'.price($objp->amount).'</td>';
|
||||||
print '<td class="right">'.dol_print_date($db->jdate($objp->dm), 'day').'</td>';
|
print '<td class="right">'.dol_print_date($db->jdate($objp->dm), 'day').'</td>';
|
||||||
print '<td>'.$donationstatic->LibStatut($objp->fk_statut, 3).'</td>';
|
print '<td>'.$donationstatic->LibStatut($objp->fk_statut, 3).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -664,8 +664,8 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire)
|
|||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>'.$chargestatic->getNomUrl(1).'</td>';
|
print '<td>'.$chargestatic->getNomUrl(1).'</td>';
|
||||||
print '<td align="center">'.dol_print_date($db->jdate($obj->date_ech), 'day').'</td>';
|
print '<td align="center">'.dol_print_date($db->jdate($obj->date_ech), 'day').'</td>';
|
||||||
print '<td class="right">'.price($obj->amount).'</td>';
|
print '<td class="nowrap right">'.price($obj->amount).'</td>';
|
||||||
print '<td class="right">'.price($obj->sumpaid).'</td>';
|
print '<td class="nowrap right">'.price($obj->sumpaid).'</td>';
|
||||||
print '<td align="center">'.$chargestatic->getLibStatut(3).'</td>';
|
print '<td align="center">'.$chargestatic->getLibStatut(3).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
$tot_ttc+=$obj->amount;
|
$tot_ttc+=$obj->amount;
|
||||||
@ -673,7 +673,7 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire)
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Total").'</td>';
|
print '<tr class="liste_total"><td class="left" colspan="2">'.$langs->trans("Total").'</td>';
|
||||||
print '<td class="right">'.price($tot_ttc).'</td>';
|
print '<td class="nowrap right">'.price($tot_ttc).'</td>';
|
||||||
print '<td class="right"></td>';
|
print '<td class="right"></td>';
|
||||||
print '<td class="right"> </td>';
|
print '<td class="right"> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -786,8 +786,8 @@ if (! empty($conf->facture->enabled) && ! empty($conf->commande->enabled) && $us
|
|||||||
print $societestatic->getNomUrl(1, 'customer', 44);
|
print $societestatic->getNomUrl(1, 'customer', 44);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
||||||
print '<td class="right">'.price($obj->total_ttc).'</td>';
|
print '<td class="nowrap right">'.price($obj->total_ttc).'</td>';
|
||||||
print '<td class="right">'.price($obj->total_ttc-$obj->tot_fttc).'</td>';
|
print '<td class="nowrap right">'.price($obj->total_ttc-$obj->tot_fttc).'</td>';
|
||||||
print '<td>'.$commandestatic->LibStatut($obj->fk_statut, $obj->facture, 3).'</td>';
|
print '<td>'.$commandestatic->LibStatut($obj->fk_statut, $obj->facture, 3).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
$tot_ht += $obj->total_ht;
|
$tot_ht += $obj->total_ht;
|
||||||
@ -799,8 +799,8 @@ if (! empty($conf->facture->enabled) && ! empty($conf->commande->enabled) && $us
|
|||||||
|
|
||||||
print '<tr class="liste_total"><td colspan="2">'.$langs->trans("Total").' <font style="font-weight: normal">('.$langs->trans("RemainderToBill").': '.price($tot_tobill).')</font> </td>';
|
print '<tr class="liste_total"><td colspan="2">'.$langs->trans("Total").' <font style="font-weight: normal">('.$langs->trans("RemainderToBill").': '.price($tot_tobill).')</font> </td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($tot_ht).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($tot_ht).'</td>';
|
||||||
print '<td class="right">'.price($tot_ttc).'</td>';
|
print '<td class="nowrap right">'.price($tot_ttc).'</td>';
|
||||||
print '<td class="right">'.price($tot_tobill).'</td>';
|
print '<td class="nowrap right">'.price($tot_tobill).'</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
print '</table></div><br>';
|
print '</table></div><br>';
|
||||||
@ -911,8 +911,8 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td class="right">'.dol_print_date($db->jdate($obj->datelimite), 'day').'</td>';
|
print '<td class="right">'.dol_print_date($db->jdate($obj->datelimite), 'day').'</td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
||||||
print '<td class="right">'.price($obj->total_ttc).'</td>';
|
print '<td class="nowrap right">'.price($obj->total_ttc).'</td>';
|
||||||
print '<td class="right">'.price($obj->am).'</td>';
|
print '<td class="nowrap right">'.price($obj->am).'</td>';
|
||||||
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3, $obj->am).'</td>';
|
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3, $obj->am).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
@ -926,8 +926,8 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire)
|
|||||||
print '<tr class="liste_total"><td colspan="2">'.$langs->trans("Total").' <font style="font-weight: normal">('.$langs->trans("RemainderToTake").': '.price($total_ttc-$totalam).')</font> </td>';
|
print '<tr class="liste_total"><td colspan="2">'.$langs->trans("Total").' <font style="font-weight: normal">('.$langs->trans("RemainderToTake").': '.price($total_ttc-$totalam).')</font> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($total).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($total).'</td>';
|
||||||
print '<td class="right">'.price($total_ttc).'</td>';
|
print '<td class="nowrap right">'.price($total_ttc).'</td>';
|
||||||
print '<td class="right">'.price($totalam).'</td>';
|
print '<td class="nowrap right">'.price($totalam).'</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
@ -1023,8 +1023,8 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture-
|
|||||||
print '<td>'.$societestatic->getNomUrl(1, 'supplier', 44).'</td>';
|
print '<td>'.$societestatic->getNomUrl(1, 'supplier', 44).'</td>';
|
||||||
print '<td class="right">'.dol_print_date($db->jdate($obj->date_lim_reglement), 'day').'</td>';
|
print '<td class="right">'.dol_print_date($db->jdate($obj->date_lim_reglement), 'day').'</td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($obj->total_ht).'</td>';
|
||||||
print '<td class="right">'.price($obj->total_ttc).'</td>';
|
print '<td class="nowrap right">'.price($obj->total_ttc).'</td>';
|
||||||
print '<td class="right">'.price($obj->am).'</td>';
|
print '<td class="nowrap right">'.price($obj->am).'</td>';
|
||||||
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3).'</td>';
|
print '<td>'.$facstatic->LibStatut($obj->paye, $obj->fk_statut, 3).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
$total += $obj->total_ht;
|
$total += $obj->total_ht;
|
||||||
@ -1036,8 +1036,8 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture-
|
|||||||
print '<tr class="liste_total"><td colspan="2">'.$langs->trans("Total").' <font style="font-weight: normal">('.$langs->trans("RemainderToPay").': '.price($total_ttc-$totalam).')</font> </td>';
|
print '<tr class="liste_total"><td colspan="2">'.$langs->trans("Total").' <font style="font-weight: normal">('.$langs->trans("RemainderToPay").': '.price($total_ttc-$totalam).')</font> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($total).'</td>';
|
if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print '<td class="right">'.price($total).'</td>';
|
||||||
print '<td class="right">'.price($total_ttc).'</td>';
|
print '<td class="nowrap right">'.price($total_ttc).'</td>';
|
||||||
print '<td class="right">'.price($totalam).'</td>';
|
print '<td class="nowrap right">'.price($totalam).'</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -87,7 +87,7 @@ if (empty($date_start) || empty($date_end)) // We define date_start and date_end
|
|||||||
$date_start=dol_get_first_day($pastmonthyear, $pastmonth, false); $date_end=dol_get_last_day($pastmonthyear, $pastmonth, false);
|
$date_start=dol_get_first_day($pastmonthyear, $pastmonth, false); $date_end=dol_get_last_day($pastmonthyear, $pastmonth, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
$nom=$langs->trans("SellsJournal");
|
$name=$langs->trans("SellsJournal");
|
||||||
$periodlink='';
|
$periodlink='';
|
||||||
$exportlink='';
|
$exportlink='';
|
||||||
$builddate=dol_now();
|
$builddate=dol_now();
|
||||||
|
|||||||
@ -157,7 +157,7 @@ if ($resql)
|
|||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
// Fields title search
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td class="liste_titre" align="left">';
|
print '<td class="liste_titre" align="left">';
|
||||||
print '<input class="flat" type="text" size="4" name="search_ref" value="'.$search_ref.'">';
|
print '<input class="flat" type="text" size="4" name="search_ref" value="'.$search_ref.'">';
|
||||||
|
|||||||
@ -63,78 +63,86 @@ $object = new BonPrelevement($db, "");
|
|||||||
// Load object
|
// Load object
|
||||||
include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals
|
include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals
|
||||||
|
|
||||||
|
$hookmanager->initHooks(array('directdebitprevcard','globalcard'));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( $action == 'confirm_delete' )
|
$parameters = array('socid' => $socid);
|
||||||
|
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
$res=$object->delete($user);
|
if ( $action == 'confirm_delete' )
|
||||||
if ($res > 0)
|
{
|
||||||
|
$res=$object->delete($user);
|
||||||
|
if ($res > 0)
|
||||||
|
{
|
||||||
|
header("Location: index.php");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Seems to no be used and replaced with $action == 'infocredit'
|
||||||
|
if ( $action == 'confirm_credite' && GETPOST('confirm', 'alpha') == 'yes')
|
||||||
|
{
|
||||||
|
$res=$object->set_credite();
|
||||||
|
if ($res >= 0)
|
||||||
|
{
|
||||||
|
header("Location: card.php?id=".$id);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action == 'infotrans' && $user->rights->prelevement->bons->send)
|
||||||
|
{
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
|
$dt = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||||
|
|
||||||
|
/*
|
||||||
|
if ($_FILES['userfile']['name'] && basename($_FILES['userfile']['name'],".ps") == $object->ref)
|
||||||
|
{
|
||||||
|
$dir = $conf->prelevement->dir_output.'/receipts';
|
||||||
|
|
||||||
|
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $dir . "/" . dol_unescapefile($_FILES['userfile']['name']),1) > 0)
|
||||||
|
{
|
||||||
|
$object->set_infotrans($user, $dt, GETPOST('methode','alpha'));
|
||||||
|
}
|
||||||
|
|
||||||
|
header("Location: card.php?id=".$id);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog("Fichier invalide",LOG_WARNING);
|
||||||
|
$mesg='BadFile';
|
||||||
|
}*/
|
||||||
|
|
||||||
|
$error = $object->set_infotrans($user, $dt, GETPOST('methode', 'alpha'));
|
||||||
|
|
||||||
|
if ($error)
|
||||||
|
{
|
||||||
|
header("Location: card.php?id=".$id."&error=$error");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set direct debit order to credited, create payment and close invoices
|
||||||
|
if ($action == 'infocredit' && $user->rights->prelevement->bons->credit)
|
||||||
{
|
{
|
||||||
header("Location: index.php");
|
$dt = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Seems to no be used and replaced with $action == 'infocredit
|
$error = $object->set_infocredit($user, $dt);
|
||||||
if ( $action == 'confirm_credite' && GETPOST('confirm', 'alpha') == 'yes')
|
|
||||||
{
|
|
||||||
$res=$object->set_credite();
|
|
||||||
if ($res >= 0)
|
|
||||||
{
|
|
||||||
header("Location: card.php?id=".$id);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($action == 'infotrans' && $user->rights->prelevement->bons->send)
|
if ($error)
|
||||||
{
|
{
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
header("Location: card.php?id=".$id."&error=$error");
|
||||||
|
exit;
|
||||||
$dt = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
}
|
||||||
|
}
|
||||||
/*
|
|
||||||
if ($_FILES['userfile']['name'] && basename($_FILES['userfile']['name'],".ps") == $object->ref)
|
|
||||||
{
|
|
||||||
$dir = $conf->prelevement->dir_output.'/receipts';
|
|
||||||
|
|
||||||
if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $dir . "/" . dol_unescapefile($_FILES['userfile']['name']),1) > 0)
|
|
||||||
{
|
|
||||||
$object->set_infotrans($user, $dt, GETPOST('methode','alpha'));
|
|
||||||
}
|
|
||||||
|
|
||||||
header("Location: card.php?id=".$id);
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_syslog("Fichier invalide",LOG_WARNING);
|
|
||||||
$mesg='BadFile';
|
|
||||||
}*/
|
|
||||||
|
|
||||||
$error = $object->set_infotrans($user, $dt, GETPOST('methode', 'alpha'));
|
|
||||||
|
|
||||||
if ($error)
|
|
||||||
{
|
|
||||||
header("Location: card.php?id=".$id."&error=$error");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set direct debit order to credited, create payment and close invoices
|
|
||||||
if ($action == 'infocredit' && $user->rights->prelevement->bons->credit)
|
|
||||||
{
|
|
||||||
$dt = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
|
||||||
|
|
||||||
$error = $object->set_infocredit($user, $dt);
|
|
||||||
|
|
||||||
if ($error)
|
|
||||||
{
|
|
||||||
header("Location: card.php?id=".$id."&error=$error");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -362,7 +370,7 @@ if ($id > 0 || $ref)
|
|||||||
print "<td>";
|
print "<td>";
|
||||||
print $ligne->LibStatut($obj->statut, 2);
|
print $ligne->LibStatut($obj->statut, 2);
|
||||||
print " ";
|
print " ";
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid.'">';
|
||||||
print sprintf("%06s", $obj->rowid);
|
print sprintf("%06s", $obj->rowid);
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
|
|
||||||
|
|||||||
@ -1133,32 +1133,56 @@ class BonPrelevement extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get object and lines from database
|
* Get object and lines from database
|
||||||
*
|
*
|
||||||
* @param User $user Object user that delete
|
* @param User $user Object user that delete
|
||||||
* @return int >0 if OK, <0 if KO
|
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
||||||
|
* @return int >0 if OK, <0 if KO
|
||||||
*/
|
*/
|
||||||
public function delete($user = null)
|
public function delete($user = null, $notrigger = 0)
|
||||||
{
|
{
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_facture WHERE fk_prelevement_lignes IN (SELECT rowid FROM ".MAIN_DB_PREFIX."prelevement_lignes WHERE fk_prelevement_bons = ".$this->id.")";
|
$error = 0;
|
||||||
$resql1=$this->db->query($sql);
|
$resql1 = $resql2 = $resql3 = $resql4 = 0;
|
||||||
if (! $resql1) dol_print_error($this->db);
|
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_lignes WHERE fk_prelevement_bons = ".$this->id;
|
if (! $notrigger)
|
||||||
$resql2=$this->db->query($sql);
|
{
|
||||||
if (! $resql2) dol_print_error($this->db);
|
// Call trigger
|
||||||
|
$result=$this->call_trigger('BON_PRELEVEMENT_DELETE', $user);
|
||||||
|
if ($result < 0) $error++;
|
||||||
|
// End call triggers
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_bons WHERE rowid = ".$this->id;
|
if (! $error)
|
||||||
$resql3=$this->db->query($sql);
|
{
|
||||||
if (! $resql3) dol_print_error($this->db);
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_facture WHERE fk_prelevement_lignes IN (SELECT rowid FROM ".MAIN_DB_PREFIX."prelevement_lignes WHERE fk_prelevement_bons = ".$this->id.")";
|
||||||
|
$resql1=$this->db->query($sql);
|
||||||
|
if (! $resql1) dol_print_error($this->db);
|
||||||
|
}
|
||||||
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande SET fk_prelevement_bons = NULL, traite = 0 WHERE fk_prelevement_bons = ".$this->id;
|
if (! $error)
|
||||||
$resql4=$this->db->query($sql);
|
{
|
||||||
if (! $resql4) dol_print_error($this->db);
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_lignes WHERE fk_prelevement_bons = ".$this->id;
|
||||||
|
$resql2=$this->db->query($sql);
|
||||||
|
if (! $resql2) dol_print_error($this->db);
|
||||||
|
}
|
||||||
|
|
||||||
if ($resql1 && $resql2 && $resql3)
|
if (! $error)
|
||||||
|
{
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."prelevement_bons WHERE rowid = ".$this->id;
|
||||||
|
$resql3=$this->db->query($sql);
|
||||||
|
if (! $resql3) dol_print_error($this->db);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande SET fk_prelevement_bons = NULL, traite = 0 WHERE fk_prelevement_bons = ".$this->id;
|
||||||
|
$resql4=$this->db->query($sql);
|
||||||
|
if (! $resql4) dol_print_error($this->db);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($resql1 && $resql2 && $resql3 && $resql4 && ! $error)
|
||||||
{
|
{
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
return 1;
|
return 1;
|
||||||
@ -1393,7 +1417,7 @@ class BonPrelevement extends CommonObject
|
|||||||
|
|
||||||
$sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, c.code as country_code,";
|
$sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, c.code as country_code,";
|
||||||
$sql.= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,";
|
$sql.= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,";
|
||||||
$sql.= " f.ref as fac, pf.fk_facture as idfac, rib.datec, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum";
|
$sql.= " f.ref as fac, pf.fk_facture as idfac, rib.datec, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum, rib.rum";
|
||||||
$sql.= " FROM";
|
$sql.= " FROM";
|
||||||
$sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
|
$sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
|
||||||
$sql.= " ".MAIN_DB_PREFIX."facture as f,";
|
$sql.= " ".MAIN_DB_PREFIX."facture as f,";
|
||||||
@ -1419,7 +1443,7 @@ class BonPrelevement extends CommonObject
|
|||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
$fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $obj->fac, $obj->idfac, $obj->iban, $obj->bic, $this->db->jdate($obj->datec), $obj->drum);
|
$fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $obj->fac, $obj->idfac, $obj->iban, $obj->bic, $this->db->jdate($obj->datec), $obj->drum, $obj->rum);
|
||||||
$this->total = $this->total + $obj->somme;
|
$this->total = $this->total + $obj->somme;
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -1624,15 +1648,16 @@ class BonPrelevement extends CommonObject
|
|||||||
* @param string $row_cg pl.code_guichet AS cg, Not used for SEPA
|
* @param string $row_cg pl.code_guichet AS cg, Not used for SEPA
|
||||||
* @param string $row_cc pl.number AS cc, Not used for SEPA
|
* @param string $row_cc pl.number AS cc, Not used for SEPA
|
||||||
* @param string $row_somme pl.amount AS somme,
|
* @param string $row_somme pl.amount AS somme,
|
||||||
* @param string $row_ref f.ref
|
* @param string $row_ref f.ref
|
||||||
* @param string $row_idfac pf.fk_facture AS idfac,
|
* @param string $row_idfac pf.fk_facture AS idfac,
|
||||||
* @param string $row_iban rib.iban_prefix AS iban,
|
* @param string $row_iban rib.iban_prefix AS iban,
|
||||||
* @param string $row_bic rib.bic AS bic,
|
* @param string $row_bic rib.bic AS bic,
|
||||||
* @param string $row_datec rib.datec,
|
* @param string $row_datec rib.datec,
|
||||||
* @param string $row_drum rib.rowid used to generate rum
|
* @param string $row_drum rib.rowid used to generate rum
|
||||||
|
* @param string $row_rum rib.rum Rum defined on company bank account
|
||||||
* @return string Return string with SEPA part DrctDbtTxInf
|
* @return string Return string with SEPA part DrctDbtTxInf
|
||||||
*/
|
*/
|
||||||
public function EnregDestinataireSEPA($row_code_client, $row_nom, $row_address, $row_zip, $row_town, $row_country_code, $row_cb, $row_cg, $row_cc, $row_somme, $row_ref, $row_idfac, $row_iban, $row_bic, $row_datec, $row_drum)
|
public function EnregDestinataireSEPA($row_code_client, $row_nom, $row_address, $row_zip, $row_town, $row_country_code, $row_cb, $row_cg, $row_cc, $row_somme, $row_ref, $row_idfac, $row_iban, $row_bic, $row_datec, $row_drum, $row_rum)
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
global $conf;
|
global $conf;
|
||||||
@ -1644,7 +1669,7 @@ class BonPrelevement extends CommonObject
|
|||||||
|
|
||||||
// Define value for RUM
|
// Define value for RUM
|
||||||
// Example: RUMCustomerCode-CustomerBankAccountId-01424448606 (note: Date is date of creation of CustomerBankAccountId)
|
// Example: RUMCustomerCode-CustomerBankAccountId-01424448606 (note: Date is date of creation of CustomerBankAccountId)
|
||||||
$Rum = $this->buildRumNumber($row_code_client, $row_datec, $row_drum);
|
$Rum = empty($row_rum) ? $this->buildRumNumber($row_code_client, $row_datec, $row_drum) : $row_rum;
|
||||||
|
|
||||||
// Define date of RUM signature
|
// Define date of RUM signature
|
||||||
$DtOfSgntr = dol_print_date($row_datec, '%Y-%m-%d');
|
$DtOfSgntr = dol_print_date($row_datec, '%Y-%m-%d');
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
* \file htdocs/compta/prelevement/class/ligneprelevement.class.php
|
* \file htdocs/compta/prelevement/class/ligneprelevement.class.php
|
||||||
* \ingroup prelevement
|
* \ingroup prelevement
|
||||||
* \brief Fichier de la classe des lignes de prelevements
|
* \brief File of class to manage lines of Direct Debit orders
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -52,42 +52,52 @@ $page = GETPOST("page", 'int');
|
|||||||
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
|
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
|
||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
|
|
||||||
|
$hookmanager->initHooks(array('directdebitcreatecard','globalcard'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Change customer bank information to withdraw
|
$parameters = array('mode' => $mode, 'format' => $format, 'limit' => $limit, 'page' => $page, 'offset' => $offset);
|
||||||
if ($action == 'modify')
|
$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');
|
||||||
for ($i = 1 ; $i < 9 ; $i++)
|
|
||||||
{
|
|
||||||
dolibarr_set_const($db, GETPOST("nom$i"), GETPOST("value$i"), 'chaine', 0, '', $conf->entity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($action == 'create')
|
|
||||||
{
|
|
||||||
// $conf->global->PRELEVEMENT_CODE_BANQUE and $conf->global->PRELEVEMENT_CODE_GUICHET should be empty
|
|
||||||
$bprev = new BonPrelevement($db);
|
|
||||||
$executiondate = dol_mktime(0, 0, 0, GETPOST('remonth'), (GETPOST('reday')+$conf->global->PRELEVEMENT_ADDDAYS), GETPOST('reyear'));
|
|
||||||
|
|
||||||
$result = $bprev->create($conf->global->PRELEVEMENT_CODE_BANQUE, $conf->global->PRELEVEMENT_CODE_GUICHET, $mode, $format, $executiondate);
|
if (empty($reshook))
|
||||||
if ($result < 0)
|
{
|
||||||
|
// Change customer bank information to withdraw
|
||||||
|
if ($action == 'modify')
|
||||||
{
|
{
|
||||||
setEventMessages($bprev->error, $bprev->errors, 'errors');
|
for ($i = 1 ; $i < 9 ; $i++)
|
||||||
}
|
|
||||||
elseif ($result == 0)
|
|
||||||
{
|
|
||||||
$mesg=$langs->trans("NoInvoiceCouldBeWithdrawed", $format);
|
|
||||||
setEventMessages($mesg, null, 'errors');
|
|
||||||
$mesg.='<br>'."\n";
|
|
||||||
foreach($bprev->invoice_in_error as $key => $val)
|
|
||||||
{
|
{
|
||||||
$mesg.='<span class="warning">'.$val."</span><br>\n";
|
dolibarr_set_const($db, GETPOST("nom$i"), GETPOST("value$i"), 'chaine', 0, '', $conf->entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
if ($action == 'create')
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans("DirectDebitOrderCreated", $bprev->getNomUrl(1)), null);
|
// $conf->global->PRELEVEMENT_CODE_BANQUE and $conf->global->PRELEVEMENT_CODE_GUICHET should be empty
|
||||||
|
$bprev = new BonPrelevement($db);
|
||||||
|
$executiondate = dol_mktime(0, 0, 0, GETPOST('remonth'), (GETPOST('reday')+$conf->global->PRELEVEMENT_ADDDAYS), GETPOST('reyear'));
|
||||||
|
|
||||||
|
$result = $bprev->create($conf->global->PRELEVEMENT_CODE_BANQUE, $conf->global->PRELEVEMENT_CODE_GUICHET, $mode, $format, $executiondate);
|
||||||
|
if ($result < 0)
|
||||||
|
{
|
||||||
|
setEventMessages($bprev->error, $bprev->errors, 'errors');
|
||||||
|
}
|
||||||
|
elseif ($result == 0)
|
||||||
|
{
|
||||||
|
$mesg=$langs->trans("NoInvoiceCouldBeWithdrawed", $format);
|
||||||
|
setEventMessages($mesg, null, 'errors');
|
||||||
|
$mesg.='<br>'."\n";
|
||||||
|
foreach($bprev->invoice_in_error as $key => $val)
|
||||||
|
{
|
||||||
|
$mesg.='<span class="warning">'.$val."</span><br>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setEventMessages($langs->trans("DirectDebitOrderCreated", $bprev->getNomUrl(1)), null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,6 +191,7 @@ else
|
|||||||
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->transnoentitiesnoconv("NoInvoiceToWithdraw", $langs->transnoentitiesnoconv("StandingOrders"))).'">'.$langs->trans("CreateAll")."</a>\n";
|
print '<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->transnoentitiesnoconv("NoInvoiceToWithdraw", $langs->transnoentitiesnoconv("StandingOrders"))).'">'.$langs->trans("CreateAll")."</a>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "</form>\n";
|
||||||
print "</div>\n";
|
print "</div>\n";
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|||||||
@ -203,7 +203,7 @@ if ($resql)
|
|||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
|
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid.'">';
|
||||||
print img_picto('', 'statut'.$obj->statut).' ';
|
print img_picto('', 'statut'.$obj->statut).' ';
|
||||||
print substr('000000'.$obj->rowid, -6);
|
print substr('000000'.$obj->rowid, -6);
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/compta/prelevement/ligne.php
|
* \file htdocs/compta/prelevement/line.php
|
||||||
* \ingroup prelevement
|
* \ingroup prelevement
|
||||||
* \brief card of withdraw line
|
* \brief card of withdraw line
|
||||||
*/
|
*/
|
||||||
@ -86,7 +86,7 @@ if ($action == 'confirm_rejet')
|
|||||||
|
|
||||||
$rej->create($user, $id, GETPOST('motif', 'alpha'), $daterej, $lipre->bon_rowid, GETPOST('facturer', 'int'));
|
$rej->create($user, $id, GETPOST('motif', 'alpha'), $daterej, $lipre->bon_rowid, GETPOST('facturer', 'int'));
|
||||||
|
|
||||||
header("Location: ligne.php?id=".$id);
|
header("Location: line.php?id=".$id);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -97,7 +97,7 @@ if ($action == 'confirm_rejet')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
header("Location: ligne.php?id=".$id);
|
header("Location: line.php?id=".$id);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ $invoicestatic=new Facture($db);
|
|||||||
llxHeader('', $langs->trans("StandingOrder"));
|
llxHeader('', $langs->trans("StandingOrder"));
|
||||||
|
|
||||||
$h = 0;
|
$h = 0;
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$id;
|
$head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$id;
|
||||||
$head[$h][1] = $langs->trans("Card");
|
$head[$h][1] = $langs->trans("Card");
|
||||||
$hselected = $h;
|
$hselected = $h;
|
||||||
$h++;
|
$h++;
|
||||||
@ -179,7 +179,7 @@ if ($id)
|
|||||||
|
|
||||||
$rej = new RejetPrelevement($db, $user);
|
$rej = new RejetPrelevement($db, $user);
|
||||||
|
|
||||||
print '<form name="confirm_rejet" method="post" action="ligne.php?id='.$id.'">';
|
print '<form name="confirm_rejet" method="post" action="line.php?id='.$id.'">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print '<input type="hidden" name="action" value="confirm_rejet">';
|
print '<input type="hidden" name="action" value="confirm_rejet">';
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
@ -231,7 +231,7 @@ if ($id)
|
|||||||
{
|
{
|
||||||
if ($user->rights->prelevement->bons->credit)
|
if ($user->rights->prelevement->bons->credit)
|
||||||
{
|
{
|
||||||
print "<a class=\"butAction\" href=\"ligne.php?action=rejet&id=$lipre->id\">".$langs->trans("StandingOrderReject")."</a>";
|
print "<a class=\"butAction\" href=\"line.php?action=rejet&id=$lipre->id\">".$langs->trans("StandingOrderReject")."</a>";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -172,7 +172,7 @@ if ($result)
|
|||||||
print $ligne->LibStatut($obj->statut_ligne, 2);
|
print $ligne->LibStatut($obj->statut_ligne, 2);
|
||||||
print " ";
|
print " ";
|
||||||
|
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid_ligne.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid_ligne.'">';
|
||||||
print substr('000000'.$obj->rowid_ligne, -6);
|
print substr('000000'.$obj->rowid_ligne, -6);
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
|
|
||||||
|
|||||||
@ -100,7 +100,7 @@ if ($result)
|
|||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $ligne->LibStatut($obj->statut, 2).' ';
|
print $ligne->LibStatut($obj->statut, 2).' ';
|
||||||
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
|
print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/line.php?id='.$obj->rowid.'">';
|
||||||
|
|
||||||
print substr('000000'.$obj->rowid, -6)."</a></td>";
|
print substr('000000'.$obj->rowid, -6)."</a></td>";
|
||||||
|
|
||||||
|
|||||||
@ -773,7 +773,7 @@ else
|
|||||||
|
|
||||||
print '<tr class="oddeven"><td> </td>';
|
print '<tr class="oddeven"><td> </td>';
|
||||||
|
|
||||||
print "<td>".$langs->trans("Salary")." <a href=\"".DOL_URL_ROOT."/compta/salaries/list.php?filtre=s.fk_user=".$obj->fk_user."\">".$obj->firstname." ".$obj->lastname."</a></td>\n";
|
print "<td>".$langs->trans("Salary")." <a href=\"".DOL_URL_ROOT."/salaries/list.php?filtre=s.fk_user=".$obj->fk_user."\">".$obj->firstname." ".$obj->lastname."</a></td>\n";
|
||||||
|
|
||||||
if ($modecompta == 'CREANCES-DETTES') print '<td class="right">'.price(-$obj->amount).'</td>';
|
if ($modecompta == 'CREANCES-DETTES') print '<td class="right">'.price(-$obj->amount).'</td>';
|
||||||
print '<td class="right">'.price(-$obj->amount).'</td>';
|
print '<td class="right">'.price(-$obj->amount).'</td>';
|
||||||
|
|||||||
@ -655,7 +655,7 @@ if ($id > 0)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
print '<tr class="oddeven"><td class="opacitymedium">'.$langs->trans("None").'</td>';
|
print '<tr class="oddeven"><td><span class="opacitymedium">'.$langs->trans("None").'</span></td>';
|
||||||
print '<td></td><td></td><td></td><td></td>';
|
print '<td></td><td></td><td></td><td></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,7 @@ require '../../main.inc.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/salaries/class/paymentsalary.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
|
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
|
|||||||
@ -38,7 +38,7 @@ require_once DOL_DOCUMENT_ROOT.'/expensereport/class/paymentexpensereport.class.
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("other","compta","banks","bills","companies","product","trips","admin","accountancy"));
|
$langs->loadLangs(array("other","compta","banks","bills","companies","product","trips","admin","accountancy"));
|
||||||
|
|
||||||
$modecompta = GETPOST('modecompta', 'alpha');
|
$modecompta = (GETPOST('modecompta', 'alpha') ? GETPOST('modecompta', 'alpha') : $conf->global->ACCOUNTING_MODE);
|
||||||
|
|
||||||
// Date range
|
// Date range
|
||||||
$year=GETPOST("year", 'int');
|
$year=GETPOST("year", 'int');
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
* Copyright (C) 2006-2015 Yannick Warnier <ywarnier@beeznest.org>
|
* Copyright (C) 2006-2015 Yannick Warnier <ywarnier@beeznest.org>
|
||||||
* Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
|
* Copyright (C) 2019 Eric Seigne <eric.seigne@cap-rel.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -116,7 +117,8 @@ foreach ($listofparams as $param)
|
|||||||
if (GETPOST($param)!='') $morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param);
|
if (GETPOST($param)!='') $morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param);
|
||||||
}
|
}
|
||||||
|
|
||||||
llxHeader('', $langs->trans("VATReport"), '', '', 0, 0, '', '', $morequerystring);
|
$title = $langs->trans("VATReport") . " " . dol_print_date($date_start) . " -> " . dol_print_date($date_end);
|
||||||
|
llxHeader('', $title, '', '', 0, 0, '', '', $morequerystring);
|
||||||
|
|
||||||
|
|
||||||
//print load_fiche_titre($langs->trans("VAT"),"");
|
//print load_fiche_titre($langs->trans("VAT"),"");
|
||||||
@ -184,8 +186,10 @@ if ($mysoc->tva_assuj) {
|
|||||||
$vatsup.=' ('.$langs->trans("ToGetBack").')';
|
$vatsup.=' ('.$langs->trans("ToGetBack").')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$optioncss = GETPOST('optioncss');
|
||||||
report_header($name, '', $period, $periodlink, $description, $builddate, $exportlink, array(), $calcmode);
|
if($optioncss != "print") {
|
||||||
|
report_header($name, '', $period, $periodlink, $description, $builddate, $exportlink, array(), $calcmode);
|
||||||
|
}
|
||||||
|
|
||||||
$vatcust=$langs->trans("VATReceived");
|
$vatcust=$langs->trans("VATReceived");
|
||||||
$vatsup=$langs->trans("VATPaid");
|
$vatsup=$langs->trans("VATPaid");
|
||||||
|
|||||||
@ -179,7 +179,7 @@ if (empty($reshook))
|
|||||||
$object->socid = GETPOST("socid", 'int');
|
$object->socid = GETPOST("socid", 'int');
|
||||||
$object->lastname = GETPOST("lastname", 'alpha');
|
$object->lastname = GETPOST("lastname", 'alpha');
|
||||||
$object->firstname = GETPOST("firstname", 'alpha');
|
$object->firstname = GETPOST("firstname", 'alpha');
|
||||||
$object->civility_id = GETPOST("civility_id", 'alpha');
|
$object->civility_id = GETPOST("civility_id", 'alpha');
|
||||||
$object->poste = GETPOST("poste", 'alpha');
|
$object->poste = GETPOST("poste", 'alpha');
|
||||||
$object->address = GETPOST("address", 'alpha');
|
$object->address = GETPOST("address", 'alpha');
|
||||||
$object->zip = GETPOST("zipcode", 'alpha');
|
$object->zip = GETPOST("zipcode", 'alpha');
|
||||||
@ -573,7 +573,7 @@ else
|
|||||||
|
|
||||||
// Civility
|
// Civility
|
||||||
print '<tr><td><label for="civility_id">'.$langs->trans("UserTitle").'</label></td><td colspan="3">';
|
print '<tr><td><label for="civility_id">'.$langs->trans("UserTitle").'</label></td><td colspan="3">';
|
||||||
print $formcompany->select_civility(GETPOST("civility_id", 'alpha')?GETPOST("civility_id", 'alpha'):$object->civility_id);
|
print $formcompany->select_civility(GETPOST("civility", 'alpha')?GETPOST("civility", 'alpha'):$object->civility_code);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '<tr><td><label for="title">'.$langs->trans("PostOrFunction").'</label></td>';
|
print '<tr><td><label for="title">'.$langs->trans("PostOrFunction").'</label></td>';
|
||||||
@ -872,7 +872,7 @@ else
|
|||||||
|
|
||||||
// Civility
|
// Civility
|
||||||
print '<tr><td><label for="civility_id">'.$langs->trans("UserTitle").'</label></td><td colspan="3">';
|
print '<tr><td><label for="civility_id">'.$langs->trans("UserTitle").'</label></td><td colspan="3">';
|
||||||
print $formcompany->select_civility(isset($_POST["civility_id"])?GETPOST("civility_id"):$object->civility_id);
|
print $formcompany->select_civility(isset($_POST["civility"])?GETPOST("civility"):$object->civility_code);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
print '<tr><td><label for="title">'.$langs->trans("PostOrFunction").'</label></td>';
|
print '<tr><td><label for="title">'.$langs->trans("PostOrFunction").'</label></td>';
|
||||||
|
|||||||
@ -499,6 +499,7 @@ class Contact extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||||
/**
|
/**
|
||||||
* Retourne chaine DN complete dans l'annuaire LDAP pour l'objet
|
* Retourne chaine DN complete dans l'annuaire LDAP pour l'objet
|
||||||
*
|
*
|
||||||
@ -508,7 +509,7 @@ class Contact extends CommonObject
|
|||||||
* 2=Return key only (uid=qqq)
|
* 2=Return key only (uid=qqq)
|
||||||
* @return string DN
|
* @return string DN
|
||||||
*/
|
*/
|
||||||
private function _load_ldap_dn($info, $mode = 0)
|
public function _load_ldap_dn($info, $mode = 0)
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
global $conf;
|
global $conf;
|
||||||
@ -1218,7 +1219,7 @@ class Contact extends CommonObject
|
|||||||
global $langs;
|
global $langs;
|
||||||
$langs->load("dict");
|
$langs->load("dict");
|
||||||
|
|
||||||
$code=(! empty($this->civility_id)?$this->civility_id:(! empty($this->civilite_id)?$this->civilite_id:''));
|
$code=(! empty($this->civility_id)?$this->civility:(! empty($this->civilite)?$this->civilite:''));
|
||||||
if (empty($code)) return '';
|
if (empty($code)) return '';
|
||||||
return $langs->getLabelFromKey($this->db, "Civility".$code, "c_civility", "code", "label", $code);
|
return $langs->getLabelFromKey($this->db, "Civility".$code, "c_civility", "code", "label", $code);
|
||||||
}
|
}
|
||||||
|
|||||||
261
htdocs/contrat/agenda.php
Normal file
261
htdocs/contrat/agenda.php
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/contrat/agenda.php
|
||||||
|
* \ingroup contrat
|
||||||
|
* \brief Page of contract events
|
||||||
|
*/
|
||||||
|
|
||||||
|
require "../main.inc.php";
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/contract.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
|
||||||
|
if (! empty($conf->projet->enabled)) {
|
||||||
|
require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load translation files required by the page
|
||||||
|
$langs->loadLangs(array("companies", "contracts"));
|
||||||
|
|
||||||
|
if (GETPOST('actioncode', 'array'))
|
||||||
|
{
|
||||||
|
$actioncode=GETPOST('actioncode', 'array', 3);
|
||||||
|
if (! count($actioncode)) $actioncode='0';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$actioncode=GETPOST("actioncode", "alpha", 3)?GETPOST("actioncode", "alpha", 3):(GETPOST("actioncode")=='0'?'0':(empty($conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT)?'':$conf->global->AGENDA_DEFAULT_FILTER_TYPE_FOR_OBJECT));
|
||||||
|
}
|
||||||
|
$search_agenda_label=GETPOST('search_agenda_label');
|
||||||
|
|
||||||
|
$action = GETPOST('action', 'alpha');
|
||||||
|
$confirm = GETPOST('confirm', 'alpha');
|
||||||
|
$id = GETPOST('id', 'int');
|
||||||
|
$ref = GETPOST('ref', 'alpha');
|
||||||
|
|
||||||
|
// Security check
|
||||||
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
|
$result = restrictedArea($user, 'contrat', $id, '');
|
||||||
|
|
||||||
|
$limit = GETPOST('limit', 'int')?GETPOST('limit', 'int'):$conf->liste_limit;
|
||||||
|
$sortfield = GETPOST("sortfield", 'alpha');
|
||||||
|
$sortorder = GETPOST("sortorder", 'alpha');
|
||||||
|
$page = GETPOST("page", 'int');
|
||||||
|
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
|
||||||
|
$offset = $limit * $page;
|
||||||
|
$pageprev = $page - 1;
|
||||||
|
$pagenext = $page + 1;
|
||||||
|
if (! $sortfield) $sortfield='a.datep,a.id';
|
||||||
|
if (! $sortorder) $sortorder='DESC,DESC';
|
||||||
|
|
||||||
|
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
|
||||||
|
$hookmanager->initHooks(array('agendacontract','globalcard'));
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Actions
|
||||||
|
*/
|
||||||
|
|
||||||
|
$parameters=array('id'=>$id);
|
||||||
|
$reshook=$hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
|
|
||||||
|
if (empty($reshook))
|
||||||
|
{
|
||||||
|
// Cancel
|
||||||
|
if (GETPOST('cancel', 'alpha') && ! empty($backtopage))
|
||||||
|
{
|
||||||
|
header("Location: ".$backtopage);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Purge search criteria
|
||||||
|
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
|
||||||
|
{
|
||||||
|
$actioncode='';
|
||||||
|
$search_agenda_label='';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
$formfile = new FormFile($db);
|
||||||
|
if (! empty($conf->projet->enabled)) $formproject = new FormProjets($db);
|
||||||
|
|
||||||
|
if ($id > 0)
|
||||||
|
{
|
||||||
|
// Load object modContract
|
||||||
|
$module=(! empty($conf->global->CONTRACT_ADDON)?$conf->global->CONTRACT_ADDON:'mod_contract_serpis');
|
||||||
|
if (substr($module, 0, 13) == 'mod_contract_' && substr($module, -3) == 'php')
|
||||||
|
{
|
||||||
|
$module = substr($module, 0, dol_strlen($module)-4);
|
||||||
|
}
|
||||||
|
$result=dol_include_once('/core/modules/contract/'.$module.'.php');
|
||||||
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
$modCodeContract = new $module();
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
|
||||||
|
|
||||||
|
$object = new Contrat($db);
|
||||||
|
$result = $object->fetch($id);
|
||||||
|
$object->fetch_thirdparty();
|
||||||
|
|
||||||
|
$title=$langs->trans("Agenda");
|
||||||
|
if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/contractrefonly/', $conf->global->MAIN_HTML_TITLE) && $object->ref) $title=$object->ref." - ".$title;
|
||||||
|
llxHeader('', $title);
|
||||||
|
|
||||||
|
if (! empty($conf->notification->enabled)) $langs->load("mails");
|
||||||
|
$head = contract_prepare_head($object);
|
||||||
|
|
||||||
|
dol_fiche_head($head, 'agenda', $langs->trans("Contract"), -1, 'contract');
|
||||||
|
|
||||||
|
$linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
$morehtmlref='';
|
||||||
|
if (! empty($modCodeContract->code_auto)) {
|
||||||
|
$morehtmlref.=$object->ref;
|
||||||
|
} else {
|
||||||
|
$morehtmlref.=$form->editfieldkey("", 'ref', $object->ref, $object, $user->rights->contrat->creer, 'string', '', 0, 3);
|
||||||
|
$morehtmlref.=$form->editfieldval("", 'ref', $object->ref, $object, $user->rights->contrat->creer, 'string', '', 0, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
$morehtmlref.='<div class="refidno">';
|
||||||
|
// Ref customer
|
||||||
|
$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_customer', $object->ref_customer, $object, $user->rights->contrat->creer, 'string', '', 0, 1);
|
||||||
|
$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_customer', $object->ref_customer, $object, $user->rights->contrat->creer, 'string', '', null, null, '', 1, 'getFormatedCustomerRef');
|
||||||
|
// Ref supplier
|
||||||
|
$morehtmlref.='<br>';
|
||||||
|
$morehtmlref.=$form->editfieldkey("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $user->rights->contrat->creer, 'string', '', 0, 1);
|
||||||
|
$morehtmlref.=$form->editfieldval("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, $user->rights->contrat->creer, 'string', '', null, null, '', 1, 'getFormatedSupplierRef');
|
||||||
|
// Thirdparty
|
||||||
|
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
|
||||||
|
if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) $morehtmlref.=' (<a href="'.DOL_URL_ROOT.'/contrat/list.php?socid='.$object->thirdparty->id.'&search_name='.urlencode($object->thirdparty->name).'">'.$langs->trans("OtherContracts").'</a>)';
|
||||||
|
// Project
|
||||||
|
if (! empty($conf->projet->enabled))
|
||||||
|
{
|
||||||
|
$langs->load("projects");
|
||||||
|
$morehtmlref.='<br>'.$langs->trans('Project') . ' ';
|
||||||
|
if ($user->rights->contrat->creer)
|
||||||
|
{
|
||||||
|
if ($action != 'classify')
|
||||||
|
$morehtmlref.='<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
||||||
|
if ($action == 'classify') {
|
||||||
|
//$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
|
||||||
|
$morehtmlref.='<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
|
||||||
|
$morehtmlref.='<input type="hidden" name="action" value="classin">';
|
||||||
|
$morehtmlref.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
$morehtmlref.=$formproject->select_projects($object->thirdparty->id, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
|
||||||
|
$morehtmlref.='<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
|
||||||
|
$morehtmlref.='</form>';
|
||||||
|
} else {
|
||||||
|
$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->thirdparty->id, $object->fk_project, 'none', 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (! empty($object->fk_project)) {
|
||||||
|
$proj = new Project($db);
|
||||||
|
$proj->fetch($object->fk_project);
|
||||||
|
$morehtmlref.='<a href="'.DOL_URL_ROOT.'/projet/card.php?id=' . $object->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
||||||
|
$morehtmlref.=$proj->ref;
|
||||||
|
$morehtmlref.='</a>';
|
||||||
|
} else {
|
||||||
|
$morehtmlref.='';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$morehtmlref.='</div>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'id', $linkback, 1, 'ref', 'none', $morehtmlref);
|
||||||
|
|
||||||
|
print '<div class="fichecenter">';
|
||||||
|
|
||||||
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
|
$object->info($id);
|
||||||
|
dol_print_object_info($object, 1);
|
||||||
|
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
|
dol_fiche_end();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Actions buttons
|
||||||
|
|
||||||
|
/*$objthirdparty=$object;
|
||||||
|
$objcon=new stdClass();
|
||||||
|
|
||||||
|
$out='';
|
||||||
|
$permok=$user->rights->agenda->myactions->create;
|
||||||
|
if ((! empty($objthirdparty->id) || ! empty($objcon->id)) && $permok)
|
||||||
|
{
|
||||||
|
//$out.='<a href="'.DOL_URL_ROOT.'/comm/action/card.php?action=create';
|
||||||
|
if (get_class($objthirdparty) == 'Societe') $out.='&socid='.$objthirdparty->id;
|
||||||
|
$out.=(! empty($objcon->id)?'&contactid='.$objcon->id:'').'&backtopage=1&percentage=-1';
|
||||||
|
//$out.=$langs->trans("AddAnAction").' ';
|
||||||
|
//$out.=img_picto($langs->trans("AddAnAction"),'filenew');
|
||||||
|
//$out.="</a>";
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
//print '<div class="tabsAction">';
|
||||||
|
//print '</div>';
|
||||||
|
|
||||||
|
|
||||||
|
$newcardbutton='';
|
||||||
|
if (! empty($conf->agenda->enabled))
|
||||||
|
{
|
||||||
|
if (! empty($user->rights->agenda->myactions->create) || ! empty($user->rights->agenda->allactions->create))
|
||||||
|
{
|
||||||
|
$newcardbutton.= dolGetButtonTitle($langs->trans('AddAction'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/comm/action/card.php?action=create'.$out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->agenda->enabled) && (!empty($user->rights->agenda->myactions->read) || !empty($user->rights->agenda->allactions->read) ))
|
||||||
|
{
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
$param='&id='.$id;
|
||||||
|
if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
|
||||||
|
if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
|
||||||
|
|
||||||
|
print load_fiche_titre($langs->trans("ActionsOnContract"), $newcardbutton, '');
|
||||||
|
//print_barre_liste($langs->trans("ActionsOnCompany"), 0, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, '', 0, -1, '', 0, $newcardbutton, '', 0, 1, 1);
|
||||||
|
|
||||||
|
// List of all actions
|
||||||
|
$filters=array();
|
||||||
|
$filters['search_agenda_label']=$search_agenda_label;
|
||||||
|
|
||||||
|
// TODO Replace this with same code than into list.php
|
||||||
|
show_actions_done($conf, $langs, $db, $object, null, 0, $actioncode, '', $filters, $sortfield, $sortorder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
@ -2209,10 +2209,14 @@ else
|
|||||||
|
|
||||||
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
||||||
|
|
||||||
|
$MAXEVENT = 10;
|
||||||
|
|
||||||
|
$morehtmlright = dolGetButtonTitle($langs->trans('SeeAll'), '', 'fa fa-list-alt', DOL_URL_ROOT.'/contrat/agenda.php?id='.$object->id);
|
||||||
|
|
||||||
// List of actions on element
|
// List of actions on element
|
||||||
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php';
|
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php';
|
||||||
$formactions = new FormActions($db);
|
$formactions = new FormActions($db);
|
||||||
$somethingshown = $formactions->showactions($object, 'contract', $socid, 1);
|
$somethingshown = $formactions->showactions($object, 'contract', $socid, 1, 'listactions', $MAXEVENT, '', $morehtmlright);
|
||||||
|
|
||||||
|
|
||||||
print '</div></div></div>';
|
print '</div></div></div>';
|
||||||
@ -2237,14 +2241,18 @@ $db->close();
|
|||||||
<?php
|
<?php
|
||||||
if (! empty($conf->margin->enabled) && $action == 'editline')
|
if (! empty($conf->margin->enabled) && $action == 'editline')
|
||||||
{
|
{
|
||||||
|
// TODO Why this ? To manage margin on contracts ?
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
var idprod = $("input[name='idprod']").val();
|
var idprod = $("input[name='idprod']").val();
|
||||||
var fournprice = $("input[name='fournprice']").val();
|
var fournprice = $("input[name='fournprice']").val();
|
||||||
|
var token = '<?php echo $_SESSION["token"]; ?>'; // For AJAX Call we use old 'token' and not 'newtoken'
|
||||||
if (idprod > 0) {
|
if (idprod > 0) {
|
||||||
$.post('<?php echo DOL_URL_ROOT; ?>/fourn/ajax/getSupplierPrices.php', {'idprod': idprod}, function(data) {
|
$.post('<?php echo DOL_URL_ROOT; ?>/fourn/ajax/getSupplierPrices.php', {
|
||||||
|
'idprod': idprod,
|
||||||
|
'token': token
|
||||||
|
}, function(data) {
|
||||||
if (data.length > 0) {
|
if (data.length > 0) {
|
||||||
var options = '';
|
var options = '';
|
||||||
var trouve=false;
|
var trouve=false;
|
||||||
@ -2289,6 +2297,5 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|||||||
@ -862,7 +862,7 @@ class Contrat extends CommonObject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::Fetch Erreur lecture des lignes de contrats liees aux produits");
|
dol_syslog(get_class($this)."::Fetch Error when reading lines of contracts linked to products");
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -517,7 +517,7 @@ if ($resql)
|
|||||||
$staticcompany->name=$obj->name;
|
$staticcompany->name=$obj->name;
|
||||||
print $staticcompany->getNomUrl(1, '', 20);
|
print $staticcompany->getNomUrl(1, '', 20);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td width="16" class="right"><a href="ligne.php?id='.$obj->fk_contrat.'&ligne='.$obj->cid.'">';
|
print '<td width="16" class="right"><a href="line.php?id='.$obj->fk_contrat.'&ligne='.$obj->cid.'">';
|
||||||
print $staticcontratligne->LibStatut($obj->statut, 3);
|
print $staticcontratligne->LibStatut($obj->statut, 3);
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
@ -596,7 +596,7 @@ if ($resql)
|
|||||||
$staticcompany->name=$obj->name;
|
$staticcompany->name=$obj->name;
|
||||||
print $staticcompany->getNomUrl(1, '', 20);
|
print $staticcompany->getNomUrl(1, '', 20);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td width="16" class="right"><a href="ligne.php?id='.$obj->fk_contrat.'&ligne='.$obj->cid.'">';
|
print '<td width="16" class="right"><a href="line.php?id='.$obj->fk_contrat.'&ligne='.$obj->cid.'">';
|
||||||
print $staticcontratligne->LibStatut($obj->statut, 3, 1);
|
print $staticcontratligne->LibStatut($obj->statut, 3, 1);
|
||||||
print '</a></td>';
|
print '</a></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|||||||
@ -1,156 +0,0 @@
|
|||||||
<?php
|
|
||||||
/* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
||||||
* Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file htdocs/contrat/info.php
|
|
||||||
* \ingroup contrat
|
|
||||||
* \brief Page des informations d'un contrat
|
|
||||||
*/
|
|
||||||
|
|
||||||
require "../main.inc.php";
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/contract.lib.php';
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php';
|
|
||||||
if (! empty($conf->projet->enabled)) {
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load translation files required by the page
|
|
||||||
$langs->load("contracts");
|
|
||||||
|
|
||||||
$action = GETPOST('action', 'alpha');
|
|
||||||
$confirm = GETPOST('confirm', 'alpha');
|
|
||||||
$id = GETPOST('id', 'int');
|
|
||||||
$ref = GETPOST('ref', 'alpha');
|
|
||||||
|
|
||||||
// Security check
|
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
|
||||||
$result = restrictedArea($user, 'contrat', $id, '');
|
|
||||||
|
|
||||||
// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context
|
|
||||||
$hookmanager->initHooks(array('contractcard','globalcard'));
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Actions
|
|
||||||
*/
|
|
||||||
|
|
||||||
// None
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* View
|
|
||||||
*/
|
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
|
|
||||||
llxHeader('', $langs->trans("Contract"), "");
|
|
||||||
|
|
||||||
$object = new Contrat($db);
|
|
||||||
$object->fetch($id, $ref);
|
|
||||||
if ($object->id > 0)
|
|
||||||
{
|
|
||||||
$object->fetch_thirdparty();
|
|
||||||
}
|
|
||||||
|
|
||||||
$object->info($object->id);
|
|
||||||
|
|
||||||
$head = contract_prepare_head($object);
|
|
||||||
|
|
||||||
dol_fiche_head($head, 'info', $langs->trans("Contract"), -1, 'contract');
|
|
||||||
|
|
||||||
|
|
||||||
// Contract card
|
|
||||||
|
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/contrat/list.php?restore_lastsearch_values=1'.(! empty($socid)?'&socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
|
|
||||||
|
|
||||||
|
|
||||||
$morehtmlref='';
|
|
||||||
//if (! empty($modCodeContract->code_auto)) {
|
|
||||||
$morehtmlref.=$object->ref;
|
|
||||||
/*} else {
|
|
||||||
$morehtmlref.=$form->editfieldkey("",'ref',$object->ref,0,'string','',0,3);
|
|
||||||
$morehtmlref.=$form->editfieldval("",'ref',$object->ref,0,'string','',0,2);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
$morehtmlref.='<div class="refidno">';
|
|
||||||
// Ref customer
|
|
||||||
$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_customer', $object->ref_customer, $object, 0, 'string', '', 0, 1);
|
|
||||||
$morehtmlref.=$form->editfieldval("RefCustomer", 'ref_customer', $object->ref_customer, $object, 0, 'string', '', null, null, '', 1, 'getFormatedCustomerRef');
|
|
||||||
// Ref supplier
|
|
||||||
$morehtmlref.='<br>';
|
|
||||||
$morehtmlref.=$form->editfieldkey("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, 0, 'string', '', 0, 1);
|
|
||||||
$morehtmlref.=$form->editfieldval("RefSupplier", 'ref_supplier', $object->ref_supplier, $object, 0, 'string', '', null, null, '', 1, 'getFormatedSupplierRef');
|
|
||||||
// Thirdparty
|
|
||||||
$morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1);
|
|
||||||
// Project
|
|
||||||
if (! empty($conf->projet->enabled))
|
|
||||||
{
|
|
||||||
$langs->load("projects");
|
|
||||||
$morehtmlref.='<br>'.$langs->trans('Project') . ' ';
|
|
||||||
if ($user->rights->contrat->creer)
|
|
||||||
{
|
|
||||||
if ($action != 'classify')
|
|
||||||
//$morehtmlref.='<a href="' . $_SERVER['PHP_SELF'] . '?action=classify&id=' . $object->id . '">' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '</a> : ';
|
|
||||||
$morehtmlref.=' : ';
|
|
||||||
if ($action == 'classify') {
|
|
||||||
//$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
|
|
||||||
$morehtmlref.='<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
|
|
||||||
$morehtmlref.='<input type="hidden" name="action" value="classin">';
|
|
||||||
$morehtmlref.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
|
||||||
$morehtmlref.=$formproject->select_projects($object->thirdparty->id, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
|
|
||||||
$morehtmlref.='<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
|
|
||||||
$morehtmlref.='</form>';
|
|
||||||
} else {
|
|
||||||
$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->thirdparty->id, $object->fk_project, 'none', 0, 0, 0, 1);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (! empty($object->fk_project)) {
|
|
||||||
$proj = new Project($db);
|
|
||||||
$proj->fetch($object->fk_project);
|
|
||||||
$morehtmlref.='<a href="'.DOL_URL_ROOT.'/projet/card.php?id=' . $object->fk_project . '" title="' . $langs->trans('ShowProject') . '">';
|
|
||||||
$morehtmlref.=$proj->ref;
|
|
||||||
$morehtmlref.='</a>';
|
|
||||||
} else {
|
|
||||||
$morehtmlref.='';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$morehtmlref.='</div>';
|
|
||||||
|
|
||||||
|
|
||||||
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'none', $morehtmlref);
|
|
||||||
|
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
|
||||||
print '<div class="underbanner clearboth"></div>';
|
|
||||||
|
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
print '<table width="100%"><tr><td>';
|
|
||||||
dol_print_object_info($object);
|
|
||||||
print '</td></tr></table>';
|
|
||||||
|
|
||||||
print '</div>';
|
|
||||||
|
|
||||||
dol_fiche_end();
|
|
||||||
|
|
||||||
|
|
||||||
llxFooter();
|
|
||||||
$db->close();
|
|
||||||
@ -220,6 +220,7 @@ class box_graph_invoices_permonth extends ModeleBoxes
|
|||||||
</script>';
|
</script>';
|
||||||
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
||||||
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
$stringtoshow.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
||||||
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
||||||
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
||||||
|
|||||||
@ -217,6 +217,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes
|
|||||||
</script>';
|
</script>';
|
||||||
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
||||||
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
$stringtoshow.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
||||||
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
||||||
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
||||||
|
|||||||
@ -216,6 +216,7 @@ class box_graph_orders_permonth extends ModeleBoxes
|
|||||||
</script>';
|
</script>';
|
||||||
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
||||||
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
$stringtoshow.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
||||||
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
||||||
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
||||||
|
|||||||
@ -215,6 +215,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes
|
|||||||
</script>';
|
</script>';
|
||||||
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
||||||
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
$stringtoshow.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
||||||
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
||||||
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
||||||
|
|||||||
@ -332,6 +332,7 @@ class box_graph_product_distribution extends ModeleBoxes
|
|||||||
</script>';
|
</script>';
|
||||||
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
$stringtoshow.='<div class="center hideobject" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
||||||
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
$stringtoshow.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
||||||
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
||||||
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,showinvoicenb,showpropalnb,showordernb">';
|
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,showinvoicenb,showpropalnb,showordernb">';
|
||||||
|
|||||||
@ -219,6 +219,7 @@ class box_graph_propales_permonth extends ModeleBoxes
|
|||||||
</script>';
|
</script>';
|
||||||
$stringtoshow.='<div class="center hideobject divboxfilter" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
$stringtoshow.='<div class="center hideobject divboxfilter" id="idfilter'.$this->boxcode.'">'; // hideobject is to start hidden
|
||||||
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
$stringtoshow.='<form class="flat formboxfilter" method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||||
|
$stringtoshow.='<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
$stringtoshow.='<input type="hidden" name="action" value="'.$refreshaction.'">';
|
||||||
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
$stringtoshow.='<input type="hidden" name="page_y" value="">';
|
||||||
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
$stringtoshow.='<input type="hidden" name="DOL_AUTOSET_COOKIE" value="DOLUSERCOOKIE_box_'.$this->boxcode.':year,shownb,showtot">';
|
||||||
|
|||||||
@ -10,8 +10,8 @@
|
|||||||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2016 Bahfir abbes <dolipar@dolipar.org>
|
* Copyright (C) 2016 Bahfir abbes <dolipar@dolipar.org>
|
||||||
* Copyright (C) 2017 ATM Consulting <support@atm-consulting.fr>
|
* Copyright (C) 2017 ATM Consulting <support@atm-consulting.fr>
|
||||||
* Copyright (C) 2017 Nicolas ZABOURI <info@inovea-conseil.com>
|
* Copyright (C) 2017-2019 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||||
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
||||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2018 Josep Lluís Amador <joseplluis@lliuretic.cat>
|
* Copyright (C) 2018 Josep Lluís Amador <joseplluis@lliuretic.cat>
|
||||||
*
|
*
|
||||||
@ -53,6 +53,7 @@ abstract class CommonObject
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string Error string
|
* @var string Error string
|
||||||
|
* @see $errors
|
||||||
*/
|
*/
|
||||||
public $error;
|
public $error;
|
||||||
|
|
||||||
@ -2443,9 +2444,9 @@ abstract class CommonObject
|
|||||||
*/
|
*/
|
||||||
public function updateRangOfLine($rowid, $rang)
|
public function updateRangOfLine($rowid, $rang)
|
||||||
{
|
{
|
||||||
$fieldposition = 'rang'; // @TODO Rename 'rang' and 'position' into 'rank'
|
$fieldposition = 'rang'; // @TODO Rename 'rang' into 'position'
|
||||||
if (in_array($this->table_element_line, array('ecm_files', 'emailcollector_emailcollectoraction'))) $fieldposition = 'position';
|
if (in_array($this->table_element_line, array('ecm_files', 'emailcollector_emailcollectoraction'))) $fieldposition = 'position';
|
||||||
if (in_array($this->table_element_line, array('bom_bomline'))) $fieldposition = 'rank';
|
if (in_array($this->table_element_line, array('bom_bomline'))) $fieldposition = 'position';
|
||||||
|
|
||||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.$rang;
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.$rang;
|
||||||
$sql.= ' WHERE rowid = '.$rowid;
|
$sql.= ' WHERE rowid = '.$rowid;
|
||||||
@ -2749,7 +2750,7 @@ abstract class CommonObject
|
|||||||
$MODULE = "";
|
$MODULE = "";
|
||||||
if ($this->element == 'propal')
|
if ($this->element == 'propal')
|
||||||
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_PROPOSAL";
|
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_PROPOSAL";
|
||||||
elseif ($this->element == 'order')
|
elseif ($this->element == 'commande' || $this->element == 'order')
|
||||||
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_ORDER";
|
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_ORDER";
|
||||||
elseif ($this->element == 'facture')
|
elseif ($this->element == 'facture')
|
||||||
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_INVOICE";
|
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_INVOICE";
|
||||||
@ -5008,6 +5009,8 @@ abstract class CommonObject
|
|||||||
$attributeLabel = $extrafields->attributes[$this->table_element]['label'][$attributeKey];
|
$attributeLabel = $extrafields->attributes[$this->table_element]['label'][$attributeKey];
|
||||||
$attributeParam = $extrafields->attributes[$this->table_element]['param'][$attributeKey];
|
$attributeParam = $extrafields->attributes[$this->table_element]['param'][$attributeKey];
|
||||||
$attributeRequired = $extrafields->attributes[$this->table_element]['required'][$attributeKey];
|
$attributeRequired = $extrafields->attributes[$this->table_element]['required'][$attributeKey];
|
||||||
|
$attrfieldcomputed = $extrafields->attributes[$this->table_element]['computed'][$attributeKey];
|
||||||
|
|
||||||
|
|
||||||
if ($attributeRequired)
|
if ($attributeRequired)
|
||||||
{
|
{
|
||||||
@ -5025,6 +5028,21 @@ abstract class CommonObject
|
|||||||
//dol_syslog("attributeLabel=".$attributeLabel, LOG_DEBUG);
|
//dol_syslog("attributeLabel=".$attributeLabel, LOG_DEBUG);
|
||||||
//dol_syslog("attributeType=".$attributeType, LOG_DEBUG);
|
//dol_syslog("attributeType=".$attributeType, LOG_DEBUG);
|
||||||
|
|
||||||
|
if (!empty($attrfieldcomputed))
|
||||||
|
{
|
||||||
|
if (!empty($conf->global->MAIN_STORE_COMPUTED_EXTRAFIELDS))
|
||||||
|
{
|
||||||
|
$value = dol_eval($attrfieldcomputed, 1, 0);
|
||||||
|
dol_syslog($langs->trans("Extrafieldcomputed")." sur ".$attributeLabel."(".$value.")", LOG_DEBUG);
|
||||||
|
$new_array_options[$key] = $value;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$new_array_options[$key] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
switch ($attributeType)
|
switch ($attributeType)
|
||||||
{
|
{
|
||||||
case 'int':
|
case 'int':
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user