Merge branch 'develop' of github.com:Dolibarr/dolibarr into new_multicurrency_module
Conflicts: htdocs/core/class/link.class.php htdocs/install/mysql/migration/3.9.0-4.0.0.sql
This commit is contained in:
commit
1b552a0b3b
28
.travis.yml
28
.travis.yml
@ -197,6 +197,7 @@ before_script:
|
|||||||
echo "Create documents directory and set permissions"
|
echo "Create documents directory and set permissions"
|
||||||
# and admin/temp subdirectory needed for unit tests
|
# and admin/temp subdirectory needed for unit tests
|
||||||
mkdir -p documents/admin/temp
|
mkdir -p documents/admin/temp
|
||||||
|
echo "first line" > documents/dolibarr.log
|
||||||
echo
|
echo
|
||||||
|
|
||||||
- |
|
- |
|
||||||
@ -288,29 +289,42 @@ script:
|
|||||||
|
|
||||||
- |
|
- |
|
||||||
echo "Unit testing"
|
echo "Unit testing"
|
||||||
# Ensure we catch errors
|
# Ensure we catch errors. Set this to +e if you want to go to this end to see log file.
|
||||||
set -e
|
set -e
|
||||||
phpunit -d memory_limit=-1 -c test/phpunit/phpunittest.xml test/phpunit/AllTests.php
|
phpunit -d memory_limit=-1 -c test/phpunit/phpunittest.xml test/phpunit/AllTests.php
|
||||||
set +e
|
set +e
|
||||||
echo
|
|
||||||
|
- |
|
||||||
|
#echo "Output dolibarr.log"
|
||||||
|
#echo cat documents/dolibarr.log
|
||||||
|
|
||||||
|
after_script:
|
||||||
|
- |
|
||||||
|
# Dolibarr log file
|
||||||
|
#echo "After script"
|
||||||
|
#cat documents/dolibarr.log
|
||||||
|
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
|
- |
|
||||||
|
echo Success
|
||||||
|
|
||||||
after_failure:
|
after_failure:
|
||||||
- |
|
- |
|
||||||
if [ "$DEBUG" = true ]; then
|
echo Failure
|
||||||
|
# This part of code seems to be never executed, error or not ???
|
||||||
echo "Debugging informations"
|
echo "Debugging informations"
|
||||||
# Upgrade log files
|
# Upgrade log files
|
||||||
cat *.log
|
cat *.log
|
||||||
# Dolibarr log file
|
echo "Debugging informations"
|
||||||
cat documents/dolibarr.log
|
|
||||||
# Apache log file
|
# Apache log file
|
||||||
sudo cat /var/log/apache2/error.log
|
sudo cat /var/log/apache2/error.log
|
||||||
|
# Dolibarr log file
|
||||||
|
cat documents/dolibarr.log
|
||||||
|
if [ "$DEBUG" = true ]; then
|
||||||
# MariaDB log file
|
# MariaDB log file
|
||||||
sudo cat /var/log/mysql/error.log
|
sudo cat /var/log/mysql/error.log
|
||||||
# TODO: PostgreSQL log file
|
# TODO: PostgreSQL log file
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
after_script:
|
|
||||||
|
|
||||||
|
|||||||
@ -356,6 +356,12 @@ source_file = htdocs/langs/en_US/withdrawals.lang
|
|||||||
source_lang = en_US
|
source_lang = en_US
|
||||||
type = MOZILLAPROPERTIES
|
type = MOZILLAPROPERTIES
|
||||||
|
|
||||||
|
[dolibarr.websites]
|
||||||
|
file_filter = htdocs/langs/<lang>/withdrawals.lang
|
||||||
|
source_file = htdocs/langs/en_US/withdrawals.lang
|
||||||
|
source_lang = en_US
|
||||||
|
type = MOZILLAPROPERTIES
|
||||||
|
|
||||||
[dolibarr.workflow]
|
[dolibarr.workflow]
|
||||||
file_filter = htdocs/langs/<lang>/workflow.lang
|
file_filter = htdocs/langs/<lang>/workflow.lang
|
||||||
source_file = htdocs/langs/en_US/workflow.lang
|
source_file = htdocs/langs/en_US/workflow.lang
|
||||||
|
|||||||
@ -115,6 +115,7 @@ NEW: Use new select2 component for juridical status, country and state selection
|
|||||||
NEW: When creating order, proposal or invoice from thirdparty card, the project is asked during creation. A link to create project if it does not exists is also available.
|
NEW: When creating order, proposal or invoice from thirdparty card, the project is asked during creation. A link to create project if it does not exists is also available.
|
||||||
NEW: Uniformize form creation of proposal to add public and private notes during creation like for order and invoice.
|
NEW: Uniformize form creation of proposal to add public and private notes during creation like for order and invoice.
|
||||||
NEW: More robust antiXSS engine.
|
NEW: More robust antiXSS engine.
|
||||||
|
NEW: Compatibility with Mysql 5.7+
|
||||||
|
|
||||||
For developers:
|
For developers:
|
||||||
NEW: The search box and the bookmarks are now rendered by the menu manager.
|
NEW: The search box and the bookmarks are now rendered by the menu manager.
|
||||||
|
|||||||
@ -14,8 +14,8 @@ with format .DEB (for Debian, Ubuntu, ...).
|
|||||||
# To build a debian package, you need first
|
# To build a debian package, you need first
|
||||||
# With Ubuntu 12.04
|
# With Ubuntu 12.04
|
||||||
# apt-get install debhelper dpkg-source gpg lintian git-buildpackage pkg-php-tools schroot sbuild dh-linktree dh-make-php
|
# apt-get install debhelper dpkg-source gpg lintian git-buildpackage pkg-php-tools schroot sbuild dh-linktree dh-make-php
|
||||||
# With Debian 7
|
# With Ubuntu 14.04 ou Debian 7
|
||||||
# apt-get install debhelper dpkg gnupg lintian git-buildpackage pkg-php-tools schroot sbuild dh-linktree dh-make-php
|
# apt-get install debhelper dpkg gnupg lintian git-buildpackage pkg-php-tools schroot sbuild dh-linktree dh-make-php packaging-dev
|
||||||
|
|
||||||
|
|
||||||
# To generate gpg key for email used into changelog
|
# To generate gpg key for email used into changelog
|
||||||
@ -49,6 +49,7 @@ Other example:
|
|||||||
export DEBFULLNAME="Laurent Destailleur"
|
export DEBFULLNAME="Laurent Destailleur"
|
||||||
export DEBEMAIL="eldy@destailleur.fr"
|
export DEBEMAIL="eldy@destailleur.fr"
|
||||||
|
|
||||||
|
export QUILT_PATCHES=debian/patches
|
||||||
|
|
||||||
# To use Alioth.debian.org
|
# To use Alioth.debian.org
|
||||||
* Create an account login
|
* Create an account login
|
||||||
@ -212,7 +213,9 @@ Warning: Name and email must match value into debian/control file (Entry added h
|
|||||||
|
|
||||||
* We try to build package
|
* We try to build package
|
||||||
> rm -fr ../build-area;
|
> rm -fr ../build-area;
|
||||||
> git-buildpackage -us -uc --git-debian-branch=[master|jessie] --git-upstream-branch=[upstream|upstream-3.5.x]
|
> git-buildpackage -us -uc --git-debian-branch=[master|jessie] --git-upstream-branch=[upstream|upstream-x.y.z]
|
||||||
|
ou
|
||||||
|
> git-buildpackage -us -uc --git-ignore-branch --git-upstream-branch=[upstream|upstream-x.y.z]
|
||||||
|
|
||||||
Note: To build an old version, do: git checkout oldtagname -b newbranchname; git-buildpackage -us -uc --git-debian-branch=newbranchname --git-upstream-branch=[upstream|upstream-3.5.x]
|
Note: To build an old version, do: git checkout oldtagname -b newbranchname; git-buildpackage -us -uc --git-debian-branch=newbranchname --git-upstream-branch=[upstream|upstream-3.5.x]
|
||||||
Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file
|
Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file
|
||||||
@ -220,6 +223,7 @@ Note: You can use git-buildpackage -us -uc -d if you want to test
|
|||||||
Note: Package is built into directory ../build-area
|
Note: Package is built into directory ../build-area
|
||||||
Note: To compare 2 packages: debdiff package1.dsc package2.dsc
|
Note: To compare 2 packages: debdiff package1.dsc package2.dsc
|
||||||
|
|
||||||
|
* Test package (see dedicated chapter to test it with debian unstable env)
|
||||||
|
|
||||||
* If package .deb is ok:
|
* If package .deb is ok:
|
||||||
Note: If there was errors managed manually, you may need to make a git commit but do not use option "amend" previous commit
|
Note: If there was errors managed manually, you may need to make a git commit but do not use option "amend" previous commit
|
||||||
@ -287,17 +291,24 @@ Then check/modify also the user/date signature:
|
|||||||
- Name and email must match value into debian/control file (Entry added here is used by next step).
|
- Name and email must match value into debian/control file (Entry added here is used by next step).
|
||||||
|
|
||||||
|
|
||||||
To update dolibarr debian package when only files into debian has changed, or if you include manually backport:
|
To update dolibarr debian package when only files into debian has changed:
|
||||||
|
|
||||||
* Change files and commit.
|
* Change files and commit.
|
||||||
* Add a tag debian/x.y.z+dfsgw-2 (increase the last 1 into 2, 3...)
|
* Add a tag debian/x.y.z+dfsgw-2 (increase the last 1 into 2, 3...)
|
||||||
|
|
||||||
|
|
||||||
|
To update dolibarr debian package when only files into debian has changed:
|
||||||
|
|
||||||
|
* Manually, add patches into debian/patches and update file debian/series, or do the 2 steps with "quilt import filepatch.patch"
|
||||||
|
* You can test patching of serie with "quilt push" (autant de fois que de patch). Avec "quilt pop -a", on revien a l'état du upstream sans les patch.
|
||||||
|
|
||||||
Once files has been prepared, it's time to test:
|
Once files has been prepared, it's time to test:
|
||||||
|
|
||||||
* Try to build package
|
* Try to build package
|
||||||
> rm -fr ../build-area;
|
> rm -fr ../build-area;
|
||||||
> git-buildpackage -us -uc --git-debian-branch=[master|jessie] --git-upstream-branch=[upstream|upstream-3.5.x]
|
> git-buildpackage -us -uc --git-debian-branch=[master|jessie] --git-upstream-branch=[upstream|upstream-3.5.x|3.5.5]
|
||||||
|
ou
|
||||||
|
> git-buildpackage -us -uc --git-ignore-branch --git-upstream-branch=[upstream|upstream-3.5.x|3.5.5]
|
||||||
|
|
||||||
Note: To build an old version, do: git checkout oldtagname -b newbranchname; git-buildpackage -us -uc --git-debian-branch=newbranchname --git-upstream-branch=[upstream|upstream-3.5.x]
|
Note: To build an old version, do: git checkout oldtagname -b newbranchname; git-buildpackage -us -uc --git-debian-branch=newbranchname --git-upstream-branch=[upstream|upstream-3.5.x]
|
||||||
Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file
|
Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file
|
||||||
|
|||||||
@ -159,7 +159,7 @@ Comments:
|
|||||||
Those files are not shipped in the binary package as we
|
Those files are not shipped in the binary package as we
|
||||||
configure Dolibarr to use Dejavu fonts from "fonts-dejavu-core".
|
configure Dolibarr to use Dejavu fonts from "fonts-dejavu-core".
|
||||||
|
|
||||||
Files: docs/images/*
|
Files: doc/images/*
|
||||||
Copyright: Laurent Destailleur
|
Copyright: Laurent Destailleur
|
||||||
License: CC-BY-SA-3.0
|
License: CC-BY-SA-3.0
|
||||||
You are free:
|
You are free:
|
||||||
@ -176,7 +176,7 @@ License: CC-BY-SA-3.0
|
|||||||
.
|
.
|
||||||
For more information, see http://creativecommons.org/licenses/by-sa/3.0/
|
For more information, see http://creativecommons.org/licenses/by-sa/3.0/
|
||||||
|
|
||||||
Files: htdocs/includes/fpdi/*
|
Files: htdocs/includes/fpdfi/*
|
||||||
Copyright: 2004-2011 Setasign - Jan Slabon
|
Copyright: 2004-2011 Setasign - Jan Slabon
|
||||||
License: GPL-2+
|
License: GPL-2+
|
||||||
This program is free software; you can redistribute it
|
This program is free software; you can redistribute it
|
||||||
|
|||||||
@ -21,7 +21,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief List accounting account
|
* \brief List accounting account
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -177,8 +176,7 @@ if ($result) {
|
|||||||
|
|
||||||
$accountstatic = new AccountingAccount($db);
|
$accountstatic = new AccountingAccount($db);
|
||||||
|
|
||||||
while ( $i < min($num, $limit) )
|
while ( $i < min($num, $limit) ) {
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
$accountstatic->id = $obj->rowid;
|
$accountstatic->id = $obj->rowid;
|
||||||
|
|||||||
@ -48,8 +48,7 @@ if (!$user->admin)
|
|||||||
$accounting = new AccountingAccount($db);
|
$accounting = new AccountingAccount($db);
|
||||||
|
|
||||||
// Action
|
// Action
|
||||||
if ($action == 'add')
|
if ($action == 'add') {
|
||||||
{
|
|
||||||
if (! $cancel) {
|
if (! $cancel) {
|
||||||
$sql = 'SELECT pcg_version FROM ' . MAIN_DB_PREFIX . 'accounting_system WHERE rowid=' . $conf->global->CHARTOFACCOUNTS;
|
$sql = 'SELECT pcg_version FROM ' . MAIN_DB_PREFIX . 'accounting_system WHERE rowid=' . $conf->global->CHARTOFACCOUNTS;
|
||||||
|
|
||||||
@ -80,9 +79,7 @@ if ($action == 'add')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Header("Location: account.php");
|
Header("Location: account.php");
|
||||||
}
|
} else if ($action == 'edit') {
|
||||||
else if ($action == 'edit')
|
|
||||||
{
|
|
||||||
if (! GETPOST('cancel', 'alpha')) {
|
if (! GETPOST('cancel', 'alpha')) {
|
||||||
$result = $accounting->fetch($id);
|
$result = $accounting->fetch($id);
|
||||||
|
|
||||||
@ -111,9 +108,7 @@ else if ($action == 'edit')
|
|||||||
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
}
|
} else if ($action == 'delete') {
|
||||||
else if ($action == 'delete')
|
|
||||||
{
|
|
||||||
$result = $accounting->fetch($id);
|
$result = $accounting->fetch($id);
|
||||||
|
|
||||||
if (! empty($accounting->id)) {
|
if (! empty($accounting->id)) {
|
||||||
@ -137,8 +132,7 @@ llxheader('', $langs->trans('AccountAccounting'));
|
|||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
$htmlacc = new FormVentilation($db);
|
$htmlacc = new FormVentilation($db);
|
||||||
|
|
||||||
if ($action == 'create')
|
if ($action == 'create') {
|
||||||
{
|
|
||||||
print load_fiche_titre($langs->trans('NewAccount'));
|
print load_fiche_titre($langs->trans('NewAccount'));
|
||||||
|
|
||||||
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
||||||
@ -177,9 +171,7 @@ if ($action == 'create')
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
} else if ($id) {
|
||||||
else if ($id)
|
|
||||||
{
|
|
||||||
$rowid = $id;
|
$rowid = $id;
|
||||||
$account = $accounting->fetch($rowid);
|
$account = $accounting->fetch($rowid);
|
||||||
|
|
||||||
@ -188,8 +180,7 @@ else if ($id)
|
|||||||
|
|
||||||
$head = accounting_prepare_head($accounting);
|
$head = accounting_prepare_head($accounting);
|
||||||
|
|
||||||
if ($action == 'update')
|
if ($action == 'update') {
|
||||||
{
|
|
||||||
$soc = new Societe($db);
|
$soc = new Societe($db);
|
||||||
if ($object->socid) {
|
if ($object->socid) {
|
||||||
$soc->fetch($object->socid);
|
$soc->fetch($object->socid);
|
||||||
@ -232,9 +223,7 @@ else if ($id)
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$linkback = '<a href="../admin/account.php">' . $langs->trans("BackToChartofaccounts") . '</a>';
|
$linkback = '<a href="../admin/account.php">' . $langs->trans("BackToChartofaccounts") . '</a>';
|
||||||
|
|
||||||
dol_fiche_head($head, 'card', $langs->trans('AccountAccounting'), 0, 'billr');
|
dol_fiche_head($head, 'card', $langs->trans('AccountAccounting'), 0, 'billr');
|
||||||
@ -297,9 +286,7 @@ else if ($id)
|
|||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,7 +25,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Setup page to configure accounting expert module
|
* \brief Setup page to configure accounting expert module
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -119,7 +118,6 @@ print load_fiche_titre($langs->trans('ConfigAccountingExpert'),$linkback,'title_
|
|||||||
|
|
||||||
$head = admin_accounting_prepare_head();
|
$head = admin_accounting_prepare_head();
|
||||||
|
|
||||||
|
|
||||||
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="post">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="update">';
|
print '<input type="hidden" name="action" value="update">';
|
||||||
@ -140,14 +138,11 @@ $var = ! $var;
|
|||||||
|
|
||||||
print '<tr ' . $bc[$var] . '>';
|
print '<tr ' . $bc[$var] . '>';
|
||||||
print '<td width="50%">' . $langs->trans("Selectformat") . '</td>';
|
print '<td width="50%">' . $langs->trans("Selectformat") . '</td>';
|
||||||
if (! $conf->use_javascript_ajax)
|
if (! $conf->use_javascript_ajax) {
|
||||||
{
|
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
print $langs->trans("NotAvailableWhenAjaxDisabled");
|
print $langs->trans("NotAvailableWhenAjaxDisabled");
|
||||||
print "</td>";
|
print "</td>";
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$listformat = array (
|
$listformat = array (
|
||||||
'csv' => $langs->trans("csv"),
|
'csv' => $langs->trans("csv"),
|
||||||
@ -160,8 +155,7 @@ else
|
|||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
$num = count($main_option);
|
$num = count($main_option);
|
||||||
if ($num)
|
if ($num) {
|
||||||
{
|
|
||||||
foreach ( $main_option as $key ) {
|
foreach ( $main_option as $key ) {
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
|
|
||||||
@ -195,18 +189,16 @@ $var = ! $var;
|
|||||||
|
|
||||||
print '<tr ' . $bc[$var] . '>';
|
print '<tr ' . $bc[$var] . '>';
|
||||||
print '<td width="50%">' . $langs->trans("Selectmodelcsv") . '</td>';
|
print '<td width="50%">' . $langs->trans("Selectmodelcsv") . '</td>';
|
||||||
if (! $conf->use_javascript_ajax)
|
if (! $conf->use_javascript_ajax) {
|
||||||
{
|
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
print $langs->trans("NotAvailableWhenAjaxDisabled");
|
print $langs->trans("NotAvailableWhenAjaxDisabled");
|
||||||
print "</td>";
|
print "</td>";
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$listmodelcsv = array (
|
$listmodelcsv = array (
|
||||||
'1' => $langs->trans("Modelcsv_normal"),
|
'1' => $langs->trans("Modelcsv_normal"),
|
||||||
'2'=>$langs->trans("Modelcsv_CEGID")
|
'2' => $langs->trans("Modelcsv_CEGID"),
|
||||||
|
'3' => $langs->trans("Modelcsv_COALA")
|
||||||
);
|
);
|
||||||
print $form->selectarray("modelcsv", $listmodelcsv, $conf->global->ACCOUNTING_EXPORT_MODELCSV, 0);
|
print $form->selectarray("modelcsv", $listmodelcsv, $conf->global->ACCOUNTING_EXPORT_MODELCSV, 0);
|
||||||
|
|
||||||
@ -222,13 +214,13 @@ print "<br>\n";
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$num2 = count($model_option);
|
$num2 = count($model_option);
|
||||||
if ($num2)
|
if ($num2) {
|
||||||
{
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td colspan="3">' . $langs->trans('OtherOptions') . '</td>';
|
print '<td colspan="3">' . $langs->trans('OtherOptions') . '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV > 1) print '<tr><td colspan="2" bgcolor="red"><b>' . $langs->trans('OptionsDeactivatedForThisExportModel') . '</b></td></tr>';
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV > 1)
|
||||||
|
print '<tr><td colspan="2" bgcolor="red"><b>' . $langs->trans('OptionsDeactivatedForThisExportModel') . '</b></td></tr>';
|
||||||
|
|
||||||
foreach ( $model_option as $key ) {
|
foreach ( $model_option as $key ) {
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
|
|||||||
@ -20,7 +20,6 @@
|
|||||||
* \ingroup fiscal year
|
* \ingroup fiscal year
|
||||||
* \brief Setup page to configure fiscal year
|
* \brief Setup page to configure fiscal year
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
|
||||||
@ -31,7 +30,8 @@ $action=GETPOST('action');
|
|||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("compta");
|
$langs->load("compta");
|
||||||
|
|
||||||
if (! $user->admin) accessforbidden();
|
if (! $user->admin)
|
||||||
|
accessforbidden();
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
@ -40,8 +40,11 @@ static $tmpstatut2label=array(
|
|||||||
'0' => 'OpenFiscalYear',
|
'0' => 'OpenFiscalYear',
|
||||||
'1' => 'CloseFiscalYear'
|
'1' => 'CloseFiscalYear'
|
||||||
);
|
);
|
||||||
$statut2label=array('');
|
$statut2label = array (
|
||||||
foreach ($tmpstatut2label as $key => $val) $statut2label[$key]=$langs->trans($val);
|
''
|
||||||
|
);
|
||||||
|
foreach ( $tmpstatut2label as $key => $val )
|
||||||
|
$statut2label[$key] = $langs->trans($val);
|
||||||
|
|
||||||
$errors = array ();
|
$errors = array ();
|
||||||
|
|
||||||
@ -70,8 +73,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."accounting_fiscalyear as f";
|
|||||||
$sql .= " WHERE f.entity = " . $conf->entity;
|
$sql .= " WHERE f.entity = " . $conf->entity;
|
||||||
|
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result) {
|
||||||
{
|
|
||||||
$var = false;
|
$var = false;
|
||||||
$num = $db->num_rows($result);
|
$num = $db->num_rows($result);
|
||||||
|
|
||||||
@ -87,12 +89,10 @@ if ($result)
|
|||||||
print '<td align="right">' . $langs->trans("Statut") . '</td>';
|
print '<td align="right">' . $langs->trans("Statut") . '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
if ($num)
|
if ($num) {
|
||||||
{
|
|
||||||
$fiscalyearstatic = new Fiscalyear($db);
|
$fiscalyearstatic = new Fiscalyear($db);
|
||||||
|
|
||||||
while ($i < $num && $i < $max)
|
while ( $i < $num && $i < $max ) {
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
$fiscalyearstatic->id = $obj->rowid;
|
$fiscalyearstatic->id = $obj->rowid;
|
||||||
print '<tr ' . $bc[$var] . '>';
|
print '<tr ' . $bc[$var] . '>';
|
||||||
@ -105,17 +105,12 @@ if ($result)
|
|||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
$i ++;
|
$i ++;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<tr ' . $bc[$var] . '><td colspan="5">' . $langs->trans("None") . '</td></tr>';
|
print '<tr ' . $bc[$var] . '><td colspan="5">' . $langs->trans("None") . '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,18 +19,17 @@
|
|||||||
* \file htdocs/accountancy/admin/fiscalyear_card.php
|
* \file htdocs/accountancy/admin/fiscalyear_card.php
|
||||||
* \brief Page to show a fiscal year
|
* \brief Page to show a fiscal year
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/fiscalyear.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/fiscalyear.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/fiscalyear.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/fiscalyear.class.php';
|
||||||
|
|
||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("compta");
|
$langs->load("compta");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if (! $user->admin) accessforbidden();
|
if (! $user->admin)
|
||||||
|
accessforbidden();
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
@ -43,37 +42,33 @@ static $tmpstatut2label=array(
|
|||||||
'0' => 'OpenFiscalYear',
|
'0' => 'OpenFiscalYear',
|
||||||
'1' => 'CloseFiscalYear'
|
'1' => 'CloseFiscalYear'
|
||||||
);
|
);
|
||||||
$statut2label=array('');
|
$statut2label = array (
|
||||||
foreach ($tmpstatut2label as $key => $val) $statut2label[$key]=$langs->trans($val);
|
''
|
||||||
|
);
|
||||||
|
foreach ( $tmpstatut2label as $key => $val )
|
||||||
|
$statut2label[$key] = $langs->trans($val);
|
||||||
|
|
||||||
$object = new Fiscalyear($db);
|
$object = new Fiscalyear($db);
|
||||||
|
|
||||||
$date_start = dol_mktime(0, 0, 0, GETPOST('fiscalyearmonth', 'int'), GETPOST('fiscalyearday', 'int'), GETPOST('fiscalyearyear', 'int'));
|
$date_start = dol_mktime(0, 0, 0, GETPOST('fiscalyearmonth', 'int'), GETPOST('fiscalyearday', 'int'), GETPOST('fiscalyearyear', 'int'));
|
||||||
$date_end = dol_mktime(0, 0, 0, GETPOST('fiscalyearendmonth', 'int'), GETPOST('fiscalyearendday', 'int'), GETPOST('fiscalyearendyear', 'int'));
|
$date_end = dol_mktime(0, 0, 0, GETPOST('fiscalyearendmonth', 'int'), GETPOST('fiscalyearendday', 'int'), GETPOST('fiscalyearendyear', 'int'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action == 'confirm_delete' && $confirm == "yes")
|
if ($action == 'confirm_delete' && $confirm == "yes") {
|
||||||
{
|
|
||||||
$result = $object->delete($id);
|
$result = $object->delete($id);
|
||||||
if ($result >= 0)
|
if ($result >= 0) {
|
||||||
{
|
|
||||||
header("Location: fiscalyear.php");
|
header("Location: fiscalyear.php");
|
||||||
exit;
|
exit();
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if ($action == 'add')
|
else if ($action == 'add') {
|
||||||
{
|
if (! GETPOST('cancel', 'alpha')) {
|
||||||
if (! GETPOST('cancel','alpha'))
|
|
||||||
{
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
$object->date_start = $date_start;
|
$object->date_start = $date_start;
|
||||||
@ -82,55 +77,43 @@ else if ($action == 'add')
|
|||||||
$object->statut = GETPOST('statut', 'int');
|
$object->statut = GETPOST('statut', 'int');
|
||||||
$object->datec = dol_now();
|
$object->datec = dol_now();
|
||||||
|
|
||||||
if (empty($object->date_start) && empty($object->date_end))
|
if (empty($object->date_start) && empty($object->date_end)) {
|
||||||
{
|
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors');
|
||||||
$error ++;
|
$error ++;
|
||||||
}
|
}
|
||||||
if (empty($object->label))
|
if (empty($object->label)) {
|
||||||
{
|
|
||||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label")), null, 'errors');
|
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label")), null, 'errors');
|
||||||
$error ++;
|
$error ++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $error)
|
if (! $error) {
|
||||||
{
|
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
$id = $object->create($user);
|
$id = $object->create($user);
|
||||||
|
|
||||||
if ($id > 0)
|
if ($id > 0) {
|
||||||
{
|
|
||||||
$db->commit();
|
$db->commit();
|
||||||
|
|
||||||
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
||||||
exit;
|
exit();
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$db->rollback();
|
$db->rollback();
|
||||||
|
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$action = 'create';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
header("Location: ./fiscalyear.php");
|
header("Location: ./fiscalyear.php");
|
||||||
exit;
|
exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update record
|
// Update record
|
||||||
else if ($action == 'update')
|
else if ($action == 'update') {
|
||||||
{
|
if (! GETPOST('cancel', 'alpha')) {
|
||||||
if (! GETPOST('cancel','alpha'))
|
|
||||||
{
|
|
||||||
$result = $object->fetch($id);
|
$result = $object->fetch($id);
|
||||||
|
|
||||||
$object->date_start = empty($_POST["fiscalyear"]) ? '' : $date_start;
|
$object->date_start = empty($_POST["fiscalyear"]) ? '' : $date_start;
|
||||||
@ -140,20 +123,15 @@ else if ($action == 'update')
|
|||||||
|
|
||||||
$result = $object->update($user);
|
$result = $object->update($user);
|
||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0) {
|
||||||
{
|
|
||||||
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
||||||
exit;
|
exit();
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id);
|
||||||
exit;
|
exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,8 +146,7 @@ $form = new Form($db);
|
|||||||
/*
|
/*
|
||||||
* Action create
|
* Action create
|
||||||
*/
|
*/
|
||||||
if ($action == 'create')
|
if ($action == 'create') {
|
||||||
{
|
|
||||||
print load_fiche_titre($langs->trans("NewFiscalYear"));
|
print load_fiche_titre($langs->trans("NewFiscalYear"));
|
||||||
|
|
||||||
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
||||||
@ -211,16 +188,12 @@ if ($action == 'create')
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
}
|
} else if ($id) {
|
||||||
else if ($id)
|
|
||||||
{
|
|
||||||
$result = $object->fetch($id);
|
$result = $object->fetch($id);
|
||||||
if ($result > 0)
|
if ($result > 0) {
|
||||||
{
|
|
||||||
$head = fiscalyear_prepare_head($object);
|
$head = fiscalyear_prepare_head($object);
|
||||||
|
|
||||||
if ($action == 'edit')
|
if ($action == 'edit') {
|
||||||
{
|
|
||||||
dol_fiche_head($head, 'card', $langs->trans("FiscalYearCard"), 0, 'cron');
|
dol_fiche_head($head, 'card', $langs->trans("FiscalYearCard"), 0, 'cron');
|
||||||
|
|
||||||
print '<form name="update" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
print '<form name="update" action="' . $_SERVER["PHP_SELF"] . '" method="POST">' . "\n";
|
||||||
@ -267,16 +240,12 @@ else if ($id)
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
/*
|
/*
|
||||||
* Confirm delete
|
* Confirm delete
|
||||||
*/
|
*/
|
||||||
if ($action == 'delete')
|
if ($action == 'delete') {
|
||||||
{
|
|
||||||
print $form->formconfirm($_SERVER["PHP_SELF"] . "?id=" . $id, $langs->trans("DeleteFiscalYear"), $langs->trans("ConfirmDeleteFiscalYear"), "confirm_delete");
|
print $form->formconfirm($_SERVER["PHP_SELF"] . "?id=" . $id, $langs->trans("DeleteFiscalYear"), $langs->trans("ConfirmDeleteFiscalYear"), "confirm_delete");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_fiche_head($head, 'card', $langs->trans("FiscalYearCard"), 0, 'cron');
|
dol_fiche_head($head, 'card', $langs->trans("FiscalYearCard"), 0, 'cron');
|
||||||
@ -332,9 +301,7 @@ else if ($id)
|
|||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,27 +19,25 @@
|
|||||||
* \file htdocs/accountancy/admin/fiscalyear_card.php
|
* \file htdocs/accountancy/admin/fiscalyear_card.php
|
||||||
* \brief Page to show info of a fiscal year
|
* \brief Page to show info of a fiscal year
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/fiscalyear.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/fiscalyear.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/fiscalyear.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/fiscalyear.class.php';
|
||||||
|
|
||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("compta");
|
$langs->load("compta");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if (! $user->admin) accessforbidden();
|
if (! $user->admin)
|
||||||
|
accessforbidden();
|
||||||
|
|
||||||
$id = GETPOST('id', 'int');
|
$id = GETPOST('id', 'int');
|
||||||
|
|
||||||
// View
|
// View
|
||||||
llxHeader();
|
llxHeader();
|
||||||
|
|
||||||
if ($id)
|
if ($id) {
|
||||||
{
|
|
||||||
$object = new Fiscalyear($db);
|
$object = new Fiscalyear($db);
|
||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
$object->info($id);
|
$object->info($id);
|
||||||
|
|||||||
@ -23,7 +23,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Page import accounting account
|
* \brief Page import accounting account
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
|
|||||||
@ -27,7 +27,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Setup page to configure accounting expert module
|
* \brief Setup page to configure accounting expert module
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -74,8 +73,7 @@ $list_account = array (
|
|||||||
|
|
||||||
$accounting_mode = defined('ACCOUNTING_MODE') ? ACCOUNTING_MODE : 'RECETTES-DEPENSES';
|
$accounting_mode = defined('ACCOUNTING_MODE') ? ACCOUNTING_MODE : 'RECETTES-DEPENSES';
|
||||||
|
|
||||||
if ($action == 'update')
|
if ($action == 'update') {
|
||||||
{
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
$accounting_modes = array (
|
$accounting_modes = array (
|
||||||
@ -121,12 +119,9 @@ if ($action == 'update')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $error)
|
if (! $error) {
|
||||||
{
|
|
||||||
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
setEventMessages($langs->trans("Error"), null, 'errors');
|
setEventMessages($langs->trans("Error"), null, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -163,14 +158,13 @@ if ($action == 'setlistsortdone') {
|
|||||||
llxHeader();
|
llxHeader();
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
$formaccountancy = New FormVentilation($db);
|
$formaccountancy = new FormVentilation($db);
|
||||||
|
|
||||||
$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php">' . $langs->trans("BackToModuleList") . '</a>';
|
$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php">' . $langs->trans("BackToModuleList") . '</a>';
|
||||||
print load_fiche_titre($langs->trans('ConfigAccountingExpert'), $linkback, 'title_setup');
|
print load_fiche_titre($langs->trans('ConfigAccountingExpert'), $linkback, 'title_setup');
|
||||||
|
|
||||||
$head = admin_accounting_prepare_head($accounting);
|
$head = admin_accounting_prepare_head($accounting);
|
||||||
|
|
||||||
|
|
||||||
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="post">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="post">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||||
print '<input type="hidden" name="action" value="update">';
|
print '<input type="hidden" name="action" value="update">';
|
||||||
@ -259,8 +253,7 @@ print '<tr class="liste_titre">';
|
|||||||
print '<td colspan="3">' . $langs->trans('OtherOptions') . '</td>';
|
print '<td colspan="3">' . $langs->trans('OtherOptions') . '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
foreach ($list as $key)
|
foreach ( $list as $key ) {
|
||||||
{
|
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
|
|
||||||
print '<tr ' . $bc[$var] . ' class="value">';
|
print '<tr ' . $bc[$var] . ' class="value">';
|
||||||
@ -275,8 +268,7 @@ foreach ($list as $key)
|
|||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($list_account as $key)
|
foreach ( $list_account as $key ) {
|
||||||
{
|
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
|
|
||||||
print '<tr ' . $bc[$var] . ' class="value">';
|
print '<tr ' . $bc[$var] . ' class="value">';
|
||||||
|
|||||||
@ -26,7 +26,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Setup page to configure accounting expert module
|
* \brief Setup page to configure accounting expert module
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -115,10 +114,8 @@ foreach ( $list as $key ) {
|
|||||||
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td colspan="3">' . $langs->trans('JournalFinancial') . '</td>';
|
print '<td colspan="3">' . $langs->trans('JournalFinancial') . '</td>';
|
||||||
@ -132,15 +129,13 @@ $sql.= " AND clos = 0";
|
|||||||
$sql .= " ORDER BY label";
|
$sql .= " ORDER BY label";
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql)
|
if ($resql) {
|
||||||
{
|
|
||||||
$numr = $db->num_rows($resql);
|
$numr = $db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
if ($numr > 0)
|
if ($numr > 0)
|
||||||
|
|
||||||
while ($i < $numr)
|
while ( $i < $numr ) {
|
||||||
{
|
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
|
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
@ -157,8 +152,8 @@ if ($resql)
|
|||||||
|
|
||||||
$i ++;
|
$i ++;
|
||||||
}
|
}
|
||||||
}
|
} else
|
||||||
else dol_print_error($db);
|
dol_print_error($db);
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
@ -169,6 +164,5 @@ print '<div class="center"><input type="submit" class="button" value="' . $langs
|
|||||||
|
|
||||||
print '</form>';
|
print '</form>';
|
||||||
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
@ -22,7 +22,11 @@
|
|||||||
/**
|
/**
|
||||||
* \file htdocs/accountancy/admin/productaccount.php
|
* \file htdocs/accountancy/admin/productaccount.php
|
||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
|
<<<<<<< HEAD
|
||||||
* \brief To define accounting account on product / service
|
* \brief To define accounting account on product / service
|
||||||
|
=======
|
||||||
|
* \brief Onglet de gestion de parametrages des ventilations
|
||||||
|
>>>>>>> refs/remotes/origin/3.9
|
||||||
*/
|
*/
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
@ -42,8 +46,12 @@ $langs->load("main");
|
|||||||
$langs->load("accountancy");
|
$langs->load("accountancy");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if (!$user->admin) accessforbidden();
|
if (! $user->admin) {
|
||||||
if (empty($conf->accounting->enabled)) accessforbidden();
|
accessforbidden();
|
||||||
|
}
|
||||||
|
if (empty($conf->accounting->enabled)) {
|
||||||
|
accessforbidden();
|
||||||
|
}
|
||||||
|
|
||||||
// search & action GETPOST
|
// search & action GETPOST
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
@ -77,10 +85,12 @@ if (! empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) && $conf->global->
|
|||||||
}
|
}
|
||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
|
|
||||||
if (! $sortfield)
|
if (! $sortfield) {
|
||||||
$sortfield = "p.ref";
|
$sortfield = "p.ref";
|
||||||
if (! $sortorder)
|
}
|
||||||
|
if (! $sortorder) {
|
||||||
$sortorder = "ASC";
|
$sortorder = "ASC";
|
||||||
|
}
|
||||||
|
|
||||||
// Sales or Purchase mode ?
|
// Sales or Purchase mode ?
|
||||||
if ($action == 'update') {
|
if ($action == 'update') {
|
||||||
@ -146,7 +156,6 @@ if ($action == 'update') {
|
|||||||
$msg .= '<div><font color="red">' . $langs->trans("AnyLineVentilate") . '</font></div>';
|
$msg .= '<div><font color="red">' . $langs->trans("AnyLineVentilate") . '</font></div>';
|
||||||
}
|
}
|
||||||
$msg .= '<div><font color="red">' . $langs->trans("EndProcessing") . '</font></div>';
|
$msg .= '<div><font color="red">' . $langs->trans("EndProcessing") . '</font></div>';
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -236,7 +245,7 @@ if ($result) {
|
|||||||
$num_lines = $db->num_rows($result);
|
$num_lines = $db->num_rows($result);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("InitAccountancy"),'','title_setup');
|
print_barre_liste($langs->trans("ProductAccountingAccountSelect"), $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, '', $num_lines);
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print $langs->trans("InitAccountancyDesc") . '<br>';
|
print $langs->trans("InitAccountancyDesc") . '<br>';
|
||||||
@ -345,8 +354,7 @@ if ($result) {
|
|||||||
print '<td style="' . $code_sell_p_l_differ . '">' . nl2br(dol_trunc($obj->description, $trunclengh)) . '</td>';
|
print '<td style="' . $code_sell_p_l_differ . '">' . nl2br(dol_trunc($obj->description, $trunclengh)) . '</td>';
|
||||||
|
|
||||||
// Accounting account buy
|
// Accounting account buy
|
||||||
if ($accounting_product_mode == 'ACCOUNTANCY_BUY')
|
if ($accounting_product_mode == 'ACCOUNTANCY_BUY') {
|
||||||
{
|
|
||||||
// print '<td align="left">' . $obj->accountancy_code_buy . '</td>';
|
// print '<td align="left">' . $obj->accountancy_code_buy . '</td>';
|
||||||
// TODO: replace by select
|
// TODO: replace by select
|
||||||
// print '<td align="left">' . $compta_prodbuy . '</td>';
|
// print '<td align="left">' . $compta_prodbuy . '</td>';
|
||||||
@ -355,9 +363,7 @@ if ($result) {
|
|||||||
print '<td align="left">';
|
print '<td align="left">';
|
||||||
print $form->select_account($compta_prodbuy_id, 'codeventil_' . $product_static->id, 1);
|
print $form->select_account($compta_prodbuy_id, 'codeventil_' . $product_static->id, 1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
// Accounting account sell
|
// Accounting account sell
|
||||||
// print '<td align="left">' . $obj->accountancy_code_sell . '</td>';
|
// print '<td align="left">' . $obj->accountancy_code_sell . '</td>';
|
||||||
// TODO: replace by select
|
// TODO: replace by select
|
||||||
|
|||||||
@ -24,7 +24,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Balance by month
|
* \brief Balance by month
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
|
|||||||
@ -22,7 +22,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Page to show account
|
* \brief Page to show account
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -34,8 +33,9 @@ $langs->load("accountancy");
|
|||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$id = GETPOST('id', 'int');
|
$id = GETPOST('id', 'int');
|
||||||
if ($user->societe_id > 0)
|
if ($user->societe_id > 0) {
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
|
}
|
||||||
|
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
$piece_num = GETPOST("piece_num");
|
$piece_num = GETPOST("piece_num");
|
||||||
@ -91,7 +91,7 @@ if ($action == "confirm_update") {
|
|||||||
$book->sens = 'C';
|
$book->sens = 'C';
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $book->update();
|
$result = $book->update($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($book->error, $book->errors, 'errors');
|
setEventMessages($book->error, $book->errors, 'errors');
|
||||||
} else {
|
} else {
|
||||||
@ -136,7 +136,7 @@ else if ($action == "add") {
|
|||||||
$book->sens = 'C';
|
$book->sens = 'C';
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $book->create_std($user);
|
$result = $book->createStd($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($book->error, $book->errors, 'errors');
|
setEventMessages($book->error, $book->errors, 'errors');
|
||||||
} else {
|
} else {
|
||||||
@ -180,7 +180,7 @@ else if ($action == "confirm_create") {
|
|||||||
|
|
||||||
$book->montant = 0;
|
$book->montant = 0;
|
||||||
|
|
||||||
$result = $book->create_std($user);
|
$result = $book->createStd($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($book->error, $book->errors, 'errors');
|
setEventMessages($book->error, $book->errors, 'errors');
|
||||||
} else {
|
} else {
|
||||||
@ -271,13 +271,13 @@ if ($action == 'create') {
|
|||||||
print '</form>';
|
print '</form>';
|
||||||
} else {
|
} else {
|
||||||
$book = new BookKeeping($db);
|
$book = new BookKeeping($db);
|
||||||
$result = $book->fetch_per_mvt($piece_num);
|
$result = $book->fetchPerMvt($piece_num);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($book->error, $book->errors, 'errors');
|
setEventMessages($book->error, $book->errors, 'errors');
|
||||||
}
|
}
|
||||||
if (! empty($book->piece_num)) {
|
if (! empty($book->piece_num)) {
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("UpdateMvts"));
|
print load_fiche_titre($langs->trans("UpdateMvts"), '<a href="list.php">' . $langs->trans('BackToList') . '</a>');
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
print '<tr class="pair">';
|
print '<tr class="pair">';
|
||||||
@ -345,7 +345,6 @@ if ($action == 'create') {
|
|||||||
|
|
||||||
if ($action == 'update' && $line->id == $id) {
|
if ($action == 'update' && $line->id == $id) {
|
||||||
|
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $formventilation->select_account($line->numero_compte, 'account_number', 0, array (), 1, 1, '');
|
print $formventilation->select_account($line->numero_compte, 'account_number', 0, array (), 1, 1, '');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -384,7 +383,11 @@ if ($action == 'create') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($total_debit != $total_credit) {
|
if ($total_debit != $total_credit) {
|
||||||
setEventMessages(null, array('MvtNotCorrectlyBalanced',$total_credit,$total_debit),'errors');
|
setEventMessages(null, array (
|
||||||
|
'MvtNotCorrectlyBalanced',
|
||||||
|
$total_credit,
|
||||||
|
$total_debit
|
||||||
|
), 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == "" || $action == 'add') {
|
if ($action == "" || $action == 'add') {
|
||||||
|
|||||||
@ -38,30 +38,144 @@ $page = GETPOST("page");
|
|||||||
$sortorder = GETPOST("sortorder");
|
$sortorder = GETPOST("sortorder");
|
||||||
$sortfield = GETPOST("sortfield");
|
$sortfield = GETPOST("sortfield");
|
||||||
$action = GETPOST('action', 'alpha');
|
$action = GETPOST('action', 'alpha');
|
||||||
|
$search_mvt_num = GETPOST('search_mvt_num', 'int');
|
||||||
$search_doc_type = GETPOST("search_doc_type");
|
$search_doc_type = GETPOST("search_doc_type");
|
||||||
$search_doc_ref = GETPOST("search_doc_ref");
|
$search_doc_ref = GETPOST("search_doc_ref");
|
||||||
$search_account = GETPOST("search_account");
|
$search_date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth', 'int'), GETPOST('date_startday', 'int'), GETPOST('date_startyear', 'int'));
|
||||||
$search_thirdparty = GETPOST("search_thirdparty");
|
$search_date_end = dol_mktime(0, 0, 0, GETPOST('date_endmonth', 'int'), GETPOST('date_endday', 'int'), GETPOST('date_endyear', 'int'));
|
||||||
$search_journal = GETPOST("search_journal");
|
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
|
||||||
$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit;
|
|
||||||
|
|
||||||
if ($sortorder == "")
|
if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt")) {
|
||||||
$sortorder = "ASC";
|
$action = 'delbookkeepingyear';
|
||||||
if ($sortfield == "")
|
}
|
||||||
$sortfield = "bk.rowid";
|
if (GETPOST("button_export_csv_x") || GETPOST("button_export_csv")) {
|
||||||
|
$action = 'export_csv';
|
||||||
|
}
|
||||||
|
|
||||||
|
$search_accountancy_code = GETPOST("search_accountancy_code");
|
||||||
|
|
||||||
|
$search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha');
|
||||||
|
if ($search_accountancy_code_start == - 1) {
|
||||||
|
$search_accountancy_code_start = '';
|
||||||
|
}
|
||||||
|
$search_accountancy_code_end = GETPOST('search_accountancy_code_end', 'alpha');
|
||||||
|
if ($search_accountancy_code_end == - 1) {
|
||||||
|
$search_accountancy_code_end = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$search_accountancy_aux_code = GETPOST("search_accountancy_aux_code");
|
||||||
|
|
||||||
|
$search_accountancy_aux_code_start = GETPOST('search_accountancy_aux_code_start', 'alpha');
|
||||||
|
if ($search_accountancy_aux_code_start == - 1) {
|
||||||
|
$search_accountancy_aux_code_start = '';
|
||||||
|
}
|
||||||
|
$search_accountancy_aux_code_end = GETPOST('search_accountancy_aux_code_end', 'alpha');
|
||||||
|
if ($search_accountancy_aux_code_end == - 1) {
|
||||||
|
$search_accountancy_aux_code_end = '';
|
||||||
|
}
|
||||||
|
$search_mvt_label = GETPOST('search_mvt_label', 'alpha');
|
||||||
|
$search_direction = GETPOST('search_direction', 'alpha');
|
||||||
|
$search_ledger_code = GETPOST('search_ledger_code', 'alpha');
|
||||||
|
|
||||||
|
$limit = GETPOST('limit') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
||||||
|
|
||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
|
|
||||||
|
$object = new BookKeeping($db);
|
||||||
|
|
||||||
$formventilation = new FormVentilation($db);
|
$formventilation = new FormVentilation($db);
|
||||||
$formother = new FormOther($db);
|
$formother = new FormOther($db);
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers
|
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers
|
||||||
{
|
{
|
||||||
$search_piece_num = "";
|
$search_mvt_num = '';
|
||||||
$search_doc_ref = "";
|
$search_doc_type = '';
|
||||||
$search_account = "";
|
$search_doc_ref = '';
|
||||||
$search_thirdparty = "";
|
$search_doc_date = '';
|
||||||
$search_journal = "";
|
$search_accountancy_code = '';
|
||||||
|
$search_accountancy_code_start = '';
|
||||||
|
$search_accountancy_code_end = '';
|
||||||
|
$search_accountancy_aux_code = '';
|
||||||
|
$search_accountancy_aux_code_start = '';
|
||||||
|
$search_accountancy_aux_code_end = '';
|
||||||
|
$search_mvt_label = '';
|
||||||
|
$search_direction = '';
|
||||||
|
$search_ledger_code = '';
|
||||||
|
$search_date_start = '';
|
||||||
|
$search_date_end = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($search_date_start)) {
|
||||||
|
$search_date_start = dol_mktime(0, 0, 0, 1, 1, dol_print_date(dol_now(), '%Y'));
|
||||||
|
$search_date_end = dol_mktime(0, 0, 0, 12, 31, dol_print_date(dol_now(), '%Y'));
|
||||||
|
}
|
||||||
|
if ($sortorder == "")
|
||||||
|
$sortorder = "ASC";
|
||||||
|
if ($sortfield == "")
|
||||||
|
$sortfield = "t.rowid";
|
||||||
|
|
||||||
|
$options = '';
|
||||||
|
$filter = array ();
|
||||||
|
if (! empty($search_date_start)) {
|
||||||
|
$filter['t.doc_date>='] = $search_date_start;
|
||||||
|
$options .= '&date_startmonth=' . GETPOST('date_startmonth', 'int') . '&date_startday=' . GETPOST('date_startday', 'int') . '&date_startyear=' . GETPOST('date_startyear', 'int');
|
||||||
|
}
|
||||||
|
if (! empty($search_date_end)) {
|
||||||
|
$filter['t.doc_date<='] = $search_date_end;
|
||||||
|
$options .= '&date_endmonth=' . GETPOST('date_endmonth', 'int') . '&date_endday=' . GETPOST('date_endday', 'int') . '&date_endyear=' . GETPOST('date_endyear', 'int');
|
||||||
|
}
|
||||||
|
if (! empty($search_doc_type)) {
|
||||||
|
$filter['t.doc_type'] = $search_doc_type;
|
||||||
|
$options .= '&search_doc_type=' . $search_doc_type;
|
||||||
|
}
|
||||||
|
if (! empty($search_doc_date)) {
|
||||||
|
$filter['t.doc_date'] = $search_doc_date;
|
||||||
|
$options .= '&doc_datemonth=' . GETPOST('doc_datemonth', 'int') . '&doc_dateday=' . GETPOST('doc_dateday', 'int') . '&doc_dateyear=' . GETPOST('doc_dateyear', 'int');
|
||||||
|
}
|
||||||
|
if (! empty($search_doc_ref)) {
|
||||||
|
$filter['t.doc_ref'] = $search_doc_ref;
|
||||||
|
$options .= '&search_doc_ref=' . $search_doc_ref;
|
||||||
|
}
|
||||||
|
if (! empty($search_accountancy_code)) {
|
||||||
|
$filter['t.numero_compte'] = $search_accountancy_code;
|
||||||
|
$options .= '&search_accountancy_code=' . $search_accountancy_code;
|
||||||
|
}
|
||||||
|
if (! empty($search_accountancy_code_start)) {
|
||||||
|
$filter['t.numero_compte>='] = $search_accountancy_code_start;
|
||||||
|
$options .= '&search_accountancy_code_start=' . $search_accountancy_code_start;
|
||||||
|
}
|
||||||
|
if (! empty($search_accountancy_code_end)) {
|
||||||
|
$filter['t.numero_compte<='] = $search_accountancy_code_end;
|
||||||
|
$options .= '&search_accountancy_code_end=' . $search_accountancy_code_end;
|
||||||
|
}
|
||||||
|
if (! empty($search_accountancy_aux_code)) {
|
||||||
|
$filter['t.code_tiers'] = $search_accountancy_aux_code;
|
||||||
|
$options .= '&search_accountancy_aux_code=' . $search_accountancy_aux_code;
|
||||||
|
}
|
||||||
|
if (! empty($search_accountancy_aux_code_start)) {
|
||||||
|
$filter['t.code_tiers>='] = $search_accountancy_aux_code_start;
|
||||||
|
$options .= '&search_accountancy_aux_code_start=' . $search_accountancy_aux_code_start;
|
||||||
|
}
|
||||||
|
if (! empty($search_accountancy_aux_code_end)) {
|
||||||
|
$filter['t.code_tiers<='] = $search_accountancy_aux_code_end;
|
||||||
|
$options .= '&search_accountancy_aux_code_end=' . $search_accountancy_aux_code_end;
|
||||||
|
}
|
||||||
|
if (! empty($search_mvt_label)) {
|
||||||
|
$filter['t.label_compte'] = $search_mvt_label;
|
||||||
|
$options .= '&search_mvt_label=' . $search_mvt_label;
|
||||||
|
}
|
||||||
|
if (! empty($search_direction)) {
|
||||||
|
$filter['t.sens'] = $search_direction;
|
||||||
|
$options .= '&search_direction=' . $search_direction;
|
||||||
|
}
|
||||||
|
if (! empty($search_ledger_code)) {
|
||||||
|
$filter['t.code_journal'] = $search_ledger_code;
|
||||||
|
$options .= '&search_ledger_code=' . $search_ledger_code;
|
||||||
|
}
|
||||||
|
if (! empty($search_mvt_num)) {
|
||||||
|
$filter['t.piece_num'] = $search_mvt_num;
|
||||||
|
$options .= '&search_mvt_num=' . $search_mvt_num;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -72,96 +186,104 @@ if ($action == 'delbookkeeping') {
|
|||||||
$import_key = GETPOST('importkey', 'alpha');
|
$import_key = GETPOST('importkey', 'alpha');
|
||||||
|
|
||||||
if (! empty($import_key)) {
|
if (! empty($import_key)) {
|
||||||
$object = new BookKeeping($db);
|
$result = $object->deleteByImportkey($import_key);
|
||||||
$result = $object->delete_by_importkey($import_key);
|
|
||||||
Header("Location: list.php");
|
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
|
Header("Location: list.php");
|
||||||
|
exit();
|
||||||
}
|
}
|
||||||
} elseif ($action == 'delbookkeepingyear') {
|
} elseif ($action == 'delbookkeepingyearconfirm') {
|
||||||
|
|
||||||
$delyear = GETPOST('delyear', 'int');
|
$delyear = GETPOST('delyear', 'int');
|
||||||
|
|
||||||
if (! empty($delyear)) {
|
if (! empty($delyear)) {
|
||||||
$object = new BookKeeping($db);
|
$result = $object->deleteByYear($delyear);
|
||||||
$result = $object->delete_by_year($delyear);
|
if ($result < 0) {
|
||||||
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
Header("Location: list.php");
|
Header("Location: list.php");
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
} elseif ($action == 'delmouvconfirm') {
|
||||||
|
|
||||||
|
$mvt_num = GETPOST('mvt_num', 'int');
|
||||||
|
|
||||||
|
if (! empty($mvt_num)) {
|
||||||
|
$result = $object->deleteMvtNum($mvt_num);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
// if (!empty($options)) {
|
||||||
} elseif ($action == 'delbookkeepingyear') {
|
// Header("Location: list.php?".urldecode($options));
|
||||||
|
// } else {
|
||||||
$delyear = GETPOST('delyear', 'int');
|
|
||||||
|
|
||||||
if (! empty($delyear)) {
|
|
||||||
$object = new BookKeeping($db);
|
|
||||||
$result = $object->delete_by_year($delyear);
|
|
||||||
Header("Location: list.php");
|
Header("Location: list.php");
|
||||||
if ($result < 0) {
|
// }
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
exit();
|
||||||
}
|
}
|
||||||
}
|
} elseif ($action == 'export_csv') {
|
||||||
} // Export
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
else if ($action == 'export_csv') {
|
$journal = 'bookkepping';
|
||||||
|
|
||||||
header('Content-Type: text/csv');
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
header('Content-Disposition: attachment;filename=export_csv.csv');
|
|
||||||
|
|
||||||
$object = new BookKeeping($db);
|
$result = $object->fetchAll($sortorder, $sortfield, 0, 0, $filter);
|
||||||
$result = $object->export_bookkeping('ebp');
|
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Model classic Export
|
foreach ( $object->lines as $line ) {
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 1) {
|
|
||||||
|
|
||||||
foreach ( $object->linesexport as $line ) {
|
|
||||||
print '"' . dol_print_date($line->doc_date, '%d%m%Y') . '",';
|
|
||||||
print '"' . $line->code_journal . '",';
|
|
||||||
print '"' . $line->numero_compte . '",';
|
|
||||||
print '"' . substr($line->code_journal, 0, 2) . '",';
|
|
||||||
print '"' . substr($line->doc_ref, 0, 40) . '",';
|
|
||||||
print '"' . $line->num_piece . '",';
|
|
||||||
print '"' . $line->debit . '",';
|
|
||||||
print '"' . $line->credit . '",';
|
|
||||||
print '"' . $conf->currency . '",';
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Model cegid Export
|
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) {
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) {
|
||||||
foreach ( $object->linesexport as $line ) {
|
$sep = ";";
|
||||||
print $line->id . ',';
|
// Model Cegid Expert Export
|
||||||
print '"' . dol_print_date($line->doc_date, '%d%m%Y') . '",';
|
$date = dol_print_date($line->doc_date, '%d%m%Y');
|
||||||
print '"' . $line->code_journal . '",';
|
print $date . $sep;
|
||||||
print '"' . $line->numero_compte . '",';
|
print $line->code_journal . $sep;
|
||||||
print '"' . substr($line->code_journal, 0, 2) . '",';
|
print length_accountg($line->numero_compte) . $sep;
|
||||||
print '"' . substr($line->doc_ref, 0, 40) . '",';
|
print ' ' . $sep;
|
||||||
print '"' . $line->num_piece . '",';
|
print $line->sens . $sep;
|
||||||
print '"' . $line->montant . '",';
|
print price($line->montant) . $sep;
|
||||||
print '"' . $line->sens . '",';
|
print dol_trunc($line->label_compte, 32) . $sep;
|
||||||
print '"' . dol_print_date($line->doc_date, '%d%m%Y') . '",';
|
print $line->doc_ref . $sep;
|
||||||
print '"' . $conf->currency . '",';
|
|
||||||
|
/*print $line->piece_num . $sep;
|
||||||
|
print length_accounta($line->code_tiers) . $sep;
|
||||||
|
print . $sep;
|
||||||
|
print price($line->debit) . $sep;
|
||||||
|
print price($line->credit) . $sep;*/
|
||||||
|
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 1) {
|
||||||
}
|
|
||||||
// Model Coala Export
|
// Std export
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 3) {
|
$date = dol_print_date($line->doc_date, $conf->global->ACCOUNTING_EXPORT_DATE);
|
||||||
foreach ( $object->linesexport as $line ) {
|
print $date . $sep;
|
||||||
print $line->id . ',';
|
print $line->doc_ref . $sep;
|
||||||
print '"' . dol_print_date($line->doc_date, '%d%m%Y') . '",';
|
print length_accounta($line->numero_compte) . $sep;
|
||||||
print '"' . $line->code_journal . '",';
|
print length_accountg($line->code_tiers) . $sep;
|
||||||
print '"' . $line->numero_compte . '",';
|
print price($line->debit) . $sep;
|
||||||
print '"' . substr($line->code_journal, 0, 2) . '",';
|
print price($line->credit) . $sep;
|
||||||
print '"' . substr($line->doc_ref, 0, 40) . '",';
|
|
||||||
print '"' . $line->num_piece . '",';
|
/*print $line->piece_num . $sep;
|
||||||
print '"' . $line->montant . '",';
|
print $line->label_compte . $sep;
|
||||||
print '"' . $line->sens . '",';
|
print price($line->montant) . $sep;
|
||||||
print '"' . dol_print_date($line->doc_date, '%d%m%Y') . '",';
|
print $line->sens . $sep;*/
|
||||||
print '"' . $conf->currency . '",';
|
print $line->code_journal . $sep;
|
||||||
|
print "\n";
|
||||||
|
} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 3) {
|
||||||
|
|
||||||
|
// Coala export
|
||||||
|
$date = dol_print_date($line->doc_date, '%d/%m/%Y');
|
||||||
|
print $date . $sep;
|
||||||
|
print $line->code_journal . $sep;
|
||||||
|
print length_accounta($line->numero_compte) . $sep;
|
||||||
|
print $line->piece_num . $sep;
|
||||||
|
print $line->doc_ref . $sep;
|
||||||
|
print price($line->debit) . $sep;
|
||||||
|
print price($line->credit) . $sep;
|
||||||
|
print 'E' . $sep;
|
||||||
|
print length_accountg($line->code_tiers) . $sep;
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -169,45 +291,54 @@ else if ($action == 'export_csv') {
|
|||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
llxHeader('', $langs->trans("Bookkeeping"));
|
$title_page = $langs->trans("Bookkeeping") . ' ' . dol_print_date($search_date_start) . '-' . dol_print_date($search_date_end);
|
||||||
|
|
||||||
|
llxHeader('', $title_page);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* List
|
* List
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, bk.code_tiers, bk.numero_compte , bk.label_compte, bk.debit , bk.credit, bk.montant , bk.sens , bk.code_journal , bk.piece_num ";
|
$nbtotalofrecords = 0;
|
||||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as bk";
|
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
|
||||||
|
$nbtotalofrecords = $object->fetchAll($sortorder, $sortfield, 0, 0, $filter);
|
||||||
if (dol_strlen(trim($search_doc_type))) {
|
if ($nbtotalofrecords < 0) {
|
||||||
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
$sql .= " WHERE bk.piece_num LIKE '%" . $search_piece_num . "%'";
|
|
||||||
|
|
||||||
if (dol_strlen(trim($search_doc_ref))) {
|
|
||||||
$sql .= " AND bk.doc_ref LIKE '%" . $search_doc_ref . "%'";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dol_strlen(trim($search_doc_ref))) {
|
|
||||||
$sql .= " WHERE bk.doc_ref LIKE '%" . $search_doc_ref . "%'";
|
$result = $object->fetchAll($sortorder, $sortfield, $limit, $offset, $filter);
|
||||||
}
|
if ($result < 0) {
|
||||||
if (dol_strlen(trim($search_account))) {
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
$sql .= " WHERE bk.numero_compte LIKE '%" . $search_account . "%'";
|
|
||||||
}
|
|
||||||
if (dol_strlen(trim($search_thirdparty))) {
|
|
||||||
$sql .= " WHERE bk.code_tiers LIKE '%" . $search_thirdparty . "%'";
|
|
||||||
}
|
|
||||||
if (dol_strlen(trim($search_journal))) {
|
|
||||||
$sql .= " WHERE bk.code_journal LIKE '%" . $search_journal . "%'";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit + 1, $offset);
|
if ($action == 'delmouv') {
|
||||||
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?mvt_num=' . GETPOST('mvt_num'), $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'delmouvconfirm', '', 0, 1);
|
||||||
|
print $formconfirm;
|
||||||
|
}
|
||||||
|
if ($action == 'delbookkeepingyear') {
|
||||||
|
|
||||||
dol_syslog('accountancy/bookkeeping/list.php:: $sql=' . $sql);
|
$form_question = array ();
|
||||||
$resql = $db->query($sql);
|
$delyear = GETPOST('delyear');
|
||||||
if ($resql) {
|
|
||||||
$num = $db->num_rows($resql);
|
|
||||||
$i = 0;
|
|
||||||
|
|
||||||
print_barre_liste($langs->trans("Bookkeeping"), $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, '', $num);
|
if (empty($delyear)) {
|
||||||
|
$delyear = dol_print_date(dol_now(), '%Y');
|
||||||
|
}
|
||||||
|
$year_array = $formventilation->selectyear_accountancy_bookkepping($delyear, 'delyear', 0, 'array');
|
||||||
|
|
||||||
|
$form_question['delyear'] = array (
|
||||||
|
'name' => 'delyear',
|
||||||
|
'type' => 'select',
|
||||||
|
'label' => $langs->trans('DelYear'),
|
||||||
|
'values' => $year_array,
|
||||||
|
'default' => $delyear
|
||||||
|
);
|
||||||
|
|
||||||
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans('DeleteMvt'), $langs->trans('ConfirmDeleteMvt'), 'delbookkeepingyearconfirm', $form_question, 0, 1);
|
||||||
|
print $formconfirm;
|
||||||
|
}
|
||||||
|
|
||||||
|
print_barre_liste($title_page, $page, $_SERVER["PHP_SELF"], $options, $sortfield, $sortorder, '', $result, $nbtotalofrecords);
|
||||||
|
|
||||||
/*print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
/*print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
||||||
@ -219,106 +350,145 @@ else {
|
|||||||
|
|
||||||
print '</form>';*/
|
print '</form>';*/
|
||||||
|
|
||||||
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
print '<form method="GET" id="searchFormList" action="' . $_SERVER["PHP_SELF"] . '">';
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
print '<div class="tabsAction">' . "\n";
|
||||||
print '<input type="hidden" name="action" value="delbookkeepingyear">';
|
print '<div class="inline-block divButAction"><input type="submit" name="button_delmvt" class="butAction" value="' . $langs->trans("DelBookKeeping") . '" /></div>';
|
||||||
|
print '<a class="butAction" href="./card.php?action=create">' . $langs->trans("NewAccountingMvt") . '</a>';
|
||||||
|
// print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?action=export_csv">' . $langs->trans("Export") . '</a>';
|
||||||
|
print '<div class="inline-block divButAction"><input type="submit" name="button_export_csv" class="butAction" value="' . $langs->trans("Export") . '" /></div>';
|
||||||
|
|
||||||
print $formother->select_year(GETPOST('delyear'), 'delyear');
|
print '</div>';
|
||||||
|
|
||||||
print '<div class="inline-block divButAction"><input type="submit" class="butAction" value="' . $langs->trans("DelBookKeeping") . '" /></div>';
|
/*print '<div class="liste_titre">';
|
||||||
|
print $langs->trans('DateStart') . ': ';
|
||||||
print '</form>';
|
print $form->select_date($search_date_start, 'date_start', 0, 0, 1);
|
||||||
|
print $langs->trans('DateEnd') . ': ';
|
||||||
print '<form name="add" action="' . $_SERVER["PHP_SELF"] . '" method="POST">';
|
print $form->select_date($search_date_end, 'date_end', 0, 0, 1);
|
||||||
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
|
print '</div>';
|
||||||
print '<input type="hidden" name="action" value="export_csv">';
|
print '<div class="liste_titre">';
|
||||||
print '<input type="submit" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
print $langs->trans('From') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
print '</form>';
|
print $formventilation->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array (), 1, 1, '');
|
||||||
|
print $langs->trans('To') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
|
print $formventilation->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array (), 1, 1, '');
|
||||||
|
print '</div>';
|
||||||
|
print '<div class="liste_titre">';
|
||||||
|
print $langs->trans('From') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
|
print $formventilation->select_auxaccount($search_accountancy_aux_code_start, 'search_accountancy_aux_code_start', 1);
|
||||||
|
print $langs->trans('To') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
|
print $formventilation->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', 1);
|
||||||
|
print '</div>';*/
|
||||||
|
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre($langs->trans("NumPiece"), $_SERVER['PHP_SELF'], "bk.piece_num", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("NumPiece"), $_SERVER['PHP_SELF'], "t.piece_num", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Docdate"), $_SERVER['PHP_SELF'], "bk.doc_date", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Docdate"), $_SERVER['PHP_SELF'], "t.doc_date", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Docref"), $_SERVER['PHP_SELF'], "bk.doc_ref", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Docref"), $_SERVER['PHP_SELF'], "t.doc_ref", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Numerocompte"), $_SERVER['PHP_SELF'], "bk.numero_compte", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Numerocompte"), $_SERVER['PHP_SELF'], "t.numero_compte", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Code_tiers"), $_SERVER['PHP_SELF'], "bk.code_tiers", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Code_tiers"), $_SERVER['PHP_SELF'], "t.code_tiers", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Labelcompte"), $_SERVER['PHP_SELF'], "bk_label_compte", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Labelcompte"), $_SERVER['PHP_SELF'], "bk_label_compte", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "bk.debit", "", "", 'align="center"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "t.debit", "", $options, 'align="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "bk.credit", "", "", 'align="center"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $options, 'align="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "bk.montant", "", "", 'align="center"', $sortfield, $sortorder);
|
// print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "t.montant", "", $options, 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Sens"), $_SERVER['PHP_SELF'], "bk.sens", "", "", 'align="center"', $sortfield, $sortorder);
|
// print_liste_field_titre($langs->trans("Sens"), $_SERVER['PHP_SELF'], "t.sens", "", $options, 'align="center"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "bk.code_journal", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "t.code_journal", "", $options, 'align="right"', $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Action"), $_SERVER["PHP_SELF"], "", $param, "", 'width="60" align="center"', $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Action"), $_SERVER["PHP_SELF"], "", $options, "", 'width="60" align="center"', $sortfield, $sortorder);
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="GET">';
|
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="GET">';
|
||||||
print '<td><input type="text" name="search_doc_type" size="8" value="' . $search_piece_num . '"></td>';
|
print '<td><input type="text" name="search_mvt_num" size="8" value="' . $search_mvt_num . '"></td>';
|
||||||
print '<td> </td>';
|
print '<td class="liste_titre">';
|
||||||
|
print $langs->trans('From') . ': ';
|
||||||
|
print $form->select_date($search_date_start, 'date_start', 0, 0, 1);
|
||||||
|
print '<br>';
|
||||||
|
print $langs->trans('To') . ': ';
|
||||||
|
print $form->select_date($search_date_end, 'date_end', 0, 0, 1);
|
||||||
|
// print $form->select_date($search_doc_date, 'doc_date', 0, 0, 1);
|
||||||
|
print '</td>';
|
||||||
print '<td><input type="text" name="search_doc_ref" size="8" value="' . $search_doc_ref . '"></td>';
|
print '<td><input type="text" name="search_doc_ref" size="8" value="' . $search_doc_ref . '"></td>';
|
||||||
print '<td><input type="text" name="search_account" size="8" value="' . $search_account . '"></td>';
|
print '<td>';
|
||||||
print '<td><input type="text" name="search_thirdparty" size="8" value="' . $search_thirdparty . '"></td>';
|
// print $langs->trans('From') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
|
print $langs->trans('From');
|
||||||
|
print $formventilation->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array (), 1, 1, '');
|
||||||
|
// print $langs->trans('To') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
|
print '<br>';
|
||||||
|
print $langs->trans('To');
|
||||||
|
print $formventilation->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array (), 1, 1, '');
|
||||||
|
print '</td>';
|
||||||
|
// print '<td><input type="text" name="search_accountancy_code" size="8" value="' . $search_accountancy_code . '"></td>';
|
||||||
|
print '<td>';
|
||||||
|
// print $langs->trans('From') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
|
print $langs->trans('From');
|
||||||
|
print $formventilation->select_auxaccount($search_accountancy_aux_code_start, 'search_accountancy_aux_code_start', 1);
|
||||||
|
// print $langs->trans('To') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
|
print '<br>';
|
||||||
|
print $langs->trans('To');
|
||||||
|
print $formventilation->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', 1);
|
||||||
|
print '</td>';
|
||||||
|
// print '<td><input type="text" name="search_accountancy_aux_code" size="8" value="' . $search_accountancy_aux_code . '"></td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=6 class="flat" name="search_mvt_label" value="' . $search_mvt_label . '"/>';
|
||||||
|
print '</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td> </td>';
|
// print '<td> </td>';
|
||||||
print '<td> </td>';
|
// print '<td> </td>';
|
||||||
print '<td> </td>';
|
print '<td align="right"><input type="text" name="search_ledger_code" size="3" value="' . $search_ledger_code . '"></td>';
|
||||||
print '<td><input type="text" name="search_journal" size="3" value="' . $search_journal . '"></td>';
|
|
||||||
print '<td align="right" colspan="2" class="liste_titre">';
|
print '<td align="right" colspan="2" class="liste_titre">';
|
||||||
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
print ' ';
|
print ' ';
|
||||||
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'searchclear.png', '', '', 1) . '" name="button_removefilter" value="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '" title="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '">';
|
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'searchclear.png', '', '', 1) . '" name="button_removefilter" value="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '" title="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</form>';
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
$var = True;
|
$var = True;
|
||||||
|
|
||||||
while ( $i < min($num, $conf->liste_limit) ) {
|
$total_debit = 0;
|
||||||
$obj = $db->fetch_object($resql);
|
$total_credit = 0;
|
||||||
|
|
||||||
|
foreach ( $object->lines as $line ) {
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
|
|
||||||
|
$total_debit += $line->debit;
|
||||||
|
$total_credit += $line->credit;
|
||||||
|
|
||||||
print "<tr $bc[$var]>";
|
print "<tr $bc[$var]>";
|
||||||
|
|
||||||
/* if ($old_piecenum!=$obj->piece_num) {
|
print '<td><a href="./card.php?piece_num=' . $line->piece_num . '">' . $line->piece_num . '</a></td>';
|
||||||
$total_debit=0;
|
print '<td align="center">' . dol_print_date($line->doc_date, 'day') . '</td>';
|
||||||
$total_credit=0;
|
print '<td>' . $line->doc_ref . '</td>';
|
||||||
} else {
|
print '<td>' . length_accountg($line->numero_compte) . '</td>';
|
||||||
$total_debit+=$obj->debit;
|
print '<td>' . length_accounta($line->code_tiers) . '</td>';
|
||||||
$total_credit+=$obj->credit;
|
print '<td>' . $line->label_compte . '</td>';
|
||||||
}
|
print '<td align="right">' . price($line->debit) . '</td>';
|
||||||
*/
|
print '<td align="right">' . price($line->credit) . '</td>';
|
||||||
|
// print '<td align="right">' . price($line->montant) . '</td>';
|
||||||
print '<td>' . $obj->piece_num . '</td>';
|
// print '<td align="center">' . $line->sens . '</td>';
|
||||||
print '<td align="center">' . dol_print_date($db->jdate($obj->doc_date), 'day') . '</td>';
|
print '<td align="right">' . $line->code_journal . '</td>';
|
||||||
print '<td>' . $obj->doc_ref . '</td>';
|
print '<td align="center">';
|
||||||
print '<td>' . length_accountg($obj->numero_compte) . '</td>';
|
print '<a href="./card.php?piece_num=' . $line->piece_num . '">' . img_edit() . '</a>';
|
||||||
print '<td>' . length_accounta($obj->code_tiers) . '</td>';
|
print '<a href="' . $_SERVER['PHP_SELF'] . '?action=delmouv&mvt_num=' . $line->piece_num . $options . '&page=' . $page . '">' . img_delete() . '</a>';
|
||||||
print '<td>' . $obj->label_compte . '</td>';
|
print '</td>';
|
||||||
print '<td align="right">' . price($obj->debit) . '</td>';
|
|
||||||
print '<td align="right">' . price($obj->credit) . '</td>';
|
|
||||||
print '<td align="right">' . price($obj->montant) . '</td>';
|
|
||||||
print '<td align="center">' . $obj->sens . '</td>';
|
|
||||||
print '<td>' . $obj->code_journal . '</td>';
|
|
||||||
print '<td align="center"><a href="./card.php?piece_num=' . $obj->piece_num . '">' . img_edit() . '</a></td>';
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
//$old_piecenum= $obj->piece_num;
|
|
||||||
$i ++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<tr class="liste_total">';
|
||||||
|
print '<td colspan="6"></td>';
|
||||||
|
print '<td align="right">';
|
||||||
|
print price($total_debit);
|
||||||
|
print '</td>';
|
||||||
|
print '<td align="right">';
|
||||||
|
print price($total_credit);
|
||||||
|
print '</td>';
|
||||||
|
print '<td colspan="2"></td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
print '</form>';
|
||||||
print '<div class="tabsAction">';
|
|
||||||
print '<a class="butAction" href="./card.php?action=create">' . $langs->trans("NewAccountingMvt") . '</a>';
|
|
||||||
print '</div>';
|
|
||||||
|
|
||||||
$db->free($resql);
|
|
||||||
} else {
|
|
||||||
dol_print_error($db);
|
|
||||||
}
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
@ -23,12 +23,13 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Book keeping by year
|
* \brief Book keeping by year
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
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 . '/core/lib/accounting.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT . '/accountancy/class/html.formventilation.class.php';
|
||||||
|
|
||||||
// Langs
|
// Langs
|
||||||
$langs->load("accountancy");
|
$langs->load("accountancy");
|
||||||
@ -37,92 +38,255 @@ $page = GETPOST("page");
|
|||||||
$sortorder = GETPOST("sortorder");
|
$sortorder = GETPOST("sortorder");
|
||||||
$sortfield = GETPOST("sortfield");
|
$sortfield = GETPOST("sortfield");
|
||||||
$limit = GETPOST('limit') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
$limit = GETPOST('limit') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
||||||
|
$search_date_start = dol_mktime(0, 0, 0, GETPOST('date_startmonth', 'int'), GETPOST('date_startday', 'int'), GETPOST('date_startyear', 'int'));
|
||||||
|
$search_date_end = dol_mktime(0, 0, 0, GETPOST('date_endmonth', 'int'), GETPOST('date_endday', 'int'), GETPOST('date_endyear', 'int'));
|
||||||
|
$search_doc_type = GETPOST('search_doc_type', 'alpha');
|
||||||
|
$search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int'));
|
||||||
|
$search_doc_ref = GETPOST('search_doc_ref', 'alpha');
|
||||||
|
$search_numero_compte = GETPOST('search_numero_compte', 'alpha');
|
||||||
|
$search_numero_compte_start = GETPOST('search_numero_compte_start', 'alpha');
|
||||||
|
if ($search_numero_compte_start == - 1) {
|
||||||
|
$search_numero_compte_start = '';
|
||||||
|
}
|
||||||
|
$search_numero_compte_end = GETPOST('search_numero_compte_end', 'alpha');
|
||||||
|
if ($search_numero_compte_end == - 1) {
|
||||||
|
$search_numero_compte_end = '';
|
||||||
|
}
|
||||||
|
$search_code_tiers = GETPOST('search_code_tiers', 'alpha');
|
||||||
|
$search_code_tiers_start = GETPOST('search_code_tiers_start', 'alpha');
|
||||||
|
if ($search_code_tiers_start == - 1) {
|
||||||
|
$search_code_tiers_start = '';
|
||||||
|
}
|
||||||
|
$search_code_tiers_end = GETPOST('search_code_tiers_end', 'alpha');
|
||||||
|
if ($search_code_tiers_end == - 1) {
|
||||||
|
$search_code_tiers_end = '';
|
||||||
|
}
|
||||||
|
$search_label_compte = GETPOST('search_label_compte', 'alpha');
|
||||||
|
$search_sens = GETPOST('search_sens', 'alpha');
|
||||||
|
$search_code_journal = GETPOST('search_code_journal', 'alpha');
|
||||||
|
|
||||||
|
$object = new BookKeeping($db);
|
||||||
|
$form = new Form($db);
|
||||||
|
$formventilation = new FormVentilation($db);
|
||||||
|
|
||||||
// Filter
|
// Filter
|
||||||
$year = GETPOST("year", 'int');
|
if (empty($search_date_start)) {
|
||||||
if ($year == 0) {
|
$search_date_start = dol_mktime(0, 0, 0, 1, 1, dol_print_date(dol_now(), '%Y'));
|
||||||
$year_current = strftime("%Y", time());
|
$search_date_end = dol_mktime(0, 0, 0, 12, 31, dol_print_date(dol_now(), '%Y'));
|
||||||
$year_start = $year_current;
|
|
||||||
} else {
|
|
||||||
$year_current = $year;
|
|
||||||
$year_start = $year;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($sortorder == "")
|
if ($sortorder == "")
|
||||||
$sortorder = "ASC";
|
$sortorder = "ASC";
|
||||||
if ($sortfield == "")
|
if ($sortfield == "")
|
||||||
$sortfield = "bk.rowid";
|
$sortfield = "t.rowid";
|
||||||
|
|
||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
|
|
||||||
llxHeader('', $langs->trans("Bookkeeping"));
|
llxHeader('', $langs->trans("Bookkeeping"));
|
||||||
|
|
||||||
$textprevyear = '<a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current - 1) . '">' . img_previous() . '</a>';
|
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers
|
||||||
$textnextyear = ' <a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_current + 1) . '">' . img_next() . '</a>';
|
{
|
||||||
|
$search_doc_type = "";
|
||||||
|
$search_doc_date = "";
|
||||||
|
$search_doc_ref = "";
|
||||||
|
$search_numero_compte = "";
|
||||||
|
$search_code_tiers = "";
|
||||||
|
$search_label_compte = "";
|
||||||
|
$search_sens = "";
|
||||||
|
$search_code_journal = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$options = '';
|
||||||
|
$filter = array ();
|
||||||
|
if (! empty($search_date_start)) {
|
||||||
|
$filter['t.doc_date>='] = $search_date_start;
|
||||||
|
$options .= '&date_startmonth=' . GETPOST('date_startmonth', 'int') . '&date_startday=' . GETPOST('date_startday', 'int') . '&date_startyear=' . GETPOST('date_startyear', 'int');
|
||||||
|
}
|
||||||
|
if (! empty($search_date_end)) {
|
||||||
|
$filter['t.doc_date<='] = $search_date_end;
|
||||||
|
$options .= '&date_endmonth=' . GETPOST('date_endmonth', 'int') . '&date_endday=' . GETPOST('date_endday', 'int') . '&date_endyear=' . GETPOST('date_endyear', 'int');
|
||||||
|
}
|
||||||
|
if (! empty($search_doc_type)) {
|
||||||
|
$filter['t.doc_type'] = $search_doc_type;
|
||||||
|
$options .= '&search_doc_type=' . $search_doc_type;
|
||||||
|
}
|
||||||
|
if (! empty($search_doc_date)) {
|
||||||
|
$filter['t.doc_date'] = $search_doc_date;
|
||||||
|
$options .= '&doc_datemonth=' . GETPOST('doc_datemonth', 'int') . '&doc_dateday=' . GETPOST('doc_dateday', 'int') . '&doc_dateyear=' . GETPOST('doc_dateyear', 'int');
|
||||||
|
}
|
||||||
|
if (! empty($search_doc_ref)) {
|
||||||
|
$filter['t.doc_ref'] = $search_doc_ref;
|
||||||
|
$options .= '&search_doc_ref=' . $search_doc_ref;
|
||||||
|
}
|
||||||
|
if (! empty($search_numero_compte)) {
|
||||||
|
$filter['t.numero_compte'] = $search_numero_compte;
|
||||||
|
$options .= '&search_numero_compte=' . $search_numero_compte;
|
||||||
|
}
|
||||||
|
if (! empty($search_numero_compte_start)) {
|
||||||
|
$filter['t.numero_compte>='] = $search_numero_compte_start;
|
||||||
|
$options .= '&search_numero_compte_start=' . $search_numero_compte_start;
|
||||||
|
}
|
||||||
|
if (! empty($search_numero_compte_end)) {
|
||||||
|
$filter['t.numero_compte<='] = $search_numero_compte_end;
|
||||||
|
$options .= '&search_numero_compte_end=' . $search_numero_compte_end;
|
||||||
|
}
|
||||||
|
if (! empty($search_code_tiers)) {
|
||||||
|
$filter['t.code_tiers'] = $search_code_tiers;
|
||||||
|
$options .= '&search_code_tiers=' . $search_code_tiers;
|
||||||
|
}
|
||||||
|
if (! empty($search_code_tiers_start)) {
|
||||||
|
$filter['t.code_tiers>='] = $search_code_tiers_start;
|
||||||
|
$options .= '&search_code_tiers_start=' . $search_code_tiers_start;
|
||||||
|
}
|
||||||
|
if (! empty($search_code_tiers_end)) {
|
||||||
|
$filter['t.code_tiers<='] = $search_code_tiers_end;
|
||||||
|
$options .= '&search_code_tiers_end=' . $search_code_tiers_end;
|
||||||
|
}
|
||||||
|
if (! empty($search_label_compte)) {
|
||||||
|
$filter['t.label_compte'] = $search_label_compte;
|
||||||
|
$options .= '&search_label_compte=' . $search_label_compte;
|
||||||
|
}
|
||||||
|
if (! empty($search_sens)) {
|
||||||
|
$filter['t.sens'] = $search_sens;
|
||||||
|
$options .= '&search_sens=' . $search_sens;
|
||||||
|
}
|
||||||
|
if (! empty($search_code_journal)) {
|
||||||
|
$filter['t.code_journal'] = $search_code_journal;
|
||||||
|
$options .= '&search_code_journal=' . $search_code_journal;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mode List
|
* Mode List
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$sql = "SELECT bk.rowid, bk.doc_date, bk.doc_type, bk.doc_ref, bk.code_tiers, bk.numero_compte , bk.label_compte, bk.debit , bk.credit, bk.montant , bk.sens, bk.code_journal";
|
$nbtotalofrecords = 0;
|
||||||
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as bk";
|
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
|
||||||
// $sql .= " WHERE bk.doc_date >= '".$db->idate(dol_get_first_day($y,1,false))."'";
|
$nbtotalofrecords = $object->fetchAll($sortorder, $sortfield, 0, 0);
|
||||||
// $sql .= " AND bk.doc_date <= '".$db->idate(dol_get_last_day($y,12,false))."'";
|
if ($nbtotalofrecords < 0) {
|
||||||
$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit + 1, $offset);
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dol_syslog('accountancy/bookkeeping/listbyyear.php:: $sql=' . $sql);
|
$result = $object->fetchAll($sortorder, $sortfield, $limit, $offset, $filter);
|
||||||
$resql = $db->query($sql);
|
if ($result < 0) {
|
||||||
if ($resql) {
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
$num = $db->num_rows($resql);
|
}
|
||||||
$i = 0;
|
|
||||||
|
|
||||||
print_barre_liste($langs->trans("Bookkeeping") . " $textprevyear " . $langs->trans("Year") . " $year_start $textnextyear", $page, $_SERVER['PHP_SELF'], "", $sortfield, $sortorder, '', $num);
|
print_barre_liste($langs->trans("Bookkeeping") . ' ' . dol_print_date($search_date_start) . '-' . dol_print_date($search_date_end), $page, $_SERVER['PHP_SELF'], $options, $sortfield, $sortorder, '', $result, $nbtotalofrecords);
|
||||||
|
|
||||||
|
print '<form method="GET" id="searchFormList" action="' . $_SERVER["PHP_SELF"] . '">';
|
||||||
|
print '<div class="liste_titre">';
|
||||||
|
print $langs->trans('DateStart') . ': ';
|
||||||
|
print $form->select_date($search_date_start, 'date_start');
|
||||||
|
print $langs->trans('DateEnd') . ': ';
|
||||||
|
print $form->select_date($search_date_end, 'date_end');
|
||||||
|
print '</div>';
|
||||||
|
print '<div class="liste_titre">';
|
||||||
|
print $langs->trans('From') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
|
print $formventilation->select_account($search_numero_compte_start, 'search_numero_compte_start', 1, array (), 1, 1, '');
|
||||||
|
print $langs->trans('To') . ' ' . $langs->trans('AccountAccounting') . ': ';
|
||||||
|
print $formventilation->select_account($search_numero_compte_end, 'search_numero_compte_end', 1, array (), 1, 1, '');
|
||||||
|
print '</div>';
|
||||||
|
print '<div class="liste_titre">';
|
||||||
|
print $langs->trans('From') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
|
print $formventilation->select_auxaccount($search_code_tiers_start, 'search_code_tiers_start', 1);
|
||||||
|
print $langs->trans('To') . ' ' . $langs->trans('ThirdPartyAccount') . ': ';
|
||||||
|
print $formventilation->select_auxaccount($search_code_tiers_end, 'searchcode_tiers_end', 1);
|
||||||
|
print '</div>';
|
||||||
print "<table class=\"noborder\" width=\"100%\">";
|
print "<table class=\"noborder\" width=\"100%\">";
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print_liste_field_titre($langs->trans("Doctype"), $_SERVER['PHP_SELF'], "bk.doc_type", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("NumPiece"), $_SERVER['PHP_SELF'], "t.piece_num", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Date"), $_SERVER['PHP_SELF'], "bk.doc_date", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Doctype"), $_SERVER['PHP_SELF'], "t.doc_type", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Docref"), $_SERVER['PHP_SELF'], "bk.doc_ref", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Date"), $_SERVER['PHP_SELF'], "t.doc_date", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("AccountAccounting"), $_SERVER['PHP_SELF'], "bk.numero_compte", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Docref"), $_SERVER['PHP_SELF'], "t.doc_ref", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("ThirdPartyAccount"), $_SERVER['PHP_SELF'], "bk.code_tiers", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("AccountAccounting"), $_SERVER['PHP_SELF'], "t.numero_compte", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "bk_label_compte", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("ThirdPartyAccount"), $_SERVER['PHP_SELF'], "t.code_tiers", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "bk.debit", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Label"), $_SERVER['PHP_SELF'], "t.label_compte", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "bk.credit", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Debit"), $_SERVER['PHP_SELF'], "t.debit", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "bk.montant", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Credit"), $_SERVER['PHP_SELF'], "t.credit", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Sens"), $_SERVER['PHP_SELF'], "bk.sens", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Amount"), $_SERVER['PHP_SELF'], "t.montant", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "bk.code_journal", "", "", "", $sortfield, $sortorder);
|
print_liste_field_titre($langs->trans("Sens"), $_SERVER['PHP_SELF'], "t.sens", "", $options, "", $sortfield, $sortorder);
|
||||||
print_liste_field_titre('');
|
print_liste_field_titre($langs->trans("Codejournal"), $_SERVER['PHP_SELF'], "t.code_journal", "", $options, "", $sortfield, $sortorder);
|
||||||
|
print '<th class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
|
print '<input type="image" class="liste_titre" name="button_removefilter" src="' . img_picto($langs->trans("Search"), 'searchclear.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '" title="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '"></td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=4 class="flat" name="search_piece_num" value="' . $search_piece_num . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=7 class="flat" name="search_doc_type" value="' . $search_doc_type . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print $form->select_date($search_doc_date, 'doc_date', 0, 0, 1);
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=6 class="flat" name="search_doc_ref" value="' . $search_doc_ref . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=6 class="flat" name="search_numero_compte" value="' . $search_numero_compte . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=6 class="flat" name="search_code_tiers" value="' . $search_code_tiers . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=6 class="flat" name="search_label_compte" value="' . $search_label_compte . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=2 class="flat" name="search_sens" value="' . $search_sens . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input type="text" size=3 class="flat" name="search_code_journal" value="' . $search_code_journal . '"/>';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$var = True;
|
$var = True;
|
||||||
|
|
||||||
while ( $i < min($num, $conf->liste_limit) ) {
|
foreach ( $object->lines as $line ) {
|
||||||
$obj = $db->fetch_object($resql);
|
|
||||||
$var = ! $var;
|
$var = ! $var;
|
||||||
|
|
||||||
print "<tr $bc[$var]>";
|
print "<tr $bc[$var]>";
|
||||||
|
|
||||||
print '<td>' . $obj->doc_type . '</td>' . "\n";
|
print '<td>' . $line->piece_num . '</td>' . "\n";
|
||||||
print '<td>' . dol_print_date($db->jdate($obj->doc_date)) . '</td>';
|
print '<td>' . $line->doc_type . '</td>' . "\n";
|
||||||
print '<td>' . $obj->doc_ref . '</td>';
|
print '<td>' . dol_print_date($line->doc_date) . '</td>';
|
||||||
print '<td>' . length_accountg($obj->numero_compte) . '</td>';
|
print '<td>' . $line->doc_ref . '</td>';
|
||||||
print '<td>' . length_accounta($obj->code_tiers) . '</td>';
|
print '<td>' . length_accountg($line->numero_compte) . '</td>';
|
||||||
print '<td>' . $obj->label_compte . '</td>';
|
print '<td>' . length_accounta($line->code_tiers) . '</td>';
|
||||||
print '<td align="right">' . price($obj->debit) . '</td>';
|
print '<td>' . $line->label_compte . '</td>';
|
||||||
print '<td align="right">' . price($obj->credit) . '</td>';
|
print '<td align="right">' . price($line->debit) . '</td>';
|
||||||
print '<td align="right">' . price($obj->montant) . '</td>';
|
print '<td align="right">' . price($line->credit) . '</td>';
|
||||||
print '<td>' . $obj->sens . '</td>';
|
print '<td align="right">' . price($line->montant) . '</td>';
|
||||||
print '<td>' . $obj->code_journal . '</td>';
|
print '<td>' . $line->sens . '</td>';
|
||||||
print '<td><a href="./card.php?action=update&id=' . $obj->rowid . '">' . img_edit() . '</a></td>';
|
print '<td>' . $line->code_journal . '</td>';
|
||||||
|
print '<td><a href="./card.php?action=update&piece_num=' . $line->piece_num . '">' . img_edit() . '</a></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$i ++;
|
|
||||||
}
|
}
|
||||||
print "</table>";
|
print "</table>";
|
||||||
$db->free($resql);
|
print '</form>';
|
||||||
} else {
|
|
||||||
dol_print_error($db);
|
|
||||||
}
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
@ -30,8 +30,11 @@
|
|||||||
*/
|
*/
|
||||||
class AccountingAccount extends CommonObject
|
class AccountingAccount extends CommonObject
|
||||||
{
|
{
|
||||||
|
var $db;
|
||||||
|
var $error;
|
||||||
|
var $errors;
|
||||||
|
var $id;
|
||||||
var $rowid;
|
var $rowid;
|
||||||
|
|
||||||
var $datec; // Creation date
|
var $datec; // Creation date
|
||||||
var $fk_pcg_version;
|
var $fk_pcg_version;
|
||||||
var $pcg_type;
|
var $pcg_type;
|
||||||
@ -48,8 +51,7 @@ class AccountingAccount extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param DoliDB $db Database handle
|
* @param DoliDB $db Database handle
|
||||||
*/
|
*/
|
||||||
function __construct($db)
|
function __construct($db) {
|
||||||
{
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,8 +63,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param int $limittocurentchart 1=Do not load record if it is into another accounting system
|
* @param int $limittocurentchart 1=Do not load record if it is into another accounting system
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function fetch($rowid = null, $account_number = null, $limittocurentchart=0)
|
function fetch($rowid = null, $account_number = null, $limittocurentchart = 0) {
|
||||||
{
|
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
if ($rowid || $account_number) {
|
if ($rowid || $account_number) {
|
||||||
@ -115,8 +116,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param int $notrigger Disable triggers
|
* @param int $notrigger Disable triggers
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function create($user, $notrigger = 0)
|
function create($user, $notrigger = 0) {
|
||||||
{
|
|
||||||
global $conf;
|
global $conf;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
@ -216,8 +216,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param User $user Use making update
|
* @param User $user Use making update
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function update($user)
|
function update($user) {
|
||||||
{
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account ";
|
$sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account ";
|
||||||
@ -249,8 +248,7 @@ class AccountingAccount extends CommonObject
|
|||||||
*
|
*
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function checkUsage()
|
function checkUsage() {
|
||||||
{
|
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
$sql = "(SELECT fk_code_ventilation FROM " . MAIN_DB_PREFIX . "facturedet";
|
$sql = "(SELECT fk_code_ventilation FROM " . MAIN_DB_PREFIX . "facturedet";
|
||||||
@ -283,8 +281,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param int $notrigger 0=triggers after, 1=disable triggers
|
* @param int $notrigger 0=triggers after, 1=disable triggers
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function delete($user, $notrigger = 0)
|
function delete($user, $notrigger = 0) {
|
||||||
{
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
$result = $this->checkUsage();
|
$result = $this->checkUsage();
|
||||||
@ -342,8 +339,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto
|
* @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto
|
||||||
* @return string Chaine avec URL
|
* @return string Chaine avec URL
|
||||||
*/
|
*/
|
||||||
function getNomUrl($withpicto=0)
|
function getNomUrl($withpicto = 0) {
|
||||||
{
|
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
$result = '';
|
$result = '';
|
||||||
@ -355,9 +351,12 @@ class AccountingAccount extends CommonObject
|
|||||||
|
|
||||||
$label = $langs->trans("Show") . ': ' . $this->account_number . ' - ' . $this->label;
|
$label = $langs->trans("Show") . ': ' . $this->account_number . ' - ' . $this->label;
|
||||||
|
|
||||||
if ($withpicto) $result.=($link.img_object($label,$picto).$linkend);
|
if ($withpicto)
|
||||||
if ($withpicto && $withpicto != 2) $result.=' ';
|
$result .= ($link . img_object($label, $picto) . $linkend);
|
||||||
if ($withpicto != 2) $result.=$link.$this->account_number.$linkend;
|
if ($withpicto && $withpicto != 2)
|
||||||
|
$result .= ' ';
|
||||||
|
if ($withpicto != 2)
|
||||||
|
$result .= $link . $this->account_number . $linkend;
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,8 +366,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param int $id of record
|
* @param int $id of record
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function info($id)
|
function info($id) {
|
||||||
{
|
|
||||||
$sql = 'SELECT a.rowid, a.datec, a.fk_user_author, a.fk_user_modif, a.tms';
|
$sql = 'SELECT a.rowid, a.datec, a.fk_user_author, a.fk_user_modif, a.tms';
|
||||||
$sql .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as a';
|
$sql .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as a';
|
||||||
$sql .= ' WHERE a.rowid = ' . $id;
|
$sql .= ' WHERE a.rowid = ' . $id;
|
||||||
@ -405,8 +403,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param int $id Id
|
* @param int $id Id
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function account_desactivate($id)
|
function account_desactivate($id) {
|
||||||
{
|
|
||||||
$result = $this->checkUsage();
|
$result = $this->checkUsage();
|
||||||
|
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
@ -438,8 +435,7 @@ class AccountingAccount extends CommonObject
|
|||||||
* @param int $id Id
|
* @param int $id Id
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function account_activate($id)
|
function account_activate($id) {
|
||||||
{
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
$sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account ";
|
$sql = "UPDATE " . MAIN_DB_PREFIX . "accounting_account ";
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
/* Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
* Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
* Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -37,8 +37,7 @@ class FormVentilation extends Form
|
|||||||
*
|
*
|
||||||
* @param DoliDB $db Database handler
|
* @param DoliDB $db Database handler
|
||||||
*/
|
*/
|
||||||
public function __construct($db)
|
public function __construct($db) {
|
||||||
{
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,8 +48,7 @@ class FormVentilation extends Form
|
|||||||
* @param string $selectedkey Value
|
* @param string $selectedkey Value
|
||||||
* @return string HTML edit field
|
* @return string HTML edit field
|
||||||
*/
|
*/
|
||||||
function select_bookkeeping_importkey($htmlname = 'importkey', $selectedkey='')
|
function select_bookkeeping_importkey($htmlname = 'importkey', $selectedkey = '') {
|
||||||
{
|
|
||||||
$sql = 'SELECT DISTINCT import_key from ' . MAIN_DB_PREFIX . 'accounting_bookkeeping';
|
$sql = 'SELECT DISTINCT import_key from ' . MAIN_DB_PREFIX . 'accounting_bookkeeping';
|
||||||
$sql .= ' ORDER BY import_key DESC';
|
$sql .= ' ORDER BY import_key DESC';
|
||||||
|
|
||||||
@ -98,10 +96,11 @@ class FormVentilation extends Form
|
|||||||
*
|
*
|
||||||
* @return string String with HTML select
|
* @return string String with HTML select
|
||||||
*/
|
*/
|
||||||
function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array(), $select_in = 0, $select_out = 0, $aabase = '')
|
function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array(), $select_in = 0, $select_out = 0, $aabase = '') {
|
||||||
{
|
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
|
||||||
|
|
||||||
$out = '';
|
$out = '';
|
||||||
|
|
||||||
$sql = "SELECT DISTINCT aa.account_number, aa.label, aa.rowid, aa.fk_pcg_version";
|
$sql = "SELECT DISTINCT aa.account_number, aa.label, aa.rowid, aa.fk_pcg_version";
|
||||||
@ -128,10 +127,14 @@ class FormVentilation extends Form
|
|||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
$label = length_accountg($obj->account_number) . ' - ' . $obj->label;
|
$label = length_accountg($obj->account_number) . ' - ' . $obj->label;
|
||||||
$label = dol_trunc($label, $trunclength);
|
$label = dol_trunc($label, $trunclength);
|
||||||
if ($select_in == 0 ) $select_value_in = $obj->rowid;
|
if ($select_in == 0)
|
||||||
if ($select_in == 1 ) $select_value_in = $obj->account_number;
|
$select_value_in = $obj->rowid;
|
||||||
if ($select_out == 0 ) $select_value_out = $obj->rowid;
|
if ($select_in == 1)
|
||||||
if ($select_out == 1 ) $select_value_out = $obj->account_number;
|
$select_value_in = $obj->account_number;
|
||||||
|
if ($select_out == 0)
|
||||||
|
$select_value_out = $obj->rowid;
|
||||||
|
if ($select_out == 1)
|
||||||
|
$select_value_out = $obj->account_number;
|
||||||
// Remember guy's we store in database llx_facturedet the rowid of accounting_account and not the account_number
|
// Remember guy's we store in database llx_facturedet the rowid of accounting_account and not the account_number
|
||||||
// Because same account_number can be share between different accounting_system and do have the same meaning
|
// Because same account_number can be share between different accounting_system and do have the same meaning
|
||||||
if (($selectid != '') && $selectid == $select_value_in) {
|
if (($selectid != '') && $selectid == $select_value_in) {
|
||||||
@ -164,8 +167,7 @@ class FormVentilation extends Form
|
|||||||
*
|
*
|
||||||
* @return string String with HTML select
|
* @return string String with HTML select
|
||||||
*/
|
*/
|
||||||
function select_pcgtype($selectid, $htmlname = 'pcg_type', $showempty = 0, $event = array())
|
function select_pcgtype($selectid, $htmlname = 'pcg_type', $showempty = 0, $event = array()) {
|
||||||
{
|
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
$out = '';
|
$out = '';
|
||||||
@ -220,8 +222,7 @@ class FormVentilation extends Form
|
|||||||
*
|
*
|
||||||
* @return string String with HTML select
|
* @return string String with HTML select
|
||||||
*/
|
*/
|
||||||
function select_pcgsubtype($selectid, $htmlname = 'pcg_subtype', $showempty = 0, $event = array())
|
function select_pcgsubtype($selectid, $htmlname = 'pcg_subtype', $showempty = 0, $event = array()) {
|
||||||
{
|
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
$out = '';
|
$out = '';
|
||||||
@ -321,7 +322,6 @@ class FormVentilation extends Form
|
|||||||
}
|
}
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
|
|
||||||
|
|
||||||
// Build select
|
// Build select
|
||||||
if (count($aux_account) > 0) {
|
if (count($aux_account) > 0) {
|
||||||
|
|
||||||
@ -342,4 +342,66 @@ class FormVentilation extends Form
|
|||||||
|
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return HTML combo list of years existing into book keepping
|
||||||
|
*
|
||||||
|
* @param string $selected Preselected value
|
||||||
|
* @param string $htmlname Name of HTML select object
|
||||||
|
* @param int $useempty Affiche valeur vide dans liste
|
||||||
|
* @param string $output_format (html/opton (for option html only)/array (to return options arrays
|
||||||
|
* @return string/array
|
||||||
|
*/
|
||||||
|
function selectyear_accountancy_bookkepping($selected = '', $htmlname = 'yearid', $useempty = 0, $output_format = 'html') {
|
||||||
|
$out = '';
|
||||||
|
$out_array = array ();
|
||||||
|
|
||||||
|
if ($output_format == 'html') {
|
||||||
|
$out .= '<select class="flat" placeholder="aa" id="' . $htmlname . '" name="' . $htmlname . '"' . $option . ' >';
|
||||||
|
}
|
||||||
|
if ($useempty) {
|
||||||
|
$selected_html = '';
|
||||||
|
if ($selected == '') {
|
||||||
|
$selected_html = ' selected';
|
||||||
|
}
|
||||||
|
if ($output_format == 'html' || $output_format == 'options') {
|
||||||
|
$out .= '<option value=""' . $selected_html . '> </option>';
|
||||||
|
} elseif ($output_format == 'array') {
|
||||||
|
$out_array[''] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql = "SELECT DISTINCT date_format(doc_date,'%Y') as dtyear";
|
||||||
|
$sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping";
|
||||||
|
$sql .= " ORDER BY doc_date";
|
||||||
|
dol_syslog(get_class($this) . "::" . __METHOD__, LOG_DEBUG);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql) {
|
||||||
|
while ( $obj = $this->db->fetch_object($resql) ) {
|
||||||
|
$selected_html = '';
|
||||||
|
if ($selected > 0 && $obj->dtyear == $selected)
|
||||||
|
$selected_html = ' selected';
|
||||||
|
if ($output_format == 'html' || $output_format == 'options') {
|
||||||
|
$out .= '<option value="' . $obj->dtyear . '"' . $selected_html . ' >' . $obj->dtyear . '</option>';
|
||||||
|
} elseif ($output_format == 'array') {
|
||||||
|
$out_array[$obj->dtyear] = $obj->dtyear;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->error = "Error " . $this->db->lasterror();
|
||||||
|
dol_syslog(get_class($this) . "::" . __METHOD__ . $this->error, LOG_ERR);
|
||||||
|
return - 1;
|
||||||
|
}
|
||||||
|
$this->db->free($resql);
|
||||||
|
|
||||||
|
if ($output_format == 'html') {
|
||||||
|
$out .= "</select>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($output_format == 'html' || $output_format == 'options') {
|
||||||
|
return $out;
|
||||||
|
} elseif ($output_format == 'array') {
|
||||||
|
return $out_array;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,6 @@
|
|||||||
* \ingroup Accountancy
|
* \ingroup Accountancy
|
||||||
* \brief Card customer ventilation
|
* \brief Card customer ventilation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -45,8 +44,7 @@ if ($user->societe_id > 0)
|
|||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
if ($action == 'ventil' && $user->rights->accounting->ventilation->dispatch) {
|
if ($action == 'ventil' && $user->rights->accounting->ventilation->dispatch) {
|
||||||
if (! GETPOST('cancel', 'alpha'))
|
if (! GETPOST('cancel', 'alpha')) {
|
||||||
{
|
|
||||||
$sql = " UPDATE " . MAIN_DB_PREFIX . "facturedet";
|
$sql = " UPDATE " . MAIN_DB_PREFIX . "facturedet";
|
||||||
$sql .= " SET fk_code_ventilation = " . $codeventil;
|
$sql .= " SET fk_code_ventilation = " . $codeventil;
|
||||||
$sql .= " WHERE rowid = " . $id;
|
$sql .= " WHERE rowid = " . $id;
|
||||||
|
|||||||
@ -25,7 +25,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Home customer ventilation
|
* \brief Home customer ventilation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -88,6 +87,50 @@ if ($action == 'validatehistory') {
|
|||||||
$db->commit();
|
$db->commit();
|
||||||
setEventMessages($langs->trans('Dispatched'), null, 'mesgs');
|
setEventMessages($langs->trans('Dispatched'), null, 'mesgs');
|
||||||
}
|
}
|
||||||
|
} elseif ($action == 'fixaccountancycode') {
|
||||||
|
$error = 0;
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
|
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||||
|
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||||
|
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
|
||||||
|
$sql1 .= ' (SELECT accnt.rowid ';
|
||||||
|
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accountingaccount as accnt';
|
||||||
|
$sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst';
|
||||||
|
$sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')';
|
||||||
|
|
||||||
|
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||||
|
|
||||||
|
$resql1 = $db->query($sql1);
|
||||||
|
if (! $resql1) {
|
||||||
|
$error ++;
|
||||||
|
$db->rollback();
|
||||||
|
setEventMessage($db->lasterror(), 'errors');
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
setEventMessage($langs->trans('Done'), 'mesgs');
|
||||||
|
}
|
||||||
|
} elseif ($action == 'cleanaccountancycode') {
|
||||||
|
$error = 0;
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
|
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||||
|
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||||
|
$sql1 .= " WHERE fd.fk_facture IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture as f";
|
||||||
|
$sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
|
||||||
|
$sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')";
|
||||||
|
|
||||||
|
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||||
|
|
||||||
|
$resql1 = $db->query($sql1);
|
||||||
|
if (! $resql1) {
|
||||||
|
$error ++;
|
||||||
|
$db->rollback();
|
||||||
|
setEventMessage($db->lasterror(), 'errors');
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
setEventMessage($langs->trans('Done'), 'mesgs');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -101,7 +144,11 @@ $textnextyear = ' <a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_cur
|
|||||||
print load_fiche_titre($langs->trans("CustomersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
print load_fiche_titre($langs->trans("CustomersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
||||||
|
|
||||||
print '<b>' . $langs->trans("DescVentilCustomer") . '</b>';
|
print '<b>' . $langs->trans("DescVentilCustomer") . '</b>';
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?action=validatehistory">' . $langs->trans("ValidateHistory") . '</a></div>';
|
print '<div class="inline-block divButAction">';
|
||||||
|
print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' . $year_current . '&action=validatehistory">' . $langs->trans("ValidateHistory") . '</a>';
|
||||||
|
print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' . $year_current . '&action=fixaccountancycode">' . $langs->trans("CleanFixHistory", $year_current) . '</a>';
|
||||||
|
print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' . $year_current . '&action=cleanaccountancycode">' . $langs->trans("CleanHistory", $year_current) . '</a>';
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
$sql = "SELECT count(*) FROM " . MAIN_DB_PREFIX . "facturedet as fd";
|
$sql = "SELECT count(*) FROM " . MAIN_DB_PREFIX . "facturedet as fd";
|
||||||
$sql .= " , " . MAIN_DB_PREFIX . "facture as f";
|
$sql .= " , " . MAIN_DB_PREFIX . "facture as f";
|
||||||
|
|||||||
@ -25,7 +25,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Page of detail of the lines of ventilation of invoices customers
|
* \brief Page of detail of the lines of ventilation of invoices customers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -54,7 +53,8 @@ $search_vat = GETPOST('search_vat','alpha');
|
|||||||
$sortfield = GETPOST('sortfield', 'alpha');
|
$sortfield = GETPOST('sortfield', 'alpha');
|
||||||
$sortorder = GETPOST('sortorder', 'alpha');
|
$sortorder = GETPOST('sortorder', 'alpha');
|
||||||
$page = GETPOST('page', 'int');
|
$page = GETPOST('page', 'int');
|
||||||
if ($page < 0) $page = 0;
|
if ($page < 0)
|
||||||
|
$page = 0;
|
||||||
|
|
||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
@ -67,8 +67,8 @@ if (! empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION)) {
|
|||||||
}
|
}
|
||||||
$offset = $limit * $page;
|
$offset = $limit * $page;
|
||||||
|
|
||||||
|
if (! $sortfield)
|
||||||
if (! $sortfield) $sortfield="f.datef, f.facnumber, l.rowid";
|
$sortfield = "f.datef, f.facnumber, l.rowid";
|
||||||
|
|
||||||
if (! $sortorder) {
|
if (! $sortorder) {
|
||||||
if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0) {
|
if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0) {
|
||||||
@ -147,7 +147,6 @@ print '<script type="text/javascript">
|
|||||||
* Action
|
* Action
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Customer Invoice lines
|
* Customer Invoice lines
|
||||||
*/
|
*/
|
||||||
@ -177,8 +176,7 @@ if (strlen(trim($search_amount))) {
|
|||||||
if (strlen(trim($search_account))) {
|
if (strlen(trim($search_account))) {
|
||||||
$sql .= " AND aa.account_number like '%" . $search_account . "%'";
|
$sql .= " AND aa.account_number like '%" . $search_account . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_vat)))
|
if (strlen(trim($search_vat))) {
|
||||||
{
|
|
||||||
$sql .= " AND (l.tva_tx like '" . $search_vat . "%')";
|
$sql .= " AND (l.tva_tx like '" . $search_vat . "%')";
|
||||||
}
|
}
|
||||||
if (! empty($conf->multicompany->enabled)) {
|
if (! empty($conf->multicompany->enabled)) {
|
||||||
@ -186,11 +184,12 @@ if (! empty($conf->multicompany->enabled)) {
|
|||||||
}
|
}
|
||||||
// Count total nb of records with no order and no limits
|
// Count total nb of records with no order and no limits
|
||||||
$nbtotalofrecords = 0;
|
$nbtotalofrecords = 0;
|
||||||
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
|
||||||
{
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql) $nbtotalofrecords = $db->num_rows($resql);
|
if ($resql)
|
||||||
else dol_print_error($db);
|
$nbtotalofrecords = $db->num_rows($resql);
|
||||||
|
else
|
||||||
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
$sql .= $db->order($sortfield, $sortorder);
|
$sql .= $db->order($sortfield, $sortorder);
|
||||||
$sql .= $db->plimit($limit + 1, $offset);
|
$sql .= $db->plimit($limit + 1, $offset);
|
||||||
@ -202,12 +201,18 @@ if ($result) {
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
$param = "";
|
$param = "";
|
||||||
if ($search_facture) $param.="&search_facture=".$search_facture;
|
if ($search_facture)
|
||||||
if ($search_ref) $param.="&search_ref=".$search_ref;
|
$param .= "&search_facture=" . $search_facture;
|
||||||
if ($search_label) $param.="&search_label=".$search_label;
|
if ($search_ref)
|
||||||
if ($search_desc) $param.="&search_desc=".$search_desc;
|
$param .= "&search_ref=" . $search_ref;
|
||||||
if ($search_account) $param.="&search_account=".$search_account;
|
if ($search_label)
|
||||||
if ($filter) $param.="&filter=".$filter;
|
$param .= "&search_label=" . $search_label;
|
||||||
|
if ($search_desc)
|
||||||
|
$param .= "&search_desc=" . $search_desc;
|
||||||
|
if ($search_account)
|
||||||
|
$param .= "&search_account=" . $search_account;
|
||||||
|
if ($filter)
|
||||||
|
$param .= "&filter=" . $filter;
|
||||||
|
|
||||||
print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords);
|
print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords);
|
||||||
print '<td align="left"><b>' . $langs->trans("DescVentilDoneCustomer") . '</b></td>';
|
print '<td align="left"><b>' . $langs->trans("DescVentilDoneCustomer") . '</b></td>';
|
||||||
@ -238,7 +243,7 @@ if ($result) {
|
|||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
||||||
print '<td class="liste_titre" align="center">%<input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '">%</td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
||||||
print '<td class="liste_titre" colspan="2"> </td>';
|
print '<td class="liste_titre" colspan="2"> </td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="image" class="liste_titre" name="button_search" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
print '<td class="liste_titre" align="center"><input type="image" class="liste_titre" name="button_search" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
@ -292,8 +297,7 @@ if ($result) {
|
|||||||
|
|
||||||
print "</table></form>";
|
print "</table></form>";
|
||||||
|
|
||||||
if ($num_lines > $conf->liste_limit)
|
if ($num_lines > $conf->liste_limit) {
|
||||||
{
|
|
||||||
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords, '');
|
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines, $nbtotalofrecords, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
@ -91,7 +91,6 @@ $accounting = new AccountingAccount($db);
|
|||||||
$aarowid_s = $accounting->fetch('', $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT, 1);
|
$aarowid_s = $accounting->fetch('', $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT, 1);
|
||||||
$aarowid_p = $accounting->fetch('', $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT, 1);
|
$aarowid_p = $accounting->fetch('', $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT, 1);
|
||||||
|
|
||||||
|
|
||||||
// Purge search criteria
|
// Purge search criteria
|
||||||
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) {
|
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) {
|
||||||
$search_ref = '';
|
$search_ref = '';
|
||||||
@ -228,6 +227,9 @@ if ($result) {
|
|||||||
|
|
||||||
print_barre_liste($langs->trans("InvoiceLines"), $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, '', $num_lines);
|
print_barre_liste($langs->trans("InvoiceLines"), $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, '', $num_lines);
|
||||||
print '<br><b>' . $langs->trans("DescVentilTodoCustomer") . '</b></br>';
|
print '<br><b>' . $langs->trans("DescVentilTodoCustomer") . '</b></br>';
|
||||||
|
print_liste_field_titre($langs->trans("Date"), $_SERVER["PHP_SELF"], "f.datef", "", $param, '', $sortfield, $sortorder);
|
||||||
|
print ' ';
|
||||||
|
print_liste_field_titre($langs->trans("RowId"), $_SERVER["PHP_SELF"], "l.rowid", "", $param, '', $sortfield, $sortorder);
|
||||||
|
|
||||||
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="post">' . "\n";
|
print '<form action="' . $_SERVER["PHP_SELF"] . '" method="post">' . "\n";
|
||||||
print '<input type="hidden" name="action" value="ventil">';
|
print '<input type="hidden" name="action" value="ventil">';
|
||||||
@ -254,7 +256,7 @@ if ($result) {
|
|||||||
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_label" value="' . $search_label . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_label" value="' . $search_label . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_desc" value="' . $search_desc . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_desc" value="' . $search_desc . '"></td>';
|
||||||
print '<td class="liste_titre" align="right"><input type="text" class="flat" size="10" name="search_amount" value="' . $search_amount . '"></td>';
|
print '<td class="liste_titre" align="right"><input type="text" class="flat" size="10" name="search_amount" value="' . $search_amount . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '">%</td>';
|
||||||
print '<td align="right" class="liste_titre" colspan="4">';
|
print '<td align="right" class="liste_titre" colspan="4">';
|
||||||
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
print '<input type="image" class="liste_titre" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" name="button_search" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
print ' ';
|
print ' ';
|
||||||
@ -279,7 +281,6 @@ if ($result) {
|
|||||||
$code_sell_p_notset = '';
|
$code_sell_p_notset = '';
|
||||||
$objp->aarowid_suggest = $objp->aarowid;
|
$objp->aarowid_suggest = $objp->aarowid;
|
||||||
|
|
||||||
|
|
||||||
if (! empty($objp->code_sell)) {
|
if (! empty($objp->code_sell)) {
|
||||||
$objp->code_sell_p = $objp->code_sell;
|
$objp->code_sell_p = $objp->code_sell;
|
||||||
} else {
|
} else {
|
||||||
@ -329,7 +330,8 @@ if ($result) {
|
|||||||
print '<td align="right">';
|
print '<td align="right">';
|
||||||
print price($objp->total_ht);
|
print price($objp->total_ht);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($objp->vat_tx_l <> $objp->vat_tx_p) $code_vat_differ = 'font-weight:bold; text-decoration:blink; color:red';
|
if ($objp->vat_tx_l != $objp->vat_tx_p)
|
||||||
|
$code_vat_differ = 'font-weight:bold; text-decoration:blink; color:red';
|
||||||
print '<td style="' . $code_vat_differ . '" align="center">';
|
print '<td style="' . $code_vat_differ . '" align="center">';
|
||||||
print price($objp->tva_tx_line);
|
print price($objp->tva_tx_line);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2012 Regis Houssin <regis@dolibarr.fr>
|
* Copyright (C) 2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||||
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
*
|
*
|
||||||
@ -27,7 +27,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Page with bank journal
|
* \brief Page with bank journal
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -143,8 +142,7 @@ if ($result) {
|
|||||||
$tabtype = array ();
|
$tabtype = array ();
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
while ( $i < $num )
|
while ( $i < $num ) {
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
|
|
||||||
$tabcompany[$obj->rowid] = array (
|
$tabcompany[$obj->rowid] = array (
|
||||||
@ -175,39 +173,28 @@ if ($result) {
|
|||||||
$links = $object->get_url($obj->rowid);
|
$links = $object->get_url($obj->rowid);
|
||||||
|
|
||||||
// get_url may return -1 which is not traversable
|
// get_url may return -1 which is not traversable
|
||||||
if (is_array($links))
|
if (is_array($links)) {
|
||||||
{
|
foreach ( $links as $key => $val ) {
|
||||||
foreach ( $links as $key => $val )
|
|
||||||
{
|
|
||||||
$tabtype[$obj->rowid] = $links[$key]['type'];
|
$tabtype[$obj->rowid] = $links[$key]['type'];
|
||||||
|
|
||||||
if ($links[$key]['type'] == 'payment')
|
if ($links[$key]['type'] == 'payment') {
|
||||||
{
|
|
||||||
$paymentstatic->id = $links[$key]['url_id'];
|
$paymentstatic->id = $links[$key]['url_id'];
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentstatic->getNomUrl(2);
|
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentstatic->getNomUrl(2);
|
||||||
}
|
} else if ($links[$key]['type'] == 'payment_supplier') {
|
||||||
else if ($links[$key]['type'] == 'payment_supplier')
|
|
||||||
{
|
|
||||||
$paymentsupplierstatic->id = $links[$key]['url_id'];
|
$paymentsupplierstatic->id = $links[$key]['url_id'];
|
||||||
$paymentsupplierstatic->ref = $links[$key]['url_id'];
|
$paymentsupplierstatic->ref = $links[$key]['url_id'];
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentsupplierstatic->getNomUrl(2);
|
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentsupplierstatic->getNomUrl(2);
|
||||||
}
|
} else if ($links[$key]['type'] == 'company') {
|
||||||
else if ($links[$key]['type'] == 'company')
|
|
||||||
{
|
|
||||||
$societestatic->id = $links[$key]['url_id'];
|
$societestatic->id = $links[$key]['url_id'];
|
||||||
$societestatic->name = $links[$key]['label'];
|
$societestatic->name = $links[$key]['label'];
|
||||||
$tabpay[$obj->rowid]["soclib"] = $societestatic->getNomUrl(1, '', 30);
|
$tabpay[$obj->rowid]["soclib"] = $societestatic->getNomUrl(1, '', 30);
|
||||||
$tabtp[$obj->rowid][$compta_soc] += $obj->amount;
|
$tabtp[$obj->rowid][$compta_soc] += $obj->amount;
|
||||||
}
|
} else if ($links[$key]['type'] == 'user') {
|
||||||
else if ($links[$key]['type'] == 'user')
|
|
||||||
{
|
|
||||||
$userstatic->id = $links[$key]['url_id'];
|
$userstatic->id = $links[$key]['url_id'];
|
||||||
$userstatic->name = $links[$key]['label'];
|
$userstatic->name = $links[$key]['label'];
|
||||||
$tabpay[$obj->rowid]["soclib"] = $userstatic->getNomUrl(1, '', 30);
|
$tabpay[$obj->rowid]["soclib"] = $userstatic->getNomUrl(1, '', 30);
|
||||||
// $tabtp[$obj->rowid][$compta_user] += $obj->amount;
|
// $tabtp[$obj->rowid][$compta_user] += $obj->amount;
|
||||||
}
|
} else if ($links[$key]['type'] == 'sc') {
|
||||||
else if ($links[$key]['type'] == 'sc')
|
|
||||||
{
|
|
||||||
$chargestatic->id = $links[$key]['url_id'];
|
$chargestatic->id = $links[$key]['url_id'];
|
||||||
$chargestatic->ref = $links[$key]['url_id'];
|
$chargestatic->ref = $links[$key]['url_id'];
|
||||||
|
|
||||||
@ -216,9 +203,7 @@ if ($result) {
|
|||||||
if ($reg[1] == 'socialcontribution')
|
if ($reg[1] == 'socialcontribution')
|
||||||
$reg[1] = 'SocialContribution';
|
$reg[1] = 'SocialContribution';
|
||||||
$chargestatic->lib = $langs->trans($reg[1]);
|
$chargestatic->lib = $langs->trans($reg[1]);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$chargestatic->lib = $links[$key]['label'];
|
$chargestatic->lib = $links[$key]['label'];
|
||||||
}
|
}
|
||||||
$chargestatic->ref = $chargestatic->lib;
|
$chargestatic->ref = $chargestatic->lib;
|
||||||
@ -231,39 +216,29 @@ if ($result) {
|
|||||||
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "bank_url as bkurl ON bkurl.url_id=paycharg.rowid";
|
$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "bank_url as bkurl ON bkurl.url_id=paycharg.rowid";
|
||||||
$sqlmid .= " WHERE bkurl.fk_bank=" . $obj->rowid;
|
$sqlmid .= " WHERE bkurl.fk_bank=" . $obj->rowid;
|
||||||
|
|
||||||
|
|
||||||
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
|
dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
|
||||||
$resultmid = $db->query($sqlmid);
|
$resultmid = $db->query($sqlmid);
|
||||||
if ($resultmid)
|
if ($resultmid) {
|
||||||
{
|
|
||||||
$objmid = $db->fetch_object($resultmid);
|
$objmid = $db->fetch_object($resultmid);
|
||||||
$tabtp[$obj->rowid][$objmid->accountancy_code] += $obj->amount;
|
$tabtp[$obj->rowid][$objmid->accountancy_code] += $obj->amount;
|
||||||
}
|
}
|
||||||
}
|
} else if ($links[$key]['type'] == 'payment_donation') {
|
||||||
else if ($links[$key]['type'] == 'payment_donation')
|
|
||||||
{
|
|
||||||
$paymentdonstatic->id = $links[$key]['url_id'];
|
$paymentdonstatic->id = $links[$key]['url_id'];
|
||||||
$paymentdonstatic->fk_donation = $links[$key]['url_id'];
|
$paymentdonstatic->fk_donation = $links[$key]['url_id'];
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' ' . $langs->trans("PaymentDonation");
|
$tabpay[$obj->rowid]["lib"] .= ' ' . $langs->trans("PaymentDonation");
|
||||||
$tabtp[$obj->rowid][$accountancy_account_pay_donation] += $obj->amount;
|
$tabtp[$obj->rowid][$accountancy_account_pay_donation] += $obj->amount;
|
||||||
}
|
} else if ($links[$key]['type'] == 'payment_vat') {
|
||||||
else if ($links[$key]['type'] == 'payment_vat')
|
|
||||||
{
|
|
||||||
$paymentvatstatic->id = $links[$key]['url_id'];
|
$paymentvatstatic->id = $links[$key]['url_id'];
|
||||||
$paymentvatstatic->ref = $links[$key]['url_id'];
|
$paymentvatstatic->ref = $links[$key]['url_id'];
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' ' . $langs->trans("PaymentVat");
|
$tabpay[$obj->rowid]["lib"] .= ' ' . $langs->trans("PaymentVat");
|
||||||
$tabtp[$obj->rowid][$accountancy_account_pay_vat] += $obj->amount;
|
$tabtp[$obj->rowid][$accountancy_account_pay_vat] += $obj->amount;
|
||||||
}
|
} else if ($links[$key]['type'] == 'payment_salary') {
|
||||||
else if ($links[$key]['type'] == 'payment_salary')
|
|
||||||
{
|
|
||||||
$paymentsalstatic->id = $links[$key]['url_id'];
|
$paymentsalstatic->id = $links[$key]['url_id'];
|
||||||
$paymentsalstatic->ref = $links[$key]['url_id'];
|
$paymentsalstatic->ref = $links[$key]['url_id'];
|
||||||
$paymentsalstatic->label = $links[$key]['label'];
|
$paymentsalstatic->label = $links[$key]['label'];
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentsalstatic->getNomUrl(2);
|
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentsalstatic->getNomUrl(2);
|
||||||
$tabtp[$obj->rowid][$accountancy_account_salary] += $obj->amount;
|
$tabtp[$obj->rowid][$accountancy_account_salary] += $obj->amount;
|
||||||
}
|
} else if ($links[$key]['type'] == 'banktransfert') {
|
||||||
else if ($links[$key]['type'] == 'banktransfert')
|
|
||||||
{
|
|
||||||
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentvatstatic->getNomUrl(2);
|
$tabpay[$obj->rowid]["lib"] .= ' ' . $paymentvatstatic->getNomUrl(2);
|
||||||
$tabtp[$obj->rowid][$cpttva] += $obj->amount;
|
$tabtp[$obj->rowid][$cpttva] += $obj->amount;
|
||||||
}
|
}
|
||||||
@ -288,16 +263,13 @@ if ($result) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Write bookkeeping
|
// Write bookkeeping
|
||||||
if ($action == 'writebookkeeping')
|
if ($action == 'writebookkeeping') {
|
||||||
{
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
|
|
||||||
$error = 0;
|
$error = 0;
|
||||||
foreach ( $tabpay as $key => $val )
|
foreach ( $tabpay as $key => $val ) {
|
||||||
{
|
|
||||||
// Bank
|
// Bank
|
||||||
foreach ( $tabbq[$key] as $k => $mt )
|
foreach ( $tabbq[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
$bookkeeping = new BookKeeping($db);
|
$bookkeeping = new BookKeeping($db);
|
||||||
$bookkeeping->doc_date = $val["date"];
|
$bookkeeping->doc_date = $val["date"];
|
||||||
$bookkeeping->doc_ref = $val["ref"];
|
$bookkeeping->doc_ref = $val["ref"];
|
||||||
@ -339,19 +311,19 @@ if ($action == 'writebookkeeping')
|
|||||||
$resultmid = $db->query($sqlmid);
|
$resultmid = $db->query($sqlmid);
|
||||||
if ($resultmid) {
|
if ($resultmid) {
|
||||||
$objmid = $db->fetch_object($resultmid);
|
$objmid = $db->fetch_object($resultmid);
|
||||||
$bookkeeping->doc_ref = $objmid->ref_supplier.' ('.$objmid->ref.')';;
|
$bookkeeping->doc_ref = $objmid->ref_supplier . ' (' . $objmid->ref . ')';
|
||||||
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Third party
|
// Third party
|
||||||
foreach ( $tabtp[$key] as $k => $mt )
|
foreach ( $tabtp[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
$bookkeeping = new BookKeeping($db);
|
$bookkeeping = new BookKeeping($db);
|
||||||
$bookkeeping->doc_date = $val["date"];
|
$bookkeeping->doc_date = $val["date"];
|
||||||
$bookkeeping->doc_ref = $val["ref"];
|
$bookkeeping->doc_ref = $val["ref"];
|
||||||
@ -421,7 +393,7 @@ if ($action == 'writebookkeeping')
|
|||||||
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
|
$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
@ -434,20 +406,19 @@ if ($action == 'writebookkeeping')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Export
|
// Export
|
||||||
if ($action == 'export_csv')
|
if ($action == 'export_csv') {
|
||||||
{
|
|
||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
|
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
$companystatic = new Client($db);
|
$companystatic = new Client($db);
|
||||||
|
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) // Model Cegid Expert Export
|
// Model Cegid Expert Export
|
||||||
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2)
|
||||||
{
|
{
|
||||||
$sep = ";";
|
$sep = ";";
|
||||||
|
|
||||||
foreach ($tabpay as $key => $val)
|
foreach ( $tabpay as $key => $val ) {
|
||||||
{
|
|
||||||
$date = dol_print_date($db->jdate($val["date"]), '%d%m%Y');
|
$date = dol_print_date($db->jdate($val["date"]), '%d%m%Y');
|
||||||
|
|
||||||
$companystatic->id = $tabcompany[$key]['id'];
|
$companystatic->id = $tabcompany[$key]['id'];
|
||||||
@ -470,12 +441,9 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Third party
|
// Third party
|
||||||
if (is_array ( $tabtp[$key]))
|
if (is_array($tabtp[$key])) {
|
||||||
{
|
foreach ( $tabtp[$key] as $k => $mt ) {
|
||||||
foreach ( $tabtp[$key] as $k => $mt )
|
if ($mt) {
|
||||||
{
|
|
||||||
if ($mt)
|
|
||||||
{
|
|
||||||
print $date . $sep;
|
print $date . $sep;
|
||||||
print $journal . $sep;
|
print $journal . $sep;
|
||||||
if ($val["lib"] == '(SupplierInvoicePayment)') {
|
if ($val["lib"] == '(SupplierInvoicePayment)') {
|
||||||
@ -491,13 +459,8 @@ if ($action == 'export_csv')
|
|||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
foreach ( $tabbq[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
foreach ( $tabbq[$key] as $k => $mt )
|
|
||||||
{
|
|
||||||
if (1)
|
|
||||||
{
|
|
||||||
print $date . $sep;
|
print $date . $sep;
|
||||||
print $journal . $sep;
|
print $journal . $sep;
|
||||||
print length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . $sep;
|
print length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . $sep;
|
||||||
@ -510,9 +473,8 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
} else // Model Classic Export
|
// Model Classic Export
|
||||||
{
|
|
||||||
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');
|
||||||
|
|
||||||
@ -531,10 +493,8 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Third party
|
// Third party
|
||||||
if (is_array ( $tabtp[$key]))
|
if (is_array($tabtp[$key])) {
|
||||||
{
|
foreach ( $tabtp[$key] as $k => $mt ) {
|
||||||
foreach ( $tabtp[$key] as $k => $mt )
|
|
||||||
{
|
|
||||||
if ($mt) {
|
if ($mt) {
|
||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["type_payment"] . '"' . $sep;
|
print '"' . $val["type_payment"] . '"' . $sep;
|
||||||
@ -545,13 +505,8 @@ if ($action == 'export_csv')
|
|||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
foreach ( $tabbq[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
foreach ( $tabbq[$key] as $k => $mt )
|
|
||||||
{
|
|
||||||
if (1)
|
|
||||||
{
|
|
||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
print '"' . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
print '"' . length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) . '"' . $sep;
|
||||||
@ -564,21 +519,20 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
llxHeader('', $langs->trans("FinanceJournal"));
|
llxHeader('', $langs->trans("FinanceJournal"));
|
||||||
|
|
||||||
$nom = $langs->trans("FinanceJournal" . ' - ' . $journal);
|
$nom = $langs->trans("FinanceJournal") . ' - ' . $journal;
|
||||||
$builddate = time();
|
$builddate = time();
|
||||||
$description = $langs->trans("DescFinanceJournal") . '<br>';
|
$description = $langs->trans("DescFinanceJournal") . '<br>';
|
||||||
$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
|
$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
|
||||||
|
|
||||||
$varlink = 'id_account=' . $id_bank_account;
|
$varlink = 'id_account=' . $id_bank_account;
|
||||||
|
report_header($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array (
|
||||||
report_header($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
|
'action' => ''
|
||||||
|
), '', $varlink);
|
||||||
|
|
||||||
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
||||||
|
|
||||||
@ -620,10 +574,12 @@ else
|
|||||||
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');
|
||||||
|
|
||||||
if ($val["lib"] == '(SupplierInvoicePayment)')
|
if ($val["lib"] == '(SupplierInvoicePayment)') {
|
||||||
$reflabel = $langs->trans('SupplierInvoicePayment');
|
$reflabel = $langs->trans('SupplierInvoicePayment');
|
||||||
if ($val["lib"] == '(CustomerInvoicePayment)')
|
}
|
||||||
|
if ($val["lib"] == '(CustomerInvoicePayment)') {
|
||||||
$reflabel = $langs->trans('CustomerInvoicePayment');
|
$reflabel = $langs->trans('CustomerInvoicePayment');
|
||||||
|
}
|
||||||
|
|
||||||
// Bank
|
// Bank
|
||||||
foreach ( $tabbq[$key] as $k => $mt ) {
|
foreach ( $tabbq[$key] as $k => $mt ) {
|
||||||
@ -639,8 +595,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Third party
|
// Third party
|
||||||
if (is_array ( $tabtp[$key]))
|
if (is_array($tabtp[$key])) {
|
||||||
{
|
|
||||||
foreach ( $tabtp[$key] as $k => $mt ) {
|
foreach ( $tabtp[$key] as $k => $mt ) {
|
||||||
if ($k != 'type') {
|
if ($k != 'type') {
|
||||||
print "<tr " . $bc[$var] . ">";
|
print "<tr " . $bc[$var] . ">";
|
||||||
@ -654,11 +609,8 @@ else
|
|||||||
print "</tr>";
|
print "</tr>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
foreach ( $tabbq[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
foreach ( $tabbq[$key] as $k => $mt )
|
|
||||||
{
|
|
||||||
print "<tr " . $bc[$var] . ">";
|
print "<tr " . $bc[$var] . ">";
|
||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $reflabel . "</td>";
|
print "<td>" . $reflabel . "</td>";
|
||||||
@ -677,5 +629,4 @@ else
|
|||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@ -23,7 +23,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Index
|
* \brief Index
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Langs
|
// Langs
|
||||||
|
|||||||
@ -26,7 +26,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Page with purchases journal
|
* \brief Page with purchases journal
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -60,8 +59,6 @@ if ($user->societe_id > 0)
|
|||||||
|
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
@ -182,7 +179,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
@ -212,7 +209,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
@ -243,7 +240,7 @@ if ($action == 'writebookkeeping') {
|
|||||||
$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
@ -257,7 +254,6 @@ if ($action == 'writebookkeeping') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
@ -265,14 +261,14 @@ if ($action == 'writebookkeeping') {
|
|||||||
$companystatic = new Fournisseur($db);
|
$companystatic = new Fournisseur($db);
|
||||||
|
|
||||||
// Export
|
// Export
|
||||||
if ($action == 'export_csv')
|
if ($action == 'export_csv') {
|
||||||
{
|
|
||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
$journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
$journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
|
||||||
|
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) // Model Cegid Expert Export
|
// Model Cegid Expert Export
|
||||||
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2)
|
||||||
{
|
{
|
||||||
$sep = ";";
|
$sep = ";";
|
||||||
|
|
||||||
@ -325,8 +321,8 @@ if ($action == 'export_csv')
|
|||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else // Model Classic Export
|
} else {
|
||||||
{
|
// Model Classic Export
|
||||||
foreach ( $tabfac as $key => $val ) {
|
foreach ( $tabfac as $key => $val ) {
|
||||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||||
|
|
||||||
@ -385,12 +381,16 @@ if ($action == 'export_csv')
|
|||||||
$exportlink = '';
|
$exportlink = '';
|
||||||
$builddate = time();
|
$builddate = time();
|
||||||
$description = $langs->trans("DescPurchasesJournal") . '<br>';
|
$description = $langs->trans("DescPurchasesJournal") . '<br>';
|
||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS))
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
$description .= $langs->trans("DepositsAreNotIncluded");
|
$description .= $langs->trans("DepositsAreNotIncluded");
|
||||||
else
|
} else {
|
||||||
$description .= $langs->trans("DepositsAreIncluded");
|
$description .= $langs->trans("DepositsAreIncluded");
|
||||||
|
}
|
||||||
|
|
||||||
$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
|
$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
|
||||||
report_header($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''));
|
report_header($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array (
|
||||||
|
'action' => ''
|
||||||
|
));
|
||||||
|
|
||||||
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Page with sells journal
|
* \brief Page with sells journal
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -62,8 +61,6 @@ if ($user->societe_id > 0)
|
|||||||
|
|
||||||
$action = GETPOST('action');
|
$action = GETPOST('action');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
@ -106,8 +103,7 @@ if (! empty($conf->multicompany->enabled)) {
|
|||||||
$sql .= " AND f.fk_statut > 0";
|
$sql .= " AND f.fk_statut > 0";
|
||||||
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
|
||||||
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_REPLACEMENT . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_SITUATION . ")";
|
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_REPLACEMENT . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_SITUATION . ")";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_STANDARD . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_DEPOSIT . "," . Facture::TYPE_SITUATION . ")";
|
$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_STANDARD . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_DEPOSIT . "," . Facture::TYPE_SITUATION . ")";
|
||||||
}
|
}
|
||||||
$sql .= " AND fd.product_type IN (0,1)";
|
$sql .= " AND fd.product_type IN (0,1)";
|
||||||
@ -191,15 +187,12 @@ if ($result) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Bookkeeping Write
|
// Bookkeeping Write
|
||||||
if ($action == 'writebookkeeping')
|
if ($action == 'writebookkeeping') {
|
||||||
{
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
foreach ($tabfac as $key => $val)
|
foreach ( $tabfac as $key => $val ) {
|
||||||
{
|
foreach ( $tabttc[$key] as $k => $mt ) {
|
||||||
foreach ($tabttc[$key] as $k => $mt)
|
|
||||||
{
|
|
||||||
$bookkeeping = new BookKeeping($db);
|
$bookkeeping = new BookKeeping($db);
|
||||||
$bookkeeping->doc_date = $val["date"];
|
$bookkeeping->doc_date = $val["date"];
|
||||||
$bookkeeping->doc_ref = $val["ref"];
|
$bookkeeping->doc_ref = $val["ref"];
|
||||||
@ -217,7 +210,7 @@ if ($action == 'writebookkeeping')
|
|||||||
$bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
$bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
@ -247,7 +240,7 @@ if ($action == 'writebookkeeping')
|
|||||||
$bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
$bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
@ -258,10 +251,8 @@ if ($action == 'writebookkeeping')
|
|||||||
|
|
||||||
// VAT
|
// VAT
|
||||||
// var_dump($tabtva);
|
// var_dump($tabtva);
|
||||||
foreach ($tabtva[$key] as $k => $mt)
|
foreach ( $tabtva[$key] as $k => $mt ) {
|
||||||
{
|
if ($mt) {
|
||||||
if ($mt)
|
|
||||||
{
|
|
||||||
$bookkeeping = new BookKeeping($db);
|
$bookkeeping = new BookKeeping($db);
|
||||||
$bookkeeping->doc_date = $val["date"];
|
$bookkeeping->doc_date = $val["date"];
|
||||||
$bookkeeping->doc_ref = $val["ref"];
|
$bookkeeping->doc_ref = $val["ref"];
|
||||||
@ -279,7 +270,7 @@ if ($action == 'writebookkeeping')
|
|||||||
$bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
$bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
||||||
$bookkeeping->fk_user_author = $user->id;
|
$bookkeeping->fk_user_author = $user->id;
|
||||||
|
|
||||||
$result = $bookkeeping->create();
|
$result = $bookkeeping->create($user);
|
||||||
if ($result < 0) {
|
if ($result < 0) {
|
||||||
$error ++;
|
$error ++;
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
@ -294,16 +285,16 @@ if ($action == 'writebookkeeping')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Export
|
// Export
|
||||||
if ($action == 'export_csv')
|
if ($action == 'export_csv') {
|
||||||
{
|
|
||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
$journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
$sell_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
|
||||||
|
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
$companystatic = new Client($db);
|
$companystatic = new Client($db);
|
||||||
|
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) // Model Cegid Expert Export
|
// Model Cegid Expert Export
|
||||||
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2)
|
||||||
{
|
{
|
||||||
$sep = ";";
|
$sep = ";";
|
||||||
|
|
||||||
@ -328,14 +319,15 @@ if ($action == 'export_csv')
|
|||||||
|
|
||||||
// Product / Service
|
// Product / Service
|
||||||
foreach ( $tabht[$key] as $k => $mt ) {
|
foreach ( $tabht[$key] as $k => $mt ) {
|
||||||
if ($mt) {
|
$accountingaccount_static = new AccountingAccount($db);
|
||||||
|
if ($accountingaccount_static->fetch(null, $k)) {
|
||||||
print $date . $sep;
|
print $date . $sep;
|
||||||
print $sell_journal . $sep;
|
print $sell_journal . $sep;
|
||||||
print length_accountg(html_entity_decode($k)) . $sep;
|
print length_accountg(html_entity_decode($k)) . $sep;
|
||||||
print $sep;
|
print $sep;
|
||||||
print ($mt < 0 ? 'D' : 'C') . $sep;
|
print ($mt < 0 ? 'D' : 'C') . $sep;
|
||||||
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
|
||||||
print dol_trunc($val["description"], 32) . $sep;
|
print dol_trunc($accountingaccount_static->label, 32) . $sep;
|
||||||
print $val["ref"];
|
print $val["ref"];
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
@ -356,11 +348,9 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else // Model Classic Export
|
// Model Classic Export
|
||||||
{
|
foreach ( $tabfac as $key => $val ) {
|
||||||
foreach ($tabfac as $key => $val)
|
|
||||||
{
|
|
||||||
$companystatic->id = $tabcompany[$key]['id'];
|
$companystatic->id = $tabcompany[$key]['id'];
|
||||||
$companystatic->name = $tabcompany[$key]['name'];
|
$companystatic->name = $tabcompany[$key]['name'];
|
||||||
$companystatic->client = $tabcompany[$key]['code_client'];
|
$companystatic->client = $tabcompany[$key]['code_client'];
|
||||||
@ -378,8 +368,7 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Product / Service
|
// Product / Service
|
||||||
foreach ($tabht[$key] as $k => $mt)
|
foreach ( $tabht[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
$accountingaccount = new AccountingAccount($db);
|
$accountingaccount = new AccountingAccount($db);
|
||||||
$accountingaccount->fetch(null, $k);
|
$accountingaccount->fetch(null, $k);
|
||||||
|
|
||||||
@ -395,8 +384,7 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// VAT
|
// VAT
|
||||||
foreach ($tabtva[$key] as $k => $mt)
|
foreach ( $tabtva[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
if ($mt) {
|
if ($mt) {
|
||||||
print '"' . $date . '"' . $sep;
|
print '"' . $date . '"' . $sep;
|
||||||
print '"' . $val["ref"] . '"' . $sep;
|
print '"' . $val["ref"] . '"' . $sep;
|
||||||
@ -426,7 +414,9 @@ if ($action == 'export_csv')
|
|||||||
else
|
else
|
||||||
$description .= $langs->trans("DepositsAreIncluded");
|
$description .= $langs->trans("DepositsAreIncluded");
|
||||||
$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
|
$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
|
||||||
report_header($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''));
|
report_header($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array (
|
||||||
|
'action' => ''
|
||||||
|
));
|
||||||
|
|
||||||
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
print '<input type="button" class="button" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
|
||||||
|
|
||||||
@ -468,8 +458,7 @@ if ($action == 'export_csv')
|
|||||||
$invoicestatic = new Facture($db);
|
$invoicestatic = new Facture($db);
|
||||||
$companystatic = new Client($db);
|
$companystatic = new Client($db);
|
||||||
|
|
||||||
foreach ($tabfac as $key => $val)
|
foreach ( $tabfac as $key => $val ) {
|
||||||
{
|
|
||||||
$invoicestatic->id = $key;
|
$invoicestatic->id = $key;
|
||||||
$invoicestatic->ref = $val["ref"];
|
$invoicestatic->ref = $val["ref"];
|
||||||
$invoicestatic->type = $val["type"];
|
$invoicestatic->type = $val["type"];
|
||||||
@ -477,8 +466,7 @@ if ($action == 'export_csv')
|
|||||||
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
$date = dol_print_date($db->jdate($val["date"]), 'day');
|
||||||
|
|
||||||
// Third party
|
// Third party
|
||||||
foreach ($tabttc[$key] as $k => $mt)
|
foreach ( $tabttc[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
print "<tr " . $bc[$var] . ">";
|
print "<tr " . $bc[$var] . ">";
|
||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
|
||||||
@ -494,8 +482,7 @@ if ($action == 'export_csv')
|
|||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
// Product / Service
|
// Product / Service
|
||||||
foreach ($tabht[$key] as $k => $mt)
|
foreach ( $tabht[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
$accountingaccount = new AccountingAccount($db);
|
$accountingaccount = new AccountingAccount($db);
|
||||||
$accountingaccount->fetch(null, $k);
|
$accountingaccount->fetch(null, $k);
|
||||||
|
|
||||||
@ -512,8 +499,7 @@ if ($action == 'export_csv')
|
|||||||
}
|
}
|
||||||
|
|
||||||
// VAT
|
// VAT
|
||||||
foreach ($tabtva[$key] as $k => $mt)
|
foreach ( $tabtva[$key] as $k => $mt ) {
|
||||||
{
|
|
||||||
if ($mt) {
|
if ($mt) {
|
||||||
print "<tr " . $bc[$var] . ">";
|
print "<tr " . $bc[$var] . ">";
|
||||||
print "<td>" . $date . "</td>";
|
print "<td>" . $date . "</td>";
|
||||||
@ -531,6 +517,7 @@ if ($action == 'export_csv')
|
|||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,6 @@
|
|||||||
* \ingroup Accountancy
|
* \ingroup Accountancy
|
||||||
* \brief Card supplier ventilation
|
* \brief Card supplier ventilation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -46,8 +45,7 @@ if ($user->societe_id > 0)
|
|||||||
accessforbidden();
|
accessforbidden();
|
||||||
|
|
||||||
if ($action == 'ventil' && $user->rights->accounting->ventilation->dispatch) {
|
if ($action == 'ventil' && $user->rights->accounting->ventilation->dispatch) {
|
||||||
if (! GETPOST('cancel', 'alpha'))
|
if (! GETPOST('cancel', 'alpha')) {
|
||||||
{
|
|
||||||
$sql = " UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det";
|
$sql = " UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det";
|
||||||
$sql .= " SET fk_code_ventilation = " . $codeventil;
|
$sql .= " SET fk_code_ventilation = " . $codeventil;
|
||||||
$sql .= " WHERE rowid = " . $id;
|
$sql .= " WHERE rowid = " . $id;
|
||||||
|
|||||||
@ -23,7 +23,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Home supplier ventilation
|
* \brief Home supplier ventilation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -84,6 +83,50 @@ if ($action == 'validatehistory') {
|
|||||||
$db->commit();
|
$db->commit();
|
||||||
setEventMessages($langs->trans('Dispatched'), null, 'mesgs');
|
setEventMessages($langs->trans('Dispatched'), null, 'mesgs');
|
||||||
}
|
}
|
||||||
|
} elseif ($action == 'fixaccountancycode') {
|
||||||
|
$error = 0;
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
|
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
|
||||||
|
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||||
|
$sql1 .= ' WHERE fd.fk_code_ventilation NOT IN ';
|
||||||
|
$sql1 .= ' (SELECT accnt.rowid ';
|
||||||
|
$sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accountingaccount as accnt';
|
||||||
|
$sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst';
|
||||||
|
$sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')';
|
||||||
|
|
||||||
|
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||||
|
|
||||||
|
$resql1 = $db->query($sql1);
|
||||||
|
if (! $resql1) {
|
||||||
|
$error ++;
|
||||||
|
$db->rollback();
|
||||||
|
setEventMessage($db->lasterror(), 'errors');
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
setEventMessage($langs->trans('Done'), 'mesgs');
|
||||||
|
}
|
||||||
|
} elseif ($action == 'cleanaccountancycode') {
|
||||||
|
$error = 0;
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
|
$sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd";
|
||||||
|
$sql1 .= " SET fd.fk_code_ventilation = 0";
|
||||||
|
$sql1 .= " WHERE fd.fk_facture_fourn IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture_fourn as f";
|
||||||
|
$sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'";
|
||||||
|
$sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')";
|
||||||
|
|
||||||
|
dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG);
|
||||||
|
|
||||||
|
$resql1 = $db->query($sql1);
|
||||||
|
if (! $resql1) {
|
||||||
|
$error ++;
|
||||||
|
$db->rollback();
|
||||||
|
setEventMessage($db->lasterror(), 'errors');
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
setEventMessage($langs->trans('Done'), 'mesgs');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -98,7 +141,11 @@ $textnextyear = ' <a href="' . $_SERVER["PHP_SELF"] . '?year=' . ($year_cur
|
|||||||
print load_fiche_titre($langs->trans("SuppliersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
print load_fiche_titre($langs->trans("SuppliersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear);
|
||||||
|
|
||||||
print '<b>' . $langs->trans("DescVentilSupplier") . '</b>';
|
print '<b>' . $langs->trans("DescVentilSupplier") . '</b>';
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?action=validatehistory">' . $langs->trans("ValidateHistory") . '</a></div>';
|
print '<div class="inline-block divButAction">';
|
||||||
|
print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' . $year_current . '&action=validatehistory">' . $langs->trans("ValidateHistory") . '</a>';
|
||||||
|
print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' . $year_current . '&action=fixaccountancycode">' . $langs->trans("CleanFixHistory", $year_current) . '</a>';
|
||||||
|
print '<a class="butAction" href="' . $_SERVER['PHP_SELF'] . '?year=' . $year_current . '&action=cleanaccountancycode">' . $langs->trans("CleanHistory", $year_current) . '</a>';
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
$y = $year_current;
|
$y = $year_current;
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
@ -24,7 +24,6 @@
|
|||||||
* \ingroup Accounting Expert
|
* \ingroup Accounting Expert
|
||||||
* \brief Page of detail of the lines of ventilation of invoices suppliers
|
* \brief Page of detail of the lines of ventilation of invoices suppliers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require '../../main.inc.php';
|
require '../../main.inc.php';
|
||||||
|
|
||||||
// Class
|
// Class
|
||||||
@ -56,28 +55,23 @@ $sortfield = GETPOST('sortfield','alpha');
|
|||||||
$sortorder = GETPOST('sortorder', 'alpha');
|
$sortorder = GETPOST('sortorder', 'alpha');
|
||||||
$page = GETPOST('page', 'int');
|
$page = GETPOST('page', 'int');
|
||||||
|
|
||||||
if ($page < 0) $page = 0;
|
if ($page < 0)
|
||||||
|
$page = 0;
|
||||||
$offset = $conf->liste_limit * $page;
|
$offset = $conf->liste_limit * $page;
|
||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
if (! empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION))
|
if (! empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION)) {
|
||||||
{
|
|
||||||
$limit = $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION;
|
$limit = $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION;
|
||||||
}
|
} else if ($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION <= 0) {
|
||||||
else if ($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION <= 0)
|
$limit = GETPOST('limit') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
||||||
{
|
} else {
|
||||||
$limit = GETPOST('limit') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
$limit = GETPOST('limit') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
||||||
}
|
}
|
||||||
else
|
if (! $sortfield)
|
||||||
{
|
$sortfield = "f.datef, f.ref, l.rowid";
|
||||||
$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit;
|
|
||||||
}
|
|
||||||
if (! $sortfield) $sortfield="f.datef, f.ref, l.rowid";
|
|
||||||
|
|
||||||
if (! $sortorder)
|
if (! $sortorder) {
|
||||||
{
|
if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0) {
|
||||||
if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0)
|
|
||||||
{
|
|
||||||
$sortorder = " DESC ";
|
$sortorder = " DESC ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -149,7 +143,6 @@ print '<script type="text/javascript">
|
|||||||
});
|
});
|
||||||
</script>';
|
</script>';
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Supplier Invoice lines
|
* Supplier Invoice lines
|
||||||
*/
|
*/
|
||||||
@ -179,8 +172,7 @@ if (strlen(trim($search_amount))) {
|
|||||||
if (strlen(trim($search_account))) {
|
if (strlen(trim($search_account))) {
|
||||||
$sql .= " AND aa.account_number like '%" . $search_account . "%'";
|
$sql .= " AND aa.account_number like '%" . $search_account . "%'";
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_vat)))
|
if (strlen(trim($search_vat))) {
|
||||||
{
|
|
||||||
$sql .= " AND (l.tva_tx like '" . $search_vat . "%')";
|
$sql .= " AND (l.tva_tx like '" . $search_vat . "%')";
|
||||||
}
|
}
|
||||||
if (! empty($conf->multicompany->enabled)) {
|
if (! empty($conf->multicompany->enabled)) {
|
||||||
@ -225,7 +217,7 @@ if ($result) {
|
|||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_label" value="' . $search_label . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_desc" value="' . $search_desc . '"></td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="8" name="search_amount" value="' . $search_amount . '"></td>';
|
||||||
print '<td class="liste_titre" align="center">%<input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '">%</td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="15" name="search_account" value="' . $search_account . '"></td>';
|
||||||
print '<td class="liste_titre" colspan="2"> </td>';
|
print '<td class="liste_titre" colspan="2"> </td>';
|
||||||
print '<td class="liste_titre" align="center"><input type="image" class="liste_titre" name="button_search" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
print '<td class="liste_titre" align="center"><input type="image" class="liste_titre" name="button_search" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
|
||||||
@ -278,7 +270,6 @@ if ($result) {
|
|||||||
print $db->error();
|
print $db->error();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
print "</table></form>";
|
print "</table></form>";
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
* Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||||
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
* Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>s
|
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>s
|
||||||
@ -168,7 +168,6 @@ if ($action == 'ventil' && !empty($btn_ventil)) {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Supplier Invoice Lines
|
* Supplier Invoice Lines
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (! empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION)) {
|
if (! empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION)) {
|
||||||
@ -252,11 +251,11 @@ if ($result) {
|
|||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="10" name="search_invoice" value="' . $search_invoice . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="10" name="search_invoice" value="' . $search_invoice . '"></td>';
|
||||||
print '<td class="liste_titre">%<input type="text" class="flat" size="15" name="search_ref" value="' . $search_ref . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="15" name="search_ref" value="' . $search_ref . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_label" value="' . $search_label . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_label" value="' . $search_label . '"></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_desc" value="' . $search_desc . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat" size="20" name="search_desc" value="' . $search_desc . '"></td>';
|
||||||
print '<td class="liste_titre" align="right"><input type="text" class="flat" size="10" name="search_amount" value="' . $search_amount . '"></td>';
|
print '<td class="liste_titre" align="right"><input type="text" class="flat" size="10" name="search_amount" value="' . $search_amount . '"></td>';
|
||||||
print '<td class="liste_titre" align="center">%<input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '"></td>';
|
print '<td class="liste_titre" align="center"><input type="text" class="flat" size="5" name="search_vat" value="' . $search_vat . '">%</td>';
|
||||||
print '<td class="liste_titre" align="center"> </td>';
|
print '<td class="liste_titre" align="center"> </td>';
|
||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"> </td>';
|
||||||
print '<td align="right" colspan="2" class="liste_titre">';
|
print '<td align="right" colspan="2" class="liste_titre">';
|
||||||
|
|||||||
@ -14,7 +14,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$prefix = $conf->global->ACCOUNTING_EXPORT_PREFIX_SPEC;
|
$prefix = $conf->global->ACCOUNTING_EXPORT_PREFIX_SPEC;
|
||||||
$format = $conf->global->ACCOUNTING_EXPORT_FORMAT;
|
$format = $conf->global->ACCOUNTING_EXPORT_FORMAT;
|
||||||
|
|
||||||
|
|||||||
@ -78,6 +78,11 @@ else if ($action == 'update')
|
|||||||
$res = dolibarr_set_const($db, "GENBARCODE_BARCODETYPE_THIRDPARTY", $coder_id,'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db, "GENBARCODE_BARCODETYPE_THIRDPARTY", $coder_id,'chaine',0,'',$conf->entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ($action == 'updateengine')
|
||||||
|
{
|
||||||
|
// TODO Update engines.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// define constants for models generator that need parameters
|
// define constants for models generator that need parameters
|
||||||
if ($action == 'setModuleOptions')
|
if ($action == 'setModuleOptions')
|
||||||
@ -190,6 +195,10 @@ $var=true;
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
print load_fiche_titre($langs->trans("BarcodeEncodeModule"),'','');
|
print load_fiche_titre($langs->trans("BarcodeEncodeModule"),'','');
|
||||||
|
|
||||||
|
print "<form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">";
|
||||||
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
print "<input type=\"hidden\" name=\"action\" value=\"updateengine\">";
|
||||||
|
|
||||||
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>';
|
||||||
@ -282,11 +291,18 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
|
|
||||||
|
if (empty($conf->use_javascript_ajax))
|
||||||
|
{
|
||||||
|
// TODO Implement code behind action updateengine
|
||||||
|
//print '<div class="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'"></div>';
|
||||||
|
}
|
||||||
|
print '</form>';
|
||||||
|
|
||||||
print "<br>";
|
print "<br>";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Autres options
|
* Other options
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
print load_fiche_titre($langs->trans("OtherOptions"),'','');
|
print load_fiche_titre($langs->trans("OtherOptions"),'','');
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
||||||
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/accountancy/class/html.formventilation.class.php';
|
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/accountancy/class/html.formventilation.class.php';
|
||||||
|
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
|
|||||||
@ -107,6 +107,10 @@ $dump_buffer_len = 0;
|
|||||||
$time_start = time();
|
$time_start = time();
|
||||||
|
|
||||||
|
|
||||||
|
$outputdir = $conf->admin->dir_output.'/backup';
|
||||||
|
$result=dol_mkdir($outputdir);
|
||||||
|
|
||||||
|
|
||||||
// MYSQL
|
// MYSQL
|
||||||
if ($what == 'mysql')
|
if ($what == 'mysql')
|
||||||
{
|
{
|
||||||
@ -116,7 +120,6 @@ if ($what == 'mysql')
|
|||||||
dolibarr_set_const($db, 'SYSTEMTOOLS_MYSQLDUMP', $cmddump,'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, 'SYSTEMTOOLS_MYSQLDUMP', $cmddump,'chaine',0,'',$conf->entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
$outputdir = $conf->admin->dir_output.'/backup';
|
|
||||||
$outputfile = $outputdir.'/'.$file;
|
$outputfile = $outputdir.'/'.$file;
|
||||||
// for compression format, we add extension
|
// for compression format, we add extension
|
||||||
$compression=GETPOST('compression') ? GETPOST('compression','alpha') : 'none';
|
$compression=GETPOST('compression') ? GETPOST('compression','alpha') : 'none';
|
||||||
@ -185,8 +188,6 @@ if ($what == 'mysql')
|
|||||||
|
|
||||||
$errormsg='';
|
$errormsg='';
|
||||||
|
|
||||||
$result=dol_mkdir($outputdir);
|
|
||||||
|
|
||||||
// Debut appel methode execution
|
// Debut appel methode execution
|
||||||
$fullcommandcrypted=$command." ".$paramcrypted." 2>&1";
|
$fullcommandcrypted=$command." ".$paramcrypted." 2>&1";
|
||||||
$fullcommandclear=$command." ".$paramclear." 2>&1";
|
$fullcommandclear=$command." ".$paramclear." 2>&1";
|
||||||
@ -254,7 +255,6 @@ if ($what == 'mysql')
|
|||||||
|
|
||||||
if ($what == 'mysqlnobin')
|
if ($what == 'mysqlnobin')
|
||||||
{
|
{
|
||||||
$outputdir = $conf->admin->dir_output.'/backup';
|
|
||||||
$outputfile = $outputdir.'/'.$file;
|
$outputfile = $outputdir.'/'.$file;
|
||||||
$outputfiletemp = $outputfile.'-TMP.sql';
|
$outputfiletemp = $outputfile.'-TMP.sql';
|
||||||
// for compression format, we add extension
|
// for compression format, we add extension
|
||||||
@ -288,7 +288,6 @@ if ($what == 'postgresql')
|
|||||||
dolibarr_set_const($db, 'SYSTEMTOOLS_POSTGRESQLDUMP', $cmddump,'chaine',0,'',$conf->entity);
|
dolibarr_set_const($db, 'SYSTEMTOOLS_POSTGRESQLDUMP', $cmddump,'chaine',0,'',$conf->entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
$outputdir = $conf->admin->dir_output.'/backup';
|
|
||||||
$outputfile = $outputdir.'/'.$file;
|
$outputfile = $outputdir.'/'.$file;
|
||||||
// for compression format, we add extension
|
// for compression format, we add extension
|
||||||
$compression=GETPOST('compression') ? GETPOST('compression','alpha') : 'none';
|
$compression=GETPOST('compression') ? GETPOST('compression','alpha') : 'none';
|
||||||
@ -299,7 +298,7 @@ if ($what == 'postgresql')
|
|||||||
|
|
||||||
// Parameteres execution
|
// Parameteres execution
|
||||||
$command=$cmddump;
|
$command=$cmddump;
|
||||||
if (preg_match("/\s/",$command)) $command=$command=escapeshellarg($command); // Use quotes on command
|
if (preg_match("/\s/",$command)) $command=escapeshellarg($command); // Use quotes on command
|
||||||
|
|
||||||
//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
|
//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
|
||||||
//$param="-F c";
|
//$param="-F c";
|
||||||
@ -352,10 +351,6 @@ if ($what == 'postgresql')
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Si on a demande une generation
|
|
||||||
//if ($what)
|
|
||||||
//{
|
|
||||||
if ($errormsg)
|
if ($errormsg)
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans("Error")." : ".$errormsg, null, 'errors');
|
setEventMessages($langs->trans("Error")." : ".$errormsg, null, 'errors');
|
||||||
@ -383,7 +378,7 @@ if ($what == 'postgresql')
|
|||||||
setEventMessages($langs->trans("YouMustRunCommandFromCommandLineAfterLoginToUser",$dolibarr_main_db_user,$dolibarr_main_db_user), null, 'mesgs');
|
setEventMessages($langs->trans("YouMustRunCommandFromCommandLineAfterLoginToUser",$dolibarr_main_db_user,$dolibarr_main_db_user), null, 'mesgs');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
$filearray=dol_dir_list($conf->admin->dir_output.'/backup','files',0,'','',$sortfield,(strtolower($sortorder)=='asc'?SORT_ASC:SORT_DESC),1);
|
$filearray=dol_dir_list($conf->admin->dir_output.'/backup','files',0,'','',$sortfield,(strtolower($sortorder)=='asc'?SORT_ASC:SORT_DESC),1);
|
||||||
|
|||||||
@ -48,62 +48,11 @@ if (! empty($conf->syslog->enabled))
|
|||||||
*/
|
*/
|
||||||
if ($action=='purge' && ! preg_match('/^confirm/i',$choice) && ($choice != 'allfiles' || $confirm == 'yes') )
|
if ($action=='purge' && ! preg_match('/^confirm/i',$choice) && ($choice != 'allfiles' || $confirm == 'yes') )
|
||||||
{
|
{
|
||||||
$filesarray=array();
|
require_once DOL_DOCUMENT_ROOT.'/core/class/utils.class.php';
|
||||||
|
$utils = new Utils($db);
|
||||||
|
$result = $utils->purgeFiles($choice);
|
||||||
|
|
||||||
if ($choice=='tempfiles')
|
$mesg = $utils->output;
|
||||||
{
|
|
||||||
// Delete temporary files
|
|
||||||
if ($dolibarr_main_data_root)
|
|
||||||
{
|
|
||||||
$filesarray=dol_dir_list($dolibarr_main_data_root,"directories",1,'^temp$');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($choice=='allfiles')
|
|
||||||
{
|
|
||||||
// Delete all files
|
|
||||||
if ($dolibarr_main_data_root)
|
|
||||||
{
|
|
||||||
$filesarray=dol_dir_list($dolibarr_main_data_root,"all",0,'','install\.lock$');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($choice=='logfile')
|
|
||||||
{
|
|
||||||
$filesarray[]=array('fullname'=>$filelog,'type'=>'file');
|
|
||||||
}
|
|
||||||
|
|
||||||
$count=0;
|
|
||||||
if (count($filesarray))
|
|
||||||
{
|
|
||||||
foreach($filesarray as $key => $value)
|
|
||||||
{
|
|
||||||
//print "x ".$filesarray[$key]['fullname']."<br>\n";
|
|
||||||
if ($filesarray[$key]['type'] == 'dir')
|
|
||||||
{
|
|
||||||
$count+=dol_delete_dir_recursive($filesarray[$key]['fullname']);
|
|
||||||
}
|
|
||||||
elseif ($filesarray[$key]['type'] == 'file')
|
|
||||||
{
|
|
||||||
// If (file that is not logfile) or (if logfile with option logfile)
|
|
||||||
if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile')
|
|
||||||
{
|
|
||||||
$count+=(dol_delete_file($filesarray[$key]['fullname'])?1:0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update cachenbofdoc
|
|
||||||
if (! empty($conf->ecm->enabled) && $choice=='allfiles')
|
|
||||||
{
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmdirectory.class.php';
|
|
||||||
$ecmdirstatic = new EcmDirectory($db);
|
|
||||||
$result = $ecmdirstatic->refreshcachenboffile(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($count) $mesg=$langs->trans("PurgeNDirectoriesDeleted", $count);
|
|
||||||
else $mesg=$langs->trans("PurgeNothingToDelete");
|
|
||||||
setEventMessages($mesg, null, 'mesgs');
|
setEventMessages($mesg, null, 'mesgs');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,7 +108,7 @@ if (preg_match('/^confirm/i',$choice))
|
|||||||
{
|
{
|
||||||
print '<br>';
|
print '<br>';
|
||||||
$formquestion=array();
|
$formquestion=array();
|
||||||
print $form->formconfirm($_SERVER["PHP_SELF"].'?choice=allfiles', $langs->trans('Purge'), $langs->trans('ConfirmPurge').' '.img_warning(), 'purge', $formquestion, 'no', 2);
|
print $form->formconfirm($_SERVER["PHP_SELF"].'?choice=allfiles', $langs->trans('Purge'), $langs->trans('ConfirmPurge').img_warning().' ', 'purge', $formquestion, 'no', 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -337,7 +337,7 @@ p.titre {
|
|||||||
/* -------------- Boutons --------------------- */
|
/* -------------- Boutons --------------------- */
|
||||||
.bouton_ajout_article {
|
.bouton_ajout_article {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
width: 100%;
|
width: 60%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -484,24 +484,24 @@ if ($object->fetch($id) >= 0)
|
|||||||
if ($obj->source_type == 'member')
|
if ($obj->source_type == 'member')
|
||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||||
$m=new Adherent($db);
|
$objectstatic=new Adherent($db);
|
||||||
$m->fetch($obj->source_id);
|
$objectstatic->fetch($obj->source_id);
|
||||||
print $m->getNomUrl(2);
|
print $objectstatic->getNomUrl(2);
|
||||||
}
|
}
|
||||||
else if ($obj->source_type == 'user')
|
else if ($obj->source_type == 'user')
|
||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
||||||
$m=new User($db);
|
$objectstatic=new User($db);
|
||||||
$m->fetch($obj->source_id);
|
$objectstatic->fetch($obj->source_id);
|
||||||
$m->id=$obj->source_id;
|
$objectstatic->id=$obj->source_id;
|
||||||
print $m->getNomUrl(2);
|
print $objectstatic->getNomUrl(2);
|
||||||
}
|
}
|
||||||
else if ($obj->source_type == 'thirdparty')
|
else if ($obj->source_type == 'thirdparty')
|
||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||||
$m=new Societe($db);
|
$objectstatic=new Societe($db);
|
||||||
$m->fetch($obj->source_id);
|
$objectstatic->fetch($obj->source_id);
|
||||||
print $m->getNomUrl(2);
|
print $objectstatic->getNomUrl(2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -422,6 +422,7 @@ if ($resql)
|
|||||||
$notshippable=0;
|
$notshippable=0;
|
||||||
$warning = 0;
|
$warning = 0;
|
||||||
$text_info='';
|
$text_info='';
|
||||||
|
$text_warning='';
|
||||||
$nbprod=0;
|
$nbprod=0;
|
||||||
|
|
||||||
$numlines = count($generic_commande->lines); // Loop on each line of order
|
$numlines = count($generic_commande->lines); // Loop on each line of order
|
||||||
|
|||||||
@ -300,7 +300,8 @@ if (($action == 'create' || $action == 'add') && !$error)
|
|||||||
$lines[$i]->rowid,
|
$lines[$i]->rowid,
|
||||||
$fk_parent_line,
|
$fk_parent_line,
|
||||||
$lines[$i]->fk_fournprice,
|
$lines[$i]->fk_fournprice,
|
||||||
$lines[$i]->pa_ht
|
$lines[$i]->pa_ht,
|
||||||
|
$lines[$i]->label
|
||||||
);
|
);
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -33,7 +33,7 @@ require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formbank.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formbank.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
|
||||||
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php';
|
require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
|
||||||
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/accountancy/class/html.formventilation.class.php';
|
if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.'/accountancy/class/html.formventilation.class.php';
|
||||||
|
|
||||||
$langs->load("banks");
|
$langs->load("banks");
|
||||||
|
|||||||
@ -535,7 +535,7 @@ if ($result)
|
|||||||
if ($user->rights->banque->modifier)
|
if ($user->rights->banque->modifier)
|
||||||
{
|
{
|
||||||
print '<td colspan="3">';
|
print '<td colspan="3">';
|
||||||
print '<input name="amount" class="flat" size="10" '.($objp->rappro?' disabled':'').' value="'.price($objp->amount).'"> '.$langs->trans("Currency".$conf->currency);
|
print '<input name="amount" class="flat" size="10" '.($objp->rappro?' disabled':'').' value="'.price($objp->amount).'"> '.$langs->trans("Currency".$acct->currency_code);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -154,6 +154,7 @@ $acct->fetch($id);
|
|||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
|
||||||
$sql = "SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type as type";
|
$sql = "SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type as type";
|
||||||
|
$sql.= ", b.fk_bordereau";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
|
||||||
$sql.= " WHERE rappro=0 AND fk_account=".$acct->id;
|
$sql.= " WHERE rappro=0 AND fk_account=".$acct->id;
|
||||||
$sql.= " ORDER BY dateo ASC";
|
$sql.= " ORDER BY dateo ASC";
|
||||||
@ -291,7 +292,7 @@ if ($resql)
|
|||||||
// Type + Number
|
// Type + Number
|
||||||
$label=($langs->trans("PaymentType".$objp->type)!="PaymentType".$objp->type)?$langs->trans("PaymentType".$objp->type):$objp->type; // $objp->type is a code
|
$label=($langs->trans("PaymentType".$objp->type)!="PaymentType".$objp->type)?$langs->trans("PaymentType".$objp->type):$objp->type; // $objp->type is a code
|
||||||
if ($label=='SOLD') $label='';
|
if ($label=='SOLD') $label='';
|
||||||
print '<td class="nowrap">'.$label.($objp->num_chq?' '.$objp->num_chq:'').'</td>';
|
print '<td class="nowrap">'.$label.($objp->num_chq?' '.$objp->num_chq:'').($objp->fk_bordereau>0?' ('.$objp->fk_bordereau.')':'').'</td>';
|
||||||
|
|
||||||
// Description
|
// Description
|
||||||
print '<td valign="center"><a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$objp->rowid.'&account='.$acct->id.'">';
|
print '<td valign="center"><a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$objp->rowid.'&account='.$acct->id.'">';
|
||||||
|
|||||||
@ -327,6 +327,7 @@ else
|
|||||||
// Recherche les ecritures pour le releve
|
// Recherche les ecritures pour le releve
|
||||||
$sql = "SELECT b.rowid, b.dateo as do, b.datev as dv,";
|
$sql = "SELECT b.rowid, b.dateo as do, b.datev as dv,";
|
||||||
$sql.= " b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type,";
|
$sql.= " b.amount, b.label, b.rappro, b.num_releve, b.num_chq, b.fk_type,";
|
||||||
|
$sql.= " b.fk_bordereau,";
|
||||||
$sql.= " ba.rowid as bankid, ba.ref as bankref, ba.label as banklabel";
|
$sql.= " ba.rowid as bankid, ba.ref as bankref, ba.label as banklabel";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba";
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."bank as b";
|
$sql.= ", ".MAIN_DB_PREFIX."bank as b";
|
||||||
@ -373,7 +374,7 @@ else
|
|||||||
} else {
|
} else {
|
||||||
$type_label=($langs->trans("PaymentTypeShort".$objp->fk_type)!="PaymentTypeShort".$objp->fk_type)?$langs->trans("PaymentTypeShort".$objp->fk_type):$objp->fk_type;
|
$type_label=($langs->trans("PaymentTypeShort".$objp->fk_type)!="PaymentTypeShort".$objp->fk_type)?$langs->trans("PaymentTypeShort".$objp->fk_type):$objp->fk_type;
|
||||||
}
|
}
|
||||||
print '<td class="nowrap">'.$type_label.' '.($objp->num_chq?$objp->num_chq:'').'</td>';
|
print '<td class="nowrap">'.$type_label.' '.($objp->num_chq?$objp->num_chq:'').($objp->fk_bordereau>0?' ('.$objp->fk_bordereau.')':'').'</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/ligne.php?rowid='.$objp->rowid.'&account='.$object->id.'">';
|
||||||
|
|||||||
@ -3038,7 +3038,7 @@ else if ($id > 0 || ! empty($ref))
|
|||||||
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
print '<table class="nobordernopadding" width="100%"><tr><td>';
|
||||||
print $langs->trans('Date');
|
print $langs->trans('Date');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer)
|
if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer && empty($conf->global->FAC_FORCE_DATE_VALIDATION))
|
||||||
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editinvoicedate&facid=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
print '<td align="right"><a href="' . $_SERVER["PHP_SELF"] . '?action=editinvoicedate&facid=' . $object->id . '">' . img_edit($langs->trans('SetDate'), 1) . '</a></td>';
|
||||||
print '</tr></table>';
|
print '</tr></table>';
|
||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
|
|||||||
@ -186,10 +186,13 @@ class FactureRec extends Facture
|
|||||||
/**
|
/**
|
||||||
* Recupere l'objet facture et ses lignes de factures
|
* Recupere l'objet facture et ses lignes de factures
|
||||||
*
|
*
|
||||||
* @param int $rowid Id de la facture a recuperer
|
* @param int $rowid Id of object to load
|
||||||
* @return int >0 si ok, <0 si ko
|
* @param string $ref Reference of invoice
|
||||||
|
* @param string $ref_ext External reference of invoice
|
||||||
|
* @param int $ref_int Internal reference of other object
|
||||||
|
* @return int >0 if OK, <0 if KO, 0 if not found
|
||||||
*/
|
*/
|
||||||
function fetch($rowid)
|
function fetch($rowid, $ref='', $ref_ext='', $ref_int='')
|
||||||
{
|
{
|
||||||
$sql = 'SELECT f.titre,f.fk_soc,f.amount,f.tva,f.total,f.total_ttc,f.remise_percent,f.remise_absolue,f.remise';
|
$sql = 'SELECT f.titre,f.fk_soc,f.amount,f.tva,f.total,f.total_ttc,f.remise_percent,f.remise_absolue,f.remise';
|
||||||
$sql.= ', f.date_lim_reglement as dlr';
|
$sql.= ', f.date_lim_reglement as dlr';
|
||||||
@ -203,8 +206,13 @@ class FactureRec extends Facture
|
|||||||
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as p ON f.fk_mode_reglement = p.id';
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as p ON f.fk_mode_reglement = p.id';
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."element_element as el ON el.fk_target = f.rowid AND el.targettype = 'facture'";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."element_element as el ON el.fk_target = f.rowid AND el.targettype = 'facture'";
|
||||||
$sql.= ' WHERE f.rowid='.$rowid;
|
$sql.= ' WHERE f.rowid='.$rowid;
|
||||||
|
if ($ref) $sql.= " AND f.titre='".$this->db->escape($ref)."'";
|
||||||
|
/* This field are not used for template invoice
|
||||||
|
if ($ref_ext) $sql.= " AND f.ref_ext='".$this->db->escape($ref_ext)."'";
|
||||||
|
if ($ref_int) $sql.= " AND f.ref_int='".$this->db->escape($ref_int)."'";
|
||||||
|
*/
|
||||||
|
|
||||||
dol_syslog("FactureRec::Fetch rowid=".$rowid."", LOG_DEBUG);
|
dol_syslog(get_class($this)."::fetch rowid=".$rowid, LOG_DEBUG);
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -353,32 +361,49 @@ class FactureRec extends Facture
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete current invoice
|
* Delete template invoice
|
||||||
*
|
*
|
||||||
|
* @param int $rowid Id of invoice to delete. If empty, we delete current instance of invoice
|
||||||
|
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
||||||
|
* @param int $idwarehouse Id warehouse to use for stock change.
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function delete()
|
function delete($rowid=0, $notrigger=0, $idwarehouse=-1)
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet_rec WHERE fk_facture = ".$this->id;
|
if (empty($rowid)) $rowid=$this->id;
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::delete rowid=".$rowid, LOG_DEBUG);
|
||||||
|
|
||||||
|
$error=0;
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet_rec WHERE fk_facture = ".$rowid;
|
||||||
dol_syslog($sql);
|
dol_syslog($sql);
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facture_rec WHERE rowid = ".$this->id;
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facture_rec WHERE rowid = ".$rowid;
|
||||||
dol_syslog($sql);
|
dol_syslog($sql);
|
||||||
if ($this->db->query($sql))
|
if (! $this->db->query($sql))
|
||||||
{
|
{
|
||||||
|
$this->error=$this->db->lasterror();
|
||||||
|
$error=-1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->lasterror();
|
||||||
|
$error=-2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error=$this->db->lasterror();
|
$this->db->rollback();
|
||||||
return -1;
|
return $error;
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->error=$this->db->lasterror();
|
|
||||||
return -2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -507,22 +532,30 @@ class FactureRec extends Facture
|
|||||||
/**
|
/**
|
||||||
* Return clicable name (with picto eventually)
|
* Return clicable name (with picto eventually)
|
||||||
*
|
*
|
||||||
* @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto
|
* @param int $withpicto Add picto into link
|
||||||
* @param string $option Sur quoi pointe le lien ('', 'withdraw')
|
* @param string $option Where point the link
|
||||||
* @return string Chaine avec URL
|
* @param int $max Maxlength of ref
|
||||||
|
* @param int $short 1=Return just URL
|
||||||
|
* @param string $moretitle Add more text to title tooltip
|
||||||
|
* @return string String with URL
|
||||||
*/
|
*/
|
||||||
function getNomUrl($withpicto=0,$option='')
|
function getNomUrl($withpicto=0,$option='',$max=0,$short=0,$moretitle='')
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
$result='';
|
$result='';
|
||||||
$label=$langs->trans("ShowInvoice").': '.$this->ref;
|
$label=$langs->trans("ShowInvoice").': '.$this->ref;
|
||||||
|
|
||||||
$link = '<a href="'.DOL_URL_ROOT.'/compta/facture/fiche-rec.php?facid='.$this->id.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
|
$url = DOL_URL_ROOT.'/compta/facture/fiche-rec.php?facid='.$this->id;
|
||||||
$linkend='</a>';
|
|
||||||
|
if ($short) return $url;
|
||||||
|
|
||||||
$picto='bill';
|
$picto='bill';
|
||||||
|
|
||||||
|
$link = '<a href="'.$url.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
|
||||||
|
$linkend='</a>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend);
|
if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend);
|
||||||
if ($withpicto && $withpicto != 2) $result.=' ';
|
if ($withpicto && $withpicto != 2) $result.=' ';
|
||||||
|
|||||||
@ -1845,7 +1845,7 @@ class Facture extends CommonInvoice
|
|||||||
|| (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->facture->invoice_advance->validate)))
|
|| (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->facture->invoice_advance->validate)))
|
||||||
{
|
{
|
||||||
$this->error='Permission denied';
|
$this->error='Permission denied';
|
||||||
dol_syslog(get_class($this)."::validate ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::validate ".$this->error.' MAIN_USE_ADVANCED_PERMS='.$conf->global->MAIN_USE_ADVANCED_PERMS, LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2034,6 +2034,9 @@ class Facture extends CommonInvoice
|
|||||||
$this->brouillon=0;
|
$this->brouillon=0;
|
||||||
$this->date_validation=$now;
|
$this->date_validation=$now;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
|
if (!empty($conf->global->INVOICE_USE_SITUATION))
|
||||||
|
{
|
||||||
$final = True;
|
$final = True;
|
||||||
while ($i < count($this->lines) && $final == True) {
|
while ($i < count($this->lines) && $final == True) {
|
||||||
$final = ($this->lines[$i]->situation_percent == 100);
|
$final = ($this->lines[$i]->situation_percent == 100);
|
||||||
@ -2044,6 +2047,7 @@ class Facture extends CommonInvoice
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
@ -2324,7 +2328,6 @@ class Facture extends CommonInvoice
|
|||||||
|
|
||||||
$this->line->context = $this->context;
|
$this->line->context = $this->context;
|
||||||
|
|
||||||
$this->line->situpation_percent = $situation_percent;
|
|
||||||
$this->line->fk_facture=$this->id;
|
$this->line->fk_facture=$this->id;
|
||||||
$this->line->label=$label; // deprecated
|
$this->line->label=$label; // deprecated
|
||||||
$this->line->desc=$desc;
|
$this->line->desc=$desc;
|
||||||
@ -3845,11 +3848,14 @@ class Facture extends CommonInvoice
|
|||||||
function setFinal()
|
function setFinal()
|
||||||
{
|
{
|
||||||
global $conf, $langs, $user;
|
global $conf, $langs, $user;
|
||||||
|
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
$this->situation_final = 1;
|
$this->situation_final = 1;
|
||||||
$sql = 'update ' . MAIN_DB_PREFIX . 'facture set situation_final = ' . $this->situation_final . ' where rowid = ' . $this->id;
|
$sql = 'update ' . MAIN_DB_PREFIX . 'facture set situation_final = ' . $this->situation_final . ' where rowid = ' . $this->id;
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql) {
|
if ($resql) {
|
||||||
// FIXME: call triggers?
|
// FIXME: call triggers MODIFY because we modify invoice
|
||||||
$this->db->commit();
|
$this->db->commit();
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -201,8 +201,13 @@ if ($action == 'valide')
|
|||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
|
$linkback = '<a href="' . DOL_URL_ROOT . '/compta/paiement/list.php">' . $langs->trans("BackToList") . '</a>';
|
||||||
|
|
||||||
|
|
||||||
// Ref
|
// Ref
|
||||||
print '<tr><td width="20%">'.$langs->trans('Ref').'</td><td colspan="3">'.$object->ref.'</td></tr>';
|
print '<tr><td width="20%">'.$langs->trans('Ref').'</td><td colspan="3">';
|
||||||
|
print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', '');
|
||||||
|
print '</td></tr>';
|
||||||
|
|
||||||
// Date payment
|
// Date payment
|
||||||
print '<tr><td>'.$form->editfieldkey("Date",'datep',$object->date,$object,$user->rights->facture->paiement).'</td><td colspan="3">';
|
print '<tr><td>'.$form->editfieldkey("Date",'datep',$object->date,$object,$user->rights->facture->paiement).'</td><td colspan="3">';
|
||||||
|
|||||||
@ -103,7 +103,7 @@ class Paiement extends CommonObject
|
|||||||
{
|
{
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->ref = $obj->ref;
|
$this->ref = $obj->ref?$obj->ref:$obj->rowid;
|
||||||
$this->date = $this->db->jdate($obj->dp);
|
$this->date = $this->db->jdate($obj->dp);
|
||||||
$this->datepaye = $this->db->jdate($obj->dp);
|
$this->datepaye = $this->db->jdate($obj->dp);
|
||||||
$this->numero = $obj->num_paiement;
|
$this->numero = $obj->num_paiement;
|
||||||
|
|||||||
@ -53,8 +53,9 @@ $companystatic=new Societe($db);
|
|||||||
$search_ref=GETPOST("search_ref","int");
|
$search_ref=GETPOST("search_ref","int");
|
||||||
$search_account=GETPOST("search_account","int");
|
$search_account=GETPOST("search_account","int");
|
||||||
$search_paymenttype=GETPOST("search_paymenttype");
|
$search_paymenttype=GETPOST("search_paymenttype");
|
||||||
$search_amount=GETPOST("search_amount");
|
$search_amount=GETPOST("search_amount",'alpha'); // alpha because we must be able to search on "< x"
|
||||||
$search_company=GETPOST("search_company");
|
$search_company=GETPOST("search_company",'alpha');
|
||||||
|
$search_payment_num=GETPOST('search_payment_num','alpha');
|
||||||
$sortfield = GETPOST("sortfield",'alpha');
|
$sortfield = GETPOST("sortfield",'alpha');
|
||||||
$sortorder = GETPOST("sortorder",'alpha');
|
$sortorder = GETPOST("sortorder",'alpha');
|
||||||
$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit;
|
$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit;
|
||||||
@ -72,6 +73,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both
|
|||||||
$search_account="";
|
$search_account="";
|
||||||
$search_amount="";
|
$search_amount="";
|
||||||
$search_paymenttype="";
|
$search_paymenttype="";
|
||||||
|
$search_payment_num="";
|
||||||
$search_company="";
|
$search_company="";
|
||||||
$day='';
|
$day='';
|
||||||
$year='';
|
$year='';
|
||||||
@ -168,6 +170,7 @@ else
|
|||||||
if ($search_ref) $sql .=natural_search('p.ref', $search_ref);
|
if ($search_ref) $sql .=natural_search('p.ref', $search_ref);
|
||||||
if ($search_account > 0) $sql .=" AND b.fk_account=".$search_account;
|
if ($search_account > 0) $sql .=" AND b.fk_account=".$search_account;
|
||||||
if ($search_paymenttype != "") $sql .=" AND c.code='".$db->escape($search_paymenttype)."'";
|
if ($search_paymenttype != "") $sql .=" AND c.code='".$db->escape($search_paymenttype)."'";
|
||||||
|
if ($search_payment_num != '') $sql .=" AND p.num_paiement = '".$db->escape($search_payment_num)."'";
|
||||||
if ($search_amount) $sql .=" AND p.amount='".$db->escape(price2num($search_amount))."'";
|
if ($search_amount) $sql .=" AND p.amount='".$db->escape(price2num($search_amount))."'";
|
||||||
if ($search_company) $sql .= natural_search('s.nom', $search_company);
|
if ($search_company) $sql .= natural_search('s.nom', $search_company);
|
||||||
// Add where from hooks
|
// Add where from hooks
|
||||||
@ -209,6 +212,7 @@ if ($resql)
|
|||||||
print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"dp","",$paramlist,'align="center"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"dp","",$paramlist,'align="center"',$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom","",$paramlist,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle","",$paramlist,"",$sortfield,$sortorder);
|
||||||
|
print_liste_field_titre($langs->trans("Numero"),$_SERVER["PHP_SELF"],"p.num_paiement","",$paramlist,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$paramlist,"",$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$paramlist,"",$sortfield,$sortorder);
|
||||||
print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"p.amount","",$paramlist,'align="right"',$sortfield,$sortorder);
|
print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"p.amount","",$paramlist,'align="right"',$sortfield,$sortorder);
|
||||||
//print_liste_field_titre($langs->trans("Invoices"),"","","",$paramlist,'align="left"',$sortfield,$sortorder);
|
//print_liste_field_titre($langs->trans("Invoices"),"","","",$paramlist,'align="left"',$sortfield,$sortorder);
|
||||||
@ -237,6 +241,9 @@ if ($resql)
|
|||||||
print '<td>';
|
print '<td>';
|
||||||
$form->select_types_paiements($search_paymenttype,'search_paymenttype','',2,1,1);
|
$form->select_types_paiements($search_paymenttype,'search_paymenttype','',2,1,1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
print '<td align="left">';
|
||||||
|
print '<input class="flat" type="text" size="4" name="search_payment_num" value="'.$search_payment_num.'">';
|
||||||
|
print '</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$form->select_comptes($search_account,'search_account',0,'',1);
|
$form->select_comptes($search_account,'search_account',0,'',1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -279,7 +286,7 @@ if ($resql)
|
|||||||
else print ' ';
|
else print ' ';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td>'.$langs->trans("PaymentTypeShort".$objp->paiement_code).' '.$objp->num_paiement.'</td>';
|
print '<td>'.$langs->trans("PaymentTypeShort".$objp->paiement_code).'</td><td>'.$objp->num_paiement.'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($objp->bid)
|
if ($objp->bid)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -621,6 +621,87 @@ if (! empty($conf->salaries->enabled))
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Expense
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (! empty($conf->expensereport->enabled))
|
||||||
|
{
|
||||||
|
$langs->load('trips');
|
||||||
|
if ($modecompta == 'CREANCES-DETTES') {
|
||||||
|
$sql = "SELECT p.rowid, p.ref, u.firstname, u.lastname, date_format(date_valid,'%Y-%m') as dm, sum(p.total_ht) as amount_ht,sum(p.total_ttc) as amount_ttc";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as p";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid=p.fk_user_author";
|
||||||
|
$sql.= " WHERE p.entity = ".getEntity('expensereport',1);
|
||||||
|
$sql.= " AND p.fk_statut>5";
|
||||||
|
|
||||||
|
$column='p.date_valid';
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$sql = "SELECT p.rowid, p.ref, u.firstname, u.lastname, date_format(pe.datep,'%Y-%m') as dm, sum(p.total_ht) as amount_ht,sum(p.total_ttc) as amount_ttc";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as p";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid=p.fk_user_author";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."payment_expensereport as pe ON pe.fk_expensereport = p.rowid";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."c_paiement as c ON pe.fk_typepayment = c.id";
|
||||||
|
$sql.= " WHERE p.entity = ".getEntity('expensereport',1);
|
||||||
|
$sql.= " AND p.fk_statut=6";
|
||||||
|
|
||||||
|
$column='pe.datep';
|
||||||
|
}
|
||||||
|
|
||||||
|
print '<tr><td colspan="4">'.$langs->trans("ExpenseReport").'</td></tr>';
|
||||||
|
|
||||||
|
if (! empty($date_start) && ! empty($date_end))
|
||||||
|
$sql.= " AND $column >= '".$db->idate($date_start)."' AND $column <= '".$db->idate($date_end)."'";
|
||||||
|
|
||||||
|
$sql.= " GROUP BY p.rowid, p.ref, u.firstname, u.lastname, dm";
|
||||||
|
$sql.= " ORDER BY p.ref";
|
||||||
|
|
||||||
|
dol_syslog("get expense report outcome");
|
||||||
|
$result=$db->query($sql);
|
||||||
|
$subtotal_ht = 0;
|
||||||
|
$subtotal_ttc = 0;
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows($result);
|
||||||
|
$var=true;
|
||||||
|
if ($num)
|
||||||
|
{
|
||||||
|
while ($obj = $db->fetch_object($result))
|
||||||
|
{
|
||||||
|
$total_ht -= $obj->amount_ht;
|
||||||
|
$total_ttc -= $obj->amount_ttc;
|
||||||
|
$subtotal_ht += $obj->amount_ht;
|
||||||
|
$subtotal_ttc += $obj->amount_ttc;
|
||||||
|
|
||||||
|
$var = !$var;
|
||||||
|
print "<tr ".$bc[$var]."><td> </td>";
|
||||||
|
|
||||||
|
print "<td>".$langs->trans("ExpenseReport")." <a href=\"".DOL_URL_ROOT."/expensereport/card.php?id=".$obj->rowid."\">".$obj->ref.' ('.$obj->firstname." ".$obj->lastname.")</a></td>\n";
|
||||||
|
|
||||||
|
if ($modecompta == 'CREANCES-DETTES') print '<td align="right">'.price(-$obj->amount_ht).'</td>';
|
||||||
|
print '<td align="right">'.price(-$obj->amount_ttc).'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$var = !$var;
|
||||||
|
print "<tr ".$bc[$var]."><td> </td>";
|
||||||
|
print '<td colspan="3">'.$langs->trans("None").'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_print_error($db);
|
||||||
|
}
|
||||||
|
print '<tr class="liste_total">';
|
||||||
|
if ($modecompta == 'CREANCES-DETTES')
|
||||||
|
print '<td colspan="3" align="right">'.price(-$subtotal_ht).'</td>';
|
||||||
|
print '<td colspan="3" align="right">'.price(-$subtotal_ttc).'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Donation
|
* Donation
|
||||||
|
|||||||
@ -521,6 +521,58 @@ if (! empty($conf->salaries->enabled))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! empty($conf->expensereport->enabled))
|
||||||
|
{
|
||||||
|
$langs->load('trips');
|
||||||
|
if ($modecompta == 'CREANCES-DETTES') {
|
||||||
|
$sql = "SELECT date_format(date_valid,'%Y-%m') as dm, sum(p.total_ht) as amount_ht,sum(p.total_ttc) as amount_ttc";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as p";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid=p.fk_user_author";
|
||||||
|
$sql.= " WHERE p.entity = ".getEntity('expensereport',1);
|
||||||
|
$sql.= " AND p.fk_statut>5";
|
||||||
|
|
||||||
|
$column='p.date_valid';
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$sql = "SELECT date_format(pe.datep,'%Y-%m') as dm, sum(p.total_ht) as amount_ht,sum(p.total_ttc) as amount_ttc";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as p";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid=p.fk_user_author";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."payment_expensereport as pe ON pe.fk_expensereport = p.rowid";
|
||||||
|
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."c_paiement as c ON pe.fk_typepayment = c.id";
|
||||||
|
$sql.= " WHERE p.entity = ".getEntity('expensereport',1);
|
||||||
|
$sql.= " AND p.fk_statut=6";
|
||||||
|
|
||||||
|
$column='pe.datep';
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql.= " GROUP BY dm";
|
||||||
|
|
||||||
|
dol_syslog("get expense report outcome");
|
||||||
|
$result=$db->query($sql);
|
||||||
|
$subtotal_ht = 0;
|
||||||
|
$subtotal_ttc = 0;
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows($result);
|
||||||
|
if ($num)
|
||||||
|
{
|
||||||
|
while ($obj = $db->fetch_object($result))
|
||||||
|
{
|
||||||
|
if (! isset($decaiss[$obj->dm])) $decaiss[$obj->dm]=0;
|
||||||
|
$decaiss[$obj->dm] += $obj->amount_ht;
|
||||||
|
|
||||||
|
if (! isset($decaiss_ttc[$obj->dm])) $decaiss_ttc[$obj->dm]=0;
|
||||||
|
$decaiss_ttc[$obj->dm] += $obj->amount_ttc;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_print_error($db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Donation get dunning paiement
|
* Donation get dunning paiement
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -512,9 +512,11 @@ else
|
|||||||
$(\'textarea[name="address"]\').val("'.dol_escape_js($objsoc->address).'");
|
$(\'textarea[name="address"]\').val("'.dol_escape_js($objsoc->address).'");
|
||||||
$(\'input[name="zipcode"]\').val("'.dol_escape_js($objsoc->zip).'");
|
$(\'input[name="zipcode"]\').val("'.dol_escape_js($objsoc->zip).'");
|
||||||
$(\'input[name="town"]\').val("'.dol_escape_js($objsoc->town).'");
|
$(\'input[name="town"]\').val("'.dol_escape_js($objsoc->town).'");
|
||||||
$(\'select[name="country_id"]\').val("'.dol_escape_js($objsoc->country_id).'");
|
console.log("Set state_id to '.dol_escape_js($objsoc->state_id).'");
|
||||||
$(\'select[name="state_id"]\').val("'.dol_escape_js($objsoc->state_id).'");
|
$(\'select[name="state_id"]\').val("'.dol_escape_js($objsoc->state_id).'").trigger("change");
|
||||||
$(\'input[name="email"]\').val("'.dol_escape_js($objsoc->email).'");
|
/* set country at end because it will trigger page refresh */
|
||||||
|
console.log("Set country id to '.dol_escape_js($objsoc->country_id).'");
|
||||||
|
$(\'select[name="country_id"]\').val("'.dol_escape_js($objsoc->country_id).'").trigger("change"); /* trigger required to update select2 components */
|
||||||
});
|
});
|
||||||
})'."\n";
|
})'."\n";
|
||||||
print '</script>'."\n";
|
print '</script>'."\n";
|
||||||
@ -750,11 +752,14 @@ else
|
|||||||
});
|
});
|
||||||
|
|
||||||
$("#copyaddressfromsoc").click(function() {
|
$("#copyaddressfromsoc").click(function() {
|
||||||
$(\'textarea[name="address"]\').text("'.dol_escape_js($objsoc->address).'");
|
$(\'textarea[name="address"]\').val("'.dol_escape_js($objsoc->address).'");
|
||||||
$(\'input[name="zipcode"]\').val("'.dol_escape_js($objsoc->zip).'");
|
$(\'input[name="zipcode"]\').val("'.dol_escape_js($objsoc->zip).'");
|
||||||
$(\'input[name="town"]\').val("'.dol_escape_js($objsoc->town).'");
|
$(\'input[name="town"]\').val("'.dol_escape_js($objsoc->town).'");
|
||||||
$(\'select[name="country_id"]\').val("'.dol_escape_js($objsoc->country_id).'");
|
console.log("Set state_id to '.dol_escape_js($objsoc->state_id).'");
|
||||||
$(\'select[name="state_id"]\').val("'.dol_escape_js($objsoc->state_id).'");
|
$(\'select[name="state_id"]\').val("'.dol_escape_js($objsoc->state_id).'").trigger("change");
|
||||||
|
/* set country at end because it will trigger page refresh */
|
||||||
|
console.log("Set country id to '.dol_escape_js($objsoc->country_id).'");
|
||||||
|
$(\'select[name="country_id"]\').val("'.dol_escape_js($objsoc->country_id).'").trigger("change"); /* trigger required to update select2 components */
|
||||||
});
|
});
|
||||||
})'."\n";
|
})'."\n";
|
||||||
print '</script>'."\n";
|
print '</script>'."\n";
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
* Copyright (C) 2010-2015 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010-2015 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||||
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2014 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2014-2016 Ferran Marcet <fmarcet@2byte.es>
|
||||||
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
*
|
*
|
||||||
@ -706,6 +706,11 @@ if (empty($reshook))
|
|||||||
$result = $object->validate($user);
|
$result = $object->validate($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if ($action == 'reopen' && $user->rights->contrat->creer)
|
||||||
|
{
|
||||||
|
$result = $object->reopen($user);
|
||||||
|
}
|
||||||
|
|
||||||
// Close all lines
|
// Close all lines
|
||||||
else if ($action == 'confirm_close' && $confirm == 'yes' && $user->rights->contrat->creer)
|
else if ($action == 'confirm_close' && $confirm == 'yes' && $user->rights->contrat->creer)
|
||||||
{
|
{
|
||||||
@ -1077,7 +1082,7 @@ if ($action == 'create')
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print $form->select_company('','socid','',1);
|
print $form->select_company('','socid','',1,1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
print '</tr>'."\n";
|
print '</tr>'."\n";
|
||||||
@ -1110,12 +1115,13 @@ if ($action == 'create')
|
|||||||
$form->select_date($datecontrat,'',0,0,'',"contrat");
|
$form->select_date($datecontrat,'',0,0,'',"contrat");
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
|
// Project
|
||||||
if (! empty($conf->projet->enabled))
|
if (! empty($conf->projet->enabled))
|
||||||
{
|
{
|
||||||
$formproject=new FormProjets($db);
|
$formproject=new FormProjets($db);
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("Project").'</td><td>';
|
print '<tr><td>'.$langs->trans("Project").'</td><td>';
|
||||||
$formproject->select_projects($soc->id,$projectid,"projectid");
|
$formproject->select_projects(($soc->id>0?$soc->id:-1),$projectid,"projectid",0,0,1,1);
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1325,7 +1331,7 @@ else
|
|||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == "classify")
|
if ($action == "classify")
|
||||||
{
|
{
|
||||||
$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,"projectid", 0, 0, 1);
|
$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, "projectid", 1, 0, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1712,11 +1718,13 @@ else
|
|||||||
{
|
{
|
||||||
$tmpaction='activateline';
|
$tmpaction='activateline';
|
||||||
if ($objp->statut == 4) $tmpaction='unactivateline';
|
if ($objp->statut == 4) $tmpaction='unactivateline';
|
||||||
|
if (($tmpaction=='activateline' && $user->rights->contrat->activer) || ($tmpaction=='unactivateline' && $user->rights->contrat->unactiver)) {
|
||||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&ligne=' . $object->lines[$cursorline - 1]->id . '&action=' . $tmpaction . '">';
|
print '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&ligne=' . $object->lines[$cursorline - 1]->id . '&action=' . $tmpaction . '">';
|
||||||
print img_edit();
|
print img_edit();
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
@ -1915,6 +1923,11 @@ else
|
|||||||
if ($user->rights->contrat->creer) print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=valid">'.$langs->trans("Validate").'</a></div>';
|
if ($user->rights->contrat->creer) print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=valid">'.$langs->trans("Validate").'</a></div>';
|
||||||
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("Validate").'</a></div>';
|
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("Validate").'</a></div>';
|
||||||
}
|
}
|
||||||
|
if ($object->statut == 1 && $nbofservices)
|
||||||
|
{
|
||||||
|
if ($user->rights->contrat->creer) print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=reopen">'.$langs->trans("Modify").'</a></div>';
|
||||||
|
else print '<div class="inline-block divButAction"><a class="butActionRefused" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("Modify").'</a></div>';
|
||||||
|
}
|
||||||
|
|
||||||
if (! empty($conf->facture->enabled) && $object->statut > 0 && $object->nbofservicesclosed < $nbofservices)
|
if (! empty($conf->facture->enabled) && $object->statut > 0 && $object->nbofservicesclosed < $nbofservices)
|
||||||
{
|
{
|
||||||
@ -1975,6 +1988,12 @@ else
|
|||||||
|
|
||||||
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
print '</div><div class="fichehalfright"><div class="ficheaddleft">';
|
||||||
|
|
||||||
|
// List of actions on element
|
||||||
|
include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php';
|
||||||
|
$formactions = new FormActions($db);
|
||||||
|
$somethingshown = $formactions->showactions($object, 'contract', $socid);
|
||||||
|
|
||||||
|
|
||||||
print '</div></div></div>';
|
print '</div></div></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -472,6 +472,70 @@ class Contrat extends CommonObject
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unvalidate a contract
|
||||||
|
*
|
||||||
|
* @param User $user Objet User
|
||||||
|
* @param int $notrigger 1=Does not execute triggers, 0=execute triggers
|
||||||
|
* @return int <0 if KO, >0 if OK
|
||||||
|
*/
|
||||||
|
function reopen($user, $notrigger=0)
|
||||||
|
{
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
global $langs, $conf;
|
||||||
|
|
||||||
|
$now=dol_now();
|
||||||
|
|
||||||
|
$error=0;
|
||||||
|
dol_syslog(get_class($this).'::reopen user='.$user->id);
|
||||||
|
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
$this->fetch_thirdparty();
|
||||||
|
|
||||||
|
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 0";
|
||||||
|
//$sql.= ", fk_user_valid = null, date_valid = null";
|
||||||
|
$sql .= " WHERE rowid = ".$this->id . " AND statut = 1";
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::validate", LOG_DEBUG);
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (! $resql)
|
||||||
|
{
|
||||||
|
dol_print_error($this->db);
|
||||||
|
$error++;
|
||||||
|
$this->error=$this->db->lasterror();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trigger calls
|
||||||
|
if (! $error && ! $notrigger)
|
||||||
|
{
|
||||||
|
// Call trigger
|
||||||
|
$result=$this->call_trigger('CONTRACT_REOPEN',$user);
|
||||||
|
if ($result < 0) {
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
// End call triggers
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set new ref and define current statut
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$this->statut=0;
|
||||||
|
$this->brouillon=1;
|
||||||
|
$this->date_validation=$now;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a contract from database
|
* Load a contract from database
|
||||||
|
|||||||
@ -418,6 +418,9 @@ class Conf
|
|||||||
// By default, suppliers objects can be linked to all projects
|
// By default, suppliers objects can be linked to all projects
|
||||||
$this->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1;
|
$this->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1;
|
||||||
|
|
||||||
|
// MAIN_HTML_TITLE
|
||||||
|
if (! isset($conf->global->MAIN_HTML_TITLE)) $conf->global->MAIN_HTML_TITLE='noapp,thirdpartynameonly,contactnameonly,projectnameonly';
|
||||||
|
|
||||||
// conf->liste_limit = constante de taille maximale des listes
|
// conf->liste_limit = constante de taille maximale des listes
|
||||||
if (empty($this->global->MAIN_SIZE_LISTE_LIMIT)) $this->global->MAIN_SIZE_LISTE_LIMIT=25;
|
if (empty($this->global->MAIN_SIZE_LISTE_LIMIT)) $this->global->MAIN_SIZE_LISTE_LIMIT=25;
|
||||||
$this->liste_limit=$this->global->MAIN_SIZE_LISTE_LIMIT;
|
$this->liste_limit=$this->global->MAIN_SIZE_LISTE_LIMIT;
|
||||||
|
|||||||
@ -750,6 +750,7 @@ class ExtraFields
|
|||||||
$out.='<option value="0"> </option>';
|
$out.='<option value="0"> </option>';
|
||||||
foreach ($param['options'] as $key => $val)
|
foreach ($param['options'] as $key => $val)
|
||||||
{
|
{
|
||||||
|
if ($key == '') continue;
|
||||||
list($val, $parent) = explode('|', $val);
|
list($val, $parent) = explode('|', $val);
|
||||||
$out.='<option value="'.$key.'"';
|
$out.='<option value="'.$key.'"';
|
||||||
$out.= ($value==$key?' selected':'');
|
$out.= ($value==$key?' selected':'');
|
||||||
@ -1160,7 +1161,6 @@ class ExtraFields
|
|||||||
$list=$this->attribute_list[$key];
|
$list=$this->attribute_list[$key];
|
||||||
|
|
||||||
$showsize=0;
|
$showsize=0;
|
||||||
|
|
||||||
if ($type == 'date')
|
if ($type == 'date')
|
||||||
{
|
{
|
||||||
$showsize=10;
|
$showsize=10;
|
||||||
|
|||||||
@ -1018,7 +1018,7 @@ class Form
|
|||||||
// Do not use textempty = ' ' or ' ' here, or search on key will search on ' key'.
|
// Do not use textempty = ' ' or ' ' here, or search on key will search on ' key'.
|
||||||
//$textifempty=' ';
|
//$textifempty=' ';
|
||||||
//if (! empty($conf->use_javascript_ajax) || $forcecombo) $textifempty='';
|
//if (! empty($conf->use_javascript_ajax) || $forcecombo) $textifempty='';
|
||||||
if (! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT)) $textifempty.=$langs->trans("NoFilter");
|
if (! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT)) $textifempty.=$langs->trans("All");
|
||||||
if ($showempty) $out.= '<option value="-1">'.$textifempty.'</option>'."\n";
|
if ($showempty) $out.= '<option value="-1">'.$textifempty.'</option>'."\n";
|
||||||
|
|
||||||
$num = $this->db->num_rows($resql);
|
$num = $this->db->num_rows($resql);
|
||||||
@ -3444,7 +3444,7 @@ class Form
|
|||||||
* @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id)
|
* @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id)
|
||||||
* @param int $selected Id pre-selected project
|
* @param int $selected Id pre-selected project
|
||||||
* @param string $htmlname Name of select field
|
* @param string $htmlname Name of select field
|
||||||
* @param int $discard_closed Discard closed projects (0=Keep,1=hide completely,2=Disable)
|
* @param int $discard_closed Discard closed projects (0=Keep,1=hide completely except $selected,2=Disable)
|
||||||
* @param int $maxlength Max length
|
* @param int $maxlength Max length
|
||||||
* @param int $forcefocus Force focus on field (works with javascript only)
|
* @param int $forcefocus Force focus on field (works with javascript only)
|
||||||
* @return void
|
* @return void
|
||||||
@ -4239,7 +4239,7 @@ class Form
|
|||||||
* - local date in user area, if set_time is '' (so if set_time is '', output may differs when done from two different location)
|
* - local date in user area, if set_time is '' (so if set_time is '', output may differs when done from two different location)
|
||||||
* - Empty (fields empty), if set_time is -1 (in this case, parameter empty must also have value 1)
|
* - Empty (fields empty), if set_time is -1 (in this case, parameter empty must also have value 1)
|
||||||
*
|
*
|
||||||
* @param timestamp $set_time Pre-selected date (must be a local PHP server timestamp), -1 to keep date not preselected, '' to use current date.
|
* @param timestamp $set_time Pre-selected date (must be a local PHP server timestamp), -1 to keep date not preselected, '' to use current date (emptydate must be 0).
|
||||||
* @param string $prefix Prefix for fields name
|
* @param string $prefix Prefix for fields name
|
||||||
* @param int $h 1=Show also hours
|
* @param int $h 1=Show also hours
|
||||||
* @param int $m 1=Show also minutes
|
* @param int $m 1=Show also minutes
|
||||||
@ -5205,6 +5205,67 @@ class Form
|
|||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((in_array('fichinter',$restrictlinksto)) && ! empty($conf->ficheinter->enabled))
|
||||||
|
{
|
||||||
|
$linktoelem.=($linktoelem?' ':'').'<a href="#" id="linktoorder">' . $langs->trans('LinkedFichinter') . '</a>';
|
||||||
|
|
||||||
|
print '
|
||||||
|
<script type="text/javascript" language="javascript">
|
||||||
|
jQuery(document).ready(function() {
|
||||||
|
jQuery("#linktoorder").click(function() {
|
||||||
|
jQuery("#orderlist").toggle();
|
||||||
|
jQuery("#linktoorder").toggle();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
';
|
||||||
|
|
||||||
|
print '<div id="orderlist"'.(empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)?' style="display:none"':'').'>';
|
||||||
|
|
||||||
|
$sql = "SELECT s.rowid as socid, s.nom as name, s.client, f.rowid, f.ref";
|
||||||
|
$sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
|
||||||
|
$sql .= ", " . MAIN_DB_PREFIX . "fichinter as f";
|
||||||
|
$sql .= ' WHERE f.fk_soc = s.rowid';
|
||||||
|
|
||||||
|
$resqlorderlist = $this->db->query($sql);
|
||||||
|
if ($resqlorderlist)
|
||||||
|
{
|
||||||
|
$num = $this->db->num_rows($resqlorderlist);
|
||||||
|
$i = 0;
|
||||||
|
|
||||||
|
print '<br><form action="" method="POST" name="LinkedFichinter">';
|
||||||
|
print '<table class="noborder">';
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<td class="nowrap"></td>';
|
||||||
|
print '<td align="center">' . $langs->trans("Ref") . '</td>';
|
||||||
|
print '<td align="left">' . $langs->trans("Company") . '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
while ($i < $num)
|
||||||
|
{
|
||||||
|
$objp = $this->db->fetch_object($resqlorderlist);
|
||||||
|
|
||||||
|
$var = ! $var;
|
||||||
|
print '<tr ' . $bc [$var] . '>';
|
||||||
|
print '<td aling="left">';
|
||||||
|
print '<input type="radio" name="LinkedFichinter" value=' . $objp->rowid . '>';
|
||||||
|
print '<td align="center">' . $objp->ref . '</td>';
|
||||||
|
print '<td>' . $objp->name . '</td>';
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
|
$i ++;
|
||||||
|
}
|
||||||
|
print '</table>';
|
||||||
|
print '<div class="center"><input type="submit" class="button" value="' . $langs->trans('ToLink') . '"> <input type="submit" class="button" name="cancel" value="' . $langs->trans('Cancel') . '"></div>';
|
||||||
|
print '</form>';
|
||||||
|
$this->db->free($resqlorderlist);
|
||||||
|
} else {
|
||||||
|
dol_print_error($this->db);
|
||||||
|
}
|
||||||
|
|
||||||
|
print '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
if (((! is_array($restrictlinksto)) || in_array('supplier_order',$restrictlinksto))
|
if (((! is_array($restrictlinksto)) || in_array('supplier_order',$restrictlinksto))
|
||||||
&& ! empty($conf->fournisseur->enabled))
|
&& ! empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -61,7 +61,7 @@ class FormProjets
|
|||||||
*/
|
*/
|
||||||
function select_projects($socid=-1, $selected='', $htmlname='projectid', $maxlength=16, $option_only=0, $show_empty=1, $discard_closed=0, $forcefocus=0, $disabled=0, $mode = 0, $filterkey = '')
|
function select_projects($socid=-1, $selected='', $htmlname='projectid', $maxlength=16, $option_only=0, $show_empty=1, $discard_closed=0, $forcefocus=0, $disabled=0, $mode = 0, $filterkey = '')
|
||||||
{
|
{
|
||||||
global $langs,$conf;
|
global $langs,$conf,$form;
|
||||||
|
|
||||||
if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->PROJECT_USE_SEARCH_TO_SELECT))
|
if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->PROJECT_USE_SEARCH_TO_SELECT))
|
||||||
{
|
{
|
||||||
@ -86,6 +86,14 @@ class FormProjets
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print $this->select_projects_list($socid, $selected, $htmlname, $maxlength, $option_only, $show_empty, $discard_closed, $forcefocus, $disabled, 0, $filterkey);
|
print $this->select_projects_list($socid, $selected, $htmlname, $maxlength, $option_only, $show_empty, $discard_closed, $forcefocus, $disabled, 0, $filterkey);
|
||||||
|
if ($discard_closed)
|
||||||
|
{
|
||||||
|
if (class_exists('Form'))
|
||||||
|
{
|
||||||
|
if (empty($form)) $form=new Form($this->db);
|
||||||
|
print $form->textwithpicto('', $langs->trans("ClosedProjectsAreHidden"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +182,7 @@ class FormProjets
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($discard_closed == 1 && $obj->fk_statut == 2)
|
if ($discard_closed == 1 && $obj->fk_statut == 2 && $obj->rowid != $selected) // We discard closed except if selected
|
||||||
{
|
{
|
||||||
$i++;
|
$i++;
|
||||||
continue;
|
continue;
|
||||||
@ -531,9 +539,10 @@ class FormProjets
|
|||||||
* @param int $showempty Add an empty line
|
* @param int $showempty Add an empty line
|
||||||
* @param int $useshortlabel Use short label
|
* @param int $useshortlabel Use short label
|
||||||
* @param int $showallnone Add choice "All" and "None"
|
* @param int $showallnone Add choice "All" and "None"
|
||||||
|
* @param int $showpercent Show default probability for status
|
||||||
* @return int|string The HTML select list of element or '' if nothing or -1 if KO
|
* @return int|string The HTML select list of element or '' if nothing or -1 if KO
|
||||||
*/
|
*/
|
||||||
function selectOpportunityStatus($htmlname, $preselected=0, $showempty=1, $useshortlabel=0, $showallnone=0)
|
function selectOpportunityStatus($htmlname, $preselected=0, $showempty=1, $useshortlabel=0, $showallnone=0, $showpercent=0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@ -549,7 +558,7 @@ class FormProjets
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
if ($num > 0)
|
if ($num > 0)
|
||||||
{
|
{
|
||||||
$sellist = '<select class="flat oppstatus" name="'.$htmlname.'">';
|
$sellist = '<select class="flat oppstatus" id="'.$htmlname.'" name="'.$htmlname.'">';
|
||||||
if ($showempty) $sellist.= '<option value="-1"></option>';
|
if ($showempty) $sellist.= '<option value="-1"></option>';
|
||||||
if ($showallnone) $sellist.= '<option value="all">--'.$langs->trans("Alls").'--</option>';
|
if ($showallnone) $sellist.= '<option value="all">--'.$langs->trans("Alls").'--</option>';
|
||||||
if ($showallnone) $sellist.= '<option value="none">--'.$langs->trans("None").'--</option>';
|
if ($showallnone) $sellist.= '<option value="none">--'.$langs->trans("None").'--</option>';
|
||||||
@ -557,7 +566,7 @@ class FormProjets
|
|||||||
{
|
{
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$sellist .='<option value="'.$obj->rowid.'"';
|
$sellist .='<option value="'.$obj->rowid.'" defaultpercent="'.$obj->percent.'"';
|
||||||
if ($obj->rowid == $preselected) $sellist .= ' selected="selected"';
|
if ($obj->rowid == $preselected) $sellist .= ' selected="selected"';
|
||||||
$sellist .= '>';
|
$sellist .= '>';
|
||||||
if ($useshortlabel)
|
if ($useshortlabel)
|
||||||
@ -567,7 +576,7 @@ class FormProjets
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$finallabel = ($langs->transnoentitiesnoconv("OppStatus".$obj->code) != "OppStatus".$obj->code ? $langs->transnoentitiesnoconv("OppStatus".$obj->code) : $obj->label);
|
$finallabel = ($langs->transnoentitiesnoconv("OppStatus".$obj->code) != "OppStatus".$obj->code ? $langs->transnoentitiesnoconv("OppStatus".$obj->code) : $obj->label);
|
||||||
$finallabel.= ' ('.$obj->percent.'%)';
|
if ($showpercent) $finallabel.= ' ('.$obj->percent.'%)';
|
||||||
}
|
}
|
||||||
$sellist .= $finallabel;
|
$sellist .= $finallabel;
|
||||||
$sellist .='</option>';
|
$sellist .='</option>';
|
||||||
|
|||||||
@ -276,8 +276,8 @@ class Link extends CommonObject
|
|||||||
* Return nb of links
|
* Return nb of links
|
||||||
*
|
*
|
||||||
* @param DoliDb $db Database handler
|
* @param DoliDb $db Database handler
|
||||||
* @param string $objecttype type of the associated object in dolibarr
|
* @param string $objecttype Type of the associated object in dolibarr
|
||||||
* @param int $objectid id of the associated object in dolibarr
|
* @param int $objectid Id of the associated object in dolibarr
|
||||||
* @return int Nb of links, -1 if error
|
* @return int Nb of links, -1 if error
|
||||||
**/
|
**/
|
||||||
public static function count($db, $objecttype, $objectid)
|
public static function count($db, $objecttype, $objectid)
|
||||||
|
|||||||
@ -55,7 +55,7 @@ class Menu
|
|||||||
* @param string $titre Label of menu to add
|
* @param string $titre Label of menu to add
|
||||||
* @param integer $level Level of menu to add
|
* @param integer $level Level of menu to add
|
||||||
* @param int $enabled Menu active or not (0=Not active, 1=Active, 2=Active but grey)
|
* @param int $enabled Menu active or not (0=Not active, 1=Active, 2=Active but grey)
|
||||||
* @param string $target Target lien
|
* @param string $target Target link
|
||||||
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
||||||
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
||||||
* @param int $position Position (not used yet)
|
* @param int $position Position (not used yet)
|
||||||
@ -74,7 +74,7 @@ class Menu
|
|||||||
* @param string $titre Label of menu to add
|
* @param string $titre Label of menu to add
|
||||||
* @param integer $level Level of menu to add
|
* @param integer $level Level of menu to add
|
||||||
* @param int $enabled Menu active or not
|
* @param int $enabled Menu active or not
|
||||||
* @param string $target Target lien
|
* @param string $target Target link
|
||||||
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
* @param string $mainmenu Main menu ('home', 'companies', 'products', ...)
|
||||||
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
* @param string $leftmenu Left menu ('setup', 'system', 'admintools', ...)
|
||||||
* @param int $position Position (not used yet)
|
* @param int $position Position (not used yet)
|
||||||
|
|||||||
133
htdocs/core/class/utils.class.php
Normal file
133
htdocs/core/class/utils.class.php
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2016 Destailleur Laurent <eldy@users.sourceforge.net>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* 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/core/class/utils.class.php
|
||||||
|
* \ingroup core
|
||||||
|
* \brief File for Utils class
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class to manage utility methods
|
||||||
|
*/
|
||||||
|
class Utils
|
||||||
|
{
|
||||||
|
var $db;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*
|
||||||
|
* @param DoliDB $db Database handler
|
||||||
|
*/
|
||||||
|
function __construct($db)
|
||||||
|
{
|
||||||
|
$this->db = $db;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Purge files into directory of data files.
|
||||||
|
*
|
||||||
|
* @param string $choice Choice of purge mode ('tempfiles', 'tempfilesold' to purge temp older than 24h, 'allfiles', 'logfiles')
|
||||||
|
* @return int 0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
|
||||||
|
*/
|
||||||
|
function purgeFiles($choice='tempfilesold')
|
||||||
|
{
|
||||||
|
global $conf, $langs, $dolibarr_main_data_root;
|
||||||
|
|
||||||
|
dol_syslog("Utils::purgeFiles choice=".$choice, LOG_DEBUG);
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
|
$filesarray=array();
|
||||||
|
if (empty($choice)) $choice='tempfilesold';
|
||||||
|
|
||||||
|
if ($choice=='tempfiles' || $choice=='tempfilesold')
|
||||||
|
{
|
||||||
|
// Delete temporary files
|
||||||
|
if ($dolibarr_main_data_root)
|
||||||
|
{
|
||||||
|
$filesarray=dol_dir_list($dolibarr_main_data_root,"directories",1,'^temp$','','','',2);
|
||||||
|
if ($choice == 'tempfilesold')
|
||||||
|
{
|
||||||
|
$now = dol_now();
|
||||||
|
foreach($filesarray as $key => $val)
|
||||||
|
{
|
||||||
|
if ($val['date'] > ($now - (24 * 3600))) unset($filesarray[$key]); // Discard files not older than 24h
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($choice=='allfiles')
|
||||||
|
{
|
||||||
|
// Delete all files
|
||||||
|
if ($dolibarr_main_data_root)
|
||||||
|
{
|
||||||
|
$filesarray=dol_dir_list($dolibarr_main_data_root,"all",0,'','install\.lock$');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($choice=='logfile')
|
||||||
|
{
|
||||||
|
// Define filelog to discard it from purge
|
||||||
|
$filelog='';
|
||||||
|
if (! empty($conf->syslog->enabled))
|
||||||
|
{
|
||||||
|
$filelog=SYSLOG_FILE;
|
||||||
|
$filelog=preg_replace('/DOL_DATA_ROOT/i',DOL_DATA_ROOT,$filelog);
|
||||||
|
}
|
||||||
|
|
||||||
|
$filesarray[]=array('fullname'=>$filelog,'type'=>'file');
|
||||||
|
}
|
||||||
|
|
||||||
|
$count=0;
|
||||||
|
if (count($filesarray))
|
||||||
|
{
|
||||||
|
foreach($filesarray as $key => $value)
|
||||||
|
{
|
||||||
|
//print "x ".$filesarray[$key]['fullname']."<br>\n";
|
||||||
|
if ($filesarray[$key]['type'] == 'dir')
|
||||||
|
{
|
||||||
|
$count+=dol_delete_dir_recursive($filesarray[$key]['fullname']);
|
||||||
|
}
|
||||||
|
elseif ($filesarray[$key]['type'] == 'file')
|
||||||
|
{
|
||||||
|
// If (file that is not logfile) or (if logfile with option logfile)
|
||||||
|
if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile')
|
||||||
|
{
|
||||||
|
$count+=(dol_delete_file($filesarray[$key]['fullname'])?1:0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update cachenbofdoc
|
||||||
|
if (! empty($conf->ecm->enabled) && $choice=='allfiles')
|
||||||
|
{
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmdirectory.class.php';
|
||||||
|
$ecmdirstatic = new EcmDirectory($this->db);
|
||||||
|
$result = $ecmdirstatic->refreshcachenboffile(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($count > 0) $this->output=$langs->trans("PurgeNDirectoriesDeleted", $count);
|
||||||
|
else $this->output=$langs->trans("PurgeNothingToDelete");
|
||||||
|
|
||||||
|
//return $count;
|
||||||
|
return 0; // This function can be called by cron so must return 0 if OK
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1176,6 +1176,8 @@ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=n
|
|||||||
else $ok=unlink($filename);
|
else $ok=unlink($filename);
|
||||||
if ($ok) dol_syslog("Removed file ".$filename, LOG_DEBUG);
|
if ($ok) dol_syslog("Removed file ".$filename, LOG_DEBUG);
|
||||||
else dol_syslog("Failed to remove file ".$filename, LOG_WARNING);
|
else dol_syslog("Failed to remove file ".$filename, LOG_WARNING);
|
||||||
|
// TODO Failure to remove can be because file was already removed or because of permission
|
||||||
|
// If error because of not exists, we must can return true but we should return false if this is a permission problem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else dol_syslog("No files to delete found", LOG_WARNING);
|
else dol_syslog("No files to delete found", LOG_WARNING);
|
||||||
|
|||||||
@ -306,7 +306,7 @@ function dol_getprefix()
|
|||||||
* To link to a module file from a core file, then this function can be used (call by hook / trigger / speciales pages)
|
* To link to a module file from a core file, then this function can be used (call by hook / trigger / speciales pages)
|
||||||
*
|
*
|
||||||
* @param string $relpath Relative path to file (Ie: mydir/myfile, ../myfile, ...)
|
* @param string $relpath Relative path to file (Ie: mydir/myfile, ../myfile, ...)
|
||||||
* @param string $classname Class name
|
* @param string $classname Class name (deprecated)
|
||||||
* @return bool True if load is a success, False if it fails
|
* @return bool True if load is a success, False if it fails
|
||||||
*/
|
*/
|
||||||
function dol_include_once($relpath, $classname='')
|
function dol_include_once($relpath, $classname='')
|
||||||
@ -5113,6 +5113,8 @@ function printCommonFooter($zone='private')
|
|||||||
if (! empty($conf->global->MAIN_HTML_FOOTER)) print $conf->global->MAIN_HTML_FOOTER."\n";
|
if (! empty($conf->global->MAIN_HTML_FOOTER)) print $conf->global->MAIN_HTML_FOOTER."\n";
|
||||||
|
|
||||||
print "\n";
|
print "\n";
|
||||||
|
if (! empty($conf->use_javascript_ajax))
|
||||||
|
{
|
||||||
print '<script type="text/javascript" language="javascript">jQuery(document).ready(function() {'."\n";
|
print '<script type="text/javascript" language="javascript">jQuery(document).ready(function() {'."\n";
|
||||||
|
|
||||||
print '<!-- If page_y set, we set scollbar with it -->'."\n";
|
print '<!-- If page_y set, we set scollbar with it -->'."\n";
|
||||||
@ -5128,6 +5130,7 @@ function printCommonFooter($zone='private')
|
|||||||
print '});'."\n";
|
print '});'."\n";
|
||||||
|
|
||||||
print '</script>'."\n";
|
print '</script>'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
// Google Analytics (need Google module)
|
// Google Analytics (need Google module)
|
||||||
if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AN_ID))
|
if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AN_ID))
|
||||||
|
|||||||
@ -894,7 +894,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m
|
|||||||
if ($where) $sql.=$where;
|
if ($where) $sql.=$where;
|
||||||
if ($sqlwhere) $sql.=' AND '.$sqlwhere;
|
if ($sqlwhere) $sql.=' AND '.$sqlwhere;
|
||||||
|
|
||||||
dol_syslog("functions2::get_next_value", LOG_DEBUG);
|
dol_syslog("functions2::get_next_value mode=".$mode."", LOG_DEBUG);
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -110,7 +110,7 @@ function vat_by_thirdparty($db, $y, $date_start, $date_end, $modetax, $direction
|
|||||||
if ($modetax == 1)
|
if ($modetax == 1)
|
||||||
{
|
{
|
||||||
// If vat paid on due invoices (non draft)
|
// If vat paid on due invoices (non draft)
|
||||||
$sql = "SELECT s.rowid as socid, s.nom as name, s.siren as tva_intra, s.tva_assuj as assuj,";
|
$sql = "SELECT s.rowid as socid, s.nom as name, s.tva_intra as tva_intra, s.tva_assuj as assuj,";
|
||||||
$sql.= " sum(f.$total_ht) as amount, sum(f.".$total_tva.") as tva,";
|
$sql.= " sum(f.$total_ht) as amount, sum(f.".$total_tva.") as tva,";
|
||||||
$sql.= " sum(f.localtax1) as localtax1,";
|
$sql.= " sum(f.localtax1) as localtax1,";
|
||||||
$sql.= " sum(f.localtax2) as localtax2";
|
$sql.= " sum(f.localtax2) as localtax2";
|
||||||
|
|||||||
@ -208,22 +208,40 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
|
|||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2302__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/reglement.php?leftmenu=tax_vat', 'List', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2302__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/reglement.php?leftmenu=tax_vat', 'List', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2303__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/clients.php?leftmenu=tax_vat', 'ReportByCustomers', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 2, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2303__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/clients.php?leftmenu=tax_vat', 'ReportByCustomers', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 2, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2304__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/quadri_detail.php?leftmenu=tax_vat', 'ReportByQuarter', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2304__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/quadri_detail.php?leftmenu=tax_vat', 'ReportByQuarter', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__);
|
||||||
-- Ventilation (accounting)
|
-- Accounting Expert
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2400__+MAX_llx_menu__, 'accountancy', 'ventil_customer', 6__+MAX_llx_menu__, '/accountancy/customer/index.php?leftmenu=ventil_customer', 'CustomersVentilation', 0, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 8, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2400__+MAX_llx_menu__, 'accountancy', 'accounting', 6__+MAX_llx_menu__, '/accountancy/customer/index.php?leftmenu=accounting', 'MenuAccountancy', 0, 'accountancy', '(! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire', '', 0, 7, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ventil_customer"', __HANDLER__, 'left', 2401__+MAX_llx_menu__, 'accountancy', '', 2400__+MAX_llx_menu__, '/accountancy/customer/list.php', 'ToDispatch', 1, 'accountancy', '$user->rights->accounting->ventilation->dispatch', '', 0, 0, __ENTITY__);
|
-- Dispatch
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ventil_customer"', __HANDLER__, 'left', 2402__+MAX_llx_menu__, 'accountancy', '', 2400__+MAX_llx_menu__, '/accountancy/customer/lines.php', 'Dispatched', 1, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2401__+MAX_llx_menu__, 'accountancy', 'dispatch_customer', 2400__+MAX_llx_menu__, '/accountancy/customer/index.php?leftmenu=dispatch_customer', 'CustomersVentilation', 1, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 1, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="dispatch_customer"', __HANDLER__, 'left', 2402__+MAX_llx_menu__, 'accountancy', '', 2401__+MAX_llx_menu__, '/accountancy/customer/list.php', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->ventilation->dispatch', '', 0, 2, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $conf->supplier_invoice->enabled', __HANDLER__, 'left', 2410__+MAX_llx_menu__, 'accountancy', 'ventil_supplier', 6__+MAX_llx_menu__, '/accountancy/supplier/index.php?leftmenu=ventil_supplier', 'SuppliersVentilation', 0, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 9, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="dispatch_customer"', __HANDLER__, 'left', 2403__+MAX_llx_menu__, 'accountancy', '', 2401__+MAX_llx_menu__, '/accountancy/customer/lines.php', 'Dispatched', 2, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 3, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $conf->supplier_invoice->enabled && $leftmenu=="ventil_supplier"', __HANDLER__, 'left', 2411__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/list.php', 'ToDispatch', 1, 'accountancy', '$user->rights->accounting->ventilation->dispatch', '', 0, 0, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 2410__+MAX_llx_menu__, 'accountancy', 'ventil_supplier', 2400__+MAX_llx_menu__, '/accountancy/supplier/index.php?leftmenu=dispatch_supplier', 'SuppliersVentilation', 1, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 4, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $conf->supplier_invoice->enabled && $leftmenu=="ventil_supplier"', __HANDLER__, 'left', 2412__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/lines.php', 'Dispatched', 1, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu=="dispatch_supplier"', __HANDLER__, 'left', 2411__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/list.php', 'ToDispatch', 2, 'accountancy', '$user->rights->accounting->ventilation->dispatch', '', 0, 5, __ENTITY__);
|
||||||
-- Rapports
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu=="dispatch_supplier"', __HANDLER__, 'left', 2412__+MAX_llx_menu__, 'accountancy', '', 2410__+MAX_llx_menu__, '/accountancy/supplier/lines.php', 'Dispatched', 2, 'accountancy', '$user->rights->accounting->ventilation->read', '', 0, 6, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled || $conf->accounting->enabled', __HANDLER__, 'left', 2700__+MAX_llx_menu__, 'accountancy', 'ca', 6__+MAX_llx_menu__, '/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy', 'Reportings', 0, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 11, __ENTITY__);
|
-- Journals
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled || $conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2701__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/resultat/index.php?leftmenu=ca', 'ReportInOut', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 0, __ENTITY__);
|
-- insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2420__+MAX_llx_menu__, 'accountancy', 'journal', 2400__+MAX_llx_menu__, '/accountancy/journal/index.php?leftmenu=journal', 'Journaux', 1, 'accountancy', '$user->rights->accounting->comptarapport->lire', '', 0, 7, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled || $conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2702__+MAX_llx_menu__, 'accountancy', '', 2701__+MAX_llx_menu__, '/compta/resultat/clientfourn.php?leftmenu=ca', 'ByCompanies', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 0, __ENTITY__);
|
-- General Ledger
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled || $conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2703__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/stats/index.php?leftmenu=ca', 'ReportTurnover', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2430__+MAX_llx_menu__, 'accountancy', 'bookkeeping', 2400__+MAX_llx_menu__, '/accountancy/bookkeeping/list.php?leftmenu=bookkeeping', 'Bookkeeping', 1, 'accountancy', '$user->rights->accounting->mouvements->lire', '', 0, 15, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled || $conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2704__+MAX_llx_menu__, 'accountancy', '', 2703__+MAX_llx_menu__, '/compta/stats/casoc.php?leftmenu=ca', 'ByCompanies', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 0, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="bookkeeping"', __HANDLER__, 'left', 2431__+MAX_llx_menu__, 'accountancy', '', 2430__+MAX_llx_menu__, '/accountancy/bookkeeping/listbyyear.php', 'ByYear', 2, 'accountancy', '$user->rights->accounting->mouvements->lire', '', 0, 16, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled || $conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2705__+MAX_llx_menu__, 'accountancy', '', 2703__+MAX_llx_menu__, '/compta/stats/cabyuser.php?leftmenu=ca', 'ByUsers', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="bookkeeping"', __HANDLER__, 'left', 2432__+MAX_llx_menu__, 'accountancy', '', 2430__+MAX_llx_menu__, '/accountancy/bookkeeping/balancebymonth.php', 'AccountBalanceByMonth', 2, 'accountancy', '$user->rights->accounting->mouvements->lire', '', 0, 16, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled || $conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2708__+MAX_llx_menu__, 'accountancy', '', 2703__+MAX_llx_menu__, '/compta/stats/cabyprodserv.php?leftmenu=ca', 'ByProductsAndServices', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
-- Reports
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2440__+MAX_llx_menu__, 'accountancy', 'report', 2400__+MAX_llx_menu__, '/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy', 'Reportings', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 17, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2441__+MAX_llx_menu__, 'accountancy', '', 2440__+MAX_llx_menu__, '/compta/resultat/index.php?leftmenu=ca', 'ReportInOut', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 18, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2442__+MAX_llx_menu__, 'accountancy', '', 2440__+MAX_llx_menu__, '/compta/resultat/clientfourn.php?leftmenu=ca', 'ByCompanies', 3, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 19, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2443__+MAX_llx_menu__, 'accountancy', '', 2440__+MAX_llx_menu__, '/compta/stats/index.php?leftmenu=ca', 'ReportTurnover', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 20, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2444__+MAX_llx_menu__, 'accountancy', '', 2440__+MAX_llx_menu__, '/compta/stats/casoc.php?leftmenu=ca', 'ByCompanies', 3, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 21, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2445__+MAX_llx_menu__, 'accountancy', '', 2440__+MAX_llx_menu__, '/compta/stats/cabyuser.php?leftmenu=ca', 'ByUsers', 3, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 22, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2446__+MAX_llx_menu__, 'accountancy', '', 2440__+MAX_llx_menu__, '/compta/stats/cabyprodserv.php?leftmenu=ca', 'ByProductsAndServices', 3, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 23, __ENTITY__);
|
||||||
|
-- Admin
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2450__+MAX_llx_menu__, 'home', '', 2400__+MAX_llx_menu__, '/accountancy/admin/fiscalyear.php?leftmenu=setup', 'Fiscalyear', 1, 'admin', '$user->rights->accounting->fiscalyear', '', 0, 24, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled', __HANDLER__, 'left', 2451__+MAX_llx_menu__, 'home', '', 2400__+MAX_llx_menu__, '/accountancy/admin/account.php?mainmenu=accountancy', 'Chartofaccounts', 1, 'admin', '$user->rights->accounting->chartofaccount', '', 0, 25, __ENTITY__);
|
||||||
|
-- Rapports compta simple
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled', __HANDLER__, 'left', 2700__+MAX_llx_menu__, 'accountancy', 'ca', 6__+MAX_llx_menu__, '/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy', 'Reportings', 0, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 11, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2701__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/resultat/index.php?leftmenu=ca', 'ReportInOut', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 0, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2702__+MAX_llx_menu__, 'accountancy', '', 2701__+MAX_llx_menu__, '/compta/resultat/clientfourn.php?leftmenu=ca', 'ByCompanies', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 0, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2703__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/stats/index.php?leftmenu=ca', 'ReportTurnover', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2704__+MAX_llx_menu__, 'accountancy', '', 2703__+MAX_llx_menu__, '/compta/stats/casoc.php?leftmenu=ca', 'ByCompanies', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 0, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2705__+MAX_llx_menu__, 'accountancy', '', 2703__+MAX_llx_menu__, '/compta/stats/cabyuser.php?leftmenu=ca', 'ByUsers', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
||||||
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2708__+MAX_llx_menu__, 'accountancy', '', 2703__+MAX_llx_menu__, '/compta/stats/cabyprodserv.php?leftmenu=ca', 'ByProductsAndServices', 2, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2706__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/journal/sellsjournal.php?leftmenu=ca', 'SellsJournal', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2706__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/journal/sellsjournal.php?leftmenu=ca', 'SellsJournal', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
||||||
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2707__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/journal/purchasesjournal.php?leftmenu=ca', 'PurchasesJournal', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->comptabilite->enabled && $leftmenu=="ca"', __HANDLER__, 'left', 2707__+MAX_llx_menu__, 'accountancy', '', 2700__+MAX_llx_menu__, '/compta/journal/purchasesjournal.php?leftmenu=ca', 'PurchasesJournal', 1, 'main', '$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire', '', 0, 1, __ENTITY__);
|
||||||
-- Book Keeping
|
-- Book Keeping
|
||||||
|
|||||||
@ -294,10 +294,8 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
|
|||||||
|
|
||||||
if (! empty($conf->accounting->enabled) && !empty($user->rights->accounting->mouvements->lire) && $mainmenu == 'accountancy') // Entry in accountancy journal for each bank account
|
if (! empty($conf->accounting->enabled) && !empty($user->rights->accounting->mouvements->lire) && $mainmenu == 'accountancy') // Entry in accountancy journal for each bank account
|
||||||
{
|
{
|
||||||
$newmenu->add('/accountancy/journal/index.php?leftmenu=journal',$langs->trans("Journaux"),0,$user->rights->banque->lire);
|
$newmenu->add('',$langs->trans("Journaux"),0,$user->rights->accounting->comptarapport->lire,'','accountancy','accounting');
|
||||||
|
|
||||||
if ($leftmenu == 'journal')
|
|
||||||
{
|
|
||||||
$sql = "SELECT rowid, label, accountancy_journal";
|
$sql = "SELECT rowid, label, accountancy_journal";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account";
|
||||||
$sql.= " WHERE entity = ".$conf->entity;
|
$sql.= " WHERE entity = ".$conf->entity;
|
||||||
@ -311,11 +309,10 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
if ($numr > 0)
|
if ($numr > 0)
|
||||||
|
|
||||||
while ($i < $numr)
|
while ($i < $numr)
|
||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
$newmenu->add('/accountancy/journal/bankjournal.php?id_account='.$objp->rowid,$langs->trans("Journal").' - '.$objp->label,1,$user->rights->accounting->comptarapport->lire);
|
$newmenu->add('/accountancy/journal/bankjournal.php?id_account='.$objp->rowid,$langs->trans("Journal").' - '.$objp->label,1,$user->rights->accounting->comptarapport->lire,'','accountancy','accounting');
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -326,7 +323,6 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
|
|||||||
$newmenu->add("/accountancy/journal/sellsjournal.php?leftmenu=journal",$langs->trans("SellsJournal"),1,$user->rights->accounting->comptarapport->lire);
|
$newmenu->add("/accountancy/journal/sellsjournal.php?leftmenu=journal",$langs->trans("SellsJournal"),1,$user->rights->accounting->comptarapport->lire);
|
||||||
$newmenu->add("/accountancy/journal/purchasesjournal.php?leftmenu=journal",$langs->trans("PurchasesJournal"),1,$user->rights->accounting->comptarapport->lire);
|
$newmenu->add("/accountancy/journal/purchasesjournal.php?leftmenu=journal",$langs->trans("PurchasesJournal"),1,$user->rights->accounting->comptarapport->lire);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ($conf->ftp->enabled && $mainmenu == 'ftp') // Entry for FTP
|
if ($conf->ftp->enabled && $mainmenu == 'ftp') // Entry for FTP
|
||||||
{
|
{
|
||||||
|
|||||||
@ -936,71 +936,26 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
{
|
{
|
||||||
$langs->load("accountancy");
|
$langs->load("accountancy");
|
||||||
|
|
||||||
$newmenu->add("/accountancy/customer/index.php?leftmenu=ventil_customer",$langs->trans("CustomersVentilation"),0,$user->rights->accounting->ventilation->read, '', $mainmenu, 'ventil_customer');
|
$permtoshowmenu=(! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire);
|
||||||
if (empty($leftmenu) || $leftmenu=="ventil_customer") $newmenu->add("/accountancy/customer/list.php",$langs->trans("ToDispatch"),1,$user->rights->accounting->ventilation->dispatch);
|
$newmenu->add("/accountancy/customer/index.php?leftmenu=accountancy",$langs->trans("MenuAccountancy"), 0, $permtoshowmenu, '', $mainmenu, 'accountancy');
|
||||||
if (empty($leftmenu) || $leftmenu=="ventil_customer") $newmenu->add("/accountancy/customer/lines.php",$langs->trans("Dispatched"),1,$user->rights->accounting->ventilation->read);
|
|
||||||
|
// Dispatch
|
||||||
|
$newmenu->add("/accountancy/customer/index.php?leftmenu=dispatch_customer&mainmenu=accountancy",$langs->trans("CustomersVentilation"),1,$user->rights->accounting->ventilation->read, '', $mainmenu, 'dispatch_customer');
|
||||||
|
if (empty($leftmenu) || $leftmenu=="dispatch_customer") $newmenu->add("/accountancy/customer/list.php",$langs->trans("ToDispatch"),2,$user->rights->accounting->ventilation->dispatch);
|
||||||
|
if (empty($leftmenu) || $leftmenu=="dispatch_customer") $newmenu->add("/accountancy/customer/lines.php",$langs->trans("Dispatched"),2,$user->rights->accounting->ventilation->read);
|
||||||
|
|
||||||
if (! empty($conf->supplier_invoice->enabled))
|
if (! empty($conf->supplier_invoice->enabled))
|
||||||
{
|
{
|
||||||
$newmenu->add("/accountancy/supplier/index.php?leftmenu=ventil_supplier",$langs->trans("SuppliersVentilation"),0,$user->rights->accounting->ventilation->read, '', $mainmenu, 'ventil_supplier');
|
$newmenu->add("/accountancy/supplier/index.php?leftmenu=dispatch_supplier&mainmenu=accountancy",$langs->trans("SuppliersVentilation"),1,$user->rights->accounting->ventilation->read, '', $mainmenu, 'dispatch_supplier');
|
||||||
if (empty($leftmenu) || $leftmenu=="ventil_supplier") $newmenu->add("/accountancy/supplier/list.php",$langs->trans("ToDispatch"),1,$user->rights->accounting->ventilation->dispatch);
|
if (empty($leftmenu) || $leftmenu=="dispatch_supplier") $newmenu->add("/accountancy/supplier/list.php",$langs->trans("ToDispatch"),2,$user->rights->accounting->ventilation->dispatch);
|
||||||
if (empty($leftmenu) || $leftmenu=="ventil_supplier") $newmenu->add("/accountancy/supplier/lines.php",$langs->trans("Dispatched"),1,$user->rights->accounting->ventilation->read);
|
if (empty($leftmenu) || $leftmenu=="dispatch_supplier") $newmenu->add("/accountancy/supplier/lines.php",$langs->trans("Dispatched"),2,$user->rights->accounting->ventilation->read);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rapports
|
// Journals
|
||||||
if (! empty($conf->comptabilite->enabled) || ! empty($conf->accounting->enabled))
|
if(! empty($conf->accounting->enabled) && ! empty($user->rights->accounting->comptarapport->lire) && $mainmenu == 'accountancy')
|
||||||
{
|
{
|
||||||
$langs->load("compta");
|
$newmenu->add('',$langs->trans("Journaux"),1,$user->rights->accounting->comptarapport->lire);
|
||||||
|
|
||||||
// Bilan, resultats
|
|
||||||
$newmenu->add("/compta/resultat/index.php?leftmenu=report&mainmenu=accountancy",$langs->trans("Reportings"),0,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire, '', $mainmenu, 'ca');
|
|
||||||
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/index.php?leftmenu=report",$langs->trans("ReportInOut"),1,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/clientfourn.php?leftmenu=report",$langs->trans("ByCompanies"),2,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
|
||||||
/* On verra ca avec module compabilite expert
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/compteres.php?leftmenu=report","Compte de resultat",2,$user->rights->compta->resultat->lire);
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/bilan.php?leftmenu=report","Bilan",2,$user->rights->compta->resultat->lire);
|
|
||||||
*/
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/index.php?leftmenu=report",$langs->trans("ReportTurnover"),1,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
|
||||||
|
|
||||||
/*
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cumul.php?leftmenu=report","Cumule",2,$user->rights->compta->resultat->lire);
|
|
||||||
if (! empty($conf->propal->enabled)) {
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/prev.php?leftmenu=report","Previsionnel",2,$user->rights->compta->resultat->lire);
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/comp.php?leftmenu=report","Transforme",2,$user->rights->compta->resultat->lire);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/casoc.php?leftmenu=report",$langs->trans("ByCompanies"),2,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cabyuser.php?leftmenu=report",$langs->trans("ByUsers"),2,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cabyprodserv.php?leftmenu=report", $langs->trans("ByProductsAndServices"),2,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
|
||||||
|
|
||||||
if (! empty($conf->comptabilite->enabled))
|
|
||||||
{
|
|
||||||
// Journaux
|
|
||||||
//if ($leftmenu=="ca") $newmenu->add("/compta/journaux/index.php?leftmenu=ca",$langs->trans("Journaux"),1,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
|
||||||
//journaux
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/journal/sellsjournal.php?leftmenu=report",$langs->trans("SellsJournal"),1,$user->rights->compta->resultat->lire);
|
|
||||||
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/journal/purchasesjournal.php?leftmenu=report",$langs->trans("PurchasesJournal"),1,$user->rights->compta->resultat->lire);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Report expert
|
|
||||||
if (! empty($conf->accounting->enabled))
|
|
||||||
{
|
|
||||||
$langs->load("accountancy");
|
|
||||||
|
|
||||||
// Grand livre
|
|
||||||
$newmenu->add("/accountancy/bookkeeping/list.php?leftmenu=bookkeeping",$langs->trans("Bookkeeping"),0,$user->rights->accounting->mouvements->lire, '', $mainmenu, 'bookkeeping');
|
|
||||||
if (empty($leftmenu) || preg_match('/bookkeeping/',$leftmenu)) $newmenu->add("/accountancy/bookkeeping/listbyyear.php",$langs->trans("ByYear"),1,$user->rights->accounting->mouvements->lire);
|
|
||||||
if (empty($leftmenu) || preg_match('/bookkeeping/',$leftmenu)) $newmenu->add("/accountancy/bookkeeping/balancebymonth.php",$langs->trans("AccountBalanceByMonth"),1,$user->rights->accounting->mouvements->lire);
|
|
||||||
|
|
||||||
// Accountancy journals
|
|
||||||
if (! empty($conf->accounting->enabled) && !empty($user->rights->accounting->mouvements->lire) && $mainmenu == 'accountancy')
|
|
||||||
{
|
|
||||||
$newmenu->add('/accountancy/journal/index.php?leftmenu=journal',$langs->trans("Journaux"),0,$user->rights->banque->lire);
|
|
||||||
|
|
||||||
if ($leftmenu == 'journal')
|
|
||||||
{
|
|
||||||
$sql = "SELECT rowid, label, accountancy_journal";
|
$sql = "SELECT rowid, label, accountancy_journal";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account";
|
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account";
|
||||||
$sql.= " WHERE entity = ".$conf->entity;
|
$sql.= " WHERE entity = ".$conf->entity;
|
||||||
@ -1014,11 +969,10 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
if ($numr > 0)
|
if ($numr > 0)
|
||||||
|
|
||||||
while ($i < $numr)
|
while ($i < $numr)
|
||||||
{
|
{
|
||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
$newmenu->add('/accountancy/journal/bankjournal.php?id_account='.$objp->rowid,$langs->trans("Journal").' - '.$objp->label,1,$user->rights->accounting->comptarapport->lire);
|
$newmenu->add('/accountancy/journal/bankjournal.php?id_account='.$objp->rowid,$langs->trans("Journal").' - '.$objp->label,2,$user->rights->accounting->comptarapport->lire);
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1026,19 +980,64 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
|
|||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
|
|
||||||
// Add other journal
|
// Add other journal
|
||||||
$newmenu->add("/accountancy/journal/sellsjournal.php?leftmenu=journal",$langs->trans("SellsJournal"),1,$user->rights->accounting->comptarapport->lire);
|
$newmenu->add("/accountancy/journal/sellsjournal.php?leftmenu=journal",$langs->trans("SellsJournal"),2,$user->rights->accounting->comptarapport->lire);
|
||||||
$newmenu->add("/accountancy/journal/purchasesjournal.php?leftmenu=journal",$langs->trans("PurchasesJournal"),1,$user->rights->accounting->comptarapport->lire);
|
$newmenu->add("/accountancy/journal/purchasesjournal.php?leftmenu=journal",$langs->trans("PurchasesJournal"),2,$user->rights->accounting->comptarapport->lire);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup
|
// General Ledger
|
||||||
if (! empty($conf->accounting->enabled))
|
$newmenu->add("/accountancy/bookkeeping/list.php?leftmenu=bookkeeping",$langs->trans("Bookkeeping"),1,$user->rights->accounting->mouvements->lire, '', $mainmenu, 'bookkeeping');
|
||||||
{
|
if (empty($leftmenu) || preg_match('/bookkeeping/',$leftmenu)) $newmenu->add("/accountancy/bookkeeping/listbyyear.php",$langs->trans("ByYear"),2,$user->rights->accounting->mouvements->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/bookkeeping/',$leftmenu)) $newmenu->add("/accountancy/bookkeeping/balancebymonth.php",$langs->trans("AccountBalanceByMonth"),2,$user->rights->accounting->mouvements->lire);
|
||||||
|
|
||||||
|
// Reports
|
||||||
|
$langs->load("compta");
|
||||||
|
|
||||||
|
$newmenu->add("/compta/resultat/index.php?leftmenu=report&mainmenu=accountancy",$langs->trans("Reportings"),1,$user->rights->accounting->comptarapport->lire, '', $mainmenu, 'ca');
|
||||||
|
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/index.php?leftmenu=report",$langs->trans("ReportInOut"),2,$user->rights->accounting->comptarapport->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/clientfourn.php?leftmenu=report",$langs->trans("ByCompanies"),3,$user->rights->accounting->comptarapport->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/index.php?leftmenu=report",$langs->trans("ReportTurnover"),2,$user->rights->accounting->comptarapport->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/casoc.php?leftmenu=report",$langs->trans("ByCompanies"),3,$user->rights->accounting->comptarapport->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cabyuser.php?leftmenu=report",$langs->trans("ByUsers"),3,$user->rights->accounting->comptarapport->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cabyprodserv.php?leftmenu=report", $langs->trans("ByProductsAndServices"),3,$user->rights->accounting->comptarapport->lire);
|
||||||
|
|
||||||
|
// Admin
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
// $newmenu->add("/accountancy/admin/fiscalyear.php?mainmenu=accountancy", $langs->trans("Fiscalyear"),0,$user->rights->accounting->fiscalyear, '', $mainmenu, 'fiscalyear');
|
$newmenu->add("/accountancy/admin/fiscalyear.php?mainmenu=accountancy", $langs->trans("Fiscalyear"),1,$user->rights->accounting->fiscalyear, '', $mainmenu, 'fiscalyear');
|
||||||
$newmenu->add("/accountancy/admin/account.php?mainmenu=accountancy", $langs->trans("Chartofaccounts"),0,$user->rights->accounting->chartofaccount, '', $mainmenu, 'chartofaccount');
|
$newmenu->add("/accountancy/admin/account.php?mainmenu=accountancy", $langs->trans("Chartofaccounts"),1,$user->rights->accounting->chartofaccount, '', $mainmenu, 'chartofaccount');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Comptabilite
|
||||||
|
if (! empty($conf->comptabilite->enabled))
|
||||||
|
{
|
||||||
|
$langs->load("compta");
|
||||||
|
|
||||||
|
// Bilan, resultats
|
||||||
|
$newmenu->add("/compta/resultat/index.php?leftmenu=report&mainmenu=accountancy",$langs->trans("Reportings"),0,$user->rights->compta->resultat->lire, '', $mainmenu, 'ca');
|
||||||
|
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/index.php?leftmenu=report",$langs->trans("ReportInOut"),1,$user->rights->compta->resultat->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/clientfourn.php?leftmenu=report",$langs->trans("ByCompanies"),2,$user->rights->compta->resultat->lire);
|
||||||
|
/* On verra ca avec module compabilite expert
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/compteres.php?leftmenu=report","Compte de resultat",2,$user->rights->compta->resultat->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/resultat/bilan.php?leftmenu=report","Bilan",2,$user->rights->compta->resultat->lire);
|
||||||
|
*/
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/index.php?leftmenu=report",$langs->trans("ReportTurnover"),1,$user->rights->compta->resultat->lire);
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cumul.php?leftmenu=report","Cumule",2,$user->rights->compta->resultat->lire);
|
||||||
|
if (! empty($conf->propal->enabled)) {
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/prev.php?leftmenu=report","Previsionnel",2,$user->rights->compta->resultat->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/comp.php?leftmenu=report","Transforme",2,$user->rights->compta->resultat->lire);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/casoc.php?leftmenu=report",$langs->trans("ByCompanies"),2,$user->rights->compta->resultat->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cabyuser.php?leftmenu=report",$langs->trans("ByUsers"),2,$user->rights->compta->resultat->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/stats/cabyprodserv.php?leftmenu=report", $langs->trans("ByProductsAndServices"),2,$user->rights->compta->resultat->lire);
|
||||||
|
|
||||||
|
// Journaux
|
||||||
|
//if ($leftmenu=="ca") $newmenu->add("/compta/journaux/index.php?leftmenu=ca",$langs->trans("Journaux"),1,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/journal/sellsjournal.php?leftmenu=report",$langs->trans("SellsJournal"),1,$user->rights->compta->resultat->lire);
|
||||||
|
if (empty($leftmenu) || preg_match('/report/',$leftmenu)) $newmenu->add("/compta/journal/purchasesjournal.php?leftmenu=report",$langs->trans("PurchasesJournal"),1,$user->rights->compta->resultat->lire);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -913,6 +913,9 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
|||||||
$comment = isset($this->cronjobs[$key]['comment'])?$this->cronjobs[$key]['comment']:'';
|
$comment = isset($this->cronjobs[$key]['comment'])?$this->cronjobs[$key]['comment']:'';
|
||||||
$frequency = isset($this->cronjobs[$key]['frequency'])?$this->cronjobs[$key]['frequency']:'';
|
$frequency = isset($this->cronjobs[$key]['frequency'])?$this->cronjobs[$key]['frequency']:'';
|
||||||
$unitfrequency = isset($this->cronjobs[$key]['unitfrequency'])?$this->cronjobs[$key]['unitfrequency']:'';
|
$unitfrequency = isset($this->cronjobs[$key]['unitfrequency'])?$this->cronjobs[$key]['unitfrequency']:'';
|
||||||
|
$status = isset($this->cronjobs[$key]['status'])?$this->cronjobs[$key]['status']:'';
|
||||||
|
$priority = isset($this->cronjobs[$key]['priority'])?$this->cronjobs[$key]['priority']:'';
|
||||||
|
$test = isset($this->cronjobs[$key]['test'])?$this->cronjobs[$key]['test']:'';
|
||||||
|
|
||||||
// Search if boxes def already present
|
// Search if boxes def already present
|
||||||
$sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."cronjob";
|
$sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."cronjob";
|
||||||
@ -936,10 +939,11 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
|||||||
|
|
||||||
if (! $err)
|
if (! $err)
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."cronjob (module_name, datec, label, jobtype, classesname, objectname, methodename, command, params, note, frequency, unitfrequency, entity)";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."cronjob (module_name, datec, datestart, label, jobtype, classesname, objectname, methodename, command, params, note, frequency, unitfrequency, priority, status, entity, test)";
|
||||||
$sql.= " VALUES (";
|
$sql.= " VALUES (";
|
||||||
$sql.= "'".$this->db->escape($this->rights_class)."', ";
|
$sql.= "'".$this->db->escape($this->rights_class)."', ";
|
||||||
$sql.= "'".$this->db->idate($now)."', ";
|
$sql.= "'".$this->db->idate($now)."', ";
|
||||||
|
$sql.= "'".$this->db->idate($now)."', ";
|
||||||
$sql.= "'".$this->db->escape($label)."', ";
|
$sql.= "'".$this->db->escape($label)."', ";
|
||||||
$sql.= "'".$this->db->escape($jobtype)."', ";
|
$sql.= "'".$this->db->escape($jobtype)."', ";
|
||||||
$sql.= ($class?"'".$this->db->escape($class)."'":"null").",";
|
$sql.= ($class?"'".$this->db->escape($class)."'":"null").",";
|
||||||
@ -950,7 +954,10 @@ class DolibarrModules // Can not be abstract, because we need to insta
|
|||||||
$sql.= ($comment?"'".$this->db->escape($comment)."'":"null").",";
|
$sql.= ($comment?"'".$this->db->escape($comment)."'":"null").",";
|
||||||
$sql.= "'".$this->db->escape($frequency)."', ";
|
$sql.= "'".$this->db->escape($frequency)."', ";
|
||||||
$sql.= "'".$this->db->escape($unitfrequency)."', ";
|
$sql.= "'".$this->db->escape($unitfrequency)."', ";
|
||||||
$sql.= $conf->entity;
|
$sql.= "'".$this->db->escape($priority)."', ";
|
||||||
|
$sql.= "'".$this->db->escape($status)."', ";
|
||||||
|
$sql.= $conf->entity.",";
|
||||||
|
$sql.= "'".$this->db->escape($test)."'";
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::insert_cronjobs", LOG_DEBUG);
|
dol_syslog(get_class($this)."::insert_cronjobs", LOG_DEBUG);
|
||||||
|
|||||||
@ -112,8 +112,13 @@ class pdf_standard extends ModeleExpenseReport
|
|||||||
$this->posxup = 162;
|
$this->posxup = 162;
|
||||||
$this->posxqty = 176;
|
$this->posxqty = 176;
|
||||||
$this->postotalttc = 186;
|
$this->postotalttc = 186;
|
||||||
if ($this->page_largeur < 210) // To work with US executive format
|
if (empty($conf->projet->enabled)) {
|
||||||
{
|
$this->posxtva-=20;
|
||||||
|
$this->posxup-=20;
|
||||||
|
$this->posxqty-=20;
|
||||||
|
$this->postotalttc-=20;
|
||||||
|
}
|
||||||
|
if ($this->page_largeur < 210) { // To work with US executive format
|
||||||
$this->posxdate-=20;
|
$this->posxdate-=20;
|
||||||
$this->posxtype-=20;
|
$this->posxtype-=20;
|
||||||
$this->posxprojet-=20;
|
$this->posxprojet-=20;
|
||||||
@ -335,10 +340,12 @@ class pdf_standard extends ModeleExpenseReport
|
|||||||
$pdf->SetXY($this->posxtype, $curY);
|
$pdf->SetXY($this->posxtype, $curY);
|
||||||
$pdf->MultiCell($this->posxprojet-$this->posxtype-1, 3,$outputlangs->transnoentities($object->lines[$i]->type_fees_code), 0, 'C');
|
$pdf->MultiCell($this->posxprojet-$this->posxtype-1, 3,$outputlangs->transnoentities($object->lines[$i]->type_fees_code), 0, 'C');
|
||||||
|
|
||||||
|
if (! empty($conf->projet->enabled)) {
|
||||||
// Project
|
// Project
|
||||||
$pdf->SetFont('','', $default_font_size - 1);
|
$pdf->SetFont('','', $default_font_size - 1);
|
||||||
$pdf->SetXY($this->posxprojet, $curY);
|
$pdf->SetXY($this->posxprojet, $curY);
|
||||||
$pdf->MultiCell($this->posxtva-$this->posxprojet-1, 3,$object->lines[$i]->projet_ref, 0, 'C');
|
$pdf->MultiCell($this->posxtva-$this->posxprojet-1, 3,$object->lines[$i]->projet_ref, 0, 'C');
|
||||||
|
}
|
||||||
|
|
||||||
// VAT Rate
|
// VAT Rate
|
||||||
if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT))
|
if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT))
|
||||||
@ -768,14 +775,15 @@ class pdf_standard extends ModeleExpenseReport
|
|||||||
$pdf->SetXY($this->posxtype - 1, $tab_top + 1);
|
$pdf->SetXY($this->posxtype - 1, $tab_top + 1);
|
||||||
$pdf->MultiCell($this->posxprojet - $this->posxtype - 1, 2, $outputlangs->transnoentities("Type"), '', 'C');
|
$pdf->MultiCell($this->posxprojet - $this->posxtype - 1, 2, $outputlangs->transnoentities("Type"), '', 'C');
|
||||||
|
|
||||||
|
if (!empty($conf->projet->enabled)) {
|
||||||
// Project
|
// Project
|
||||||
$pdf->line($this->posxprojet - 1, $tab_top, $this->posxprojet - 1, $tab_top + $tab_height);
|
$pdf->line($this->posxprojet - 1, $tab_top, $this->posxprojet - 1, $tab_top + $tab_height);
|
||||||
$pdf->SetXY($this->posxprojet - 1, $tab_top + 1);
|
$pdf->SetXY($this->posxprojet - 1, $tab_top + 1);
|
||||||
$pdf->MultiCell($this->posxtva - $this->posxprojet - 1, 2, $outputlangs->transnoentities("Project"), '', 'C');
|
$pdf->MultiCell($this->posxtva - $this->posxprojet - 1, 2, $outputlangs->transnoentities("Project"), '', 'C');
|
||||||
|
}
|
||||||
|
|
||||||
// VAT
|
// VAT
|
||||||
if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT))
|
if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) {
|
||||||
{
|
|
||||||
$pdf->line($this->posxtva - 1, $tab_top, $this->posxtva - 1, $tab_top + $tab_height);
|
$pdf->line($this->posxtva - 1, $tab_top, $this->posxtva - 1, $tab_top + $tab_height);
|
||||||
$pdf->SetXY($this->posxtva - 1, $tab_top + 1);
|
$pdf->SetXY($this->posxtva - 1, $tab_top + 1);
|
||||||
$pdf->MultiCell($this->posxup - $this->posxtva - 1, 2, $outputlangs->transnoentities("VAT"), '', 'C');
|
$pdf->MultiCell($this->posxup - $this->posxtva - 1, 2, $outputlangs->transnoentities("VAT"), '', 'C');
|
||||||
|
|||||||
@ -99,6 +99,13 @@ class modCron extends DolibarrModules
|
|||||||
$this->rights_class = 'cron';
|
$this->rights_class = 'cron';
|
||||||
$r=0;
|
$r=0;
|
||||||
|
|
||||||
|
// Cronjobs
|
||||||
|
$this->cronjobs = array(
|
||||||
|
0=>array('label'=>'PurgeDeleteTemporaryFilesShort', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'purgeFiles', 'parameters'=>'', 'comment'=>'PurgeDeleteTemporaryFiles', 'frequency'=>1, 'unitfrequency'=>3600 * 24 * 7, 'priority'=>10, 'status'=>1, 'test'=>'1'),
|
||||||
|
1=>array('label'=>'MakeLocalDatabaseDumpShort', 'jobtype'=>'method', 'class'=>'core/class/utils.class.php', 'objectname'=>'Utils', 'method'=>'dumpDatabase', 'parameters'=>'', 'comment'=>'MakeLocalDatabaseDump', 'frequency'=>1, 'unitfrequency'=>3600 * 24 * 7, 'priority'=>20, 'status'=>0, 'test'=>'0'),
|
||||||
|
// 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>1, 'unitfrequency'=>3600*24)
|
||||||
|
);
|
||||||
|
|
||||||
$this->rights[$r][0] = 23001;
|
$this->rights[$r][0] = 23001;
|
||||||
$this->rights[$r][1] = 'Read cron jobs';
|
$this->rights[$r][1] = 'Read cron jobs';
|
||||||
$this->rights[$r][3] = 1;
|
$this->rights[$r][3] = 1;
|
||||||
|
|||||||
@ -175,7 +175,7 @@ class modECM extends DolibarrModules
|
|||||||
'langs'=>'ecm',
|
'langs'=>'ecm',
|
||||||
'position'=>103,
|
'position'=>103,
|
||||||
'perms'=>'$user->rights->ecm->read || $user->rights->ecm->upload',
|
'perms'=>'$user->rights->ecm->read || $user->rights->ecm->upload',
|
||||||
'enabled'=>'$user->rights->ecm->read || $user->rights->ecm->upload',
|
'enabled'=>'($user->rights->ecm->read || $user->rights->ecm->upload) && ! empty($conf->global->ECM_AUTO_TREE_ENABLED)',
|
||||||
'target'=>'',
|
'target'=>'',
|
||||||
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
||||||
$r++;
|
$r++;
|
||||||
|
|||||||
@ -107,7 +107,7 @@ class modFacture extends DolibarrModules
|
|||||||
|
|
||||||
// Cronjobs
|
// Cronjobs
|
||||||
$this->cronjobs = array(
|
$this->cronjobs = array(
|
||||||
0=>array('label'=>'RecurringInvoices', 'jobtype'=>'method', 'class'=>'compta/facture/class/facture-rec.class.php', 'objectname'=>'Facture', 'method'=>'generateRecurringInvoices', 'parameters'=>'', 'comment'=>'Generate recurring invoices', 'frequency'=>1, 'unitfrequency'=>3600*24),
|
0=>array('label'=>'RecurringInvoices', 'jobtype'=>'method', 'class'=>'compta/facture/class/facture-rec.class.php', 'objectname'=>'FactureRec', 'method'=>'generateRecurringInvoices', 'parameters'=>'', 'comment'=>'Generate recurring invoices', 'frequency'=>1, 'unitfrequency'=>3600*24),
|
||||||
// 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>3600, 'unitfrequency'=>3600)
|
// 1=>array('label'=>'My label', 'jobtype'=>'command', 'command'=>'', 'parameters'=>'', 'comment'=>'Comment', 'frequency'=>3600, 'unitfrequency'=>3600)
|
||||||
);
|
);
|
||||||
// List of cron jobs entries to add
|
// List of cron jobs entries to add
|
||||||
|
|||||||
@ -44,7 +44,7 @@ class modProduct extends DolibarrModules
|
|||||||
*/
|
*/
|
||||||
function __construct($db)
|
function __construct($db)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf, $mysoc;
|
||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->numero = 50;
|
$this->numero = 50;
|
||||||
@ -148,55 +148,20 @@ class modProduct extends DolibarrModules
|
|||||||
$this->export_label[$r]="Products"; // Translation key (used only if key ExportDataset_xxx_z not found)
|
$this->export_label[$r]="Products"; // Translation key (used only if key ExportDataset_xxx_z not found)
|
||||||
$this->export_permission[$r]=array(array("produit","export"));
|
$this->export_permission[$r]=array(array("produit","export"));
|
||||||
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",'p.label'=>"Label",'p.description'=>"Description",'p.url'=>"PublicUrl",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.customcode'=>'CustomCode','p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",'p.tva_tx'=>'VATRate','p.tosell'=>"OnSell",'p.tobuy'=>"OnBuy",'p.datec'=>'DateCreation','p.tms'=>'DateModification');
|
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",'p.label'=>"Label",'p.description'=>"Description",'p.url'=>"PublicUrl",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.customcode'=>'CustomCode','p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",'p.tva_tx'=>'VATRate','p.tosell'=>"OnSell",'p.tobuy'=>"OnBuy",'p.datec'=>'DateCreation','p.tms'=>'DateModification');
|
||||||
|
if ($mysoc->useNPR()) $this->export_fields_array[$r]['p.recuperableonly']='NPR';
|
||||||
if (! empty($conf->stock->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Stock','p.pmp'=>'PMPValue'));
|
if (! empty($conf->stock->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Stock','p.pmp'=>'PMPValue'));
|
||||||
if (! empty($conf->barcode->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.barcode'=>'BarCode'));
|
if (! empty($conf->barcode->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.barcode'=>'BarCode'));
|
||||||
if (! empty($conf->fournisseur->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('s.nom'=>'Supplier','pf.ref_fourn'=>'SupplierRef','pf.unitprice'=>'SuppliersPrices'));
|
if (! empty($conf->fournisseur->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('s.nom'=>'Supplier','pf.ref_fourn'=>'SupplierRef','pf.unitprice'=>'SuppliersPrices'));
|
||||||
$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",'p.weight'=>"Numeric",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date');
|
$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",'p.weight'=>"Numeric",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date');
|
||||||
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.pmp'=>'Numeric'));
|
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.stock'=>'Numeric','p.pmp'=>'Numeric'));
|
||||||
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text'));
|
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text'));
|
||||||
if (! empty($conf->fournisseur->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('s.nom'=>'Text','pf.ref_fourn'=>'Text','pf.unitprice'=>'Numeric'));
|
if (! empty($conf->fournisseur->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('s.nom'=>'Text','pf.ref_fourn'=>'Text','pf.unitprice'=>'Numeric'));
|
||||||
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.url'=>"product",'p.accountancy_code_sell'=>'product','p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
|
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.url'=>"product",'p.accountancy_code_sell'=>'product','p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
|
||||||
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product','p.pmp'=>'product'));
|
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product','p.pmp'=>'product'));
|
||||||
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'product'));
|
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'product'));
|
||||||
if (! empty($conf->fournisseur->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('s.nom'=>'product','pf.ref_fourn'=>'product','pf.unitprice'=>'product'));
|
if (! empty($conf->fournisseur->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('s.nom'=>'product','pf.ref_fourn'=>'product','pf.unitprice'=>'product'));
|
||||||
// Add extra fields
|
$keyforselect='product'; $keyforelement='product'; $keyforaliasextra='extra';
|
||||||
$sql="SELECT name, label, type FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product' AND entity IN (0, ".$conf->entity.')';
|
include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php';
|
||||||
$resql=$this->db->query($sql);
|
|
||||||
if ($resql) // This can fail when class is used on old database (during migration for example)
|
|
||||||
{
|
|
||||||
while ($obj=$this->db->fetch_object($resql))
|
|
||||||
{
|
|
||||||
$fieldname='extra.'.$obj->name;
|
|
||||||
$fieldlabel=ucfirst($obj->label);
|
|
||||||
$typeFilter="Text";
|
|
||||||
switch($obj->type)
|
|
||||||
{
|
|
||||||
case 'int':
|
|
||||||
case 'double':
|
|
||||||
case 'price':
|
|
||||||
$typeFilter="Numeric";
|
|
||||||
break;
|
|
||||||
case 'date':
|
|
||||||
case 'datetime':
|
|
||||||
$typeFilter="Date";
|
|
||||||
break;
|
|
||||||
case 'boolean':
|
|
||||||
$typeFilter="Boolean";
|
|
||||||
break;
|
|
||||||
case 'sellist':
|
|
||||||
$tmp='';
|
|
||||||
$tmpparam=unserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null
|
|
||||||
if ($tmpparam['options'] && is_array($tmpparam['options'])) $tmp=array_shift(array_keys($tmpparam['options']));
|
|
||||||
if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) $typeFilter="List:".$tmp;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$this->export_fields_array[$r][$fieldname]=$fieldlabel;
|
|
||||||
$this->export_TypeFields_array[$r][$fieldname]=$typeFilter;
|
|
||||||
$this->export_entities_array[$r][$fieldname]='product';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// End add extra fields
|
|
||||||
|
|
||||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object';
|
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object';
|
||||||
@ -216,12 +181,14 @@ class modProduct extends DolibarrModules
|
|||||||
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
'pr.tva_tx'=>'PriceLevelVATRate',
|
'pr.tva_tx'=>'PriceLevelVATRate',
|
||||||
'pr.date_price'=>'DateCreation');
|
'pr.date_price'=>'DateCreation');
|
||||||
|
if ($mysoc->useNPR()) $this->export_fields_array[$r]['pr.recuperableonly']='NPR';
|
||||||
//$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",'p.weight'=>"Numeric",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date');
|
//$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",'p.weight'=>"Numeric",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date');
|
||||||
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",
|
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",
|
||||||
'pr.price_base_type'=>"product",'pr.price_level'=>"product",'pr.price'=>"product",
|
'pr.price_base_type'=>"product",'pr.price_level'=>"product",'pr.price'=>"product",
|
||||||
'pr.price_ttc'=>"product",
|
'pr.price_ttc'=>"product",
|
||||||
'pr.price_min'=>"product",'pr.price_min_ttc'=>"product",
|
'pr.price_min'=>"product",'pr.price_min_ttc'=>"product",
|
||||||
'pr.tva_tx'=>'product',
|
'pr.tva_tx'=>'product',
|
||||||
|
'pr.recuperableonly'=>'product',
|
||||||
'pr.date_price'=>"product");
|
'pr.date_price'=>"product");
|
||||||
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
$this->export_sql_start[$r]='SELECT DISTINCT ';
|
||||||
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
|
||||||
@ -244,6 +211,7 @@ class modProduct extends DolibarrModules
|
|||||||
$this->import_tables_creator_array[$r]=array('p'=>'fk_user_author'); // Fields to store import user id
|
$this->import_tables_creator_array[$r]=array('p'=>'fk_user_author'); // Fields to store import user id
|
||||||
$this->import_fields_array[$r]=array('p.ref'=>"Ref*",'p.label'=>"Label*",'p.description'=>"Description",'p.url'=>"PublicUrl",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.duration'=>"Duration",'p.customcode'=>'CustomCode','p.price'=>"SellingPriceHT",'p.price_ttc'=>"SellingPriceTTC",'p.tva_tx'=>'VAT','p.tosell'=>"OnSell*",'p.tobuy'=>"OnBuy*",'p.fk_product_type'=>"Type*",'p.finished'=>'Nature','p.datec'=>'DateCreation*');
|
$this->import_fields_array[$r]=array('p.ref'=>"Ref*",'p.label'=>"Label*",'p.description'=>"Description",'p.url'=>"PublicUrl",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.duration'=>"Duration",'p.customcode'=>'CustomCode','p.price'=>"SellingPriceHT",'p.price_ttc'=>"SellingPriceTTC",'p.tva_tx'=>'VAT','p.tosell'=>"OnSell*",'p.tobuy'=>"OnBuy*",'p.fk_product_type'=>"Type*",'p.finished'=>'Nature','p.datec'=>'DateCreation*');
|
||||||
if (! empty($conf->barcode->enabled)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.barcode'=>'BarCode'));
|
if (! empty($conf->barcode->enabled)) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.barcode'=>'BarCode'));
|
||||||
|
if ($mysoc->useNPR()) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('p.recuperableonly'=>'NPR'));
|
||||||
// Add extra fields
|
// Add extra fields
|
||||||
$import_extrafield_sample=array();
|
$import_extrafield_sample=array();
|
||||||
$sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product' AND entity IN (0, ".$conf->entity.')';
|
$sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product' AND entity IN (0, ".$conf->entity.')';
|
||||||
@ -260,8 +228,8 @@ class modProduct extends DolibarrModules
|
|||||||
}
|
}
|
||||||
// End add extra fields
|
// End add extra fields
|
||||||
$this->import_fieldshidden_array[$r]=array('extra.fk_object'=>'lastrowid-'.MAIN_DB_PREFIX.'product'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent)
|
$this->import_fieldshidden_array[$r]=array('extra.fk_object'=>'lastrowid-'.MAIN_DB_PREFIX.'product'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent)
|
||||||
$this->import_regex_array[$r]=array('p.ref'=>'[^ ]','p.tosell'=>'^[0|1]$','p.tobuy'=>'^[0|1]$','p.fk_product_type'=>'^[0|1]$','p.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$');
|
$this->import_regex_array[$r]=array('p.ref'=>'[^ ]','p.tosell'=>'^[0|1]$','p.tobuy'=>'^[0|1]$','p.fk_product_type'=>'^[0|1]$','p.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$','p.recuperableonly'=>'^[0|1]$');
|
||||||
$import_sample=array('p.ref'=>"PREF123456",'p.label'=>"My product",'p.description'=>"This is a description example for record",'p.note'=>"Some note",'p.price'=>"100",'p.price_ttc'=>"110",'p.tva_tx'=>'10','p.tosell'=>"0 or 1",'p.tobuy'=>"0 or 1",'p.fk_product_type'=>"0 for product/1 for service",'p.finished'=>'','p.duration'=>"1y",'p.datec'=>'2008-12-31');
|
$import_sample=array('p.ref'=>"PREF123456",'p.label'=>"My product",'p.description'=>"This is a description example for record",'p.note'=>"Some note",'p.price'=>"100",'p.price_ttc'=>"110",'p.tva_tx'=>'10','p.tosell'=>"0 or 1",'p.tobuy'=>"0 or 1",'p.fk_product_type'=>"0 for product/1 for service",'p.finished'=>'','p.duration'=>"1y",'p.datec'=>'2008-12-31','p.recuperableonly'=>'0 or 1');
|
||||||
$this->import_examplevalues_array[$r]=array_merge($import_sample,$import_extrafield_sample);
|
$this->import_examplevalues_array[$r]=array_merge($import_sample,$import_extrafield_sample);
|
||||||
|
|
||||||
if (! empty($conf->fournisseur->enabled))
|
if (! empty($conf->fournisseur->enabled))
|
||||||
@ -309,12 +277,14 @@ class modProduct extends DolibarrModules
|
|||||||
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
'pr.price_min'=>"MinPriceLevelUnitPriceHT",'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC",
|
||||||
'pr.tva_tx'=>'PriceLevelVATRate',
|
'pr.tva_tx'=>'PriceLevelVATRate',
|
||||||
'pr.date_price'=>'DateCreation*');
|
'pr.date_price'=>'DateCreation*');
|
||||||
$this->import_regex_array[$r]=array('pr.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$');
|
if ($mysoc->useNPR()) $this->import_fields_array[$r]=array_merge($this->import_fields_array[$r],array('pr.recuperableonly'=>'NPR'));
|
||||||
|
$this->import_regex_array[$r]=array('pr.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$','pr.recuperableonly'=>'^[0|1]$');
|
||||||
$this->import_examplevalues_array[$r]=array('pr.fk_product'=>"1",
|
$this->import_examplevalues_array[$r]=array('pr.fk_product'=>"1",
|
||||||
'pr.price_base_type'=>"HT",'pr.price_level'=>"1",
|
'pr.price_base_type'=>"HT",'pr.price_level'=>"1",
|
||||||
'pr.price'=>"100",'pr.price_ttc'=>"110",
|
'pr.price'=>"100",'pr.price_ttc'=>"110",
|
||||||
'pr.price_min'=>"100",'pr.price_min_ttc'=>"110",
|
'pr.price_min'=>"100",'pr.price_min_ttc'=>"110",
|
||||||
'pr.tva_tx'=>'19.6',
|
'pr.tva_tx'=>'20',
|
||||||
|
'pr.recuperableonly'=>'0',
|
||||||
'pr.date_price'=>'2013-04-10');
|
'pr.date_price'=>'2013-04-10');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -119,7 +119,8 @@ class modProductBatch extends DolibarrModules
|
|||||||
$sql = array();
|
$sql = array();
|
||||||
|
|
||||||
if (! empty($conf->cashdesk->enabled)) {
|
if (! empty($conf->cashdesk->enabled)) {
|
||||||
if (!$conf->global->CASHDESK_NO_DECREASE_STOCK) {
|
if (empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) {
|
||||||
|
include_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
$res = dolibarr_set_const($db,"CASHDESK_NO_DECREASE_STOCK",1,'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db,"CASHDESK_NO_DECREASE_STOCK",1,'chaine',0,'',$conf->entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -210,9 +210,9 @@ class modUser extends DolibarrModules
|
|||||||
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
$this->export_code[$r]=$this->rights_class.'_'.$r;
|
||||||
$this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs';
|
$this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs';
|
||||||
$this->export_permission[$r]=array(array("user","user","export"));
|
$this->export_permission[$r]=array(array("user","user","export"));
|
||||||
$this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.office_phone'=>'Phone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Administrator",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion','u.fk_socpeople'=>"IdContact",'u.fk_soc'=>"IdCompany",'u.fk_member'=>"MemberId");
|
$this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.accountancy_code'=>"UserAccountancyCode",'u.office_phone'=>'Phone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Administrator",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion','u.fk_socpeople'=>"IdContact",'u.fk_soc'=>"IdCompany",'u.fk_member'=>"MemberId");
|
||||||
$this->export_TypeFields_array[$r]=array('u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.office_phone'=>'Text','u.office_fax'=>'Text','u.email'=>'Text','u.datec'=>"Date",'u.tms'=>"Date",'u.admin'=>"Boolean",'u.statut'=>'Status','u.note'=>"Text",'u.datelastlogin'=>'Date','u.datepreviouslogin'=>'Date','u.fk_soc'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:firstname");
|
$this->export_TypeFields_array[$r]=array('u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.accountancy_code'=>'Text','u.office_phone'=>'Text','u.office_fax'=>'Text','u.email'=>'Text','u.datec'=>"Date",'u.tms'=>"Date",'u.admin'=>"Boolean",'u.statut'=>'Status','u.note'=>"Text",'u.datelastlogin'=>'Date','u.datepreviouslogin'=>'Date','u.fk_soc'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:firstname");
|
||||||
$this->export_entities_array[$r]=array('u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.office_phone'=>'user','u.office_fax'=>'user','u.email'=>'user','u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.statut'=>'user','u.note'=>"user",'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user','u.fk_socpeople'=>"contact",'u.fk_soc'=>"company",'u.fk_member'=>"member");
|
$this->export_entities_array[$r]=array('u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.accountancy_code'=>'user','u.office_phone'=>'user','u.office_fax'=>'user','u.email'=>'user','u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.statut'=>'user','u.note'=>"user",'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user','u.fk_socpeople'=>"contact",'u.fk_soc'=>"company",'u.fk_member'=>"member");
|
||||||
if (empty($conf->adherent->enabled))
|
if (empty($conf->adherent->enabled))
|
||||||
{
|
{
|
||||||
unset($this->export_fields_array[$r]['u.fk_member']);
|
unset($this->export_fields_array[$r]['u.fk_member']);
|
||||||
|
|||||||
@ -256,6 +256,10 @@ if (! empty($conf->margin->enabled))
|
|||||||
jQuery("input[name='np_marginRate']:first").val('');
|
jQuery("input[name='np_marginRate']:first").val('');
|
||||||
jQuery("input[name='np_markRate']:first").val('');
|
jQuery("input[name='np_markRate']:first").val('');
|
||||||
});
|
});
|
||||||
|
jQuery("#remise_percent").keyup(function() {
|
||||||
|
jQuery("input[name='np_marginRate']:first").val('');
|
||||||
|
jQuery("input[name='np_markRate']:first").val('');
|
||||||
|
});
|
||||||
jQuery("#buying_price").keyup(function() {
|
jQuery("#buying_price").keyup(function() {
|
||||||
jQuery("input[name='np_marginRate']:first").val('');
|
jQuery("input[name='np_marginRate']:first").val('');
|
||||||
jQuery("input[name='np_markRate']:first").val('');
|
jQuery("input[name='np_markRate']:first").val('');
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2012 Nicolas Villa aka Boyquotes http://informetic.fr
|
/* Copyright (C) 2012 Nicolas Villa aka Boyquotes http://informetic.fr
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concpt.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concpt.pro>
|
||||||
* Copyright (C) 2013-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2013-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
@ -142,6 +142,7 @@ if ($action=='add')
|
|||||||
$object->note=GETPOST('note');
|
$object->note=GETPOST('note');
|
||||||
$object->datestart=dol_mktime(GETPOST('datestarthour','int'), GETPOST('datestartmin','int'), 0, GETPOST('datestartmonth','int'), GETPOST('datestartday','int'), GETPOST('datestartyear','int'));
|
$object->datestart=dol_mktime(GETPOST('datestarthour','int'), GETPOST('datestartmin','int'), 0, GETPOST('datestartmonth','int'), GETPOST('datestartday','int'), GETPOST('datestartyear','int'));
|
||||||
$object->dateend=dol_mktime(GETPOST('dateendhour','int'), GETPOST('dateendmin','int'), 0, GETPOST('dateendmonth','int'), GETPOST('dateendday','int'), GETPOST('dateendyear','int'));
|
$object->dateend=dol_mktime(GETPOST('dateendhour','int'), GETPOST('dateendmin','int'), 0, GETPOST('dateendmonth','int'), GETPOST('dateendday','int'), GETPOST('dateendyear','int'));
|
||||||
|
$object->datenextrun=dol_mktime(GETPOST('datenextrunhour','int'), GETPOST('datenextrunmin','int'), 0, GETPOST('datenextrunmonth','int'), GETPOST('datenextrunday','int'), GETPOST('datenextrunyear','int'));
|
||||||
$object->unitfrequency=GETPOST('unitfrequency','int');
|
$object->unitfrequency=GETPOST('unitfrequency','int');
|
||||||
$object->frequency=GETPOST('nbfrequency','int');
|
$object->frequency=GETPOST('nbfrequency','int');
|
||||||
$object->maxrun=GETPOST('maxrun','int');
|
$object->maxrun=GETPOST('maxrun','int');
|
||||||
@ -177,6 +178,7 @@ if ($action=='update')
|
|||||||
$object->note=GETPOST('note');
|
$object->note=GETPOST('note');
|
||||||
$object->datestart=dol_mktime(GETPOST('datestarthour','int'), GETPOST('datestartmin','int'), 0, GETPOST('datestartmonth','int'), GETPOST('datestartday','int'), GETPOST('datestartyear','int'));
|
$object->datestart=dol_mktime(GETPOST('datestarthour','int'), GETPOST('datestartmin','int'), 0, GETPOST('datestartmonth','int'), GETPOST('datestartday','int'), GETPOST('datestartyear','int'));
|
||||||
$object->dateend=dol_mktime(GETPOST('dateendhour','int'), GETPOST('dateendmin','int'), 0, GETPOST('dateendmonth','int'), GETPOST('dateendday','int'), GETPOST('dateendyear','int'));
|
$object->dateend=dol_mktime(GETPOST('dateendhour','int'), GETPOST('dateendmin','int'), 0, GETPOST('dateendmonth','int'), GETPOST('dateendday','int'), GETPOST('dateendyear','int'));
|
||||||
|
$object->datenextrun=dol_mktime(GETPOST('datenextrunhour','int'), GETPOST('datenextrunmin','int'), 0, GETPOST('datenextrunmonth','int'), GETPOST('datenextrunday','int'), GETPOST('datenextrunyear','int'));
|
||||||
$object->unitfrequency=GETPOST('unitfrequency','int');
|
$object->unitfrequency=GETPOST('unitfrequency','int');
|
||||||
$object->frequency=GETPOST('nbfrequency','int');
|
$object->frequency=GETPOST('nbfrequency','int');
|
||||||
$object->maxrun=GETPOST('maxrun','int');
|
$object->maxrun=GETPOST('maxrun','int');
|
||||||
@ -475,7 +477,7 @@ if (($action=="create") || ($action=="edit"))
|
|||||||
$form->select_date($object->dateend,'dateend',1,1,'',"cronform");
|
$form->select_date($object->dateend,'dateend',1,1,'',"cronform");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$form->select_date('','dateend',1,1,1,"cronform");
|
$form->select_date(-1,'dateend',1,1,1,"cronform");
|
||||||
}
|
}
|
||||||
print "</td>";
|
print "</td>";
|
||||||
print "<td>";
|
print "<td>";
|
||||||
@ -506,6 +508,23 @@ if (($action=="create") || ($action=="edit"))
|
|||||||
print "</td>";
|
print "</td>";
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
|
print '<tr><td>';
|
||||||
|
print $langs->trans('CronDtNextLaunch');
|
||||||
|
print ' ('.$langs->trans('CronFrom').')';
|
||||||
|
print "</td><td>";
|
||||||
|
if(!empty($object->datenextrun))
|
||||||
|
{
|
||||||
|
$form->select_date($object->datenextrun,'datenextrun',1,1,'',"cronform");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$form->select_date(-1,'datenextrun',1,1,'',"cronform");
|
||||||
|
}
|
||||||
|
print "</td>";
|
||||||
|
print "<td>";
|
||||||
|
print "</td>";
|
||||||
|
print "</tr>";
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
dol_fiche_end();
|
dol_fiche_end();
|
||||||
@ -539,7 +558,7 @@ else
|
|||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $langs->trans('CronLabel')."</td>";
|
print $langs->trans('CronLabel')."</td>";
|
||||||
print "<td>".$object->label;
|
print "<td>".$langs->trans($object->label);
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print "<tr><td>";
|
print "<tr><td>";
|
||||||
@ -579,7 +598,7 @@ else
|
|||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
print $langs->trans('CronNote')."</td><td>";
|
print $langs->trans('CronNote')."</td><td>";
|
||||||
print $object->note;
|
print $langs->trans($object->note);
|
||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td>';
|
print '<tr><td>';
|
||||||
|
|||||||
@ -107,6 +107,7 @@ class Cronjob extends CommonObject
|
|||||||
if (isset($this->note)) $this->note=trim($this->note);
|
if (isset($this->note)) $this->note=trim($this->note);
|
||||||
if (isset($this->nbrun)) $this->nbrun=trim($this->nbrun);
|
if (isset($this->nbrun)) $this->nbrun=trim($this->nbrun);
|
||||||
if (isset($this->libname)) $this->libname = trim($this->libname);
|
if (isset($this->libname)) $this->libname = trim($this->libname);
|
||||||
|
if (isset($this->test)) $this->test = trim($this->test);
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
// Put here code to add a control on parameters values
|
// Put here code to add a control on parameters values
|
||||||
@ -177,11 +178,9 @@ class Cronjob extends CommonObject
|
|||||||
$sql.= "note,";
|
$sql.= "note,";
|
||||||
$sql.= "nbrun,";
|
$sql.= "nbrun,";
|
||||||
$sql.= "maxrun,";
|
$sql.= "maxrun,";
|
||||||
$sql.= "libname";
|
$sql.= "libname,";
|
||||||
|
$sql.= "test";
|
||||||
|
|
||||||
$sql.= ") VALUES (";
|
$sql.= ") VALUES (";
|
||||||
|
|
||||||
$sql.= " '".$this->db->idate($now)."',";
|
$sql.= " '".$this->db->idate($now)."',";
|
||||||
$sql.= " ".(! isset($this->jobtype)?'NULL':"'".$this->db->escape($this->jobtype)."'").",";
|
$sql.= " ".(! isset($this->jobtype)?'NULL':"'".$this->db->escape($this->jobtype)."'").",";
|
||||||
$sql.= " ".(! isset($this->label)?'NULL':"'".$this->db->escape($this->label)."'").",";
|
$sql.= " ".(! isset($this->label)?'NULL':"'".$this->db->escape($this->label)."'").",";
|
||||||
@ -208,7 +207,8 @@ class Cronjob extends CommonObject
|
|||||||
$sql.= " ".(! isset($this->note)?'NULL':"'".$this->db->escape($this->note)."'").",";
|
$sql.= " ".(! isset($this->note)?'NULL':"'".$this->db->escape($this->note)."'").",";
|
||||||
$sql.= " ".(! isset($this->nbrun)?'0':"'".$this->db->escape($this->nbrun)."'").",";
|
$sql.= " ".(! isset($this->nbrun)?'0':"'".$this->db->escape($this->nbrun)."'").",";
|
||||||
$sql.= " ".(empty($this->maxrun)?'null':"'".$this->db->escape($this->maxrun)."'").",";
|
$sql.= " ".(empty($this->maxrun)?'null':"'".$this->db->escape($this->maxrun)."'").",";
|
||||||
$sql.= " ".(! isset($this->libname)?'NULL':"'".$this->db->escape($this->libname)."'")."";
|
$sql.= " ".(! isset($this->libname)?'NULL':"'".$this->db->escape($this->libname)."'").",";
|
||||||
|
$sql.= " ".(! isset($this->test)?'NULL':"'".$this->db->escape($this->test)."'")."";
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
@ -292,9 +292,8 @@ class Cronjob extends CommonObject
|
|||||||
$sql.= " t.note,";
|
$sql.= " t.note,";
|
||||||
$sql.= " t.nbrun,";
|
$sql.= " t.nbrun,";
|
||||||
$sql.= " t.maxrun,";
|
$sql.= " t.maxrun,";
|
||||||
$sql.= " t.libname";
|
$sql.= " t.libname,";
|
||||||
|
$sql.= " t.test";
|
||||||
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."cronjob as t";
|
$sql.= " FROM ".MAIN_DB_PREFIX."cronjob as t";
|
||||||
$sql.= " WHERE t.rowid = ".$id;
|
$sql.= " WHERE t.rowid = ".$id;
|
||||||
|
|
||||||
@ -337,7 +336,7 @@ class Cronjob extends CommonObject
|
|||||||
$this->nbrun = $obj->nbrun;
|
$this->nbrun = $obj->nbrun;
|
||||||
$this->maxrun = $obj->maxrun;
|
$this->maxrun = $obj->maxrun;
|
||||||
$this->libname = $obj->libname;
|
$this->libname = $obj->libname;
|
||||||
|
$this->test = $obj->test;
|
||||||
}
|
}
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
|
|
||||||
@ -391,9 +390,9 @@ class Cronjob extends CommonObject
|
|||||||
$sql.= " t.fk_user_author,";
|
$sql.= " t.fk_user_author,";
|
||||||
$sql.= " t.fk_user_mod,";
|
$sql.= " t.fk_user_mod,";
|
||||||
$sql.= " t.note,";
|
$sql.= " t.note,";
|
||||||
$sql.= " t.nbrun";
|
$sql.= " t.nbrun,";
|
||||||
$sql .= ", t.libname";
|
$sql.= " t.libname,";
|
||||||
|
$sql.= " t.test";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."cronjob as t";
|
$sql.= " FROM ".MAIN_DB_PREFIX."cronjob as t";
|
||||||
$sql.= " WHERE 1 = 1";
|
$sql.= " WHERE 1 = 1";
|
||||||
if ($status >= 0) $sql.= " AND t.status = ".(empty($status)?'0':'1');
|
if ($status >= 0) $sql.= " AND t.status = ".(empty($status)?'0':'1');
|
||||||
@ -466,6 +465,7 @@ class Cronjob extends CommonObject
|
|||||||
$line->note = $obj->note;
|
$line->note = $obj->note;
|
||||||
$line->nbrun = $obj->nbrun;
|
$line->nbrun = $obj->nbrun;
|
||||||
$line->libname = $obj->libname;
|
$line->libname = $obj->libname;
|
||||||
|
$line->test = $obj->test;
|
||||||
$this->lines[]=$line;
|
$this->lines[]=$line;
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
@ -500,7 +500,6 @@ class Cronjob extends CommonObject
|
|||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
|
|
||||||
if (isset($this->label)) $this->label=trim($this->label);
|
if (isset($this->label)) $this->label=trim($this->label);
|
||||||
if (isset($this->jobtype)) $this->jobtype=trim($this->jobtype);
|
if (isset($this->jobtype)) $this->jobtype=trim($this->jobtype);
|
||||||
if (isset($this->command)) $this->command=trim($this->command);
|
if (isset($this->command)) $this->command=trim($this->command);
|
||||||
@ -520,11 +519,12 @@ class Cronjob extends CommonObject
|
|||||||
if (isset($this->nbrun)) $this->nbrun=trim($this->nbrun);
|
if (isset($this->nbrun)) $this->nbrun=trim($this->nbrun);
|
||||||
if (isset($this->maxrun)) $this->maxrun=trim($this->maxrun);
|
if (isset($this->maxrun)) $this->maxrun=trim($this->maxrun);
|
||||||
if (isset($this->libname)) $this->libname = trim($this->libname);
|
if (isset($this->libname)) $this->libname = trim($this->libname);
|
||||||
|
if (isset($this->test)) $this->test = trim($this->test);
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
// Put here code to add a control on parameters values
|
// Put here code to add a control on parameters values
|
||||||
if (dol_strlen($this->datestart)==0) {
|
if (dol_strlen($this->datestart)==0) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronDtStart'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronDtStart'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if ((dol_strlen($this->datestart)!=0) && (dol_strlen($this->dateend)!=0) && ($this->dateend<$this->datestart)) {
|
if ((dol_strlen($this->datestart)!=0) && (dol_strlen($this->dateend)!=0) && ($this->dateend<$this->datestart)) {
|
||||||
@ -532,32 +532,32 @@ class Cronjob extends CommonObject
|
|||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (empty($this->label)) {
|
if (empty($this->label)) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronLabel'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronLabel'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (empty($this->unitfrequency)) {
|
if (empty($this->unitfrequency)) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronFrequency'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronFrequency'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (($this->jobtype=='command') && (empty($this->command))) {
|
if (($this->jobtype=='command') && (empty($this->command))) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronCommand'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronCommand'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (($this->jobtype=='method') && (empty($this->classesname))) {
|
if (($this->jobtype=='method') && (empty($this->classesname))) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronClass'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronClass'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (($this->jobtype=='method' || $this->jobtype == 'function') && (empty($this->methodename))) {
|
if (($this->jobtype=='method' || $this->jobtype == 'function') && (empty($this->methodename))) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronMethod'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronMethod'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (($this->jobtype=='method') && (empty($this->objectname))) {
|
if (($this->jobtype=='method') && (empty($this->objectname))) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronObject'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronObject'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($this->jobtype=='function') && (empty($this->libname))) {
|
if (($this->jobtype=='function') && (empty($this->libname))) {
|
||||||
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->trans('CronLib'));
|
$this->errors[]=$langs->trans('CronFieldMandatory',$langs->transnoentitiesnoconv('CronLib'));
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -587,9 +587,10 @@ class Cronjob extends CommonObject
|
|||||||
$sql.= " status=".(isset($this->status)?$this->status:"null").",";
|
$sql.= " status=".(isset($this->status)?$this->status:"null").",";
|
||||||
$sql.= " fk_user_mod=".$user->id.",";
|
$sql.= " fk_user_mod=".$user->id.",";
|
||||||
$sql.= " note=".(isset($this->note)?"'".$this->db->escape($this->note)."'":"null").",";
|
$sql.= " note=".(isset($this->note)?"'".$this->db->escape($this->note)."'":"null").",";
|
||||||
$sql.= " nbrun=".(isset($this->nbrun)?$this->nbrun:"null").",";
|
$sql.= " nbrun=".((isset($this->nbrun) && $this->nbrun >0)?$this->nbrun:"null").",";
|
||||||
$sql.= " maxrun=".(isset($this->maxrun)?$this->maxrun:"null").",";
|
$sql.= " maxrun=".((isset($this->maxrun) && $this->maxrun > 0)?$this->maxrun:"null").",";
|
||||||
$sql.= " libname=".(isset($this->libname)?"'".$this->db->escape($this->libname)."'":"null");
|
$sql.= " libname=".(isset($this->libname)?"'".$this->db->escape($this->libname)."'":"null").",";
|
||||||
|
$sql.= " test=".(isset($this->test)?"'".$this->db->escape($this->test)."'":"null");
|
||||||
$sql.= " WHERE rowid=".$this->id;
|
$sql.= " WHERE rowid=".$this->id;
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
@ -830,7 +831,7 @@ class Cronjob extends CommonObject
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Run a job.
|
* Run a job.
|
||||||
* Once job is finished, status and nb of of run is updated.
|
* Once job is finished, status and nb of run is updated.
|
||||||
* This function does not plan the next run. This is done by function ->reprogram_jobs
|
* This function does not plan the next run. This is done by function ->reprogram_jobs
|
||||||
*
|
*
|
||||||
* @param string $userlogin User login
|
* @param string $userlogin User login
|
||||||
@ -841,6 +842,8 @@ class Cronjob extends CommonObject
|
|||||||
global $langs, $conf;
|
global $langs, $conf;
|
||||||
|
|
||||||
$now=dol_now();
|
$now=dol_now();
|
||||||
|
$error = 0;
|
||||||
|
$retval = '';
|
||||||
|
|
||||||
$langs->load('cron');
|
$langs->load('cron');
|
||||||
|
|
||||||
@ -889,7 +892,7 @@ class Cronjob extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Update last run date (to track launch)
|
// Update last run date (to track running jobs)
|
||||||
$this->datelastrun=$now;
|
$this->datelastrun=$now;
|
||||||
$this->lastoutput='';
|
$this->lastoutput='';
|
||||||
$this->lastresult='';
|
$this->lastresult='';
|
||||||
@ -904,23 +907,51 @@ class Cronjob extends CommonObject
|
|||||||
if ($this->jobtype=='method')
|
if ($this->jobtype=='method')
|
||||||
{
|
{
|
||||||
// load classes
|
// load classes
|
||||||
$file = "/".$this->module_name."/class/".$this->classesname;
|
if (! $error)
|
||||||
$ret=dol_include_once($file,$this->objectname);
|
|
||||||
if ($ret===false)
|
|
||||||
{
|
{
|
||||||
$this->error=$langs->trans('CronCannotLoadClass',$file,$this->objectname);
|
$ret=dol_include_once($this->classesname);
|
||||||
|
if ($ret===false || (! class_exists($this->objectname)))
|
||||||
|
{
|
||||||
|
$this->error=$langs->trans('CronCannotLoadClass',$this->classesname,$this->objectname);
|
||||||
dol_syslog(get_class($this)."::run_jobs ".$this->error, LOG_ERR);
|
dol_syslog(get_class($this)."::run_jobs ".$this->error, LOG_ERR);
|
||||||
return -1;
|
$this->lastoutput = $this->error;
|
||||||
|
$this->lastresult = -1;
|
||||||
|
$retval = $this->lastresult;
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// test if method exists
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
if (! method_exists($this->objectname, $this->methodename))
|
||||||
|
{
|
||||||
|
$this->error=$langs->trans('CronMethodDoesNotExists',$this->objectname,$this->methodename);
|
||||||
|
dol_syslog(get_class($this)."::run_jobs ".$this->error, LOG_ERR);
|
||||||
|
$this->lastoutput = $this->error;
|
||||||
|
$this->lastresult = -1;
|
||||||
|
$retval = $this->lastresult;
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load langs
|
// Load langs
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
$result=$langs->load($this->module_name.'@'.$this->module_name);
|
$result=$langs->load($this->module_name.'@'.$this->module_name);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::run_jobs Cannot load module langs".$langs->error, LOG_ERR);
|
dol_syslog(get_class($this)."::run_jobs Cannot load module lang file - ".$langs->error, LOG_ERR);
|
||||||
return -1;
|
$this->error = $langs->error;
|
||||||
|
$this->lastoutput = $this->error;
|
||||||
|
$this->lastresult = -1;
|
||||||
|
$retval = $this->lastresult;
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
dol_syslog(get_class($this)."::run_jobs ".$this->objectname."->".$this->methodename."(".$this->params.");", LOG_DEBUG);
|
dol_syslog(get_class($this)."::run_jobs ".$this->objectname."->".$this->methodename."(".$this->params.");", LOG_DEBUG);
|
||||||
|
|
||||||
// Create Object for the call module
|
// Create Object for the call module
|
||||||
@ -936,17 +967,23 @@ class Cronjob extends CommonObject
|
|||||||
$result = call_user_func_array(array($object, $this->methodename), $params_arr);
|
$result = call_user_func_array(array($object, $this->methodename), $params_arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($result===false)
|
if ($result===false || $result != 0)
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::run_jobs ".$object->error, LOG_ERR);
|
$langs->load("errors");
|
||||||
return -1;
|
dol_syslog(get_class($this)."::run_jobs result=".$result." error=".$object->error, LOG_ERR);
|
||||||
|
$this->error = $object->error?$object->error:$langs->trans('ErrorUnknown');
|
||||||
|
$this->lastoutput = $this->error;
|
||||||
|
$this->lastresult = is_numeric($result)?$result:-1;
|
||||||
|
$retval = $this->lastresult;
|
||||||
|
$error++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->lastoutput=var_export($result,true);
|
$this->lastoutput=$object->output;
|
||||||
$this->lastresult=var_export($result,true);
|
$this->lastresult=var_export($result,true);
|
||||||
|
$retval = $this->lastresult;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($this->jobtype == 'function')
|
if($this->jobtype == 'function')
|
||||||
@ -978,15 +1015,21 @@ class Cronjob extends CommonObject
|
|||||||
$result = call_user_func_array($this->methodename, $params_arr);
|
$result = call_user_func_array($this->methodename, $params_arr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($result === false)
|
if ($result === false || $result != 0)
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this) . "::run_jobs " . $object->error, LOG_ERR);
|
$langs->load("errors");
|
||||||
return -1;
|
dol_syslog(get_class($this)."::run_jobs result=".$result, LOG_ERR);
|
||||||
|
$this->error = $langs->trans('ErrorUnknown');
|
||||||
|
$this->lastoutput = $this->error;
|
||||||
|
$this->lastresult = is_numeric($result)?$result:-1;
|
||||||
|
$retval = $this->lastresult;
|
||||||
|
$error++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->lastoutput=var_export($result,true);
|
$this->lastoutput=var_export($result,true);
|
||||||
$this->lastresult=var_export($result,true);
|
$this->lastresult=var_export($result,true); // Return code
|
||||||
|
$retval = $this->lastresult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1005,6 +1048,16 @@ class Cronjob extends CommonObject
|
|||||||
if ($execmethod == 1)
|
if ($execmethod == 1)
|
||||||
{
|
{
|
||||||
exec($command, $output_arr, $retval);
|
exec($command, $output_arr, $retval);
|
||||||
|
if ($retval != 0)
|
||||||
|
{
|
||||||
|
$langs->load("errors");
|
||||||
|
dol_syslog(get_class($this)."::run_jobs retval=".$retval, LOG_ERR);
|
||||||
|
$this->error = 'Error '.$retval;
|
||||||
|
$this->lastoutput = ''; // Will be filled later
|
||||||
|
$this->lastresult = $retval;
|
||||||
|
$retval = $this->lastresult;
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($execmethod == 2)
|
if ($execmethod == 2)
|
||||||
{
|
{
|
||||||
@ -1027,11 +1080,9 @@ class Cronjob extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::run_jobs output_arr:".var_export($output_arr,true), LOG_DEBUG);
|
dol_syslog(get_class($this)."::run_jobs output_arr:".var_export($output_arr,true)." lastoutput=".$this->lastoutput." lastresult=".$this->lastresult, LOG_DEBUG);
|
||||||
|
|
||||||
|
|
||||||
// Update with result
|
// Update with result
|
||||||
$this->lastoutput='';
|
|
||||||
if (is_array($output_arr) && count($output_arr)>0)
|
if (is_array($output_arr) && count($output_arr)>0)
|
||||||
{
|
{
|
||||||
foreach($output_arr as $val)
|
foreach($output_arr as $val)
|
||||||
@ -1049,7 +1100,7 @@ class Cronjob extends CommonObject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return 1;
|
return $error?-1:1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1089,11 +1140,11 @@ class Cronjob extends CommonObject
|
|||||||
|
|
||||||
if (empty($this->datenextrun))
|
if (empty($this->datenextrun))
|
||||||
{
|
{
|
||||||
$this->datenextrun = $now + ($this->frequency * $this->unitfrequency);
|
if (empty($this->datestart)) $this->datenextrun = $now + ($this->frequency * $this->unitfrequency);
|
||||||
|
else $this->datenextrun = $this->datestart + ($this->frequency * $this->unitfrequency);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
if ($this->datenextrun < $now && $this->frequency > 0 && $this->unitfrequency > 0)
|
||||||
if ($this->datenextrun < $now && $this->frequency > 0)
|
|
||||||
{
|
{
|
||||||
// Loop until date is after future
|
// Loop until date is after future
|
||||||
while ($this->datenextrun < $now)
|
while ($this->datenextrun < $now)
|
||||||
@ -1107,7 +1158,7 @@ class Cronjob extends CommonObject
|
|||||||
{
|
{
|
||||||
//$this->datenextrun=$this->datenextrun + ($this->frequency * $this->unitfrequency);
|
//$this->datenextrun=$this->datenextrun + ($this->frequency * $this->unitfrequency);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Archive job
|
// Archive job
|
||||||
if ($this->autodelete == 2)
|
if ($this->autodelete == 2)
|
||||||
@ -1116,7 +1167,7 @@ class Cronjob extends CommonObject
|
|||||||
|| ($this->dateend && ($this->datenextrun > $this->dateend)))
|
|| ($this->dateend && ($this->datenextrun > $this->dateend)))
|
||||||
{
|
{
|
||||||
$this->status = 2;
|
$this->status = 2;
|
||||||
dol_syslog(get_class($this)."::reprogram_jobs Job must be set to archived", LOG_ERR);
|
dol_syslog(get_class($this)."::reprogram_jobs Job will be set to archived", LOG_ERR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ if ($status == '') $status=-2;
|
|||||||
$search_label=GETPOST("search_label",'alpha');
|
$search_label=GETPOST("search_label",'alpha');
|
||||||
|
|
||||||
if (empty($sortorder)) $sortorder="DESC";
|
if (empty($sortorder)) $sortorder="DESC";
|
||||||
if (empty($sortfield)) $sortfield="t.datenextrun";
|
if (empty($sortfield)) $sortfield="t.status";
|
||||||
if (empty($arch)) $arch = 0;
|
if (empty($arch)) $arch = 0;
|
||||||
if ($page == -1) {
|
if ($page == -1) {
|
||||||
$page = 0 ;
|
$page = 0 ;
|
||||||
@ -99,17 +99,20 @@ if ($action == 'confirm_execute' && $confirm == "yes" && $user->rights->cron->ex
|
|||||||
|
|
||||||
$now = dol_now(); // Date we start
|
$now = dol_now(); // Date we start
|
||||||
|
|
||||||
$result = $object->run_jobs($user->login);
|
$resrunjob = $object->run_jobs($user->login); // Return -1 if KO, 1 if OK
|
||||||
if ($result < 0) {
|
if ($resrunjob < 0) {
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
// Programm next run
|
||||||
$res = $object->reprogram_jobs($user->login, $now);
|
$res = $object->reprogram_jobs($user->login, $now);
|
||||||
if ($res > 0)
|
if ($res > 0)
|
||||||
{
|
{
|
||||||
if ($object->lastresult > 0) setEventMessages($langs->trans("JobFinished"), null, 'warnings');
|
if ($resrunjob >= 0) // We add result of reprogram ony if no error message already reported
|
||||||
else setEventMessages($langs->trans("JobFinished"), null, 'mesgs');
|
{
|
||||||
|
if ($object->lastresult >= 0) setEventMessages($langs->trans("JobFinished"), null, 'mesgs');
|
||||||
|
else setEventMessages($langs->trans("JobFinished"), null, 'errors');
|
||||||
|
}
|
||||||
$action='';
|
$action='';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -117,7 +120,6 @@ if ($action == 'confirm_execute' && $confirm == "yes" && $user->rights->cron->ex
|
|||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
$action='';
|
$action='';
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
header("Location: ".DOL_URL_ROOT.'/cron/list.php?status=-2'); // Make a call to avoid to run twice job when using back
|
header("Location: ".DOL_URL_ROOT.'/cron/list.php?status=-2'); // Make a call to avoid to run twice job when using back
|
||||||
exit;
|
exit;
|
||||||
@ -218,13 +220,15 @@ if ($num > 0)
|
|||||||
$style='pair';
|
$style='pair';
|
||||||
foreach($object->lines as $line)
|
foreach($object->lines as $line)
|
||||||
{
|
{
|
||||||
|
if (! verifCond($line->test)) continue; // Discard line with test = false
|
||||||
|
|
||||||
// title profil
|
// title profil
|
||||||
if ($style=='pair') {$style='impair';}
|
if ($style=='pair') {$style='impair';}
|
||||||
else {$style='pair';}
|
else {$style='pair';}
|
||||||
|
|
||||||
print '<tr class="'.$style.'">';
|
print '<tr class="'.$style.'">';
|
||||||
|
|
||||||
print '<td>';
|
print '<td class="nowrap">';
|
||||||
print '<a href="'.DOL_URL_ROOT.'/cron/card.php?id='.$line->id.'">';
|
print '<a href="'.DOL_URL_ROOT.'/cron/card.php?id='.$line->id.'">';
|
||||||
print img_picto('', 'object_cron').' ';
|
print img_picto('', 'object_cron').' ';
|
||||||
print $line->id;
|
print $line->id;
|
||||||
@ -250,17 +254,15 @@ if ($num > 0)
|
|||||||
$texttoshow.=$langs->trans('CronClass').': '. $line->classesname.'<br>';
|
$texttoshow.=$langs->trans('CronClass').': '. $line->classesname.'<br>';
|
||||||
$texttoshow.=$langs->trans('CronObject').': '. $line->objectname.'<br>';
|
$texttoshow.=$langs->trans('CronObject').': '. $line->objectname.'<br>';
|
||||||
$texttoshow.=$langs->trans('CronMethod').': '. $line->methodename;
|
$texttoshow.=$langs->trans('CronMethod').': '. $line->methodename;
|
||||||
if(!empty($line->params)) {
|
|
||||||
$texttoshow.='<br>'.$langs->trans('CronArgs').': '. $line->params;
|
$texttoshow.='<br>'.$langs->trans('CronArgs').': '. $line->params;
|
||||||
}
|
$texttoshow.='<br>'.$langs->trans('Comment').': '. $langs->trans($line->note);
|
||||||
}
|
}
|
||||||
elseif ($line->jobtype=='command')
|
elseif ($line->jobtype=='command')
|
||||||
{
|
{
|
||||||
$text=$langs->trans('CronCommand');
|
$text=$langs->trans('CronCommand');
|
||||||
$texttoshow=$langs->trans('CronCommand').': '.dol_trunc($line->command);
|
$texttoshow=$langs->trans('CronCommand').': '.dol_trunc($line->command);
|
||||||
if(!empty($line->params)) {
|
$texttoshow.='<br>'.$langs->trans('CronArgs').': '. $line->params;
|
||||||
$texttoshow='<br>'.$langs->trans('CronArgs').':'. $line->params;
|
$texttoshow.='<br>'.$langs->trans('Comment').': '. $langs->trans($line->note);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
print $form->textwithpicto($text, $texttoshow, 1);
|
print $form->textwithpicto($text, $texttoshow, 1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -297,7 +299,7 @@ if ($num > 0)
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
if(!empty($line->lastresult)) {print dol_trunc($line->lastresult);}
|
if ($line->lastresult != '') {print dol_trunc($line->lastresult);}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
|
|||||||
@ -30,6 +30,7 @@ $langs->load("sendings");
|
|||||||
$langs->load("deliveries");
|
$langs->load("deliveries");
|
||||||
$langs->load('companies');
|
$langs->load('companies');
|
||||||
|
|
||||||
|
$socid=GETPOST('socid','int');
|
||||||
// Security check
|
// Security check
|
||||||
$expeditionid = GETPOST('id','int');
|
$expeditionid = GETPOST('id','int');
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
|
|||||||
@ -1652,7 +1652,7 @@ else
|
|||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td style="text-align:center;">'.$langs->trans('Piece').'</td>';
|
print '<td style="text-align:center;">'.$langs->trans('Piece').'</td>';
|
||||||
print '<td style="text-align:center;">'.$langs->trans('Date').'</td>';
|
print '<td style="text-align:center;">'.$langs->trans('Date').'</td>';
|
||||||
print '<td>'.$langs->trans('Project').'</td>';
|
if (! empty($conf->projet->enabled)) print '<td>'.$langs->trans('Project').'</td>';
|
||||||
print '<td style="text-align:center;">'.$langs->trans('Type').'</td>';
|
print '<td style="text-align:center;">'.$langs->trans('Type').'</td>';
|
||||||
print '<td style="text-align:left;">'.$langs->trans('Description').'</td>';
|
print '<td style="text-align:left;">'.$langs->trans('Description').'</td>';
|
||||||
print '<td style="text-align:right;">'.$langs->trans('VAT').'</td>';
|
print '<td style="text-align:right;">'.$langs->trans('VAT').'</td>';
|
||||||
@ -1680,6 +1680,8 @@ else
|
|||||||
print img_picto($langs->trans("Document"), "object_generic");
|
print img_picto($langs->trans("Document"), "object_generic");
|
||||||
print ' <span>'.$piece_comptable.'</span></td>';
|
print ' <span>'.$piece_comptable.'</span></td>';
|
||||||
print '<td style="text-align:center;">'.dol_print_date($db->jdate($objp->date), 'day').'</td>';
|
print '<td style="text-align:center;">'.dol_print_date($db->jdate($objp->date), 'day').'</td>';
|
||||||
|
if (! empty($conf->projet->enabled))
|
||||||
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($objp->projet_id > 0)
|
if ($objp->projet_id > 0)
|
||||||
{
|
{
|
||||||
@ -1688,6 +1690,7 @@ else
|
|||||||
print $projecttmp->getNomUrl(1);
|
print $projecttmp->getNomUrl(1);
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
}
|
||||||
print '<td style="text-align:center;">'.$langs->trans("TF_".strtoupper($objp->type_fees_libelle)).'</td>';
|
print '<td style="text-align:center;">'.$langs->trans("TF_".strtoupper($objp->type_fees_libelle)).'</td>';
|
||||||
print '<td style="text-align:left;">'.$objp->comments.'</td>';
|
print '<td style="text-align:left;">'.$objp->comments.'</td>';
|
||||||
print '<td style="text-align:right;">'.vatrate($objp->vatrate,true).'</td>';
|
print '<td style="text-align:right;">'.vatrate($objp->vatrate,true).'</td>';
|
||||||
@ -1729,9 +1732,12 @@ else
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Select project
|
// Select project
|
||||||
|
if (! empty($conf->projet->enabled))
|
||||||
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$formproject->select_projects(-1, $objp->fk_projet,'fk_projet', 0, 0, 1, 1);
|
$formproject->select_projects(-1, $objp->fk_projet,'fk_projet', 0, 0, 1, 1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
}
|
||||||
|
|
||||||
// Select type
|
// Select type
|
||||||
print '<td style="text-align:center;">';
|
print '<td style="text-align:center;">';
|
||||||
@ -1790,7 +1796,7 @@ else
|
|||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td colspan="2"></td>';
|
print '<td colspan="2"></td>';
|
||||||
//print '<td style="text-align:center;">'.$langs->trans('Date').'</td>';
|
//print '<td style="text-align:center;">'.$langs->trans('Date').'</td>';
|
||||||
print '<td>'.$langs->trans('Project').'</td>';
|
if (! empty($conf->projet->enabled)) print '<td>'.$langs->trans('Project').'</td>';
|
||||||
print '<td align="center">'.$langs->trans('Type').'</td>';
|
print '<td align="center">'.$langs->trans('Type').'</td>';
|
||||||
print '<td>'.$langs->trans('Description').'</td>';
|
print '<td>'.$langs->trans('Description').'</td>';
|
||||||
print '<td style="text-align:right;">'.$langs->trans('VAT').'</td>';
|
print '<td style="text-align:right;">'.$langs->trans('VAT').'</td>';
|
||||||
@ -1810,9 +1816,12 @@ else
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Select project
|
// Select project
|
||||||
|
if (! empty($conf->projet->enabled))
|
||||||
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$formproject->select_projects(-1, $fk_projet, 'fk_projet', 0, 0, 1, 1);
|
$formproject->select_projects(-1, $fk_projet, 'fk_projet', 0, 0, 1, 1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
}
|
||||||
|
|
||||||
// Select type
|
// Select type
|
||||||
print '<td align="center">';
|
print '<td align="center">';
|
||||||
@ -1829,7 +1838,6 @@ else
|
|||||||
$defaultvat=-1;
|
$defaultvat=-1;
|
||||||
if (! empty($conf->global->EXPENSEREPORT_NO_DEFAULT_VAT)) $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none';
|
if (! empty($conf->global->EXPENSEREPORT_NO_DEFAULT_VAT)) $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none';
|
||||||
print '<select class="flat" name="vatrate">';
|
print '<select class="flat" name="vatrate">';
|
||||||
print '<option name="none" value="" selected>';
|
|
||||||
print $form->load_tva('vatrate', ($vatrate!=''?$vatrate:$defaultvat), $mysoc, '', 0, 0, '', true);
|
print $form->load_tva('vatrate', ($vatrate!=''?$vatrate:$defaultvat), $mysoc, '', 0, 0, '', true);
|
||||||
print '</select>';
|
print '</select>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -2087,7 +2095,28 @@ if($user->rights->expensereport->export && $object->fk_statut>0 && $action != 'e
|
|||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
|
if ($action != 'create' && $action != 'edit' && ($id || $ref))
|
||||||
|
{
|
||||||
|
$permissiondellink=$user->rights->facture->creer; // Used by the include of actions_dellink.inc.php
|
||||||
|
include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include, not include_once
|
||||||
|
|
||||||
|
// Link invoice to intervention
|
||||||
|
if (GETPOST('LinkedFichinter')) {
|
||||||
|
$object->fetch($id);
|
||||||
|
$object->fetch_thirdparty();
|
||||||
|
$result = $object->add_object_linked('fichinter', GETPOST('LinkedFichinter'));
|
||||||
|
}
|
||||||
|
// Linked object block
|
||||||
|
$somethingshown = $form->showLinkedObjectBlock($object);
|
||||||
|
|
||||||
|
// Show links to link elements
|
||||||
|
$linktoelements=array();
|
||||||
|
if($conf->global->EXPENSES_LINK_TO_INTERVENTION) $linktoelements[]='fichinter';
|
||||||
|
$linktoelem='';
|
||||||
|
$linktoelem = $form->showLinkToObjectBlock($object,$linktoelements);
|
||||||
|
if ($linktoelem) print '<br>'.$linktoelem;
|
||||||
|
|
||||||
|
}
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@ -370,7 +370,7 @@ class ExpenseReport extends CommonObject
|
|||||||
function set_paid($id, $fuser)
|
function set_paid($id, $fuser)
|
||||||
{
|
{
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."expensereport";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."expensereport";
|
||||||
$sql.= " SET fk_statut = 6";
|
$sql.= " SET fk_statut = 6, paid=1";
|
||||||
$sql.= " WHERE rowid = ".$id." AND fk_statut = 5";
|
$sql.= " WHERE rowid = ".$id." AND fk_statut = 5";
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::set_paid sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class($this)."::set_paid sql=".$sql, LOG_DEBUG);
|
||||||
|
|||||||
@ -137,6 +137,7 @@ class Fichinter extends CommonObject
|
|||||||
$sql.= ", ref";
|
$sql.= ", ref";
|
||||||
$sql.= ", entity";
|
$sql.= ", entity";
|
||||||
$sql.= ", fk_user_author";
|
$sql.= ", fk_user_author";
|
||||||
|
$sql.= ", fk_user_modif";
|
||||||
$sql.= ", description";
|
$sql.= ", description";
|
||||||
$sql.= ", model_pdf";
|
$sql.= ", model_pdf";
|
||||||
$sql.= ", fk_projet";
|
$sql.= ", fk_projet";
|
||||||
@ -151,6 +152,7 @@ class Fichinter extends CommonObject
|
|||||||
$sql.= ", '".$this->db->escape($this->ref)."'";
|
$sql.= ", '".$this->db->escape($this->ref)."'";
|
||||||
$sql.= ", ".$conf->entity;
|
$sql.= ", ".$conf->entity;
|
||||||
$sql.= ", ".$user->id;
|
$sql.= ", ".$user->id;
|
||||||
|
$sql.= ", ".$user->id;
|
||||||
$sql.= ", ".($this->description?"'".$this->db->escape($this->description)."'":"null");
|
$sql.= ", ".($this->description?"'".$this->db->escape($this->description)."'":"null");
|
||||||
$sql.= ", '".$this->db->escape($this->modelpdf)."'";
|
$sql.= ", '".$this->db->escape($this->modelpdf)."'";
|
||||||
$sql.= ", ".($this->fk_project ? $this->fk_project : 0);
|
$sql.= ", ".($this->fk_project ? $this->fk_project : 0);
|
||||||
|
|||||||
@ -35,7 +35,7 @@ $id = GETPOST('id','int');
|
|||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if ($user->societe_id) $socid=$user->societe_id;
|
if ($user->societe_id) $socid=$user->societe_id;
|
||||||
$result = restrictedArea($user, 'ficheinter', $fichinterid, 'fichinter');
|
$result = restrictedArea($user, 'ficheinter', $id, 'fichinter');
|
||||||
|
|
||||||
$object = new Fichinter($db);
|
$object = new Fichinter($db);
|
||||||
|
|
||||||
|
|||||||
@ -1985,7 +1985,7 @@ elseif (! empty($object->id))
|
|||||||
//print "$object->id, $object->socid, $object->fk_project";
|
//print "$object->id, $object->socid, $object->fk_project";
|
||||||
if ($action == 'classify')
|
if ($action == 'classify')
|
||||||
{
|
{
|
||||||
$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$object->socid:'-1'), $object->fk_project, 'projectid', 0, 0, 1);
|
$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$object->socid:-1), $object->fk_project, 'projectid', 0, 0, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1470,7 +1470,7 @@ if ($action == 'create')
|
|||||||
|
|
||||||
$langs->load('projects');
|
$langs->load('projects');
|
||||||
print '<tr><td>' . $langs->trans('Project') . '</td><td colspan="2">';
|
print '<tr><td>' . $langs->trans('Project') . '</td><td colspan="2">';
|
||||||
$formproject->select_projects((empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$societe->id:'-1'), $projectid, 'projectid', 0);
|
$formproject->select_projects((empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$societe->id:-1), $projectid, 'projectid', 0, 0, 1, 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2039,7 +2039,7 @@ else
|
|||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($action == 'classify')
|
if ($action == 'classify')
|
||||||
{
|
{
|
||||||
$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$object->socid:'-1'), $object->fk_project, 'projectid', 0, 0, 1);
|
$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS)?$object->socid:-1), $object->fk_project, 'projectid', 0, 0, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -836,6 +836,7 @@ if ($step == 4 && $datatoimport)
|
|||||||
print '</td><td width="50%">';
|
print '</td><td width="50%">';
|
||||||
|
|
||||||
// List of targets fields
|
// List of targets fields
|
||||||
|
$height=24;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$var=true;
|
$var=true;
|
||||||
$mandatoryfieldshavesource=true;
|
$mandatoryfieldshavesource=true;
|
||||||
@ -843,7 +844,7 @@ if ($step == 4 && $datatoimport)
|
|||||||
foreach($fieldstarget as $code=>$label)
|
foreach($fieldstarget as $code=>$label)
|
||||||
{
|
{
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].' height="20">';
|
print '<tr '.$bc[$var].' height="'.$height.'">';
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
@ -1704,13 +1705,15 @@ function show_elem($fieldssource,$pos,$key,$var,$nostyle='')
|
|||||||
{
|
{
|
||||||
global $langs,$bc;
|
global $langs,$bc;
|
||||||
|
|
||||||
|
$height='24';
|
||||||
|
|
||||||
print "\n\n<!-- Box ".$pos." start -->\n";
|
print "\n\n<!-- Box ".$pos." start -->\n";
|
||||||
print '<div class="box" style="padding: 0px 0px 0px 0px;" id="boxto_'.$pos.'">'."\n";
|
print '<div class="box" style="padding: 0px 0px 0px 0px;" id="boxto_'.$pos.'">'."\n";
|
||||||
|
|
||||||
print '<table summary="boxtable'.$pos.'" width="100%" class="nobordernopadding">'."\n";
|
print '<table summary="boxtable'.$pos.'" width="100%" class="nobordernopadding">'."\n";
|
||||||
if ($pos && $pos > count($fieldssource)) // No fields
|
if ($pos && $pos > count($fieldssource)) // No fields
|
||||||
{
|
{
|
||||||
print '<tr '.($nostyle?'':$bc[$var]).' height="20">';
|
print '<tr '.($nostyle?'':$bc[$var]).' height="'.$height.'">';
|
||||||
print '<td class="nocellnopadding" width="16" style="font-weight: normal">';
|
print '<td class="nocellnopadding" width="16" style="font-weight: normal">';
|
||||||
print img_picto(($pos>0?$langs->trans("MoveField",$pos):''),'uparrow','class="boxhandle" style="cursor:move;"');
|
print img_picto(($pos>0?$langs->trans("MoveField",$pos):''),'uparrow','class="boxhandle" style="cursor:move;"');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -1721,7 +1724,7 @@ function show_elem($fieldssource,$pos,$key,$var,$nostyle='')
|
|||||||
}
|
}
|
||||||
elseif ($key == 'none') // Empty line
|
elseif ($key == 'none') // Empty line
|
||||||
{
|
{
|
||||||
print '<tr '.($nostyle?'':$bc[$var]).' height="20">';
|
print '<tr '.($nostyle?'':$bc[$var]).' height="'.$height.'">';
|
||||||
print '<td class="nocellnopadding" width="16" style="font-weight: normal">';
|
print '<td class="nocellnopadding" width="16" style="font-weight: normal">';
|
||||||
print ' ';
|
print ' ';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -1732,7 +1735,7 @@ function show_elem($fieldssource,$pos,$key,$var,$nostyle='')
|
|||||||
}
|
}
|
||||||
else // Print field of source file
|
else // Print field of source file
|
||||||
{
|
{
|
||||||
print '<tr '.($nostyle?'':$bc[$var]).' height="20">';
|
print '<tr '.($nostyle?'':$bc[$var]).' height="'.$height.'">';
|
||||||
print '<td class="nocellnopadding" width="16" style="font-weight: normal">';
|
print '<td class="nocellnopadding" width="16" style="font-weight: normal">';
|
||||||
// The image must have the class 'boxhandle' beause it's value used in DOM draggable objects to define the area used to catch the full object
|
// The image must have the class 'boxhandle' beause it's value used in DOM draggable objects to define the area used to catch the full object
|
||||||
print img_picto($langs->trans("MoveField",$pos),'uparrow','class="boxhandle" style="cursor:move;"');
|
print img_picto($langs->trans("MoveField",$pos),'uparrow','class="boxhandle" style="cursor:move;"');
|
||||||
|
|||||||
@ -15,7 +15,7 @@ body
|
|||||||
/* Remove the background color to make it transparent */
|
/* Remove the background color to make it transparent */
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
||||||
margin: 20px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cke_editable
|
.cke_editable
|
||||||
|
|||||||
@ -321,7 +321,7 @@ print '<table class="noborder" width="100%">'."\n";
|
|||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<th class="liste_titre" colspan="2">'.$langs->trans("DolibarrWorkBoard").'</th>';
|
print '<th class="liste_titre" colspan="2">'.$langs->trans("DolibarrWorkBoard").'</th>';
|
||||||
print '<th class="liste_titre" align="right">'.$langs->trans("Number").'</th>';
|
print '<th class="liste_titre" align="right">'.$langs->trans("Number").'</th>';
|
||||||
print '<th class="liste_titre" align="right">'.$langs->trans("Late").'</th>';
|
print '<th class="liste_titre" align="right">'.$form->textwithpicto($langs->trans("Late"),$langs->trans("LateDesc")).'</th>';
|
||||||
print '<th class="liste_titre"> </th>';
|
print '<th class="liste_titre"> </th>';
|
||||||
//print '<th class="liste_titre" width="20"> </th>';
|
//print '<th class="liste_titre" width="20"> </th>';
|
||||||
if ($showweather) print '<th class="liste_titre hideonsmartphone" width="80"> </th>';
|
if ($showweather) print '<th class="liste_titre hideonsmartphone" width="80"> </th>';
|
||||||
|
|||||||
@ -148,9 +148,9 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (12
|
|||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1232, 123, '5','0','VAT Rate 5',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1232, 123, '5','0','VAT Rate 5',1);
|
||||||
|
|
||||||
-- LUXEMBOURG (id country=140)
|
-- LUXEMBOURG (id country=140)
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1401, 140, '15','0','VAT standard rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1401, 140, '17','0','VAT standard rate',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1402, 140, '12','0','VAT reduced rate',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1402, 140, '14','0','VAT reduced rate',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1403, 140, '6','0','VAT reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1403, 140, '8','0','VAT intermediary rate', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1404, 140, '3','0','VAT super-reduced rate', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1404, 140, '3','0','VAT super-reduced rate', 1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1405, 140, '0','0','VAT Rate 0', 1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1405, 140, '0','0','VAT Rate 0', 1);
|
||||||
|
|
||||||
|
|||||||
1
htdocs/install/mysql/migration/3.8.0-3.9.0.sql
Executable file → Normal file
1
htdocs/install/mysql/migration/3.8.0-3.9.0.sql
Executable file → Normal file
@ -583,3 +583,4 @@ ALTER TABLE llx_accounting_bookkeeping MODIFY COLUMN doc_ref varchar(300) NOT NU
|
|||||||
|
|
||||||
ALTER TABLE llx_holiday ADD COLUMN tms timestamp;
|
ALTER TABLE llx_holiday ADD COLUMN tms timestamp;
|
||||||
ALTER TABLE llx_holiday ADD COLUMN entity integer DEFAULT 1 NOT NULL;
|
ALTER TABLE llx_holiday ADD COLUMN entity integer DEFAULT 1 NOT NULL;
|
||||||
|
|
||||||
|
|||||||
@ -35,9 +35,48 @@ UPDATE llx_projet as p set opp_percent = (SELECT percent from llx_c_lead_status
|
|||||||
ALTER TABLE llx_overwrite_trans ADD UNIQUE INDEX uk_overwrite_trans(lang, transkey);
|
ALTER TABLE llx_overwrite_trans ADD UNIQUE INDEX uk_overwrite_trans(lang, transkey);
|
||||||
|
|
||||||
ALTER TABLE llx_cronjob MODIFY COLUMN unitfrequency varchar(255) NOT NULL DEFAULT '3600';
|
ALTER TABLE llx_cronjob MODIFY COLUMN unitfrequency varchar(255) NOT NULL DEFAULT '3600';
|
||||||
|
ALTER TABLE llx_cronjob ADD COLUMN test varchar(255) DEFAULT '1';
|
||||||
|
|
||||||
ALTER TABLE llx_facture ADD INDEX idx_facture_fk_statut (fk_statut);
|
ALTER TABLE llx_facture ADD INDEX idx_facture_fk_statut (fk_statut);
|
||||||
|
|
||||||
|
UPDATE llx_projet as p set p.opp_percent = (SELECT percent FROM llx_c_lead_status as cls WHERE cls.rowid = p.fk_opp_status) WHERE p.opp_percent IS NULL AND p.fk_opp_status IS NOT NULL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE llx_website
|
||||||
|
(
|
||||||
|
rowid integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
|
||||||
|
entity integer DEFAULT 1,
|
||||||
|
shortname varchar(24) NOT NULL,
|
||||||
|
description varchar(255),
|
||||||
|
status integer,
|
||||||
|
date_creation datetime,
|
||||||
|
date_modification datetime,
|
||||||
|
tms timestamp
|
||||||
|
) ENGINE=innodb;
|
||||||
|
|
||||||
|
ALTER TABLE llx_website ADD UNIQUE INDEX uk_website_shortname (shortname, entity);
|
||||||
|
|
||||||
|
CREATE TABLE llx_website_page
|
||||||
|
(
|
||||||
|
rowid integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
|
||||||
|
fk_website integer,
|
||||||
|
pageurl varchar(16) NOT NULL,
|
||||||
|
title varchar(255),
|
||||||
|
description varchar(255),
|
||||||
|
keywords varchar(255),
|
||||||
|
content text,
|
||||||
|
status integer,
|
||||||
|
date_creation datetime,
|
||||||
|
date_modification datetime,
|
||||||
|
tms timestamp
|
||||||
|
) ENGINE=innodb;
|
||||||
|
|
||||||
|
ALTER TABLE llx_website_page ADD UNIQUE INDEX uk_website_page_url (fk_website,pageurl);
|
||||||
|
|
||||||
|
ALTER TABLE llx_website_page ADD CONSTRAINT fk_website_page_website FOREIGN KEY (fk_website) REFERENCES llx_website (rowid);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS llx_multicurrency
|
CREATE TABLE IF NOT EXISTS llx_multicurrency
|
||||||
(
|
(
|
||||||
@ -137,3 +176,5 @@ ALTER TABLE llx_propaldet ADD COLUMN multicurrency_subprice double(24,8) DEFAULT
|
|||||||
ALTER TABLE llx_propaldet ADD COLUMN multicurrency_total_ht double(24,8) DEFAULT 0;
|
ALTER TABLE llx_propaldet ADD COLUMN multicurrency_total_ht double(24,8) DEFAULT 0;
|
||||||
ALTER TABLE llx_propaldet ADD COLUMN multicurrency_total_tva double(24,8) DEFAULT 0;
|
ALTER TABLE llx_propaldet ADD COLUMN multicurrency_total_tva double(24,8) DEFAULT 0;
|
||||||
ALTER TABLE llx_propaldet ADD COLUMN multicurrency_total_ttc double(24,8) DEFAULT 0;
|
ALTER TABLE llx_propaldet ADD COLUMN multicurrency_total_ttc double(24,8) DEFAULT 0;
|
||||||
|
|
||||||
|
|
||||||
@ -46,6 +46,7 @@ CREATE TABLE llx_cronjob
|
|||||||
nbrun integer, -- nb of run complete (failed or not)
|
nbrun integer, -- nb of run complete (failed or not)
|
||||||
autodelete integer DEFAULT 0, -- 0=Job is kept unchanged once nbrun > maxrun or date > dateend, 2=Job must be archived (archive = status 2) once nbrun > maxrun or date > dateend
|
autodelete integer DEFAULT 0, -- 0=Job is kept unchanged once nbrun > maxrun or date > dateend, 2=Job must be archived (archive = status 2) once nbrun > maxrun or date > dateend
|
||||||
status integer NOT NULL DEFAULT 1, -- 0=disabled, 1=enabled, 2=archived
|
status integer NOT NULL DEFAULT 1, -- 0=disabled, 1=enabled, 2=archived
|
||||||
|
test varchar(255) DEFAULT '1',
|
||||||
fk_user_author integer DEFAULT NULL,
|
fk_user_author integer DEFAULT NULL,
|
||||||
fk_user_mod integer DEFAULT NULL,
|
fk_user_mod integer DEFAULT NULL,
|
||||||
fk_mailing integer DEFAULT NULL, -- id of emailing if job was queued to send mass emailing
|
fk_mailing integer DEFAULT NULL, -- id of emailing if job was queued to send mass emailing
|
||||||
|
|||||||
@ -16,8 +16,5 @@
|
|||||||
--
|
--
|
||||||
-- ===========================================================================
|
-- ===========================================================================
|
||||||
|
|
||||||
ALTER TABLE llx_website_page ADD UNIQUE INDEX uk_website_page_url (fk_website,pageurl);
|
ALTER TABLE llx_website ADD UNIQUE INDEX uk_website_shortname (shortname, entity);
|
||||||
|
|
||||||
ALTER TABLE llx_website_page ADD CONSTRAINT fk_website_page_website FOREIGN KEY (fk_website) REFERENCES llx_website (rowid);
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user