Merge branch 'develop' into PSR2MethodsFunctionCallSignatureSpaceBeforeOpenBracket
This commit is contained in:
commit
6b46a927f1
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 Jamal Elbaz <jamelbaz@gmail.pro>
|
||||
* Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -661,13 +661,11 @@ class AccountancyCategory // extends CommonObject
|
||||
/**
|
||||
* Function to know all category from accounting account
|
||||
*
|
||||
* @return array Result in table
|
||||
* @return array|integer Result in table (array), -1 if KO
|
||||
*/
|
||||
public function getCatsCpts()
|
||||
{
|
||||
global $mysoc,$conf;
|
||||
|
||||
$sql = "";
|
||||
global $mysoc, $conf;
|
||||
|
||||
if (empty($mysoc->country_id)) {
|
||||
dol_print_error('', 'Call to select_accounting_account with mysoc country not yet defined');
|
||||
|
||||
@ -151,14 +151,14 @@ print "<table class=\"noborder\" width=\"100%\">";
|
||||
|
||||
print "<tr class=\"liste_titre\">";
|
||||
print '<td>'.$langs->trans("Parameter")."</td>";
|
||||
print '<td align="center">'.$langs->trans("Value")."</td>";
|
||||
print '<td class="center">'.$langs->trans("Value")."</td>";
|
||||
print "</tr>";
|
||||
|
||||
// Show external agenda
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
print "<td>".$langs->trans("ExtSitesEnableThisTool")."</td>";
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->use_javascript_ajax)
|
||||
{
|
||||
print ajax_constantonoff('AGENDA_DISABLE_EXT', array('enabled'=>array(0=>'.hideifnotset')), null, 1);
|
||||
@ -181,7 +181,7 @@ print "</tr>";
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
print "<td>".$langs->trans("ExtSitesNbOfAgenda")."</td>";
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print '<input class="flat hideifnotset" type="text" size="2" id="AGENDA_EXT_NB" name="AGENDA_EXT_NB" value="'.$conf->global->AGENDA_EXT_NB.'">';
|
||||
print "</td>";
|
||||
print "</tr>";
|
||||
|
||||
@ -225,10 +225,10 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
||||
print '<tr class="liste_titre">'."\n";
|
||||
print '<td width="100">'.$langs->trans("Name").'</td>'."\n";
|
||||
print '<td>'.$langs->trans("Description").'</td>'."\n";
|
||||
print '<td align="center" width="60">'.$langs->trans("Status").'</td>'."\n";
|
||||
print '<td align="center" width="60">'.$langs->trans("Default").'</td>'."\n";
|
||||
print '<td align="center" width="40">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td align="center" width="40">'.$langs->trans("Preview").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Status").'</td>'."\n";
|
||||
print '<td class="center" width="60">'.$langs->trans("Default").'</td>'."\n";
|
||||
print '<td class="center" width="40">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td class="center" width="40">'.$langs->trans("Preview").'</td>';
|
||||
print '</tr>'."\n";
|
||||
|
||||
clearstatcache();
|
||||
@ -269,7 +269,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
||||
if (in_array($name, $def))
|
||||
{
|
||||
|
||||
print '<td align="center">'."\n";
|
||||
print '<td class="center">'."\n";
|
||||
if ($conf->global->ACTION_EVENT_ADDON_PDF != "$name")
|
||||
{
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'&type=action">';
|
||||
@ -284,13 +284,13 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center">'."\n";
|
||||
print '<td class="center">'."\n";
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=setmodel&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'&type=action">'.img_picto($langs->trans("Disabled"), 'switch_off').'</a>';
|
||||
print "</td>";
|
||||
}
|
||||
|
||||
// Default
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->global->ACTION_EVENT_ADDON_PDF == "$name")
|
||||
{
|
||||
print img_picto($langs->trans("Default"), 'on');
|
||||
@ -307,10 +307,10 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
|
||||
$htmltooltip.='<br>'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
|
||||
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
|
||||
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo, 1, 1);
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $form->textwithpicto('', $htmltooltip, 1, 0);
|
||||
print '</td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'">'.img_object($langs->trans("Preview"), 'order').'</a>';
|
||||
print '</td>';
|
||||
|
||||
@ -330,7 +330,7 @@ print '<input type="hidden" name="action" value="set">';
|
||||
print '<table class="noborder allwidth">'."\n";
|
||||
print '<tr class="liste_titre">'."\n";
|
||||
print '<td>'.$langs->trans("Parameters").'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'.$langs->trans("Value").'</td>'."\n";
|
||||
print '</tr>'."\n";
|
||||
|
||||
@ -338,7 +338,7 @@ print '</tr>'."\n";
|
||||
|
||||
print '<tr class="oddeven">'."\n";
|
||||
print '<td>'.$langs->trans("AGENDA_USE_EVENT_TYPE").'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'."\n";
|
||||
//print ajax_constantonoff('AGENDA_USE_EVENT_TYPE'); Do not use ajax here, we need to reload page to change other combo list
|
||||
if (empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
@ -355,7 +355,7 @@ print '</td></tr>'."\n";
|
||||
print '<tr class="oddeven">'."\n";
|
||||
$htmltext=$langs->trans("ThisValueCanOverwrittenOnUserLevel", $langs->transnoentitiesnoconv("UserGUISetup"));
|
||||
print '<td>'.$form->textwithpicto($langs->trans("AGENDA_DEFAULT_VIEW"), $htmltext).'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'."\n";
|
||||
$tmplist=array(''=>' ', 'show_list'=>$langs->trans("ViewList"), 'show_month'=>$langs->trans("ViewCal"), 'show_week'=>$langs->trans("ViewWeek"), 'show_day'=>$langs->trans("ViewDay"), 'show_peruser'=>$langs->trans("ViewPerUser"));
|
||||
print $form->selectarray('AGENDA_DEFAULT_VIEW', $tmplist, $conf->global->AGENDA_DEFAULT_VIEW);
|
||||
@ -367,8 +367,8 @@ if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
print '<!-- AGENDA_USE_EVENT_TYPE_DEFAULT -->';
|
||||
print '<tr class="oddeven">'."\n";
|
||||
print '<td>'.$langs->trans("AGENDA_USE_EVENT_TYPE_DEFAULT").'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="right" class="nowrap">'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right nowrap">'."\n";
|
||||
$formactions->select_type_actions($conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT, "AGENDA_USE_EVENT_TYPE_DEFAULT", 'systemauto', 0, 1);
|
||||
print '</td></tr>'."\n";
|
||||
}
|
||||
@ -376,8 +376,8 @@ if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
|
||||
// AGENDA_DEFAULT_FILTER_TYPE
|
||||
print '<tr class="oddeven">'."\n";
|
||||
print '<td>'.$langs->trans("AGENDA_DEFAULT_FILTER_TYPE").'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="right" class="nowrap">'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right nowrap">'."\n";
|
||||
$formactions->select_type_actions($conf->global->AGENDA_DEFAULT_FILTER_TYPE, "AGENDA_DEFAULT_FILTER_TYPE", '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : -1), 1);
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
@ -385,7 +385,7 @@ print '</td></tr>'."\n";
|
||||
// TODO Remove to use the default generic feature
|
||||
print '<tr class="oddeven">'."\n";
|
||||
print '<td>'.$langs->trans("AGENDA_DEFAULT_FILTER_STATUS").'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'."\n";
|
||||
$formactions->form_select_status_action('agenda', $conf->global->AGENDA_DEFAULT_FILTER_STATUS, 1, 'AGENDA_DEFAULT_FILTER_STATUS', 1, 2, 'minwidth100');
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
@ -185,7 +185,7 @@ print '<input type="hidden" name="action" value="set">';
|
||||
print '<table class="noborder allwidth">'."\n";
|
||||
print '<tr class="liste_titre">'."\n";
|
||||
print '<td>'.$langs->trans("Parameters").'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'.$langs->trans("Value").'</td>'."\n";
|
||||
print '</tr>'."\n";
|
||||
|
||||
@ -195,7 +195,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL == 2)
|
||||
{
|
||||
print '<tr class="oddeven">'."\n";
|
||||
print '<td>'.$langs->trans('AGENDA_REMINDER_EMAIL', $langs->transnoentities("Module2300Name")).'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'."\n";
|
||||
|
||||
if (empty($conf->global->AGENDA_REMINDER_EMAIL)) {
|
||||
@ -212,7 +212,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL == 2)
|
||||
{
|
||||
print '<tr class="oddeven">'."\n";
|
||||
print '<td>'.$langs->trans('AGENDA_REMINDER_BROWSER').'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'."\n";
|
||||
|
||||
if (empty($conf->global->AGENDA_REMINDER_BROWSER)) {
|
||||
@ -224,7 +224,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL == 2)
|
||||
|
||||
print '<tr class="oddeven">'."\n";
|
||||
print '<td>'.$langs->trans('AGENDA_REMINDER_BROWSER_SOUND').'</td>'."\n";
|
||||
print '<td align="center"> </td>'."\n";
|
||||
print '<td class="center"> </td>'."\n";
|
||||
print '<td class="right">'."\n";
|
||||
|
||||
if (empty($conf->global->AGENDA_REMINDER_BROWSER_SOUND)) {
|
||||
|
||||
@ -183,8 +183,8 @@ print '<tr class="liste_titre">';
|
||||
print '<td width="140">' . $langs->trans("Name") . '</td>';
|
||||
print '<td>' . $langs->trans("Description") . '</td>';
|
||||
print '<td>' . $langs->trans("Example") . '</td>';
|
||||
print '<td align="center">' . $langs->trans("Status") . '</td>';
|
||||
print '<td align="center" width="60"> </td>';
|
||||
print '<td class="center">' . $langs->trans("Status") . '</td>';
|
||||
print '<td class="center" width="60"> </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
$bankorder[0][0] = $langs->trans("BankOrderGlobal");
|
||||
@ -213,12 +213,12 @@ while ($i < $nbofbank) {
|
||||
print "</td>\n";
|
||||
|
||||
if ($conf->global->BANK_SHOW_ORDER_OPTION == $i) {
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print img_picto($langs->trans("Activated"), 'on');
|
||||
print '</td>';
|
||||
}
|
||||
else {
|
||||
print '<td align="center"><a href="' . $_SERVER['PHP_SELF'] . '?action=setbankorder&value=' . $i . '">';
|
||||
print '<td class="center"><a href="' . $_SERVER['PHP_SELF'] . '?action=setbankorder&value=' . $i . '">';
|
||||
print img_picto($langs->trans("Disabled"), 'off');
|
||||
print '</a></td>';
|
||||
}
|
||||
@ -263,10 +263,10 @@ print "<table class=\"noborder\" width=\"100%\">\n";
|
||||
print "<tr class=\"liste_titre\">\n";
|
||||
print '<td>' . $langs->trans("Name") . '</td>';
|
||||
print '<td>' . $langs->trans("Description") . '</td>';
|
||||
print '<td align="center" width="60">' . $langs->trans("Status") . "</td>\n";
|
||||
print '<td align="center" width="60">' . $langs->trans("Default") . "</td>\n";
|
||||
print '<td align="center" width="38">' . $langs->trans("ShortInfo") . '</td>';
|
||||
print '<td align="center" width="38">' . $langs->trans("Preview") . '</td>';
|
||||
print '<td class="center" width="60">' . $langs->trans("Status") . "</td>\n";
|
||||
print '<td class="center" width="60">' . $langs->trans("Default") . "</td>\n";
|
||||
print '<td class="center" width="38">' . $langs->trans("ShortInfo") . '</td>';
|
||||
print '<td class="center" width="38">' . $langs->trans("Preview") . '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
clearstatcache();
|
||||
@ -315,7 +315,7 @@ foreach ($dirmodels as $reldir) {
|
||||
|
||||
// Active
|
||||
if (in_array($name, $def)) {
|
||||
print '<td align="center">' . "\n";
|
||||
print '<td class="center">' . "\n";
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=del&value=' . $name . '">';
|
||||
print img_picto($langs->trans("Enabled"),
|
||||
'switch_on');
|
||||
@ -323,14 +323,14 @@ foreach ($dirmodels as $reldir) {
|
||||
print '</td>';
|
||||
}
|
||||
else {
|
||||
print '<td align="center">' . "\n";
|
||||
print '<td class="center">' . "\n";
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=set&value=' . $name . '&scan_dir=' . $module->scandir . '&label=' . urlencode($module->name) . '">' . img_picto($langs->trans("Disabled"),
|
||||
'switch_off') . '</a>';
|
||||
print "</td>";
|
||||
}
|
||||
|
||||
// Default
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->global->BANKADDON_PDF == $name) {
|
||||
print img_picto($langs->trans("Default"),
|
||||
'on');
|
||||
@ -358,13 +358,13 @@ foreach ($dirmodels as $reldir) {
|
||||
// $htmltooltip.='<br>'.$langs->trans("CreditNote").': '.yn($module->option_credit_note,1,1);
|
||||
//$htmltooltip .= '<br>' . $langs->trans("WatermarkOnDraftOrders") . ': ' . yn($module->option_draft_watermark, 1, 1);
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $form->textwithpicto('', $htmltooltip, 1,
|
||||
0);
|
||||
print '</td>';
|
||||
|
||||
// Preview
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($module->type == 'pdf') {
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=specimen&module=' . $name . '">' . img_object($langs->trans("Preview"),
|
||||
'bill') . '</a>';
|
||||
@ -404,7 +404,7 @@ print "<table class=\"noborder\" width=\"100%\">\n";
|
||||
print "<tr class=\"liste_titre\">\n";
|
||||
print '<td>' . $langs->trans("Name") . '</td>';
|
||||
print '<td>' . $langs->trans("Description") . '</td>';
|
||||
print '<td align="center" width="60">' . $langs->trans("Status") . "</td>\n";
|
||||
print '<td class="center" width="60">' . $langs->trans("Status") . "</td>\n";
|
||||
print "</tr>\n";
|
||||
|
||||
print '<tr class="oddeven"><td width="100">';
|
||||
@ -414,7 +414,7 @@ print $langs->trans('AutoReportLastAccountStatement');
|
||||
print '</td>';
|
||||
// Active
|
||||
if ($conf->global->BANK_REPORT_LAST_NUM_RELEVE) {
|
||||
print '<td align="center">' . "\n";
|
||||
print '<td class="center">' . "\n";
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=unsetreportlastnumreleve">';
|
||||
print img_picto($langs->trans("Enabled"), 'switch_on');
|
||||
print '</a>';
|
||||
@ -422,7 +422,7 @@ if ($conf->global->BANK_REPORT_LAST_NUM_RELEVE) {
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center">' . "\n";
|
||||
print '<td class="center">' . "\n";
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=setreportlastnumreleve">' . img_picto($langs->trans("Disabled"),
|
||||
'switch_off') . '</a>';
|
||||
print "</td>";
|
||||
|
||||
@ -199,8 +199,8 @@ print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td width="200" align="center">'.$langs->trans("Example").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("CodeBarGenerator").'</td>';
|
||||
print '<td width="200" class="center">'.$langs->trans("Example").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("CodeBarGenerator").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
$sql = "SELECT rowid, code as encoding, libelle, coder, example";
|
||||
@ -229,7 +229,7 @@ if ($resql)
|
||||
print '</td>';
|
||||
|
||||
// Show example
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($obj->coder && $obj->coder != -1)
|
||||
{
|
||||
$result=0;
|
||||
@ -277,7 +277,7 @@ if ($resql)
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $formbarcode->setBarcodeEncoder($obj->coder, $barcodelist, $obj->rowid, 'form'.$i);
|
||||
print "</td></tr>\n";
|
||||
|
||||
@ -307,7 +307,7 @@ print "<input type=\"hidden\" name=\"action\" value=\"update\">";
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||
print '<td width="60" align="center">'.$langs->trans("Value").'</td>';
|
||||
print '<td width="60" class="center">'.$langs->trans("Value").'</td>';
|
||||
print '<td> </td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -317,7 +317,7 @@ if (! isset($_SERVER['WINDIR']))
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
print '<td>'.$langs->trans("GenbarcodeLocation").'</td>';
|
||||
print '<td width="60" align="center">';
|
||||
print '<td width="60" class="center">';
|
||||
print '<input type="text" size="40" name="GENBARCODE_LOCATION" value="'.$conf->global->GENBARCODE_LOCATION.'">';
|
||||
if (! empty($conf->global->GENBARCODE_LOCATION) && ! @file_exists($conf->global->GENBARCODE_LOCATION))
|
||||
{
|
||||
@ -369,8 +369,8 @@ if ($conf->produit->enabled)
|
||||
print '<td width="140">'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td>'.$langs->trans("Example").'</td>';
|
||||
print '<td align="center" width="80">'.$langs->trans("Status").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td class="center" width="80">'.$langs->trans("Status").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("ShortInfo").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
$dirbarcodenum=array_merge(array('/core/modules/barcode/'), $conf->modules_parts['barcode']);
|
||||
@ -406,17 +406,17 @@ if ($conf->produit->enabled)
|
||||
|
||||
if ($conf->global->BARCODE_PRODUCT_ADDON_NUM == "$file")
|
||||
{
|
||||
print '<td align="center"><a href="'.$_SERVER['PHP_SELF'].'?action=setbarcodeproductoff&value='.$file.'">';
|
||||
print '<td class="center"><a href="'.$_SERVER['PHP_SELF'].'?action=setbarcodeproductoff&value='.$file.'">';
|
||||
print img_picto($langs->trans("Activated"), 'switch_on');
|
||||
print '</a></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center"><a href="'.$_SERVER['PHP_SELF'].'?action=setbarcodeproducton&value='.$file.'">';
|
||||
print '<td class="center"><a href="'.$_SERVER['PHP_SELF'].'?action=setbarcodeproducton&value='.$file.'">';
|
||||
print img_picto($langs->trans("Disabled"), 'switch_off');
|
||||
print '</a></td>';
|
||||
}
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
$s=$modBarCode->getToolTip($langs, null, -1);
|
||||
print $form->textwithpicto('', $s, 1);
|
||||
print '</td>';
|
||||
|
||||
@ -337,7 +337,7 @@ print '<tr class="liste_titre">';
|
||||
print '<td width="300">'.$langs->trans("Box").'</td>';
|
||||
print '<td>'.$langs->trans("Note").'/'.$langs->trans("Parameters").'</td>';
|
||||
print '<td>'.$langs->trans("SourceFile").'</td>';
|
||||
print '<td width="160" align="center">'.$langs->trans("ActivateOn").'</td>';
|
||||
print '<td width="160" class="center">'.$langs->trans("ActivateOn").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
foreach($boxtoadd as $box)
|
||||
@ -398,9 +398,9 @@ print '<table class="tagtable liste">'."\n";
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td width="300">'.$langs->trans("Box").'</td>';
|
||||
print '<td>'.$langs->trans("Note").'/'.$langs->trans("Parameters").'</td>';
|
||||
print '<td align="center" width="160">'.$langs->trans("ActiveOn").'</td>';
|
||||
print '<td align="center" width="60" colspan="2">'.$langs->trans("PositionByDefault").'</td>';
|
||||
print '<td align="center" width="80">'.$langs->trans("Disable").'</td>';
|
||||
print '<td class="center" width="160">'.$langs->trans("ActiveOn").'</td>';
|
||||
print '<td class="center" width="60" colspan="2">'.$langs->trans("PositionByDefault").'</td>';
|
||||
print '<td class="center" width="80">'.$langs->trans("Disable").'</td>';
|
||||
print '</tr>'."\n";
|
||||
|
||||
$box_order=1;
|
||||
@ -429,15 +429,15 @@ foreach($boxactivated as $key => $box)
|
||||
}
|
||||
else print ($box->note?$box->note:' ');
|
||||
print '</td>';
|
||||
print '<td align="center">' . (empty($pos_name[$box->position])?'':$langs->trans($pos_name[$box->position])) . '</td>';
|
||||
print '<td class="center">' . (empty($pos_name[$box->position])?'':$langs->trans($pos_name[$box->position])) . '</td>';
|
||||
$hasnext=($key < (count($boxactivated)-1));
|
||||
$hasprevious=($key != 0);
|
||||
print '<td align="center">'.($key+1).'</td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="center">'.($key+1).'</td>';
|
||||
print '<td class="center">';
|
||||
print ($hasnext?'<a href="boxes.php?action=switch&switchfrom='.$box->rowid.'&switchto='.$boxactivated[$key+1]->rowid.'">'.img_down().'</a> ':'');
|
||||
print ($hasprevious?'<a href="boxes.php?action=switch&switchfrom='.$box->rowid.'&switchto='.$boxactivated[$key-1]->rowid.'">'.img_up().'</a>':'');
|
||||
print '</td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print '<a href="boxes.php?rowid='.$box->rowid.'&action=delete">'.img_delete().'</a>';
|
||||
print '</td>';
|
||||
|
||||
|
||||
@ -116,8 +116,8 @@ print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td class="nowrap">'.$langs->trans("Example").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
|
||||
print '<td align="center" width="16">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Status").'</td>';
|
||||
print '<td class="center" width="16">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '</tr>'."\n";
|
||||
|
||||
clearstatcache();
|
||||
@ -177,7 +177,7 @@ foreach ($dirmodels as $reldir)
|
||||
else print $tmp;
|
||||
print '</td>'."\n";
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->global->CHEQUERECEIPTS_ADDON == $file || $conf->global->CHEQUERECEIPTS_ADDON.'.php' == $file)
|
||||
{
|
||||
print img_picto($langs->trans("Activated"), 'switch_on');
|
||||
@ -206,7 +206,7 @@ foreach ($dirmodels as $reldir)
|
||||
}
|
||||
}
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $form->textwithpicto('', $htmltooltip, 1, 0);
|
||||
|
||||
if ($conf->global->CHEQUERECEIPTS_ADDON.'.php' == $file) // If module is the one used, we show existing errors
|
||||
@ -244,7 +244,7 @@ print '<input type="hidden" name="action" value="set_BANK_CHEQUERECEIPT_FREE_TEX
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Parameters").'</td>';
|
||||
print '<td align="center" width="60"> </td>';
|
||||
print '<td class="center" width="60"> </td>';
|
||||
print '<td width="80"> </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
@ -267,8 +267,8 @@ print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td class="nowrap">'.$langs->trans("Example").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
|
||||
print '<td align="center" width="16">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Status").'</td>';
|
||||
print '<td class="center" width="16">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '</tr>'."\n";
|
||||
|
||||
clearstatcache();
|
||||
@ -312,7 +312,7 @@ foreach ($dirmodels as $reldir)
|
||||
else print $tmp;
|
||||
print '</td>'."\n";
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->global->COMMANDE_ADDON == $file)
|
||||
{
|
||||
print img_picto($langs->trans("Activated"), 'switch_on');
|
||||
@ -344,7 +344,7 @@ foreach ($dirmodels as $reldir)
|
||||
}
|
||||
}
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $form->textwithpicto('', $htmltooltip, 1, 0);
|
||||
print '</td>';
|
||||
|
||||
@ -393,10 +393,10 @@ print "<table class=\"noborder\" width=\"100%\">\n";
|
||||
print "<tr class=\"liste_titre\">\n";
|
||||
print '<td>'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("Status")."</td>\n";
|
||||
print '<td align="center" width="60">'.$langs->trans("Default")."</td>\n";
|
||||
print '<td align="center" width="38">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td align="center" width="38">'.$langs->trans("Preview").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Status")."</td>\n";
|
||||
print '<td class="center" width="60">'.$langs->trans("Default")."</td>\n";
|
||||
print '<td class="center" width="38">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td class="center" width="38">'.$langs->trans("Preview").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
clearstatcache();
|
||||
@ -449,7 +449,7 @@ foreach ($dirmodels as $reldir)
|
||||
// Active
|
||||
if (in_array($name, $def))
|
||||
{
|
||||
print '<td align="center">'."\n";
|
||||
print '<td class="center">'."\n";
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&value='.$name.'">';
|
||||
print img_picto($langs->trans("Enabled"), 'switch_on');
|
||||
print '</a>';
|
||||
@ -457,13 +457,13 @@ foreach ($dirmodels as $reldir)
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center">'."\n";
|
||||
print '<td class="center">'."\n";
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').'</a>';
|
||||
print "</td>";
|
||||
}
|
||||
|
||||
// Default
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->global->COMMANDE_ADDON_PDF == $name)
|
||||
{
|
||||
print img_picto($langs->trans("Default"), 'on');
|
||||
@ -491,12 +491,12 @@ foreach ($dirmodels as $reldir)
|
||||
$htmltooltip.='<br>'.$langs->trans("WatermarkOnDraftOrders").': '.yn($module->option_draft_watermark, 1, 1);
|
||||
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $form->textwithpicto('', $htmltooltip, 1, 0);
|
||||
print '</td>';
|
||||
|
||||
// Preview
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($module->type == 'pdf')
|
||||
{
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'">'.img_object($langs->trans("Preview"), 'bill').'</a>';
|
||||
@ -528,7 +528,7 @@ print load_fiche_titre($langs->trans("OtherOptions"), '', '');
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("Value").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Value").'</td>';
|
||||
print "<td> </td>\n";
|
||||
print "</tr>\n";
|
||||
|
||||
@ -580,7 +580,7 @@ Whet is definition of "shippable" according to all different STOCK_CALCULATE_...
|
||||
print '<tr class="oddeven">';
|
||||
print '<td>'.$langs->trans("ShippableOrderIconInList").'</td>';
|
||||
print '<td> </td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if (!empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) {
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?action=setshippableiconinlist&value=0">';
|
||||
print img_picto($langs->trans("Activated"),'switch_on');
|
||||
@ -598,7 +598,7 @@ if ($conf->banque->enabled)
|
||||
{
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ORDER").'</td><td> </td><td align="center">';
|
||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ORDER").'</td><td> </td><td class="center">';
|
||||
if (! empty($conf->use_javascript_ajax))
|
||||
{
|
||||
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_ORDER');
|
||||
@ -620,7 +620,7 @@ else
|
||||
{
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ORDER").'</td><td> </td><td align="center">'.$langs->trans('NotAvailable').'</td></tr>';
|
||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ORDER").'</td><td> </td><td class="center">'.$langs->trans('NotAvailable').'</td></tr>';
|
||||
}
|
||||
|
||||
// Ask for warehouse during order
|
||||
@ -628,7 +628,7 @@ if ($conf->stock->enabled)
|
||||
{
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").'</td><td> </td><td align="center">';
|
||||
print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").'</td><td> </td><td class="center">';
|
||||
if (! empty($conf->use_javascript_ajax))
|
||||
{
|
||||
print ajax_constantonoff('WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER');
|
||||
@ -650,7 +650,7 @@ else
|
||||
{
|
||||
|
||||
print '<tr class="oddeven"><td>';
|
||||
print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").'</td><td> </td><td align="center">'.$langs->trans('NotAvailable').'</td></tr>';
|
||||
print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").'</td><td> </td><td class="center">'.$langs->trans('NotAvailable').'</td></tr>';
|
||||
}
|
||||
*/
|
||||
|
||||
@ -666,7 +666,7 @@ print load_fiche_titre($langs->trans("Notifications"), '', '');
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||
print '<td align="center" width="60"></td>';
|
||||
print '<td class="center" width="60"></td>';
|
||||
print '<td width="80"> </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
@ -190,7 +190,7 @@ print '<td>'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Value").'</td>';
|
||||
print '<td>'.$langs->trans("Comment").'</td>';
|
||||
if (! empty($conf->multicompany->enabled) && !$user->entity) print '<td>'.$langs->trans("Entity").'</td>';
|
||||
print '<td align="center">'.$langs->trans("Action").'</td>';
|
||||
print '<td class="center">'.$langs->trans("Action").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
@ -210,11 +210,11 @@ if (! empty($conf->multicompany->enabled) && !$user->entity)
|
||||
print '<td>';
|
||||
print '<input type="text" class="flat" size="1" name="entity" value="'.$conf->entity.'">';
|
||||
print '</td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print '<input type="hidden" name="entity" value="'.$conf->entity.'">';
|
||||
}
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Add").'" name="add">';
|
||||
@ -273,11 +273,11 @@ if ($result)
|
||||
print '<td>';
|
||||
print '<input type="text" class="flat" size="1" name="const['.$i.'][entity]" value="'.$obj->entity.'">';
|
||||
print '</td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print '<input type="hidden" name="const['.$i.'][entity]" value="'.$obj->entity.'">';
|
||||
}
|
||||
|
||||
|
||||
@ -204,8 +204,8 @@ print '<tr class="liste_titre">';
|
||||
print '<td width="100">'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td>'.$langs->trans("Example").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("Status").'</td>';
|
||||
print '<td align="center" width="16">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Status").'</td>';
|
||||
print '<td class="center" width="16">'.$langs->trans("ShortInfo").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
clearstatcache();
|
||||
@ -249,7 +249,7 @@ foreach ($dirmodels as $reldir)
|
||||
else print $tmp;
|
||||
print '</td>'."\n";
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->global->CONTRACT_ADDON == "$file")
|
||||
{
|
||||
print img_picto($langs->trans("Activated"), 'switch_on');
|
||||
@ -280,7 +280,7 @@ foreach ($dirmodels as $reldir)
|
||||
}
|
||||
}
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $form->textwithpicto('', $htmltooltip, 1, 0);
|
||||
print '</td>';
|
||||
|
||||
@ -329,10 +329,10 @@ print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Name").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("Status")."</td>\n";
|
||||
print '<td align="center" width="60">'.$langs->trans("Default")."</td>\n";
|
||||
print '<td align="center" width="80">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td align="center" width="80">'.$langs->trans("Preview").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Status")."</td>\n";
|
||||
print '<td class="center" width="60">'.$langs->trans("Default")."</td>\n";
|
||||
print '<td class="center" width="80">'.$langs->trans("ShortInfo").'</td>';
|
||||
print '<td class="center" width="80">'.$langs->trans("Preview").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
clearstatcache();
|
||||
@ -384,7 +384,7 @@ foreach ($dirmodels as $reldir)
|
||||
// Active
|
||||
if (in_array($name, $def))
|
||||
{
|
||||
print '<td align="center">'."\n";
|
||||
print '<td class="center">'."\n";
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&value='.$name.'">';
|
||||
print img_picto($langs->trans("Enabled"), 'switch_on');
|
||||
print '</a>';
|
||||
@ -392,13 +392,13 @@ foreach ($dirmodels as $reldir)
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center">'."\n";
|
||||
print '<td class="center">'."\n";
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&value='.$name.'&scan_dir='.$module->scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').'</a>';
|
||||
print "</td>";
|
||||
}
|
||||
|
||||
// Defaut
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($conf->global->CONTRACT_ADDON_PDF == $name)
|
||||
{
|
||||
print img_picto($langs->trans("Default"), 'on');
|
||||
@ -424,12 +424,12 @@ foreach ($dirmodels as $reldir)
|
||||
$htmltooltip.='<br>'.$langs->trans("WatermarkOnDraftOrders").': '.yn($module->option_draft_watermark, 1, 1);
|
||||
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $form->textwithpicto('', $htmltooltip, 1, 0);
|
||||
print '</td>';
|
||||
|
||||
// Preview
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($module->type == 'pdf')
|
||||
{
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=specimen&module='.$name.'">'.img_object($langs->trans("Preview"), 'contract').'</a>';
|
||||
@ -466,7 +466,7 @@ print load_fiche_titre($langs->trans("OtherOptions"), '', '');
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||
print '<td align="center" width="60">'.$langs->trans("Value").'</td>';
|
||||
print '<td class="center" width="60">'.$langs->trans("Value").'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
$substitutionarray=pdf_getSubstitutionArray($langs, array('objectamount'), null, 2);
|
||||
|
||||
@ -322,11 +322,11 @@ if (! empty($conf->multicompany->enabled) && !$user->entity)
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print '<input type="hidden" name="entity" value="'.$conf->entity.'">';
|
||||
print '</td>';
|
||||
}
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
$disabled='';
|
||||
if (empty($conf->global->MAIN_ENABLE_DEFAULT_VALUES)) $disabled=' disabled="disabled"';
|
||||
print '<input type="submit" class="button"'.$disabled.' value="'.$langs->trans("Add").'" name="add">';
|
||||
@ -385,7 +385,7 @@ if ($result)
|
||||
print '<td></td>';
|
||||
|
||||
// Actions
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($action != 'edit' || GETPOST('rowid') != $obj->rowid)
|
||||
{
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?rowid='.$obj->rowid.'&entity='.$obj->entity.'&mode='.$mode.'&action=edit'.((empty($user->entity) && $debug)?'&debug=1':'').'">'.img_edit().'</a>';
|
||||
|
||||
@ -1180,7 +1180,7 @@ if ($id)
|
||||
}
|
||||
|
||||
if ($id == 4) print '<td></td>';
|
||||
print '<td colspan="3" align="center">';
|
||||
print '<td colspan="3" class="center">';
|
||||
if ($action != 'edit')
|
||||
{
|
||||
print '<input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'">';
|
||||
|
||||
@ -77,8 +77,8 @@ print '<br>';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td align="center" width="20"> </td>';
|
||||
print '<td align="center" width="100">'.$langs->trans("Value").'</td>'."\n";
|
||||
print '<td class="center" width="20"> </td>';
|
||||
print '<td class="center" width="100">'.$langs->trans("Value").'</td>'."\n";
|
||||
print '</tr>';
|
||||
|
||||
$form = new Form($db);
|
||||
@ -87,9 +87,9 @@ $form = new Form($db);
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
print '<td>'.$langs->trans("ECMAutoTree").'</td>';
|
||||
print '<td align="center" width="20"> </td>';
|
||||
print '<td class="center" width="20"> </td>';
|
||||
|
||||
print '<td align="center" width="100">';
|
||||
print '<td class="center" width="100">';
|
||||
if ($conf->use_javascript_ajax)
|
||||
{
|
||||
print ajax_constantonoff('ECM_AUTO_TREE_ENABLED');
|
||||
|
||||
@ -412,7 +412,7 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
|
||||
$parameters=array('arrayfields'=>$arrayfields,'param'=>$param,'sortfield'=>$sortfield,'sortorder'=>$sortorder);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ')."\n";
|
||||
print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n";
|
||||
print '</tr>'."\n";
|
||||
|
||||
|
||||
@ -450,10 +450,10 @@ while ($i < min($num, $limit))
|
||||
$cssforfield='';
|
||||
if (in_array($val['type'], array('date','datetime','timestamp'))) $cssforfield.=($cssforfield?' ':'').'center';
|
||||
elseif ($key == 'status') $cssforfield.=($cssforfield?' ':'').'center';
|
||||
|
||||
|
||||
if (in_array($val['type'], array('timestamp'))) $cssforfield.=($cssforfield?' ':'').'nowrap';
|
||||
elseif ($key == 'ref') $cssforfield.=($cssforfield?' ':'').'nowrap';
|
||||
|
||||
|
||||
if (! empty($arrayfields['t.'.$key]['checked']))
|
||||
{
|
||||
print '<td';
|
||||
@ -480,7 +480,7 @@ while ($i < min($num, $limit))
|
||||
$reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
// Action column
|
||||
print '<td class="nowrap" align="center">';
|
||||
print '<td class="nowrap center">';
|
||||
if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
|
||||
{
|
||||
$selected=0;
|
||||
|
||||
@ -106,7 +106,7 @@ if ($action != 'edit')
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
print '<td> </td><td><input name="label" type="text" size="45"></td>';
|
||||
print '<td align="center"><input type="submit" name="add" class="button" value="'.$langs->trans("Add").'"></td>';
|
||||
print '<td class="center"><input type="submit" name="add" class="button" value="'.$langs->trans("Add").'"></td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
|
||||
@ -832,12 +832,12 @@ if ($mode == 'standard')
|
||||
$link="<a href='".$_SERVER["PHP_SELF"]."?account=".$account.($_GET["option"]!='all'?'':'&option=all')."&year=".$prevyear."&month=".$prevmonth."'>".img_previous('', 'class="valignbottom"')."</a> ".$langs->trans("Month")." <a href='".$_SERVER["PHP_SELF"]."?account=".$account."&year=".$nextyear."&month=".$nextmonth."'>".img_next('', 'class="valignbottom"')."</a>";
|
||||
print '<tr><td class="right">'.$link.'</td></tr>';
|
||||
|
||||
print '<tr><td align="center">';
|
||||
print '<tr><td class="center">';
|
||||
$file = "movement".$account."-".$year.$month.".png";
|
||||
print $show4;
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr><td align="center">';
|
||||
print '<tr><td class="center">';
|
||||
print $show1;
|
||||
print '</td></tr>';
|
||||
|
||||
@ -846,18 +846,18 @@ if ($mode == 'standard')
|
||||
$link="<a href='".$_SERVER["PHP_SELF"]."?account=".$account.($_GET["option"]!='all'?'':'&option=all')."&year=".($prevyear)."'>".img_previous('', 'class="valignbottom"')."</a> ".$langs->trans("Year")." <a href='".$_SERVER["PHP_SELF"]."?account=".$account."&year=".($nextyear)."'>".img_next('', 'class="valignbottom"')."</a>";
|
||||
print '<tr><td class="right">'.$link.'</td></tr>';
|
||||
|
||||
print '<tr><td align="center">';
|
||||
print '<tr><td class="center">';
|
||||
print $show5;
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr><td align="center">';
|
||||
print '<tr><td class="center">';
|
||||
print $show2;
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
if ($mode == 'showalltime')
|
||||
{
|
||||
print '<tr><td align="center">';
|
||||
print '<tr><td class="center">';
|
||||
print $show3;
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
@ -369,7 +369,7 @@ if (! empty($arrayfields['balance']['checked']))
|
||||
print '<td class="liste_titre"></td>';
|
||||
}
|
||||
// Action column
|
||||
print '<td class="liste_titre" align="middle">';
|
||||
print '<td class="liste_titre valignmiddle">';
|
||||
$searchpicto=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1);
|
||||
print $searchpicto;
|
||||
print '</td>';
|
||||
@ -383,19 +383,19 @@ if (! empty($arrayfields['accountype']['checked'])) print_liste_field_titr
|
||||
if (! empty($arrayfields['b.number']['checked'])) print_liste_field_titre($arrayfields['b.number']['label'], $_SERVER["PHP_SELF"], 'b.number', '', $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['b.account_number']['checked'])) print_liste_field_titre($arrayfields['b.account_number']['label'], $_SERVER["PHP_SELF"], 'b.account_number', '', $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['b.fk_accountancy_journal']['checked'])) print_liste_field_titre($arrayfields['b.fk_accountancy_journal']['label'], $_SERVER["PHP_SELF"], 'b.fk_accountancy_journal', '', $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['b.currency_code']['checked'])) print_liste_field_titre($arrayfields['b.currency_code']['label'], $_SERVER["PHP_SELF"], 'b.currency_code', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['toreconcile']['checked'])) print_liste_field_titre($arrayfields['toreconcile']['label'], $_SERVER["PHP_SELF"], '', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['b.currency_code']['checked'])) print_liste_field_titre($arrayfields['b.currency_code']['label'], $_SERVER["PHP_SELF"], 'b.currency_code', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['toreconcile']['checked'])) print_liste_field_titre($arrayfields['toreconcile']['label'], $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
// Extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
|
||||
// Hook fields
|
||||
$parameters=array('arrayfields'=>$arrayfields,'param'=>$param,'sortfield'=>$sortfield,'sortorder'=>$sortorder);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
if (! empty($arrayfields['b.datec']['checked'])) print_liste_field_titre($arrayfields['b.datec']['label'], $_SERVER["PHP_SELF"], "b.datec", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['b.tms']['checked'])) print_liste_field_titre($arrayfields['b.tms']['label'], $_SERVER["PHP_SELF"], "b.tms", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['b.clos']['checked'])) print_liste_field_titre($arrayfields['b.clos']['label'], $_SERVER["PHP_SELF"], 'b.clos', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['balance']['checked'])) print_liste_field_titre($arrayfields['balance']['label'], $_SERVER["PHP_SELF"], '', '', $param, 'class="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||
if (! empty($arrayfields['b.datec']['checked'])) print_liste_field_titre($arrayfields['b.datec']['label'], $_SERVER["PHP_SELF"], "b.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
if (! empty($arrayfields['b.tms']['checked'])) print_liste_field_titre($arrayfields['b.tms']['label'], $_SERVER["PHP_SELF"], "b.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
if (! empty($arrayfields['b.clos']['checked'])) print_liste_field_titre($arrayfields['b.clos']['label'], $_SERVER["PHP_SELF"], 'b.clos', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['balance']['checked'])) print_liste_field_titre($arrayfields['balance']['label'], $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
@ -492,7 +492,7 @@ foreach ($accounts as $key=>$type)
|
||||
// Currency
|
||||
if (! empty($arrayfields['b.currency_code']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print $obj->currency_code;
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
@ -501,7 +501,7 @@ foreach ($accounts as $key=>$type)
|
||||
// Transactions to reconcile
|
||||
if (! empty($arrayfields['toreconcile']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($obj->rappro)
|
||||
{
|
||||
$result=$obj->load_board($user, $obj->id);
|
||||
@ -526,7 +526,7 @@ foreach ($accounts as $key=>$type)
|
||||
// Date creation
|
||||
if (! empty($arrayfields['b.datec']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print dol_print_date($obj->date_creation, 'dayhour');
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
@ -534,7 +534,7 @@ foreach ($accounts as $key=>$type)
|
||||
// Date modification
|
||||
if (! empty($arrayfields['b.tms']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print dol_print_date($obj->date_update, 'dayhour');
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
@ -543,7 +543,7 @@ foreach ($accounts as $key=>$type)
|
||||
// Status
|
||||
if (! empty($arrayfields['b.clos']['checked']))
|
||||
{
|
||||
print '<td align="center">'.$obj->getLibStatut(5).'</td>';
|
||||
print '<td class="center">'.$obj->getLibStatut(5).'</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
|
||||
@ -559,7 +559,7 @@ foreach ($accounts as $key=>$type)
|
||||
}
|
||||
|
||||
// Action column
|
||||
print '<td class="nowrap" align="center">';
|
||||
print '<td class="nowrap center">';
|
||||
if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
|
||||
{
|
||||
$selected=0;
|
||||
|
||||
@ -496,7 +496,7 @@ if (empty($numref))
|
||||
}
|
||||
print '<td class="right">'.price(($balancestart[$objp->numr]+$content[$objp->numr]), '', $langs, 1, -1, -1, $conf->currency).'</td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($user->rights->banque->consolidate && $action != 'editbankreceipt') {
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?account='.$object->id.'&action=editbankreceipt&brref='.$objp->numr.'">'.img_edit().'</a>';
|
||||
}
|
||||
@ -540,10 +540,10 @@ else
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
|
||||
print '<div class="div-table-responsive">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<table class="noborder centpercent">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td align="center">'.$langs->trans("DateOperationShort").'</td>';
|
||||
print '<td align="center">'.$langs->trans("DateValueShort").'</td>';
|
||||
print '<td class="center">'.$langs->trans("DateOperationShort").'</td>';
|
||||
print '<td class="center">'.$langs->trans("DateValueShort").'</td>';
|
||||
print '<td>'.$langs->trans("Type").'</td>';
|
||||
print '<td>'.$langs->trans("Description").'</td>';
|
||||
print '<td class="right" width="60">'.$langs->trans("Debit").'</td>';
|
||||
@ -589,10 +589,10 @@ else
|
||||
print '<tr class="oddeven">';
|
||||
|
||||
// Date operation
|
||||
print '<td class="nowrap" align="center">'.dol_print_date($db->jdate($objp->do), "day").'</td>';
|
||||
print '<td class="nowrap center">'.dol_print_date($db->jdate($objp->do), "day").'</td>';
|
||||
|
||||
// Date de valeur
|
||||
print '<td align="center" valign="center" class="nowrap">';
|
||||
print '<td valign="center" class="center nowrap">';
|
||||
print dol_print_date($db->jdate($objp->dv), "day") .' ';
|
||||
print '<a href="releve.php?action=dvprev&num='.$numref.'&account='.$object->id.'&dvid='.$objp->rowid.'">';
|
||||
print img_edit_remove() . "</a> ";
|
||||
@ -778,13 +778,13 @@ else
|
||||
|
||||
if ($user->rights->banque->modifier || $user->rights->banque->consolidate)
|
||||
{
|
||||
print '<td align="center"><a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$objp->rowid.'&account='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?account='.$object->id.'&num='.$numref).'">';
|
||||
print '<td class="center"><a href="'.DOL_URL_ROOT.'/compta/bank/ligne.php?rowid='.$objp->rowid.'&account='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?account='.$object->id.'&num='.$numref).'">';
|
||||
print img_edit();
|
||||
print "</a></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
print "<td align=\"center\"> </td>";
|
||||
print "<td class=\"center\"> </td>";
|
||||
}
|
||||
print "</tr>";
|
||||
$i++;
|
||||
@ -793,11 +793,11 @@ else
|
||||
}
|
||||
|
||||
// Line Total
|
||||
print "\n".'<tr class="liste_total"><td class="right" colspan="4">'.$langs->trans("Total")." :</td><td align=\"right\">".price($totald)."</td><td align=\"right\">".price($totalc)."</td><td> </td><td> </td></tr>";
|
||||
print "\n".'<tr class="liste_total"><td class="right" colspan="4">'.$langs->trans("Total")." :</td><td class=\"right\">".price($totald)."</td><td class=\"right\">".price($totalc)."</td><td> </td><td> </td></tr>";
|
||||
|
||||
// Line Balance
|
||||
print "\n<tr>";
|
||||
print "<td align=\"right\" colspan=\"3\"> </td><td colspan=\"3\"><b>".$langs->trans("EndBankBalance")." :</b></td>";
|
||||
print "<td class=\"right\" colspan=\"3\"> </td><td colspan=\"3\"><b>".$langs->trans("EndBankBalance")." :</b></td>";
|
||||
print '<td class="right"><b>'.price(price2num($total, 'MT'))."</b></td><td> </td>";
|
||||
print "</tr>\n";
|
||||
print "</table>";
|
||||
|
||||
@ -180,7 +180,7 @@ if ($result)
|
||||
print '<tr class="liste_titre">';
|
||||
|
||||
// Ref
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" size="3" name="search_ref" value="'.dol_escape_htmltag($search_ref).'">';
|
||||
print '</td>';
|
||||
|
||||
@ -195,7 +195,7 @@ if ($result)
|
||||
print '</td>';
|
||||
|
||||
// Type
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
$form->select_types_paiements($typeid, 'typeid', '', 0, 1, 1, 16);
|
||||
print '</td>';
|
||||
|
||||
@ -233,13 +233,13 @@ if ($result)
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre("Ref", $_SERVER["PHP_SELF"], "v.rowid", "", $param, "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("Label", $_SERVER["PHP_SELF"], "v.label", "", $param, 'align="left"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("DatePayment", $_SERVER["PHP_SELF"], "v.datep", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("PaymentMode", $_SERVER["PHP_SELF"], "type", "", $param, 'align="left"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("Label", $_SERVER["PHP_SELF"], "v.label", "", $param, '', $sortfield, $sortorder, 'left ');
|
||||
print_liste_field_titre("DatePayment", $_SERVER["PHP_SELF"], "v.datep", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre("PaymentMode", $_SERVER["PHP_SELF"], "type", "", $param, '', $sortfield, $sortorder, 'left ');
|
||||
if (! empty($conf->banque->enabled)) print_liste_field_titre("BankAccount", $_SERVER["PHP_SELF"], "ba.label", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($conf->accounting->enabled)) print_liste_field_titre("AccountAccounting", $_SERVER["PHP_SELF"], "v.accountancy_code", "", $param, 'align="left"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("Debit", $_SERVER["PHP_SELF"], "v.amount", "", $param, 'class="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("Credit", $_SERVER["PHP_SELF"], "v.amount", "", $param, 'class="right"', $sortfield, $sortorder);
|
||||
if (! empty($conf->accounting->enabled)) print_liste_field_titre("AccountAccounting", $_SERVER["PHP_SELF"], "v.accountancy_code", "", $param, '', $sortfield, $sortorder, 'left ');
|
||||
print_liste_field_titre("Debit", $_SERVER["PHP_SELF"], "v.amount", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("Credit", $_SERVER["PHP_SELF"], "v.amount", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre('', $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
|
||||
@ -300,7 +300,7 @@ if ($result)
|
||||
}
|
||||
|
||||
// Debit
|
||||
print "<td align=\"right\">";
|
||||
print "<td class=\"right\">";
|
||||
if ($obj->sens == 0)
|
||||
{
|
||||
print price($obj->amount);
|
||||
@ -309,7 +309,7 @@ if ($result)
|
||||
print "</td>";
|
||||
|
||||
// Credit
|
||||
print "<td align=\"right\">";
|
||||
print "<td class=\"right\">";
|
||||
if ($obj->sens == 1)
|
||||
{
|
||||
print price($obj->amount);
|
||||
|
||||
@ -940,8 +940,6 @@ class Invoices extends DolibarrApi
|
||||
throw new RestException(401);
|
||||
}
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$result = $this->invoice->fetch($id);
|
||||
if( ! $result ) {
|
||||
throw new RestException(404, 'Invoice not found');
|
||||
@ -958,10 +956,14 @@ class Invoices extends DolibarrApi
|
||||
|
||||
if (! $this->invoice->paye) // protection against multiple submit
|
||||
{
|
||||
$this->db->begin();
|
||||
$this->invoice->fetch_lines();
|
||||
|
||||
// Loop on each vat rate
|
||||
$i=0;
|
||||
$amount_ht = array();
|
||||
$amount_tva = array();
|
||||
$amount_ttc = array();
|
||||
foreach($this->invoice->lines as $line)
|
||||
{
|
||||
$amount_ht[$line->tva_tx]+=$line->total_ht;
|
||||
@ -1009,14 +1011,14 @@ class Invoices extends DolibarrApi
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RestException(500, 'Could not set paid');
|
||||
$this->db->rollback();
|
||||
throw new RestException(500, 'Could not set paid');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RestException(500, 'Discount creation error');
|
||||
$this->db->rollback();
|
||||
throw new RestException(500, 'Discount creation error');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -126,11 +126,11 @@ echo $this->control->tpl['ajax_selectcountry']; ?>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="center" colspan="4"><input type="submit" class="button" value="<?php echo $langs->trans("Add"); ?>"></td>
|
||||
<td class="center" colspan="4"><input type="submit" class="button" value="<?php echo $langs->trans("Add"); ?>"></td>
|
||||
</tr>
|
||||
|
||||
</table><br>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- END PHP TEMPLATE -->
|
||||
<!-- END PHP TEMPLATE -->
|
||||
|
||||
@ -149,7 +149,7 @@ echo $this->control->tpl['ajax_selectcountry'];
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="4" align="center">
|
||||
<td colspan="4" class="center">
|
||||
<input type="submit" class="button" name="save" value="<?php echo $langs->trans("Save"); ?>">
|
||||
<input type="submit" class="button" name="cancel" value="<?php echo $langs->trans("Cancel"); ?>">
|
||||
</td>
|
||||
@ -159,4 +159,4 @@ echo $this->control->tpl['ajax_selectcountry'];
|
||||
|
||||
</form>
|
||||
|
||||
<!-- END PHP TEMPLATE -->
|
||||
<!-- END PHP TEMPLATE -->
|
||||
|
||||
@ -588,7 +588,7 @@ else
|
||||
$rowspan=3;
|
||||
if (empty($conf->global->SOCIETE_DISABLE_STATE)) $rowspan++;
|
||||
|
||||
print '<td valign="middle" align="center" rowspan="'.$rowspan.'">';
|
||||
print '<td class="valignmiddle center" rowspan="'.$rowspan.'">';
|
||||
print '<a href="#" id="copyaddressfromsoc">'.$langs->trans('CopyAddressFromSoc').'</a>';
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
@ -379,16 +379,16 @@ if ($sql_select)
|
||||
print $formother->select_month($month?$month:-1, 'month', 1, 0, 'valignmiddle');
|
||||
$formother->select_year($year?$year:-1, 'year', 1, 20, 1);
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="center">';
|
||||
print '<td class="liste_titre center">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" name="sprod_fulldescr" size="15" value="'.dol_escape_htmltag($sprod_fulldescr).'">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="center">'; // TODO: Add filters !
|
||||
print '<td class="liste_titre center">'; // TODO: Add filters !
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="center">';
|
||||
print '<td class="liste_titre center">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre" align="center">';
|
||||
print '<td class="liste_titre center">';
|
||||
print '</td>';
|
||||
print '<td class="liste_titre right">';
|
||||
$searchpicto=$form->showFilterAndCheckAddButtons(0);
|
||||
@ -399,8 +399,8 @@ if ($sql_select)
|
||||
// Titles with sort buttons
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre('Ref', $_SERVER['PHP_SELF'], 'doc_number', '', $param, '', $sortfield, $sortorder, 'left ');
|
||||
print_liste_field_titre('Date', $_SERVER['PHP_SELF'], 'dateprint', '', $param, 'align="center" width="150"', $sortfield, $sortorder);
|
||||
print_liste_field_titre('Status', $_SERVER['PHP_SELF'], 'fk_statut', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre('Date', $_SERVER['PHP_SELF'], 'dateprint', '', $param, 'width="150"', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre('Status', $_SERVER['PHP_SELF'], 'fk_statut', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre('Product', $_SERVER['PHP_SELF'], '', '', $param, '', $sortfield, $sortorder, 'left ');
|
||||
print_liste_field_titre('ContactType', $_SERVER['PHP_SELF'], '', '', $param, '', $sortfield, $sortorder, 'left ');
|
||||
print_liste_field_titre('Quantity', $_SERVER['PHP_SELF'], 'prod_qty', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
@ -427,10 +427,10 @@ if ($sql_select)
|
||||
print '<td class="nobordernopadding nowrap" width="100">';
|
||||
print $documentstatic->getNomUrl(1);
|
||||
print '</td>';
|
||||
print '<td align="center" width="80">'.dol_print_date($db->jdate($objp->dateprint), 'day').'</td>';
|
||||
print '<td class="center" width="80">'.dol_print_date($db->jdate($objp->dateprint), 'day').'</td>';
|
||||
|
||||
// Status
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($type_element == 'contract')
|
||||
{
|
||||
print $documentstaticline->getLibStatut(2);
|
||||
@ -616,17 +616,15 @@ if ($sql_select)
|
||||
print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num);
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
elseif (empty($type_element) || $type_element == -1)
|
||||
{
|
||||
} elseif (empty($type_element) || $type_element == -1) {
|
||||
print_barre_liste($langs->trans('ProductsIntoElements').' '.$typeElementString.' '.$button, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, '', '');
|
||||
|
||||
print '<table class="liste" width="100%">'."\n";
|
||||
// Titles with sort buttons
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre('Ref', $_SERVER['PHP_SELF'], 'doc_number', '', $param, '', $sortfield, $sortorder, 'left ');
|
||||
print_liste_field_titre('Date', $_SERVER['PHP_SELF'], 'dateprint', '', $param, 'align="center" width="150"', $sortfield, $sortorder);
|
||||
print_liste_field_titre('Status', $_SERVER['PHP_SELF'], 'fk_status', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre('Date', $_SERVER['PHP_SELF'], 'dateprint', '', $param, 'width="150"', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre('Status', $_SERVER['PHP_SELF'], 'fk_status', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre('Product', $_SERVER['PHP_SELF'], '', '', $param, '', $sortfield, $sortorder, 'left ');
|
||||
print_liste_field_titre('Quantity', $_SERVER['PHP_SELF'], 'prod_qty', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print "</tr>\n";
|
||||
@ -634,8 +632,7 @@ elseif (empty($type_element) || $type_element == -1)
|
||||
print '<tr class="oddeven"><td class="opacitymedium" colspan="5">'.$langs->trans("SelectElementAndClick", $langs->transnoentitiesnoconv("Search")).'</td></tr>';
|
||||
|
||||
print "</table>";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
print_barre_liste($langs->trans('ProductsIntoElements').' '.$typeElementString.' '.$button, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, '', '');
|
||||
|
||||
print '<table class="liste" width="100%">'."\n";
|
||||
|
||||
@ -688,7 +688,9 @@ if (! empty($arrayfields['p.zip']['checked'])) print_liste_field
|
||||
if (! empty($arrayfields['p.town']['checked'])) print_liste_field_titre($arrayfields['p.town']['label'], $_SERVER["PHP_SELF"], "p.town", $begin, $param, '', $sortfield, $sortorder);
|
||||
//if (! empty($arrayfields['state.nom']['checked'])) print_liste_field_titre($arrayfields['state.nom']['label'],$_SERVER["PHP_SELF"],"state.nom","",$param,'',$sortfield,$sortorder);
|
||||
//if (! empty($arrayfields['region.nom']['checked'])) print_liste_field_titre($arrayfields['region.nom']['label'],$_SERVER["PHP_SELF"],"region.nom","",$param,'',$sortfield,$sortorder);
|
||||
if (! empty($arrayfields['country.code_iso']['checked'])) print_liste_field_titre($arrayfields['country.code_iso']['label'], $_SERVER["PHP_SELF"], "co.code_iso", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['country.code_iso']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['country.code_iso']['label'], $_SERVER["PHP_SELF"], "co.code_iso", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
}
|
||||
if (! empty($arrayfields['p.phone']['checked'])) print_liste_field_titre($arrayfields['p.phone']['label'], $_SERVER["PHP_SELF"], "p.phone", $begin, $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.phone_perso']['checked'])) print_liste_field_titre($arrayfields['p.phone_perso']['label'], $_SERVER["PHP_SELF"], "p.phone_perso", $begin, $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.phone_mobile']['checked'])) print_liste_field_titre($arrayfields['p.phone_mobile']['label'], $_SERVER["PHP_SELF"], "p.phone_mobile", $begin, $param, '', $sortfield, $sortorder);
|
||||
@ -702,14 +704,27 @@ if (! empty($arrayfields['p.priv']['checked'])) print_liste_field
|
||||
// Extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
|
||||
// Hook fields
|
||||
$parameters=array('arrayfields'=>$arrayfields,'param'=>$param,'sortfield'=>$sortfield,'sortorder'=>$sortorder);
|
||||
$parameters = array(
|
||||
'arrayfields'=>$arrayfields,
|
||||
'param'=>$param,
|
||||
'sortfield'=>$sortfield,
|
||||
'sortorder'=>$sortorder,
|
||||
);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
if (! empty($arrayfields['p.datec']['checked'])) print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
if (! empty($arrayfields['p.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
if (! empty($arrayfields['p.statut']['checked'])) print_liste_field_titre($arrayfields['p.statut']['label'], $_SERVER["PHP_SELF"], "p.statut", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['p.import_key']['checked'])) print_liste_field_titre($arrayfields['p.import_key']['label'], $_SERVER["PHP_SELF"], "p.import_key", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||
if (! empty($arrayfields['p.datec']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
}
|
||||
if (! empty($arrayfields['p.tms']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
}
|
||||
if (! empty($arrayfields['p.statut']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.statut']['label'], $_SERVER["PHP_SELF"], "p.statut", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
}
|
||||
if (! empty($arrayfields['p.import_key']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.import_key']['label'], $_SERVER["PHP_SELF"], "p.import_key", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
}
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
|
||||
@ -157,13 +157,13 @@ if ($action == 'edit')
|
||||
print '</td>';
|
||||
|
||||
// Photo
|
||||
print '<td align="center" class="hideonsmartphone" valign="middle" rowspan="6">';
|
||||
print '<td class="center hideonsmartphone valignmiddle" rowspan="6">';
|
||||
print $form->showphoto('contact', $object)."\n";
|
||||
if ($object->photo) print "<br>\n";
|
||||
|
||||
print '<table class="nobordernopadding">';
|
||||
|
||||
if ($object->photo) print '<tr><td align="center"><input type="checkbox" class="flat photodelete" name="deletephoto" id="photodelete"> '.$langs->trans("Delete").'<br><br></td></tr>';
|
||||
if ($object->photo) print '<tr><td class="center"><input type="checkbox" class="flat photodelete" name="deletephoto" id="photodelete"> '.$langs->trans("Delete").'<br><br></td></tr>';
|
||||
print '<tr><td>'.$langs->trans("PhotoFile").'</td></tr>';
|
||||
print '<tr><td><input type="file" class="flat" name="photo" id="photoinput"></td></tr>';
|
||||
print '</table>';
|
||||
|
||||
@ -28,18 +28,18 @@ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php';
|
||||
*/
|
||||
class box_graph_orders_supplier_permonth extends ModeleBoxes
|
||||
{
|
||||
var $boxcode="orderssupplierpermonth";
|
||||
var $boximg="object_order";
|
||||
var $boxlabel="BoxSuppliersOrdersPerMonth";
|
||||
var $depends = array("fournisseur");
|
||||
public $boxcode="orderssupplierpermonth";
|
||||
public $boximg="object_order";
|
||||
public $boxlabel="BoxSuppliersOrdersPerMonth";
|
||||
public $depends = array("fournisseur");
|
||||
|
||||
/**
|
||||
/**
|
||||
* @var DoliDB Database handler.
|
||||
*/
|
||||
public $db;
|
||||
|
||||
var $info_box_head = array();
|
||||
var $info_box_contents = array();
|
||||
public $info_box_head = array();
|
||||
public $info_box_contents = array();
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@ -936,7 +936,7 @@ class DolGraph
|
||||
$tag=dol_escape_htmltag(dol_string_unaccent(dol_string_nospecial(basename($file), '_', array('-','.'))));
|
||||
|
||||
$this->stringtoshow ='<!-- Build using '.$this->_library.' -->'."\n";
|
||||
if (! empty($this->title)) $this->stringtoshow.='<div align="center" class="dolgraphtitle'.(empty($this->cssprefix)?'':' dolgraphtitle'.$this->cssprefix).'">'.$this->title.'</div>';
|
||||
if (! empty($this->title)) $this->stringtoshow.='<div class="center" class="dolgraphtitle'.(empty($this->cssprefix)?'':' dolgraphtitle'.$this->cssprefix).'">'.$this->title.'</div>';
|
||||
if (! empty($this->shownographyet))
|
||||
{
|
||||
$this->stringtoshow.='<div style="width:'.$this->width.'px;height:'.$this->height.'px;" class="nographyet"></div>';
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
* Copyright (C) 2015 Charles-Fr BENKE <charles.fr@benke.fr>
|
||||
* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
* Copyright (C) 2017 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -42,84 +42,138 @@ class ExtraFields
|
||||
*/
|
||||
public $db;
|
||||
|
||||
// type of element (for what object is the extrafield)
|
||||
// @deprecated
|
||||
var $attribute_elementtype;
|
||||
// Array with type of the extra field
|
||||
// @deprecated
|
||||
var $attribute_type;
|
||||
// Array with label of extra field
|
||||
// @deprecated
|
||||
var $attribute_label;
|
||||
// Array with size of extra field
|
||||
// @deprecated
|
||||
var $attribute_size;
|
||||
// array with list of possible values for some types of extra fields
|
||||
// @deprecated
|
||||
var $attribute_choice;
|
||||
// Array to store compute formula for computed fields
|
||||
// @deprecated
|
||||
var $attribute_computed;
|
||||
// Array to store default value
|
||||
// @deprecated
|
||||
var $attribute_default;
|
||||
// Array to store if attribute is unique or not
|
||||
// @deprecated
|
||||
var $attribute_unique;
|
||||
// Array to store if attribute is required or not
|
||||
// @deprecated
|
||||
var $attribute_required;
|
||||
// Array to store parameters of attribute (used in select type)
|
||||
// @deprecated
|
||||
var $attribute_param;
|
||||
// Array to store position of attribute
|
||||
// @deprecated
|
||||
var $attribute_pos;
|
||||
// Array to store if attribute is editable regardless of the document status
|
||||
// @deprecated
|
||||
var $attribute_alwayseditable;
|
||||
// Array to store permission to check
|
||||
// @deprecated
|
||||
var $attribute_perms;
|
||||
// Array to store language file to translate label of values
|
||||
// @deprecated
|
||||
var $attribute_langfile;
|
||||
// Array to store if field is visible by default on list
|
||||
// @deprecated
|
||||
var $attribute_list;
|
||||
/**
|
||||
* @var string type of element (for what object is the extrafield)
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_elementtype;
|
||||
|
||||
// New array to store extrafields definition
|
||||
var $attributes;
|
||||
/**
|
||||
* @var array Array with type of the extra field
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_type;
|
||||
|
||||
/**
|
||||
* @var array Array with label of extra field
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_label;
|
||||
|
||||
/**
|
||||
* @var array Array with size of extra field
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_size;
|
||||
|
||||
/**
|
||||
* @var array Array with list of possible values for some types of extra fields
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_choice;
|
||||
|
||||
/**
|
||||
* @var array Array to store compute formula for computed fields
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_computed;
|
||||
|
||||
/**
|
||||
* @var array Array to store default value
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_default;
|
||||
|
||||
/**
|
||||
* @var array Array to store if attribute is unique or not
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_unique;
|
||||
|
||||
/**
|
||||
* @var array Array to store if attribute is required or not
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_required;
|
||||
|
||||
/**
|
||||
* @var array Array to store parameters of attribute (used in select type)
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_param;
|
||||
|
||||
/**
|
||||
* @var array Array to store position of attribute
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_pos;
|
||||
|
||||
/**
|
||||
* @var array Array to store if attribute is editable regardless of the document status
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_alwayseditable;
|
||||
|
||||
/**
|
||||
* @var array Array to store permission to check
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_perms;
|
||||
|
||||
/**
|
||||
* @var array Array to store language file to translate label of values
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_langfile;
|
||||
|
||||
/**
|
||||
* @var array Array to store if field is visible by default on list
|
||||
* @deprecated
|
||||
*/
|
||||
public $attribute_list;
|
||||
|
||||
/**
|
||||
* @var array New array to store extrafields definition
|
||||
*/
|
||||
public $attributes;
|
||||
|
||||
/**
|
||||
* @var string Error code (or message)
|
||||
*/
|
||||
public $error='';
|
||||
|
||||
var $errno;
|
||||
/**
|
||||
* @var string[] Array of Error code (or message)
|
||||
*/
|
||||
public $errors = array();
|
||||
|
||||
/**
|
||||
* @var integer DB Error number
|
||||
*/
|
||||
public $errno;
|
||||
|
||||
|
||||
public static $type2label=array(
|
||||
'varchar'=>'String',
|
||||
'text'=>'TextLong',
|
||||
'html'=>'HtmlText',
|
||||
'int'=>'Int',
|
||||
'double'=>'Float',
|
||||
'date'=>'Date',
|
||||
'datetime'=>'DateAndTime',
|
||||
'boolean'=>'Boolean',
|
||||
'price'=>'ExtrafieldPrice',
|
||||
'phone'=>'ExtrafieldPhone',
|
||||
'mail'=>'ExtrafieldMail',
|
||||
'url'=>'ExtrafieldUrl',
|
||||
'password' => 'ExtrafieldPassword',
|
||||
'select' => 'ExtrafieldSelect',
|
||||
'sellist' => 'ExtrafieldSelectList',
|
||||
'radio' => 'ExtrafieldRadio',
|
||||
'checkbox' => 'ExtrafieldCheckBox',
|
||||
'chkbxlst' => 'ExtrafieldCheckBoxFromList',
|
||||
'link' => 'ExtrafieldLink',
|
||||
'separate' => 'ExtrafieldSeparator',
|
||||
'varchar'=>'String',
|
||||
'text'=>'TextLong',
|
||||
'html'=>'HtmlText',
|
||||
'int'=>'Int',
|
||||
'double'=>'Float',
|
||||
'date'=>'Date',
|
||||
'datetime'=>'DateAndTime',
|
||||
'boolean'=>'Boolean',
|
||||
'price'=>'ExtrafieldPrice',
|
||||
'phone'=>'ExtrafieldPhone',
|
||||
'mail'=>'ExtrafieldMail',
|
||||
'url'=>'ExtrafieldUrl',
|
||||
'password' => 'ExtrafieldPassword',
|
||||
'select' => 'ExtrafieldSelect',
|
||||
'sellist' => 'ExtrafieldSelectList',
|
||||
'radio' => 'ExtrafieldRadio',
|
||||
'checkbox' => 'ExtrafieldCheckBox',
|
||||
'chkbxlst' => 'ExtrafieldCheckBoxFromList',
|
||||
'link' => 'ExtrafieldLink',
|
||||
'separate' => 'ExtrafieldSeparator',
|
||||
);
|
||||
|
||||
|
||||
@ -131,7 +185,8 @@ class ExtraFields
|
||||
function __construct($db)
|
||||
{
|
||||
$this->db = $db;
|
||||
$this->error = array();
|
||||
$this->error = '';
|
||||
$this->errors = array();
|
||||
$this->attributes = array();
|
||||
|
||||
// For old usage
|
||||
@ -430,6 +485,7 @@ class ExtraFields
|
||||
if ($result < 0)
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->errors[]=$this->db->lasterror();
|
||||
$error++;
|
||||
}
|
||||
|
||||
@ -450,6 +506,7 @@ class ExtraFields
|
||||
if ($result < 0)
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->errors[]=$this->db->lasterror();
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
@ -1885,7 +1942,7 @@ class ExtraFields
|
||||
/**
|
||||
* Fill array_options property of object by extrafields value (using for data sent by forms)
|
||||
*
|
||||
* @param array $extralabels $array of extrafields (@deprecated)
|
||||
* @param array $extralabels Deprecated $array of extrafields
|
||||
* @param object $object Object
|
||||
* @param string $onlykey Only following key is filled. When we make update of only one extrafield ($action = 'update_extras'), calling page must must set this to avoid to have other extrafields being reset.
|
||||
* @return int 1 if array_options set, 0 if no value, -1 if error (field required missing for example)
|
||||
|
||||
@ -7,7 +7,8 @@
|
||||
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2015 Bahfir Abbes <bafbes@gmail.com>
|
||||
* Copyright (C) 2016-2017 Ferran Marcet <fmarcet@2byte.es>
|
||||
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
@ -66,11 +67,12 @@ class FormFile
|
||||
* @param int $addcancel 1=Add 'Cancel' button
|
||||
* @param int $sectionid If upload must be done inside a particular ECM section (is sectionid defined, sectiondir must not be)
|
||||
* @param int $perm Value of permission to allow upload
|
||||
* @param int $size Length of input file area. Deprecated.
|
||||
* @param int $size Length of input file area. Deprecated.
|
||||
* @param Object $object Object to use (when attachment is done on an element)
|
||||
* @param string $options Add an option column
|
||||
* @param integer $useajax Use fileupload ajax (0=never, 1=if enabled, 2=always whatever is option). @deprecated 2 should never be used and if 1 is used, option should no be enabled.
|
||||
* @param string $savingdocmask Mask to use to define output filename. For example 'XXXXX-__YYYYMMDD__-__file__'
|
||||
* @param integer $useajax Use fileupload ajax (0=never, 1=if enabled, 2=always whatever is option).
|
||||
* Deprecated 2 should never be used and if 1 is used, option should no be enabled.
|
||||
* @param string $savingdocmask Mask to use to define output filename. For example 'XXXXX-__YYYYMMDD__-__file__'
|
||||
* @param integer $linkfiles 1=Also add form to link files, 0=Do not show form to link files
|
||||
* @param string $htmlname Name and id of HTML form ('formuserfile' by default, 'formuserfileecm' when used to upload a file in ECM)
|
||||
* @param string $accept Specifies the types of files accepted (This is not a security check but an user interface facility. eg '.pdf,image/*' or '.png,.jpg' or 'video/*')
|
||||
@ -83,6 +85,10 @@ class FormFile
|
||||
global $conf,$langs, $hookmanager;
|
||||
$hookmanager->initHooks(array('formfile'));
|
||||
|
||||
// Deprecation warning
|
||||
if ($useajax == 2) {
|
||||
dol_syslog(__METHOD__ . ": using 2 for useajax is deprecated and should be not used", LOG_WARNING);
|
||||
}
|
||||
|
||||
if (! empty($conf->browser->layout) && $conf->browser->layout != 'classic') $useajax=0;
|
||||
|
||||
@ -271,7 +277,7 @@ class FormFile
|
||||
* @param string $modulesubdir Existing (so sanitized) sub-directory to scan (Example: '0/1/10', 'FA/DD/MM/YY/9999'). Use '' if file is not into subdir of module.
|
||||
* @param string $filedir Directory to scan
|
||||
* @param string $urlsource Url of origin page (for return)
|
||||
* @param int $genallowed Generation is allowed (1/0 or array list of templates)
|
||||
* @param int|string[] $genallowed Generation is allowed (1/0 or array list of templates)
|
||||
* @param int $delallowed Remove is allowed (1/0)
|
||||
* @param string $modelselected Model to preselect by default
|
||||
* @param integer $allowgenifempty Allow generation even if list of template ($genallowed) is empty (show however a warning)
|
||||
|
||||
@ -541,7 +541,7 @@ function ajax_constantonoff($code, $input = array(), $entity = null, $revertonof
|
||||
/**
|
||||
* On/off button for object
|
||||
*
|
||||
* @param int $object Id product to set
|
||||
* @param Object $object Object to set
|
||||
* @param string $code Name of constant : status or status_buy for product by example
|
||||
* @param string $field Name of database field : tosell or tobuy for product by example
|
||||
* @param string $text_on Text if on
|
||||
|
||||
@ -1266,27 +1266,31 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Ticket') $sql.= ", ".MAIN_DB_PREFIX."ticket as o";
|
||||
|
||||
$sql.= " WHERE a.entity IN (".getEntity('agenda').")";
|
||||
if (is_object($filterobj) && in_array(get_class($filterobj), array('Societe', 'Client', 'Fournisseur')) && $filterobj->id) $sql.= " AND a.fk_soc = ".$filterobj->id;
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Project' && $filterobj->id) $sql.= " AND a.fk_project = ".$filterobj->id;
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Adherent')
|
||||
{
|
||||
$sql.= " AND a.fk_element = m.rowid AND a.elementtype = 'member'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
}
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'CommandeFournisseur')
|
||||
{
|
||||
$sql.= " AND a.fk_element = o.rowid AND a.elementtype = 'order_supplier'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
}
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Product')
|
||||
{
|
||||
$sql.= " AND a.fk_element = o.rowid AND a.elementtype = 'product'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
}
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Ticket')
|
||||
{
|
||||
$sql.= " AND a.fk_element = o.rowid AND a.elementtype = 'ticket'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
if (is_object($objcon) && $objcon->id) {
|
||||
$sql.= " AND a.fk_contact = ".$objcon->id;
|
||||
} else {
|
||||
if (is_object($filterobj) && in_array(get_class($filterobj), array('Societe', 'Client', 'Fournisseur')) && $filterobj->id) $sql.= " AND a.fk_soc = ".$filterobj->id;
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Project' && $filterobj->id) $sql.= " AND a.fk_project = ".$filterobj->id;
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Adherent')
|
||||
{
|
||||
$sql.= " AND a.fk_element = m.rowid AND a.elementtype = 'member'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
}
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'CommandeFournisseur')
|
||||
{
|
||||
$sql.= " AND a.fk_element = o.rowid AND a.elementtype = 'order_supplier'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
}
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Product')
|
||||
{
|
||||
$sql.= " AND a.fk_element = o.rowid AND a.elementtype = 'product'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
}
|
||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Ticket')
|
||||
{
|
||||
$sql.= " AND a.fk_element = o.rowid AND a.elementtype = 'ticket'";
|
||||
if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id;
|
||||
}
|
||||
}
|
||||
|
||||
// Condition on actioncode
|
||||
@ -1378,7 +1382,8 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
||||
}
|
||||
|
||||
// Add also event from emailings. TODO This should be replaced by an automatic event ? May be it's too much for very large emailing.
|
||||
if (! empty($conf->mailing->enabled) && ! empty($objcon->email))
|
||||
if (! empty($conf->mailing->enabled) && ! empty($objcon->email)
|
||||
&& (empty($actioncode) || $actioncode == 'AC_OTH_AUTO' || $actioncode == 'AC_EMAILING'))
|
||||
{
|
||||
$langs->load("mails");
|
||||
|
||||
@ -1528,7 +1533,13 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
||||
|
||||
// Ref
|
||||
$out.='<td class="nowrap">';
|
||||
$out.=$actionstatic->getNomUrl(1, -1);
|
||||
if (isset($histo[$key]['type']) && $histo[$key]['type']=='mailing') {
|
||||
$out.='<a href="'.DOL_URL_ROOT.'/comm/mailing/card.php?id='.$histo[$key]['id'].'">'.img_object($langs->trans("ShowEMailing"), "email").' ';
|
||||
$out.=$histo[$key]['id'];
|
||||
$out.='</a>';
|
||||
} else {
|
||||
$out.=$actionstatic->getNomUrl(1, -1);
|
||||
}
|
||||
$out.='</td>';
|
||||
|
||||
// Author of event
|
||||
|
||||
@ -2017,30 +2017,30 @@ function cleanCorruptedTree($db, $tabletocleantree, $fieldfkparent)
|
||||
/**
|
||||
* Get an array with properties of an element
|
||||
*
|
||||
* @param string $element_type Element type: 'action', 'facture', 'project_task' or 'object@modulext'...
|
||||
* @return array (module, classpath, element, subelement, classfile, classname)
|
||||
* @param string $element_type Element type: 'action', 'facture', 'project_task' or 'object@modulext'...
|
||||
* @return array (module, classpath, element, subelement, classfile, classname)
|
||||
*/
|
||||
function getElementProperties($element_type)
|
||||
{
|
||||
// Parse element/subelement (ex: project_task)
|
||||
$module = $element = $subelement = $element_type;
|
||||
$module = $element_type;
|
||||
$element = $element_type;
|
||||
$subelement = $element_type;
|
||||
|
||||
// If we ask an resource form external module (instead of default path)
|
||||
if (preg_match('/^([^@]+)@([^@]+)$/i', $element_type, $regs))
|
||||
{
|
||||
if (preg_match('/^([^@]+)@([^@]+)$/i', $element_type, $regs)) {
|
||||
$element = $subelement = $regs[1];
|
||||
$module = $regs[2];
|
||||
$module = $regs[2];
|
||||
}
|
||||
|
||||
//print '<br>1. element : '.$element.' - module : '.$module .'<br>';
|
||||
if ( preg_match('/^([^_]+)_([^_]+)/i', $element, $regs))
|
||||
{
|
||||
if ( preg_match('/^([^_]+)_([^_]+)/i', $element, $regs)) {
|
||||
$module = $element = $regs[1];
|
||||
$subelement = $regs[2];
|
||||
}
|
||||
|
||||
// For compat
|
||||
if($element_type == "action") {
|
||||
if ($element_type == "action") {
|
||||
$classpath = 'comm/action/class';
|
||||
$subelement = 'Actioncomm';
|
||||
$module = 'agenda';
|
||||
@ -2049,13 +2049,13 @@ function getElementProperties($element_type)
|
||||
// To work with non standard path
|
||||
if ($element_type == 'facture' || $element_type == 'invoice') {
|
||||
$classpath = 'compta/facture/class';
|
||||
$module='facture';
|
||||
$subelement='facture';
|
||||
$module ='facture';
|
||||
$subelement = 'facture';
|
||||
}
|
||||
if ($element_type == 'commande' || $element_type == 'order') {
|
||||
$classpath = 'commande/class';
|
||||
$module='commande';
|
||||
$subelement='commande';
|
||||
$module = 'commande';
|
||||
$subelement = 'commande';
|
||||
}
|
||||
if ($element_type == 'propal') {
|
||||
$classpath = 'comm/propal/class';
|
||||
@ -2142,8 +2142,7 @@ function getElementProperties($element_type)
|
||||
*/
|
||||
function fetchObjectByElement($element_id, $element_type, $element_ref = '')
|
||||
{
|
||||
global $conf;
|
||||
global $db,$conf;
|
||||
global $conf, $db;
|
||||
|
||||
$element_prop = getElementProperties($element_type);
|
||||
if (is_array($element_prop) && $conf->{$element_prop['module']}->enabled)
|
||||
@ -2260,6 +2259,9 @@ function getModuleDirForApiClass($module)
|
||||
elseif ($module == 'adherent' || $module == 'members' || $module == 'memberstypes' || $module == 'subscriptions') {
|
||||
$moduledirforclass = 'adherents';
|
||||
}
|
||||
elseif ($module == 'don' || $module == 'donations') {
|
||||
$moduledirforclass = 'don';
|
||||
}
|
||||
elseif ($module == 'banque' || $module == 'bankaccounts') {
|
||||
$moduledirforclass = 'compta/bank';
|
||||
}
|
||||
@ -2270,7 +2272,7 @@ function getModuleDirForApiClass($module)
|
||||
$moduledirforclass = 'commande';
|
||||
}
|
||||
elseif ($module == 'shipments') {
|
||||
$moduledirforclass = 'expedition';
|
||||
$moduledirforclass = 'expedition';
|
||||
}
|
||||
elseif ($module == 'facture' || $module == 'invoice' || $module == 'invoices') {
|
||||
$moduledirforclass = 'compta/facture';
|
||||
|
||||
@ -36,14 +36,12 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
class pdf_ban extends ModeleBankAccountDoc
|
||||
{
|
||||
/**
|
||||
* Issuer
|
||||
* @var Societe
|
||||
* @var Societe Issuer
|
||||
*/
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string Dolibarr version of the loaded document
|
||||
*/
|
||||
public $version = 'development';
|
||||
|
||||
|
||||
@ -53,8 +53,7 @@ class doc_generic_order_odt extends ModelePDFCommandes
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string Dolibarr version of the loaded document
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -45,14 +45,14 @@ class doc_generic_contract_odt extends ModelePDFContract
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -47,14 +47,14 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -61,14 +61,14 @@ class pdf_standard extends ModeleExpenseReport
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -46,14 +46,14 @@ class doc_generic_invoice_odt extends ModelePDFFactures
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -69,14 +69,14 @@ class pdf_crabe extends ModelePDFFactures
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -76,7 +76,7 @@ class pdf_sponge extends ModelePDFFactures
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'development';
|
||||
|
||||
|
||||
@ -59,14 +59,14 @@ class pdf_soleil extends ModelePDFFicheinter
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -60,14 +60,14 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (C) 2014-2018 Frederic France <frederic.france@netlogic.fr>
|
||||
* Copyright (C) 2014-2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -95,7 +95,7 @@ class printing_printgcp extends PrintingDriver
|
||||
$storage = new DoliStorage($this->db, $this->conf);
|
||||
//$storage->clearToken($this->OAUTH_SERVICENAME_GOOGLE);
|
||||
// Setup the credentials for the requests
|
||||
$credentials = new Credentials(
|
||||
$credentials = new Credentials(
|
||||
$this->google_id,
|
||||
$this->google_secret,
|
||||
$urlwithroot.'/core/modules/oauth/google_oauthcallback.php'
|
||||
@ -234,6 +234,7 @@ class printing_printgcp extends PrintingDriver
|
||||
*/
|
||||
public function getlistAvailablePrinters()
|
||||
{
|
||||
$ret = array();
|
||||
// Token storage
|
||||
$storage = new DoliStorage($this->db, $this->conf);
|
||||
// Setup the credentials for the requests
|
||||
@ -335,8 +336,9 @@ class printing_printgcp extends PrintingDriver
|
||||
return $error;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dol_print_error($this->db);
|
||||
}
|
||||
else dol_print_error($this->db);
|
||||
|
||||
$ret = $this->sendPrintToPrinter($printer_id, $file, $fileprint, $mimetype);
|
||||
$this->error = 'PRINTGCP: '.$ret['errormessage'];
|
||||
@ -358,7 +360,7 @@ class printing_printgcp extends PrintingDriver
|
||||
public function sendPrintToPrinter($printerid, $printjobtitle, $filepath, $contenttype)
|
||||
{
|
||||
// Check if printer id
|
||||
if(empty($printerid)) {
|
||||
if (empty($printerid)) {
|
||||
return array('status' =>0, 'errorcode' =>'','errormessage'=>'No provided printer ID');
|
||||
}
|
||||
// Open the file which needs to be print
|
||||
|
||||
@ -44,14 +44,14 @@ class doc_generic_product_odt extends ModelePDFProduct
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -57,14 +57,14 @@ class pdf_standard extends ModelePDFProduct
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -61,14 +61,14 @@ class doc_generic_project_odt extends ModelePDFProjects
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -59,14 +59,14 @@ class pdf_baleine extends ModelePDFProjects
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -38,23 +38,21 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php';
|
||||
*/
|
||||
class doc_generic_proposal_odt extends ModelePDFPropales
|
||||
{
|
||||
/**
|
||||
* Issuer
|
||||
* @var Company object that emits
|
||||
*/
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
/**
|
||||
* @var Company Issuer object that emits
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* @var string Dolibarr version of the loaded document
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
/**
|
||||
@ -369,7 +367,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->propal->multidir_temp[$object->entity],
|
||||
|
||||
@ -67,14 +67,14 @@ class pdf_azur extends ModelePDFPropales
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -41,22 +41,25 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php';
|
||||
*/
|
||||
class pdf_cyan extends ModelePDFPropales
|
||||
{
|
||||
public $db;
|
||||
/**
|
||||
* @var DoliDb Database handler
|
||||
*/
|
||||
public $db;
|
||||
public $name;
|
||||
public $description;
|
||||
public $update_main_doc_field; // Save the name of generated file as the main doc when generating a doc with this template
|
||||
public $type;
|
||||
|
||||
public $phpmin = array(4,3,0); // Minimum version of PHP required by module
|
||||
public $phpmin = array(5, 4); // Minimum version of PHP required by module
|
||||
public $version = 'development';
|
||||
|
||||
public $page_largeur;
|
||||
public $page_hauteur;
|
||||
public $format;
|
||||
public $marge_gauche;
|
||||
public $marge_droite;
|
||||
public $marge_haute;
|
||||
public $marge_basse;
|
||||
public $marge_droite;
|
||||
public $marge_haute;
|
||||
public $marge_basse;
|
||||
|
||||
public $emetteur; // Objet societe qui emet
|
||||
|
||||
|
||||
@ -1,20 +1,21 @@
|
||||
<?php
|
||||
/* Copyright (C) 2018 Quentin Vial-Gouteyron <quentin.vial-gouteyron@atm-consulting.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* or see http://www.gnu.org/
|
||||
*/
|
||||
/* Copyright (C) 2018 Quentin Vial-Gouteyron <quentin.vial-gouteyron@atm-consulting.fr>
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* or see http://www.gnu.org/
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php
|
||||
@ -35,10 +36,21 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php';
|
||||
*/
|
||||
class doc_generic_reception_odt extends ModelePdfReception
|
||||
{
|
||||
var $emetteur; // Objet societe qui emet
|
||||
/**
|
||||
* @var Company Issuer object that emits
|
||||
*/
|
||||
public $emetteur; // Objet societe qui emet
|
||||
|
||||
var $phpmin = array(5,2,0); // Minimum version of PHP required by module
|
||||
var $version = 'dolibarr';
|
||||
/**
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4); // Minimum version of PHP required by module
|
||||
|
||||
/**
|
||||
* @var string Dolibarr version of the loaded document
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
/**
|
||||
@ -318,7 +330,7 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
// Open and load template
|
||||
require_once ODTPHP_PATH.'odf.php';
|
||||
try {
|
||||
$odfHandler = new odf(
|
||||
$odfHandler = new odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->reception->dir_temp,
|
||||
@ -343,10 +355,9 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
// Make substitutions into odt of freetext
|
||||
try {
|
||||
$odfHandler->setVars('free_text', $newfreetext, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
} catch(OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
|
||||
// Make substitutions into odt of user info
|
||||
$tmparray=$this->get_substitutionarray_user($user, $outputlangs);
|
||||
@ -364,9 +375,8 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
{
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
} catch(OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
// Make substitutions into odt of mysoc
|
||||
@ -385,9 +395,8 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
{
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
} catch(OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
// Make substitutions into odt of thirdparty
|
||||
@ -404,9 +413,8 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
{
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
} catch(OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
// Replace tags of object + external modules
|
||||
@ -427,9 +435,8 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
{
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
} catch(OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
// Replace tags of lines
|
||||
@ -445,15 +452,12 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
$reshook=$hookmanager->executeHooks('ODTSubstitutionLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks
|
||||
foreach($tmparray as $key => $val)
|
||||
{
|
||||
try
|
||||
{
|
||||
try {
|
||||
$listlines->setVars($key, $val, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
}
|
||||
catch(SegmentException $e)
|
||||
{
|
||||
} catch(OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
} catch(SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
$listlines->merge();
|
||||
@ -473,9 +477,8 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
{
|
||||
try {
|
||||
$odfHandler->setVars($key, $value, true, 'UTF-8');
|
||||
}
|
||||
catch(OdfException $e)
|
||||
{
|
||||
} catch(OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -487,7 +490,7 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
if (!empty($conf->global->MAIN_ODT_AS_PDF)) {
|
||||
try {
|
||||
$odfHandler->exportAsAttachedPDF($file);
|
||||
}catch (Exception $e){
|
||||
} catch (Exception $e){
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
@ -495,7 +498,7 @@ class doc_generic_reception_odt extends ModelePdfReception
|
||||
else {
|
||||
try {
|
||||
$odfHandler->saveToDisk($file);
|
||||
}catch (Exception $e){
|
||||
} catch (Exception $e){
|
||||
$this->error=$e->getMessage();
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
*/
|
||||
abstract class ModelePdfReception extends CommonDocGenerator
|
||||
{
|
||||
var $error='';
|
||||
public $error='';
|
||||
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
|
||||
|
||||
@ -43,7 +43,7 @@ class doc_generic_odt extends ModeleThirdPartyDoc
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
@ -43,15 +43,15 @@ class doc_generic_stock_odt extends ModelePDFStock
|
||||
*/
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
/**
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -57,14 +57,14 @@ class pdf_standard extends ModelePDFStock
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -58,14 +58,14 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
@ -105,8 +105,7 @@ class pdf_stdmovement extends ModelePDFMovement
|
||||
public $marge_basse;
|
||||
|
||||
/**
|
||||
* Issuer
|
||||
* @var Societe
|
||||
* @var Societe Issuer
|
||||
*/
|
||||
public $emetteur;
|
||||
|
||||
|
||||
@ -58,14 +58,14 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -62,14 +62,14 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -59,14 +59,14 @@ class pdf_standard extends ModelePDFSuppliersPayments
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -45,14 +45,14 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -59,14 +59,14 @@ class pdf_aurore extends ModelePDFSupplierProposal
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
@ -37,21 +37,20 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php';
|
||||
class doc_generic_user_odt extends ModelePDFUser
|
||||
{
|
||||
/**
|
||||
* Issuer
|
||||
* @var Societe
|
||||
* @var Societe Issuer
|
||||
*/
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
*/
|
||||
* Dolibarr version of the loaded document
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
|
||||
|
||||
@ -45,14 +45,14 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup
|
||||
public $emetteur;
|
||||
|
||||
/**
|
||||
* @var array() Minimum version of PHP required by module.
|
||||
* @var array Minimum version of PHP required by module.
|
||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
||||
*/
|
||||
*/
|
||||
public $phpmin = array(5, 4);
|
||||
|
||||
/**
|
||||
* Dolibarr version of the loaded document
|
||||
* @public string
|
||||
* @var string
|
||||
*/
|
||||
public $version = 'dolibarr';
|
||||
|
||||
@ -67,7 +67,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup
|
||||
global $conf, $langs, $mysoc;
|
||||
|
||||
// Load translation files required by the page
|
||||
$langs->loadLangs(array("main","companies"));
|
||||
$langs->loadLangs(array("main","companies"));
|
||||
|
||||
$this->db = $db;
|
||||
$this->name = "ODT templates";
|
||||
|
||||
@ -541,7 +541,7 @@ print '<script type="text/javascript" language="javascript">
|
||||
print load_fiche_titre($langs->trans("ToClearAllRecipientsClickHere"));
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td class="liste_titre" align="right"><input type="submit" class="button" value="' . $langs->trans("TargetsReset") . '"></td>';
|
||||
print '<td class="liste_titre right"><input type="submit" class="button" value="' . $langs->trans("TargetsReset") . '"></td>';
|
||||
print '</tr>';
|
||||
print '</table>';
|
||||
print '</form>';
|
||||
|
||||
@ -48,7 +48,7 @@ print $doleditor->Create(1);
|
||||
|
||||
print '</td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print '<input type="submit" class="button" value="'.$langs->trans("Add").'">';
|
||||
print '</td></tr>';
|
||||
print '</table></form>';
|
||||
|
||||
@ -175,11 +175,11 @@ if ($permission) {
|
||||
?>
|
||||
|
||||
<form class="tagtr oddeven <?php echo ($var?'impair':'pair') ?>">
|
||||
<div class="tagtd" align="left">
|
||||
<div class="tagtd left">
|
||||
<?php if ($tab[$i]['source']=='internal') echo $langs->trans("User"); ?>
|
||||
<?php if ($tab[$i]['source']=='external') echo $langs->trans("ThirdPartyContact"); ?>
|
||||
</div>
|
||||
<div class="tagtd" align="left">
|
||||
<div class="tagtd left">
|
||||
<?php
|
||||
if ($tab[$i]['socid'] > 0)
|
||||
{
|
||||
|
||||
@ -20,7 +20,7 @@ if (! empty($extrafieldsobjectkey)) // $extrafieldsobject is the $object->table_
|
||||
{
|
||||
$align=$extrafields->getAlignFlag($key, $extrafieldsobjectkey);
|
||||
print '<td';
|
||||
if ($align) print ' align="'.$align.'"';
|
||||
if ($align) print ' class="'.$align.'"';
|
||||
print '>';
|
||||
$tmpkey='options_'.$key;
|
||||
if (in_array($extrafields->attributes[$extrafieldsobjectkey]['type'][$key], array('date', 'datetime', 'timestamp')) && !is_numeric($obj->$tmpkey))
|
||||
|
||||
@ -10,10 +10,10 @@ if (empty($conf) || ! is_object($conf))
|
||||
// Loop to complete $param for extrafields
|
||||
if (! empty($search_array_options)) // $extrafieldsobject is the $object->table_element like 'societe', 'socpeople', ...
|
||||
{
|
||||
foreach ($search_array_options as $key => $val)
|
||||
{
|
||||
$crit=$val;
|
||||
$tmpkey=preg_replace('/search_options_/', '', $key);
|
||||
if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val);
|
||||
}
|
||||
foreach ($search_array_options as $key => $val)
|
||||
{
|
||||
$crit=$val;
|
||||
$tmpkey=preg_replace('/search_options_/', '', $key);
|
||||
if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val);
|
||||
}
|
||||
}
|
||||
|
||||
@ -122,7 +122,7 @@ if (empty($reshook) && is_array($extrafields->attributes[$object->table_element]
|
||||
{
|
||||
$fieldid='id';
|
||||
if ($object->table_element == 'societe') $fieldid='socid';
|
||||
print '<td align="right"><a class="reposition" href="' . $_SERVER['PHP_SELF'] . '?'.$fieldid.'=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_edit().'</a></td>';
|
||||
print '<td class="right"><a class="reposition" href="' . $_SERVER['PHP_SELF'] . '?'.$fieldid.'=' . $object->id . '&action=edit_extras&attribute=' . $key . '">' . img_edit().'</a></td>';
|
||||
}
|
||||
print '</tr></table>';
|
||||
print '</td>';
|
||||
|
||||
@ -149,7 +149,7 @@ if (empty($action) || $action == 'editfile' || $action == 'file_manager' || preg
|
||||
|
||||
print '<!-- Title for manual directories -->'."\n";
|
||||
print '<tr class="liste_titre">'."\n";
|
||||
print '<th class="liste_titre" align="left">';
|
||||
print '<th class="liste_titre left">';
|
||||
print ' '.$langs->trans("ECMSections");
|
||||
print '</th></tr>';
|
||||
|
||||
|
||||
@ -143,7 +143,7 @@ $coldisplay=-1; // We remove first td
|
||||
|
||||
$coldisplay++;
|
||||
if ($line->fk_prev_id == null) {
|
||||
print '<td align="right">' . $form->load_tva('tva_tx', $line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''), $seller, $buyer, 0, $line->info_bits, $line->product_type, false, 1) . '</td>';
|
||||
print '<td class="right">' . $form->load_tva('tva_tx', $line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''), $seller, $buyer, 0, $line->info_bits, $line->product_type, false, 1) . '</td>';
|
||||
} else {
|
||||
print '<td class="right"><input size="1" type="text" class="flat right" name="tva_tx" value="' . price($line->tva_tx) . '" readonly />%</td>';
|
||||
}
|
||||
|
||||
@ -30,16 +30,16 @@ if (empty($conf) || ! is_object($conf))
|
||||
print '<tr class="oddeven'.(empty($this->tpl['strike'])?'':' strikefordisabled').'">';
|
||||
print '<td>'.$this->tpl['label'].'</td>';
|
||||
print '<td>'.$this->tpl['description'].'</td>';
|
||||
print '<td align="right">'.$this->tpl['vat_rate'].'</td>';
|
||||
print '<td align="right">'.$this->tpl['price'].'</td>';
|
||||
print '<td class="right">'.$this->tpl['vat_rate'].'</td>';
|
||||
print '<td class="right">'.$this->tpl['price'].'</td>';
|
||||
if (!empty($conf->multicurrency->enabled))
|
||||
print '<td align="right">'.$this->tpl['multicurrency_price'].'</td>';
|
||||
print '<td class="right">'.$this->tpl['multicurrency_price'].'</td>';
|
||||
|
||||
print '<td align="right">'.$this->tpl['qty'].'</td>';
|
||||
print '<td class="right">'.$this->tpl['qty'].'</td>';
|
||||
if($conf->global->PRODUCT_USE_UNITS)
|
||||
print '<td class="left">'.$langs->trans($this->tpl['unit']).'</td>';
|
||||
|
||||
print '<td align="right">'.$this->tpl['remise_percent'].'</td>';
|
||||
print '<td class="right">'.$this->tpl['remise_percent'].'</td>';
|
||||
print '</tr>'."\n";
|
||||
?>
|
||||
<!-- END PHP TEMPLATE originproductline.tpl.php -->
|
||||
|
||||
@ -165,7 +165,7 @@ if (! empty($morelogincontent)) {
|
||||
<br><input type="submit" <?php echo $disabled; ?> class="button" name="button_password" value="<?php echo $langs->trans('SendNewPassword'); ?>" tabindex="4" />
|
||||
|
||||
<br>
|
||||
<div align="center" style="margin-top: 15px;">
|
||||
<div class="center" style="margin-top: 15px;">
|
||||
<?php
|
||||
$moreparam='';
|
||||
if (! empty($conf->dol_hide_topmenu)) $moreparam.=(strpos($moreparam, '?')===false?'?':'&').'dol_hide_topmenu='.$conf->dol_hide_topmenu;
|
||||
|
||||
@ -34,7 +34,7 @@ $out .= '</div>';
|
||||
$out .= '<div class="tagtd"><label>'.$langs->trans('Busy').'</label> '.$form->selectyesno('busy', (isset($_POST['busy'])?$_POST['busy']:1), 1).'</div>';
|
||||
$out .= '<div class="tagtd"><label>'.$langs->trans('Mandatory').'</label> '.$form->selectyesno('mandatory', (isset($_POST['mandatory'])?$_POST['mandatory']:0), 1).'</div>';
|
||||
|
||||
$out .= '<div class="tagtd" align="right">';
|
||||
$out .= '<div class="tagtd right">';
|
||||
$out .='<input type="submit" id="add-resource-place" class="button" value="'.$langs->trans("Add").'"/>';
|
||||
$out .= '</div>';
|
||||
|
||||
|
||||
@ -18,8 +18,8 @@ if($mode == 'edit' )
|
||||
print '<form class="tagtr liste_titre">';
|
||||
print '<div class="tagtd liste_titre">'.$langs->trans('Resource').'</div>';
|
||||
print '<div class="tagtd liste_titre">'.$langs->trans('Type').'</div>';
|
||||
print '<div class="tagtd liste_titre" align="center">'.$langs->trans('Busy').'</div>';
|
||||
print '<div class="tagtd liste_titre" align="center">'.$langs->trans('Mandatory').'</div>';
|
||||
print '<div class="tagtd liste_titre center">'.$langs->trans('Busy').'</div>';
|
||||
print '<div class="tagtd liste_titre center">'.$langs->trans('Mandatory').'</div>';
|
||||
print '<div class="tagtd liste_titre"></div>';
|
||||
print '</form>';
|
||||
}
|
||||
@ -28,8 +28,8 @@ else
|
||||
print '<form class="tagtr liste_titre">';
|
||||
print '<div class="tagtd liste_titre">'.$langs->trans('Resource').'</div>';
|
||||
print '<div class="tagtd liste_titre">'.$langs->trans('Type').'</div>';
|
||||
print '<div class="tagtd liste_titre" align="center">'.$langs->trans('Busy').'</div>';
|
||||
print '<div class="tagtd liste_titre" align="center">'.$langs->trans('Mandatory').'</div>';
|
||||
print '<div class="tagtd liste_titre center">'.$langs->trans('Busy').'</div>';
|
||||
print '<div class="tagtd liste_titre center">'.$langs->trans('Mandatory').'</div>';
|
||||
print '<div class="tagtd liste_titre"></div>';
|
||||
print '</form>';
|
||||
}
|
||||
@ -56,9 +56,9 @@ if( (array) $linked_resources && count($linked_resources) > 0)
|
||||
|
||||
print '<div class="tagtd">'.$object_resource->getNomUrl(1).'</div>';
|
||||
print '<div class="tagtd">'.$object_resource->type_label.'</div>';
|
||||
print '<div class="tagtd" align="center">'.$form->selectyesno('busy', $linked_resource['busy']?1:0, 1).'</div>';
|
||||
print '<div class="tagtd" align="center">'.$form->selectyesno('mandatory', $linked_resource['mandatory']?1:0, 1).'</div>';
|
||||
print '<div class="tagtd" align="right"><input type="submit" class="button" value="'.$langs->trans("Update").'"></div>';
|
||||
print '<div class="tagtd center">'.$form->selectyesno('busy', $linked_resource['busy']?1:0, 1).'</div>';
|
||||
print '<div class="tagtd center">'.$form->selectyesno('mandatory', $linked_resource['mandatory']?1:0, 1).'</div>';
|
||||
print '<div class="tagtd right"><input type="submit" class="button" value="'.$langs->trans("Update").'"></div>';
|
||||
print '</form>';
|
||||
}
|
||||
else
|
||||
@ -77,15 +77,15 @@ if( (array) $linked_resources && count($linked_resources) > 0)
|
||||
print $object_resource->type_label;
|
||||
print '</div>';
|
||||
|
||||
print '<div class="tagtd" align="center">';
|
||||
print '<div class="tagtd center">';
|
||||
print yn($linked_resource['busy']);
|
||||
print '</div>';
|
||||
|
||||
print '<div class="tagtd" align="center">';
|
||||
print '<div class="tagtd center">';
|
||||
print yn($linked_resource['mandatory']);
|
||||
print '</div>';
|
||||
|
||||
print '<div class="tagtd" align="right">';
|
||||
print '<div class="tagtd right">';
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?mode=edit&resource_type='.$linked_resource['resource_type'].'&element='.$element.'&element_id='.$element_id.'&lineid='.$linked_resource['rowid'].'">';
|
||||
print img_edit();
|
||||
print '</a>';
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file datapolicy/admin/setup.php
|
||||
* \file htdocs/datapolicy/admin/setup.php
|
||||
* \ingroup datapolicy
|
||||
* \brief datapolicy setup page.
|
||||
*/
|
||||
@ -25,7 +25,6 @@
|
||||
require '../../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT . "/core/lib/admin.lib.php";
|
||||
require_once '../lib/datapolicy.lib.php';
|
||||
//require_once "../class/myclass.class.php";
|
||||
|
||||
// Translations
|
||||
$langs->load('admin');
|
||||
@ -61,22 +60,22 @@ $arrayofparameters=array(
|
||||
|
||||
include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php';
|
||||
|
||||
if (DOL_VERSION < '7' && $action == 'update') {
|
||||
foreach ($arrayofparameters as $k => $v) {
|
||||
$res = dolibarr_set_const($db, $k, GETPOST($k), 'chaine', 0, '', $conf->entity);
|
||||
if (! $res > 0) $error++;
|
||||
}
|
||||
if (! $error)
|
||||
{
|
||||
$db->commit();
|
||||
if (empty($nomessageinsetmoduleoptions)) setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->rollback();
|
||||
if (empty($nomessageinsetmoduleoptions)) setEventMessages($langs->trans("SetupNotSaved"), null, 'errors');
|
||||
}
|
||||
}
|
||||
// if (DOL_VERSION < '7' && $action == 'update') {
|
||||
// foreach ($arrayofparameters as $k => $v) {
|
||||
// $res = dolibarr_set_const($db, $k, GETPOST($k), 'chaine', 0, '', $conf->entity);
|
||||
// if (! $res > 0) $error++;
|
||||
// }
|
||||
// if (! $error)
|
||||
// {
|
||||
// $db->commit();
|
||||
// if (empty($nomessageinsetmoduleoptions)) setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// $db->rollback();
|
||||
// if (empty($nomessageinsetmoduleoptions)) setEventMessages($langs->trans("SetupNotSaved"), null, 'errors');
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
$arrayofparameters=array(
|
||||
@ -108,8 +107,8 @@ $valTab = array(
|
||||
'48' => $langs->trans('NB_YEARS', 4),
|
||||
'60' => $langs->trans('NB_YEARS', 5),
|
||||
'120' => $langs->trans('NB_YEARS', 10),
|
||||
'180' => $langs->trans('NB_YEARS', 15),
|
||||
'240' => $langs->trans('NB_YEARS', 20),
|
||||
'180' => $langs->trans('NB_YEARS', 15),
|
||||
'240' => $langs->trans('NB_YEARS', 20),
|
||||
);
|
||||
|
||||
|
||||
@ -135,15 +134,15 @@ echo '<span class="opacitymedium">'.$langs->trans("datapolicySetupPage").'</span
|
||||
|
||||
if ($action == 'edit')
|
||||
{
|
||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="update">';
|
||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="update">';
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
|
||||
foreach($arrayofparameters as $title => $tab)
|
||||
{
|
||||
foreach($arrayofparameters as $title => $tab)
|
||||
{
|
||||
print '<tr class="liste_titre"><td class="titlefield" colspan="2">'.$langs->trans($title).'</td></tr>';
|
||||
foreach($tab as $key => $val)
|
||||
{
|
||||
@ -159,21 +158,19 @@ if ($action == 'edit')
|
||||
print '</select>';
|
||||
print '</td></tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
print '</table>';
|
||||
|
||||
print '<br><div class="center">';
|
||||
print '<input class="button" type="submit" value="'.$langs->trans("Save").'">';
|
||||
print '</div>';
|
||||
print '<br><div class="center">';
|
||||
print '<input class="button" type="submit" value="'.$langs->trans("Save").'">';
|
||||
print '</div>';
|
||||
|
||||
print '</form>';
|
||||
print '<br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
print '</form>';
|
||||
print '<br>';
|
||||
} else {
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
|
||||
foreach($arrayofparameters as $title => $tab)
|
||||
{
|
||||
@ -186,11 +183,11 @@ else
|
||||
}
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
print '</table>';
|
||||
|
||||
print '<div class="tabsAction">';
|
||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>';
|
||||
print '</div>';
|
||||
print '<div class="tabsAction">';
|
||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=edit">'.$langs->trans("Modify").'</a>';
|
||||
print '</div>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -293,12 +293,12 @@ class ActionsDatapolicy
|
||||
/**
|
||||
* Execute action
|
||||
*
|
||||
* @param array $parameters Array of parameters
|
||||
* @param Object $object Object output on PDF
|
||||
* @param string $action 'add', 'update', 'view'
|
||||
* @return int <0 if KO,
|
||||
* =0 if OK but we want to process standard actions too,
|
||||
* >0 if OK and we want to replace standard actions.
|
||||
* @param array $parameters Array of parameters
|
||||
* @param Object $object Object output on PDF
|
||||
* @param string $action 'add', 'update', 'view'
|
||||
* @return int <0 if KO,
|
||||
* =0 if OK but we want to process standard actions too,
|
||||
* >0 if OK and we want to replace standard actions.
|
||||
*/
|
||||
function beforePDFCreation($parameters, &$object, &$action)
|
||||
{
|
||||
@ -336,46 +336,46 @@ class ActionsDatapolicy
|
||||
|
||||
if (! empty($conf->global->DATAPOLICIES_ENABLE_EMAILS))
|
||||
{
|
||||
$dialog = '<div id="dialogdatapolicy" style="display:none;" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">';
|
||||
$dialog .= '<div class="confirmmessage">' . img_help('', '') . ' ' . $langs->trans('DATAPOLICIES_PORTABILITE_CONFIRMATION') . '</div>';
|
||||
$dialog .= "</div>";
|
||||
$dialog .= '<script>
|
||||
$( function() {
|
||||
$("#rpgpdbtn").on("click", function(){
|
||||
var href = $(this).attr("href");
|
||||
$( "#dialogdatapolicy" ).dialog({
|
||||
modal: true,
|
||||
buttons: {
|
||||
"OK": function() {
|
||||
window.open(href);
|
||||
$( this ).dialog( "close" );
|
||||
},
|
||||
"' . $langs->trans('Cancel') . '": function() {
|
||||
$( this ).dialog( "close" );
|
||||
}
|
||||
}
|
||||
});
|
||||
$dialog = '<div id="dialogdatapolicy" style="display:none;" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">';
|
||||
$dialog .= '<div class="confirmmessage">' . img_help('', '') . ' ' . $langs->trans('DATAPOLICIES_PORTABILITE_CONFIRMATION') . '</div>';
|
||||
$dialog .= "</div>";
|
||||
$dialog .= '<script>
|
||||
$( function() {
|
||||
$("#rpgpdbtn").on("click", function(){
|
||||
var href = $(this).attr("href");
|
||||
$( "#dialogdatapolicy" ).dialog({
|
||||
modal: true,
|
||||
buttons: {
|
||||
"OK": function() {
|
||||
window.open(href);
|
||||
$( this ).dialog( "close" );
|
||||
},
|
||||
"' . $langs->trans('Cancel') . '": function() {
|
||||
$( this ).dialog( "close" );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return false;
|
||||
});
|
||||
} );
|
||||
</script>';
|
||||
echo $dialog;
|
||||
if ($parameters['currentcontext'] == 'thirdpartycard' && in_array($object->forme_juridique_code, array(11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005)) || $object->typent_id == 8) {
|
||||
echo '<div class="inline-block divButAction"><a target="_blank" id="rpgpdbtn" class="butAction" href="' . $_SERVER["PHP_SELF"] . "?socid=" . $object->id . '&action=datapolicy_portabilite" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">' . $langs->trans("DATAPOLICIES_PORTABILITE") . '</a></div>';
|
||||
} elseif ($parameters['currentcontext'] == 'membercard') {
|
||||
echo '<div class="inline-block divButAction"><a target="_blank" id="rpgpdbtn" class="butAction" href="' . $_SERVER["PHP_SELF"] . "?rowid=" . $object->id . '&action=datapolicy_portabilite" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">' . $langs->trans("DATAPOLICIES_PORTABILITE") . '</a></div>';
|
||||
} elseif ($parameters['currentcontext'] == 'contactcard') {
|
||||
echo '<div class="inline-block divButAction"><a target="_blank" id="rpgpdbtn" class="butAction" href="' . $_SERVER["PHP_SELF"] . "?id=" . $object->id . '&action=datapolicy_portabilite" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">' . $langs->trans("DATAPOLICIES_PORTABILITE") . '</a></div>';
|
||||
}
|
||||
if (!empty($object->mail) && empty($object->array_options['options_datapolicy_send']) && $parameters['currentcontext'] == 'thirdpartycard' && in_array($object->forme_juridique_code, array(11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005)) || $object->typent_id == 8) {
|
||||
echo '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . "?socid=" . $object->id . '&action=send_datapolicy" title="' . $langs->trans('DATAPOLICIES_SEND') . '">' . $langs->trans("DATAPOLICIES_SEND") . '</a></div>';
|
||||
} elseif (!empty($object->mail) && empty($object->array_options['options_datapolicy_send']) && $parameters['currentcontext'] == 'membercard') {
|
||||
echo '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . "?rowid=" . $object->id . '&action=send_datapolicy" title="' . $langs->trans('DATAPOLICIES_SEND') . '">' . $langs->trans("DATAPOLICIES_SEND") . '</a></div>';
|
||||
} elseif (!empty($object->mail) && empty($object->array_options['options_datapolicy_send']) && $parameters['currentcontext'] == 'contactcard') {
|
||||
echo '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . "?id=" . $object->id . '&action=send_datapolicy" title="' . $langs->trans('DATAPOLICIES_SEND') . '">' . $langs->trans("DATAPOLICIES_SEND") . '</a></div>';
|
||||
}
|
||||
return false;
|
||||
});
|
||||
} );
|
||||
</script>';
|
||||
echo $dialog;
|
||||
if ($parameters['currentcontext'] == 'thirdpartycard' && in_array($object->forme_juridique_code, array(11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005)) || $object->typent_id == 8) {
|
||||
echo '<div class="inline-block divButAction"><a target="_blank" id="rpgpdbtn" class="butAction" href="' . $_SERVER["PHP_SELF"] . "?socid=" . $object->id . '&action=datapolicy_portabilite" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">' . $langs->trans("DATAPOLICIES_PORTABILITE") . '</a></div>';
|
||||
} elseif ($parameters['currentcontext'] == 'membercard') {
|
||||
echo '<div class="inline-block divButAction"><a target="_blank" id="rpgpdbtn" class="butAction" href="' . $_SERVER["PHP_SELF"] . "?rowid=" . $object->id . '&action=datapolicy_portabilite" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">' . $langs->trans("DATAPOLICIES_PORTABILITE") . '</a></div>';
|
||||
} elseif ($parameters['currentcontext'] == 'contactcard') {
|
||||
echo '<div class="inline-block divButAction"><a target="_blank" id="rpgpdbtn" class="butAction" href="' . $_SERVER["PHP_SELF"] . "?id=" . $object->id . '&action=datapolicy_portabilite" title="' . $langs->trans('DATAPOLICIES_PORTABILITE_TITLE') . '">' . $langs->trans("DATAPOLICIES_PORTABILITE") . '</a></div>';
|
||||
}
|
||||
if (!empty($object->mail) && empty($object->array_options['options_datapolicy_send']) && $parameters['currentcontext'] == 'thirdpartycard' && in_array($object->forme_juridique_code, array(11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005)) || $object->typent_id == 8) {
|
||||
echo '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . "?socid=" . $object->id . '&action=send_datapolicy" title="' . $langs->trans('DATAPOLICIES_SEND') . '">' . $langs->trans("DATAPOLICIES_SEND") . '</a></div>';
|
||||
} elseif (!empty($object->mail) && empty($object->array_options['options_datapolicy_send']) && $parameters['currentcontext'] == 'membercard') {
|
||||
echo '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . "?rowid=" . $object->id . '&action=send_datapolicy" title="' . $langs->trans('DATAPOLICIES_SEND') . '">' . $langs->trans("DATAPOLICIES_SEND") . '</a></div>';
|
||||
} elseif (!empty($object->mail) && empty($object->array_options['options_datapolicy_send']) && $parameters['currentcontext'] == 'contactcard') {
|
||||
echo '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . "?id=" . $object->id . '&action=send_datapolicy" title="' . $langs->trans('DATAPOLICIES_SEND') . '">' . $langs->trans("DATAPOLICIES_SEND") . '</a></div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -30,11 +30,11 @@ include_once DOL_DOCUMENT_ROOT . '/adherents/class/adherent.class.php';
|
||||
*/
|
||||
Class DataPolicy
|
||||
{
|
||||
/**
|
||||
* getAllContactNotInformed
|
||||
*
|
||||
* @return number
|
||||
*/
|
||||
/**
|
||||
* getAllContactNotInformed
|
||||
*
|
||||
* @return number
|
||||
*/
|
||||
function getAllContactNotInformed()
|
||||
{
|
||||
global $langs, $conf, $db, $user;
|
||||
@ -144,71 +144,71 @@ Class DataPolicy
|
||||
*/
|
||||
function sendMailDataPolicyContact($contact)
|
||||
{
|
||||
global $langs, $conf, $db, $user;
|
||||
global $langs, $conf, $db, $user;
|
||||
|
||||
$error = 0;
|
||||
$error = 0;
|
||||
|
||||
$from = $user->getFullName($langs) . ' <' . $user->email . '>';
|
||||
$from = $user->getFullName($langs) . ' <' . $user->email . '>';
|
||||
|
||||
$sendto = $contact->email;
|
||||
$code= md5($contact->email);
|
||||
if (!empty($contact->default_lang)) {
|
||||
$l = $contact->default_lang;
|
||||
} else {
|
||||
$l = $langs->defaultlang;
|
||||
}
|
||||
$s = "DATAPOLICIESSUBJECT_" . $l;
|
||||
$ma = "DATAPOLICIESCONTENT_" . $l;
|
||||
$la = 'TXTLINKDATAPOLICIESACCEPT_' . $l;
|
||||
$lr = 'TXTLINKDATAPOLICIESREFUSE_' . $l;
|
||||
$sendto = $contact->email;
|
||||
$code= md5($contact->email);
|
||||
if (!empty($contact->default_lang)) {
|
||||
$l = $contact->default_lang;
|
||||
} else {
|
||||
$l = $langs->defaultlang;
|
||||
}
|
||||
$s = "DATAPOLICIESSUBJECT_" . $l;
|
||||
$ma = "DATAPOLICIESCONTENT_" . $l;
|
||||
$la = 'TXTLINKDATAPOLICIESACCEPT_' . $l;
|
||||
$lr = 'TXTLINKDATAPOLICIESREFUSE_' . $l;
|
||||
|
||||
$subject = $conf->global->$s;
|
||||
$message = $conf->global->$ma;
|
||||
$linka = $conf->global->$la;
|
||||
$linkr = $conf->global->$lr;
|
||||
$sendtocc = $sendtobcc = '';
|
||||
$filepath = $mimetype = $filename = array();
|
||||
$deliveryreceipt = 0;
|
||||
$subject = $conf->global->$s;
|
||||
$message = $conf->global->$ma;
|
||||
$linka = $conf->global->$la;
|
||||
$linkr = $conf->global->$lr;
|
||||
$sendtocc = $sendtobcc = '';
|
||||
$filepath = $mimetype = $filename = array();
|
||||
$deliveryreceipt = 0;
|
||||
|
||||
$substitutionarray = array(
|
||||
'__LINKACCEPT__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=1&c='.$contact->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linka.'</a>',
|
||||
'__LINKREFUSED__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=2&c='.$contact->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linkr.'</a>',
|
||||
'__FIRSTNAME__' => $contact->firstname,
|
||||
'__NAME__' => $contact->lastname,
|
||||
'__CIVILITY__' => $contact->civility,
|
||||
);
|
||||
$subject = make_substitutions($subject, $substitutionarray);
|
||||
$message = make_substitutions($message, $substitutionarray);
|
||||
$substitutionarray = array(
|
||||
'__LINKACCEPT__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=1&c='.$contact->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linka.'</a>',
|
||||
'__LINKREFUSED__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=2&c='.$contact->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linkr.'</a>',
|
||||
'__FIRSTNAME__' => $contact->firstname,
|
||||
'__NAME__' => $contact->lastname,
|
||||
'__CIVILITY__' => $contact->civility,
|
||||
);
|
||||
$subject = make_substitutions($subject, $substitutionarray);
|
||||
$message = make_substitutions($message, $substitutionarray);
|
||||
|
||||
$actiontypecode = 'AC_EMAIL';
|
||||
$actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto;
|
||||
if ($message) {
|
||||
if ($sendtocc)
|
||||
$actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc);
|
||||
$actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject);
|
||||
$actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":");
|
||||
$actionmsg = dol_concatdesc($actionmsg, $message);
|
||||
}
|
||||
$actiontypecode = 'AC_EMAIL';
|
||||
$actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto;
|
||||
if ($message) {
|
||||
if ($sendtocc)
|
||||
$actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc);
|
||||
$actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject);
|
||||
$actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":");
|
||||
$actionmsg = dol_concatdesc($actionmsg, $message);
|
||||
}
|
||||
|
||||
|
||||
// Send mail
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php';
|
||||
$mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, $sendtobcc, $deliveryreceipt, -1);
|
||||
// Send mail
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php';
|
||||
$mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, $sendtobcc, $deliveryreceipt, -1);
|
||||
|
||||
if ($mailfile->error) {
|
||||
$resultmasssend .= '<div class="error">' . $mailfile->error . '</div>';
|
||||
} else {
|
||||
$result4 = $mailfile->sendfile();
|
||||
if (!$error) {
|
||||
if ($mailfile->error) {
|
||||
$resultmasssend .= '<div class="error">' . $mailfile->error . '</div>';
|
||||
} else {
|
||||
$result4 = $mailfile->sendfile();
|
||||
if (!$error) {
|
||||
|
||||
$resultmasssend .= $langs->trans("MailSent") . ': ' . $sendto . "<br>";
|
||||
$contact->array_options['options_datapolicy_send'] = date('Y-m-d', time());
|
||||
$contact->update($contact->id);
|
||||
} else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
setEventMessage($resultmasssend);
|
||||
$resultmasssend .= $langs->trans("MailSent") . ': ' . $sendto . "<br>";
|
||||
$contact->array_options['options_datapolicy_send'] = date('Y-m-d', time());
|
||||
$contact->update($contact->id);
|
||||
} else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
setEventMessage($resultmasssend);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -219,44 +219,44 @@ Class DataPolicy
|
||||
*/
|
||||
function sendMailDataPolicyCompany($societe)
|
||||
{
|
||||
global $langs, $conf, $db, $user;
|
||||
global $langs, $conf, $db, $user;
|
||||
|
||||
$error = 0;
|
||||
$error = 0;
|
||||
|
||||
$from = $user->getFullName($langs) . ' <' . $user->email . '>';
|
||||
$from = $user->getFullName($langs) . ' <' . $user->email . '>';
|
||||
|
||||
$sendto = $societe->email;
|
||||
$sendto = $societe->email;
|
||||
|
||||
$code= md5($societe->email);
|
||||
if (!empty($societe->default_lang)) {
|
||||
$l = $societe->default_lang;
|
||||
} else {
|
||||
$l = $langs->defaultlang;
|
||||
}
|
||||
$s = "DATAPOLICIESSUBJECT_" . $l;
|
||||
$ma = "DATAPOLICIESCONTENT_" . $l;
|
||||
$la = 'TXTLINKDATAPOLICIESACCEPT_' . $l;
|
||||
$lr = 'TXTLINKDATAPOLICIESREFUSE_' . $l;
|
||||
$code= md5($societe->email);
|
||||
if (!empty($societe->default_lang)) {
|
||||
$l = $societe->default_lang;
|
||||
} else {
|
||||
$l = $langs->defaultlang;
|
||||
}
|
||||
$s = "DATAPOLICIESSUBJECT_" . $l;
|
||||
$ma = "DATAPOLICIESCONTENT_" . $l;
|
||||
$la = 'TXTLINKDATAPOLICIESACCEPT_' . $l;
|
||||
$lr = 'TXTLINKDATAPOLICIESREFUSE_' . $l;
|
||||
|
||||
$subject = $conf->global->$s;
|
||||
$message = $conf->global->$ma;
|
||||
$linka = $conf->global->$la;
|
||||
$linkr = $conf->global->$lr;
|
||||
$sendtocc = $sendtobcc = '';
|
||||
$filepath = $mimetype = $filename = array();
|
||||
$deliveryreceipt = 0;
|
||||
$subject = $conf->global->$s;
|
||||
$message = $conf->global->$ma;
|
||||
$linka = $conf->global->$la;
|
||||
$linkr = $conf->global->$lr;
|
||||
$sendtocc = $sendtobcc = '';
|
||||
$filepath = $mimetype = $filename = array();
|
||||
$deliveryreceipt = 0;
|
||||
|
||||
$substitutionarray = array(
|
||||
$substitutionarray = array(
|
||||
'__LINKACCEPT__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=1&s='.$societe->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linka.'</a>',
|
||||
'__LINKREFUSED__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=2&s='.$societe->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linkr.'</a>',
|
||||
);
|
||||
$subject = make_substitutions($subject, $substitutionarray);
|
||||
$message = make_substitutions($message, $substitutionarray);
|
||||
);
|
||||
$subject = make_substitutions($subject, $substitutionarray);
|
||||
$message = make_substitutions($message, $substitutionarray);
|
||||
|
||||
$actiontypecode = 'AC_EMAIL';
|
||||
$actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto;
|
||||
if ($message) {
|
||||
if ($sendtocc) {
|
||||
$actiontypecode = 'AC_EMAIL';
|
||||
$actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto;
|
||||
if ($message) {
|
||||
if ($sendtocc) {
|
||||
$actionmsg .= dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc);
|
||||
}
|
||||
$actionmsg .= dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject);
|
||||
@ -264,23 +264,23 @@ Class DataPolicy
|
||||
$actionmsg .= dol_concatdesc($actionmsg, $message);
|
||||
}
|
||||
|
||||
// Send mail
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php';
|
||||
$mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, $sendtobcc, $deliveryreceipt, -1);
|
||||
if ($mailfile->error) {
|
||||
$resultmasssend .= '<div class="error">' . $mailfile->error . '</div>';
|
||||
} else {
|
||||
$result4 = $mailfile->sendfile();
|
||||
// Send mail
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php';
|
||||
$mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, $sendtobcc, $deliveryreceipt, -1);
|
||||
if ($mailfile->error) {
|
||||
$resultmasssend .= '<div class="error">' . $mailfile->error . '</div>';
|
||||
} else {
|
||||
$result4 = $mailfile->sendfile();
|
||||
|
||||
if (!$error) {
|
||||
$resultmasssend .= $langs->trans("MailSent") . ': ' . $sendto . "<br>";
|
||||
$societe->array_options['options_datapolicy_send'] = date('Y-m-d', time());
|
||||
$societe->update($societe->id);
|
||||
} else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
setEventMessage($resultmasssend);
|
||||
if (!$error) {
|
||||
$resultmasssend .= $langs->trans("MailSent") . ': ' . $sendto . "<br>";
|
||||
$societe->array_options['options_datapolicy_send'] = date('Y-m-d', time());
|
||||
$societe->update($societe->id);
|
||||
} else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
setEventMessage($resultmasssend);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -291,66 +291,66 @@ Class DataPolicy
|
||||
*/
|
||||
function sendMailDataPolicyAdherent($adherent)
|
||||
{
|
||||
global $langs, $conf, $db, $user;
|
||||
global $langs, $conf, $db, $user;
|
||||
|
||||
$error = 0;
|
||||
$error = 0;
|
||||
|
||||
$from = $user->getFullName($langs) . ' <' . $user->email . '>';
|
||||
$from = $user->getFullName($langs) . ' <' . $user->email . '>';
|
||||
|
||||
$sendto = $adherent->email;
|
||||
$sendto = $adherent->email;
|
||||
|
||||
$code= md5($adherent->email);
|
||||
if (!empty($adherent->default_lang)) {
|
||||
$l = $adherent->default_lang;
|
||||
} else {
|
||||
$l = $langs->defaultlang;
|
||||
}
|
||||
$la = 'TXTLINKDATAPOLICIESACCEPT_' . $l;
|
||||
$lr = 'TXTLINKDATAPOLICIESREFUSE_' . $l;
|
||||
$code= md5($adherent->email);
|
||||
if (!empty($adherent->default_lang)) {
|
||||
$l = $adherent->default_lang;
|
||||
} else {
|
||||
$l = $langs->defaultlang;
|
||||
}
|
||||
$la = 'TXTLINKDATAPOLICIESACCEPT_' . $l;
|
||||
$lr = 'TXTLINKDATAPOLICIESREFUSE_' . $l;
|
||||
|
||||
$subject = $conf->global->$s;
|
||||
$message = $conf->global->$ma;
|
||||
$linka = $conf->global->$la;
|
||||
$linkr = $conf->global->$lr;
|
||||
$sendtocc = $sendtobcc = '';
|
||||
$filepath = $mimetype = $filename = array();
|
||||
$deliveryreceipt = 0;
|
||||
$subject = $conf->global->$s;
|
||||
$message = $conf->global->$ma;
|
||||
$linka = $conf->global->$la;
|
||||
$linkr = $conf->global->$lr;
|
||||
$sendtocc = $sendtobcc = '';
|
||||
$filepath = $mimetype = $filename = array();
|
||||
$deliveryreceipt = 0;
|
||||
|
||||
$substitutionarray = array(
|
||||
$substitutionarray = array(
|
||||
'__LINKACCEPT__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=1&a='.$adherent->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linka.'</a>',
|
||||
'__LINKREFUSED__' => '<a href="'.dol_buildpath('/datapolicy/public/index.php?action=2&a='.$adherent->id.'&l='.$l.'&key='.$code, 3).'" target="_blank">'.$linkr.'</a>',
|
||||
);
|
||||
$subject = make_substitutions($subject, $substitutionarray);
|
||||
$message = make_substitutions($message, $substitutionarray);
|
||||
);
|
||||
$subject = make_substitutions($subject, $substitutionarray);
|
||||
$message = make_substitutions($message, $substitutionarray);
|
||||
|
||||
$actiontypecode = 'AC_EMAIL';
|
||||
$actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto;
|
||||
if ($message) {
|
||||
if ($sendtocc) {
|
||||
$actiontypecode = 'AC_EMAIL';
|
||||
$actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto;
|
||||
if ($message) {
|
||||
if ($sendtocc) {
|
||||
$actionmsg .= dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc);
|
||||
}
|
||||
$actionmsg .= dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject);
|
||||
$actionmsg .= dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":");
|
||||
$actionmsg .= dol_concatdesc($actionmsg, $message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Send mail
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php';
|
||||
$mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, $sendtobcc, $deliveryreceipt, -1);
|
||||
if ($mailfile->error) {
|
||||
$resultmasssend .= '<div class="error">' . $mailfile->error . '</div>';
|
||||
} else {
|
||||
$result4 = $mailfile->sendfile();
|
||||
// Send mail
|
||||
require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php';
|
||||
$mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, $sendtocc, $sendtobcc, $deliveryreceipt, -1);
|
||||
if ($mailfile->error) {
|
||||
$resultmasssend .= '<div class="error">' . $mailfile->error . '</div>';
|
||||
} else {
|
||||
$result4 = $mailfile->sendfile();
|
||||
|
||||
if (!$error) {
|
||||
$resultmasssend .= $langs->trans("MailSent") . ': ' . $sendto . "<br>";
|
||||
$adherent->array_options['options_datapolicy_send'] = date('Y-m-d', time());
|
||||
$adherent->update($user);
|
||||
} else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
setEventMessage($resultmasssend);
|
||||
if (!$error) {
|
||||
$resultmasssend .= $langs->trans("MailSent") . ': ' . $sendto . "<br>";
|
||||
$adherent->array_options['options_datapolicy_send'] = date('Y-m-d', time());
|
||||
$adherent->update($user);
|
||||
} else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
setEventMessage($resultmasssend);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
/* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
@ -17,7 +17,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file datapolicy/class/datapolicycron.class.php
|
||||
* \file htdocs/datapolicy/class/datapolicycron.class.php
|
||||
* \ingroup datapolicy
|
||||
* \brief Example hook overload.
|
||||
*/
|
||||
@ -27,11 +27,11 @@
|
||||
*/
|
||||
class DataPolicyCron
|
||||
{
|
||||
/**
|
||||
* Function exec
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
/**
|
||||
* Function exec
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function exec()
|
||||
{
|
||||
global $conf, $db, $langs, $user;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -16,7 +17,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file datapolicy/lib/datapolicy.lib.php
|
||||
* \file htdocs/datapolicy/lib/datapolicy.lib.php
|
||||
* \ingroup datapolicy
|
||||
* \brief Library files with common functions for datapolicy
|
||||
*/
|
||||
@ -28,27 +29,26 @@
|
||||
*/
|
||||
function datapolicyAdminPrepareHead()
|
||||
{
|
||||
global $langs, $conf;
|
||||
global $langs, $conf;
|
||||
|
||||
$langs->load("datapolicy@datapolicy");
|
||||
$langs->load("datapolicy@datapolicy");
|
||||
|
||||
$h = 0;
|
||||
$head = array();
|
||||
$h = 0;
|
||||
$head = array();
|
||||
|
||||
$head[$h][0] = dol_buildpath("/datapolicy/admin/setup.php", 1);
|
||||
$head[$h][1] = $langs->trans("Deletion");
|
||||
$head[$h][2] = 'settings';
|
||||
$h++;
|
||||
$head[$h][0] = DOL_URL_ROOT."/datapolicy/admin/setup.php";
|
||||
$head[$h][1] = $langs->trans("Deletion");
|
||||
$head[$h][2] = 'settings';
|
||||
$h++;
|
||||
|
||||
if (! empty($conf->global->DATAPOLICIES_ENABLE_EMAILS))
|
||||
{
|
||||
$head[$h][0] = dol_buildpath("/datapolicy/admin/setupmail.php", 1);
|
||||
$head[$h][1] = $langs->trans("DATAPOLICIESMail");
|
||||
$head[$h][2] = 'settings';
|
||||
$h++;
|
||||
}
|
||||
if (! empty($conf->global->DATAPOLICIES_ENABLE_EMAILS)) {
|
||||
$head[$h][0] = DOL_URL_ROOT."/datapolicy/admin/setupmail.php";
|
||||
$head[$h][1] = $langs->trans("DATAPOLICIESMail");
|
||||
$head[$h][2] = 'settings';
|
||||
$h++;
|
||||
}
|
||||
|
||||
complete_head_from_modules($conf, $langs, $object, $head, $h, 'datapolicy');
|
||||
complete_head_from_modules($conf, $langs, $object, $head, $h, 'datapolicy');
|
||||
|
||||
return $head;
|
||||
return $head;
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
/* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -16,22 +17,22 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file datapolicy/mailing.php
|
||||
* \file htdocs/datapolicy/mailing.php
|
||||
* \ingroup datapolicy
|
||||
* \brief datapolicy mailing page.
|
||||
*/
|
||||
|
||||
require '../../main.inc.php';
|
||||
dol_include_once('/contact/class/contact.class.php');
|
||||
dol_include_once('/datapolicy/class/datapolicy.class.php');
|
||||
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/datapolicy/class/datapolicy.class.php';
|
||||
|
||||
$idcontact = GETPOST('idc');
|
||||
|
||||
if(!empty($idcontact)){
|
||||
if (!empty($idcontact)) {
|
||||
$contact = new Contact($db);
|
||||
$contact->fetch($idcontact);
|
||||
DataPolicy::sendMailDataPolicyContact($contact);
|
||||
}else{
|
||||
} else {
|
||||
|
||||
$contacts = new DataPolicy($db);
|
||||
$contacts->getAllContactNotInformed();
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file datapolicy/admin/setup.php
|
||||
* \file htdocs/datapolicy/admin/setup.php
|
||||
* \ingroup datapolicy
|
||||
* \brief datapolicy setup page.
|
||||
*/
|
||||
@ -30,11 +30,11 @@ if (!defined('NOREQUIREMENU'))
|
||||
define('NOREQUIREMENU', '1');
|
||||
|
||||
require '../../main.inc.php';
|
||||
dol_include_once('/contact/class/contact.class.php');
|
||||
dol_include_once('/societe/class/societe.class.php');
|
||||
dol_include_once('/adherents/class/adherent.class.php');
|
||||
dol_include_once('/user/class/user.class.php');
|
||||
dol_include_once('/datapolicy/class/datapolicy.class.php');
|
||||
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/datapolicy/class/datapolicy.class.php';
|
||||
|
||||
$idc = GETPOST('c', 'int');
|
||||
$ids = GETPOST('s', 'int');
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||
* Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
/* Copyright (C) 2019 Thibault FOUCART <support@ptibogxiv.net>
|
||||
* Copyright (C) 2019 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -48,7 +48,7 @@ class Donations extends DolibarrApi
|
||||
{
|
||||
global $db, $conf;
|
||||
$this->db = $db;
|
||||
$this->don = new Don($this->db);
|
||||
$this->don = new Don($this->db);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -72,13 +72,13 @@ class Donations extends DolibarrApi
|
||||
throw new RestException(404, 'Donation not found');
|
||||
}
|
||||
|
||||
if( ! DolibarrApi::_checkAccessToResource('commande', $this->don->id)) {
|
||||
if( ! DolibarrApi::_checkAccessToResource('donation', $this->don->id)) {
|
||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||
}
|
||||
|
||||
// Add external contacts ids
|
||||
//$this->commande->contacts_ids = $this->don->liste_contact(-1,'external',1);
|
||||
//$this->commande->fetchObjectLinked();
|
||||
//$this->don->contacts_ids = $this->don->liste_contact(-1,'external',1);
|
||||
//$this->don->fetchObjectLinked();
|
||||
return $this->_cleanObjectDatas($this->don);
|
||||
}
|
||||
|
||||
@ -87,14 +87,14 @@ class Donations extends DolibarrApi
|
||||
/**
|
||||
* List donations
|
||||
*
|
||||
* Get a list of orders
|
||||
* Get a list of donations
|
||||
*
|
||||
* @param string $sortfield Sort field
|
||||
* @param string $sortorder Sort order
|
||||
* @param string $sortfield Sort field
|
||||
* @param string $sortorder Sort order
|
||||
* @param int $limit Limit for list
|
||||
* @param int $page Page number
|
||||
* @param string $thirdparty_ids Thirdparty ids to filter orders of. {@example '1' or '1,2,3'} {@pattern /^[0-9,]*$/i}
|
||||
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.ref:like:'SO-%') and (t.date_creation:<:'20160101')"
|
||||
* @param string $thirdparty_ids Thirdparty ids to filter orders of. {@example '1' or '1,2,3'} {@pattern /^[0-9,]*$/i}
|
||||
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.ref:like:'SO-%') and (t.date_creation:<:'20160101')"
|
||||
* @return array Array of order objects
|
||||
*
|
||||
* @throws RestException
|
||||
@ -108,25 +108,14 @@ class Donations extends DolibarrApi
|
||||
// case of external user, $thirdparty_ids param is ignored and replaced by user's socid
|
||||
$socids = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : $thirdparty_ids;
|
||||
|
||||
// If the internal user must only see his customers, force searching by him
|
||||
$search_sale = 0;
|
||||
if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socids) $search_sale = DolibarrApiAccess::$user->id;
|
||||
|
||||
$sql = "SELECT t.rowid";
|
||||
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socids) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects)
|
||||
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socids) ) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects)
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."don as t";
|
||||
|
||||
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socids) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale
|
||||
|
||||
$sql.= ' WHERE t.entity IN ('.getEntity('don').')';
|
||||
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socids) || $search_sale > 0) $sql.= " AND t.fk_soc = sc.fk_soc";
|
||||
if ($socids) $sql.= " AND t.fk_soc IN (".$socids.")";
|
||||
if ($search_sale > 0) $sql.= " AND t.rowid = sc.fk_soc"; // Join for the needed table to filter by sale
|
||||
// Insert sale filter
|
||||
if ($search_sale > 0)
|
||||
{
|
||||
$sql .= " AND sc.fk_user = ".$search_sale;
|
||||
}
|
||||
if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socids) ) $sql.= " AND t.fk_soc = sc.fk_soc";
|
||||
if ($thirdparty_ids) $sql.= " AND t.fk_soc = ".$thirdparty_ids." ";
|
||||
|
||||
// Add sql filters
|
||||
if ($sqlfilters)
|
||||
{
|
||||
@ -151,7 +140,7 @@ class Donations extends DolibarrApi
|
||||
|
||||
dol_syslog("API Rest request");
|
||||
$result = $db->query($sql);
|
||||
|
||||
|
||||
if ($result)
|
||||
{
|
||||
$num = $db->num_rows($result);
|
||||
@ -160,21 +149,22 @@ class Donations extends DolibarrApi
|
||||
while ($i < $min)
|
||||
{
|
||||
$obj = $db->fetch_object($result);
|
||||
$commande_static = new Commande($db);
|
||||
if($commande_static->fetch($obj->rowid)) {
|
||||
$don_static = new Don($db);
|
||||
if($don_static->fetch($obj->rowid)) {
|
||||
// Add external contacts ids
|
||||
$commande_static->contacts_ids = $commande_static->liste_contact(-1, 'external', 1);
|
||||
$obj_ret[] = $this->_cleanObjectDatas($commande_static);
|
||||
//$don_static->contacts_ids = $don_static->liste_contact(-1, 'external', 1);
|
||||
$obj_ret[] = $this->_cleanObjectDatas($don_static);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw new RestException(503, 'Error when retrieve commande list : '.$db->lasterror());
|
||||
throw new RestException(503, 'Error when retrieve donation list : '.$db->lasterror());
|
||||
}
|
||||
if( ! count($obj_ret)) {
|
||||
throw new RestException(404, 'No order found');
|
||||
throw new RestException(404, 'No donation found');
|
||||
}
|
||||
|
||||
return $obj_ret;
|
||||
}
|
||||
|
||||
@ -186,28 +176,28 @@ class Donations extends DolibarrApi
|
||||
*/
|
||||
function post($request_data = null)
|
||||
{
|
||||
if(! DolibarrApiAccess::$user->rights->commande->creer) {
|
||||
if(! DolibarrApiAccess::$user->rights->don->creer) {
|
||||
throw new RestException(401, "Insuffisant rights");
|
||||
}
|
||||
// Check mandatory fields
|
||||
$result = $this->_validate($request_data);
|
||||
|
||||
foreach($request_data as $field => $value) {
|
||||
$this->commande->$field = $value;
|
||||
$this->don->$field = $value;
|
||||
}
|
||||
/*if (isset($request_data["lines"])) {
|
||||
$lines = array();
|
||||
foreach ($request_data["lines"] as $line) {
|
||||
array_push($lines, (object) $line);
|
||||
}
|
||||
$this->commande->lines = $lines;
|
||||
$this->don->lines = $lines;
|
||||
}*/
|
||||
|
||||
if ($this->commande->create(DolibarrApiAccess::$user) < 0) {
|
||||
throw new RestException(500, "Error creating order", array_merge(array($this->commande->error), $this->commande->errors));
|
||||
if ($this->don->create(DolibarrApiAccess::$user) < 0) {
|
||||
throw new RestException(500, "Error creating order", array_merge(array($this->don->error), $this->don->errors));
|
||||
}
|
||||
|
||||
return $this->commande->id;
|
||||
return $this->don->id;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -220,36 +210,30 @@ class Donations extends DolibarrApi
|
||||
*/
|
||||
function put($id, $request_data = null)
|
||||
{
|
||||
if (! DolibarrApiAccess::$user->rights->commande->creer) {
|
||||
if (! DolibarrApiAccess::$user->rights->don->creer) {
|
||||
throw new RestException(401);
|
||||
}
|
||||
|
||||
$result = $this->commande->fetch($id);
|
||||
$result = $this->don->fetch($id);
|
||||
if (! $result) {
|
||||
throw new RestException(404, 'Order not found');
|
||||
throw new RestException(404, 'Donation not found');
|
||||
}
|
||||
|
||||
if (! DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) {
|
||||
if (! DolibarrApi::_checkAccessToResource('donation', $this->don->id)) {
|
||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||
}
|
||||
foreach($request_data as $field => $value) {
|
||||
if ($field == 'id') continue;
|
||||
$this->commande->$field = $value;
|
||||
$this->don->$field = $value;
|
||||
}
|
||||
|
||||
// Update availability
|
||||
if (!empty($this->commande->availability_id)) {
|
||||
if ($this->commande->availability($this->commande->availability_id) < 0)
|
||||
throw new RestException(400, 'Error while updating availability');
|
||||
}
|
||||
|
||||
if ($this->commande->update(DolibarrApiAccess::$user) > 0)
|
||||
if ($this->don->update(DolibarrApiAccess::$user) > 0)
|
||||
{
|
||||
return $this->get($id);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RestException(500, $this->commande->error);
|
||||
throw new RestException(500, $this->don->error);
|
||||
}
|
||||
}
|
||||
|
||||
@ -269,7 +253,7 @@ class Donations extends DolibarrApi
|
||||
throw new RestException(404, 'Donation not found');
|
||||
}
|
||||
|
||||
if( ! DolibarrApi::_checkAccessToResource('don', $this->don->id)) {
|
||||
if( ! DolibarrApi::_checkAccessToResource('donation', $this->don->id)) {
|
||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||
}
|
||||
|
||||
@ -309,10 +293,10 @@ class Donations extends DolibarrApi
|
||||
*/
|
||||
function validate($id, $idwarehouse = 0, $notrigger = 0)
|
||||
{
|
||||
if(! DolibarrApiAccess::$user->rights->commande->creer) {
|
||||
if(! DolibarrApiAccess::$user->rights->don->creer) {
|
||||
throw new RestException(401);
|
||||
}
|
||||
$result = $this->commande->fetch($id);
|
||||
$result = $this->don->fetch($id);
|
||||
if( ! $result ) {
|
||||
throw new RestException(404, 'Donation not found');
|
||||
}
|
||||
@ -321,25 +305,25 @@ class Donations extends DolibarrApi
|
||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||
}
|
||||
|
||||
$result = $this->commande->valid(DolibarrApiAccess::$user, $idwarehouse, $notrigger);
|
||||
$result = $this->don->valid(DolibarrApiAccess::$user, $idwarehouse, $notrigger);
|
||||
if ($result == 0) {
|
||||
throw new RestException(304, 'Error nothing done. May be object is already validated');
|
||||
}
|
||||
if ($result < 0) {
|
||||
throw new RestException(500, 'Error when validating Order: '.$this->commande->error);
|
||||
throw new RestException(500, 'Error when validating Order: '.$this->don->error);
|
||||
}
|
||||
$result = $this->commande->fetch($id);
|
||||
$result = $this->don->fetch($id);
|
||||
if( ! $result ) {
|
||||
throw new RestException(404, 'Order not found');
|
||||
}
|
||||
|
||||
if( ! DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) {
|
||||
if( ! DolibarrApi::_checkAccessToResource('don', $this->don->id)) {
|
||||
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||
}
|
||||
|
||||
$this->commande->fetchObjectLinked();
|
||||
$this->don->fetchObjectLinked();
|
||||
|
||||
return $this->_cleanObjectDatas($this->commande);
|
||||
return $this->_cleanObjectDatas($this->don);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -372,12 +356,12 @@ class Donations extends DolibarrApi
|
||||
*/
|
||||
function _validate($data)
|
||||
{
|
||||
$commande = array();
|
||||
$don = array();
|
||||
foreach (Orders::$FIELDS as $field) {
|
||||
if (!isset($data[$field]))
|
||||
throw new RestException(400, $field ." field missing");
|
||||
$commande[$field] = $data[$field];
|
||||
$don[$field] = $data[$field];
|
||||
}
|
||||
return $commande;
|
||||
return $don;
|
||||
}
|
||||
}
|
||||
|
||||
@ -173,7 +173,7 @@ if (! defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck))
|
||||
}
|
||||
if (empty($dolibarr_main_db_host))
|
||||
{
|
||||
print '<div align="center">Dolibarr setup is not yet complete.<br><br>'."\n";
|
||||
print '<div class="center">Dolibarr setup is not yet complete.<br><br>'."\n";
|
||||
print '<a href="install/index.php">Click here to finish Dolibarr install process</a> ...</div>'."\n";
|
||||
die;
|
||||
}
|
||||
|
||||
@ -1700,29 +1700,33 @@ class FactureFournisseur extends CommonInvoice
|
||||
$this->line->fk_facture_fourn=$this->id;
|
||||
//$this->line->label=$label; // deprecated
|
||||
$this->line->desc=$desc;
|
||||
$this->line->qty= ($this->type==self::TYPE_CREDIT_NOTE?abs($qty):$qty); // For credit note, quantity is always positive and unit price negative
|
||||
$this->line->ref_supplier=$ref_supplier;
|
||||
|
||||
$this->line->qty= ($this->type==self::TYPE_CREDIT_NOTE?abs($qty):$qty); // For credit note, quantity is always positive and unit price negative
|
||||
$this->line->subprice= ($this->type==self::TYPE_CREDIT_NOTE?-abs($pu_ht):$pu_ht); // For credit note, unit price always negative, always positive otherwise
|
||||
|
||||
$this->line->vat_src_code=$vat_src_code;
|
||||
$this->line->tva_tx=$txtva;
|
||||
$this->line->localtax1_tx=($total_localtax1?$localtaxes_type[1]:0);
|
||||
$this->line->localtax2_tx=($total_localtax2?$localtaxes_type[3]:0);
|
||||
$this->line->localtax1_type = $localtaxes_type[0];
|
||||
$this->line->localtax2_type = $localtaxes_type[2];
|
||||
|
||||
$this->line->total_ht= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative
|
||||
$this->line->total_tva= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_tva):$total_tva);
|
||||
$this->line->total_localtax1=(($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax1):$total_localtax1);
|
||||
$this->line->total_localtax2=(($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax2):$total_localtax2);
|
||||
$this->line->total_ttc= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ttc):$total_ttc);
|
||||
|
||||
$this->line->fk_product=$fk_product;
|
||||
$this->line->product_type=$type;
|
||||
$this->line->remise_percent=$remise_percent;
|
||||
$this->line->subprice= ($this->type==self::TYPE_CREDIT_NOTE?-abs($pu_ht):$pu_ht); // For credit note, unit price always negative, always positive otherwise
|
||||
$this->line->date_start=$date_start;
|
||||
$this->line->date_end=$date_end;
|
||||
$this->line->ventil=$ventil;
|
||||
$this->line->rang=$rang;
|
||||
$this->line->info_bits=$info_bits;
|
||||
$this->line->total_ht= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative
|
||||
$this->line->total_tva= $total_tva;
|
||||
$this->line->total_localtax1=$total_localtax1;
|
||||
$this->line->total_localtax2=$total_localtax2;
|
||||
$this->line->total_ttc= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ttc):$total_ttc);
|
||||
|
||||
$this->line->special_code=$this->special_code;
|
||||
$this->line->fk_parent_line=$this->fk_parent_line;
|
||||
$this->line->origin=$this->origin;
|
||||
@ -1891,11 +1895,11 @@ class FactureFournisseur extends CommonInvoice
|
||||
$line->localtax2_tx = $txlocaltax2;
|
||||
$line->localtax1_type = $localtaxes_type[0];
|
||||
$line->localtax2_type = $localtaxes_type[2];
|
||||
$line->total_ht = $total_ht;
|
||||
$line->total_tva = $total_tva;
|
||||
$line->total_ht = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ht):$total_ht);
|
||||
$line->total_tva = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_tva):$total_tva);
|
||||
$line->total_localtax1 = $total_localtax1;
|
||||
$line->total_localtax2 = $total_localtax2;
|
||||
$line->total_ttc = $total_ttc;
|
||||
$line->total_ttc = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ttc):$total_ttc);
|
||||
$line->fk_product = $idproduct;
|
||||
$line->product_type = $product_type;
|
||||
$line->info_bits = $info_bits;
|
||||
|
||||
@ -1641,7 +1641,7 @@ else
|
||||
print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
|
||||
print $langs->trans("BarcodeType");
|
||||
print '</td>';
|
||||
if (($action != 'editbarcodetype') && $usercancreate && $createbarcode) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editbarcodetype&id='.$object->id.'">'.img_edit($langs->trans('Edit'), 1).'</a></td>';
|
||||
if (($action != 'editbarcodetype') && $usercancreate && $createbarcode) print '<td class="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editbarcodetype&id='.$object->id.'">'.img_edit($langs->trans('Edit'), 1).'</a></td>';
|
||||
print '</tr></table>';
|
||||
print '</td><td colspan="2">';
|
||||
if ($action == 'editbarcodetype' || $action == 'editbarcode')
|
||||
@ -1665,7 +1665,7 @@ else
|
||||
print '<table width="100%" class="nobordernopadding"><tr><td class="nowrap">';
|
||||
print $langs->trans("BarcodeValue");
|
||||
print '</td>';
|
||||
if (($action != 'editbarcode') && $usercancreate && $createbarcode) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editbarcode&id='.$object->id.'">'.img_edit($langs->trans('Edit'), 1).'</a></td>';
|
||||
if (($action != 'editbarcode') && $usercancreate && $createbarcode) print '<td class="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editbarcode&id='.$object->id.'">'.img_edit($langs->trans('Edit'), 1).'</a></td>';
|
||||
print '</tr></table>';
|
||||
print '</td><td colspan="2">';
|
||||
if ($action == 'editbarcode')
|
||||
@ -1934,7 +1934,7 @@ else
|
||||
|
||||
// Categories
|
||||
if($conf->categorie->enabled) {
|
||||
print '<tr><td valign="middle">'.$langs->trans("Categories").'</td><td colspan="3">';
|
||||
print '<tr><td class="valignmiddle">'.$langs->trans("Categories").'</td><td colspan="3">';
|
||||
print $form->showCategories($object->id, 'product', 1);
|
||||
print "</td></tr>";
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
* Copyright (C) 2014 Ion Agorria <ion@agorria.com>
|
||||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -765,20 +766,20 @@ SCRIPT;
|
||||
print_liste_field_titre("Suppliers", $_SERVER["PHP_SELF"], "s.nom", "", $param, "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("SupplierRef", $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder);
|
||||
if (!empty($conf->global->FOURN_PRODUCT_AVAILABILITY)) print_liste_field_titre("Availability", $_SERVER["PHP_SELF"], "pfp.fk_availability", "", $param, "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("QtyMin", $_SERVER["PHP_SELF"], "pfp.quantity", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], '', '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("PriceQtyMinHT", $_SERVER["PHP_SELF"], '', '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("QtyMin", $_SERVER["PHP_SELF"], "pfp.quantity", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("VATRate", $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("PriceQtyMinHT", $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
if ($conf->multicurrency->enabled) {
|
||||
print_liste_field_titre("PriceQtyMinHTCurrency", $_SERVER["PHP_SELF"], '', '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("PriceQtyMinHTCurrency", $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
print_liste_field_titre("UnitPriceHT", $_SERVER["PHP_SELF"], "pfp.unitprice", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("UnitPriceHT", $_SERVER["PHP_SELF"], "pfp.unitprice", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
if ($conf->multicurrency->enabled) {
|
||||
print_liste_field_titre("UnitPriceHTCurrency", $_SERVER["PHP_SELF"], "pfp.multicurrency_unitprice", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("Currency", $_SERVER["PHP_SELF"], "", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("UnitPriceHTCurrency", $_SERVER["PHP_SELF"], "pfp.multicurrency_unitprice", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("Currency", $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
print_liste_field_titre("DiscountQtyMin", $_SERVER["PHP_SELF"], '', '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("NbDaysToDelivery", $_SERVER["PHP_SELF"], "pfp.delivery_time_days", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("ReputationForThisProduct", $_SERVER["PHP_SELF"], "pfp.supplier_reputation", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("DiscountQtyMin", $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("NbDaysToDelivery", $_SERVER["PHP_SELF"], "pfp.delivery_time_days", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("ReputationForThisProduct", $_SERVER["PHP_SELF"], "pfp.supplier_reputation", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre('');
|
||||
print "</tr>\n";
|
||||
|
||||
@ -798,11 +799,11 @@ SCRIPT;
|
||||
// Supplier ref
|
||||
if ($user->rights->produit->creer || $user->rights->service->creer) // change required right here
|
||||
{
|
||||
print '<td align="left">'.$productfourn->getNomUrl().'</td>';
|
||||
print '<td class="left">'.$productfourn->getNomUrl().'</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="left">'.$productfourn->fourn_ref.'</td>';
|
||||
print '<td class="left">'.$productfourn->fourn_ref.'</td>';
|
||||
}
|
||||
|
||||
// Availability
|
||||
@ -814,57 +815,57 @@ SCRIPT;
|
||||
}
|
||||
|
||||
// Quantity
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print $productfourn->fourn_qty;
|
||||
print '</td>';
|
||||
|
||||
// VAT rate
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print vatrate($productfourn->fourn_tva_tx, true);
|
||||
print '</td>';
|
||||
|
||||
// Price for the quantity
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print $productfourn->fourn_price?price($productfourn->fourn_price):"";
|
||||
print '</td>';
|
||||
|
||||
if ($conf->multicurrency->enabled) {
|
||||
// Price for the quantity in currency
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print $productfourn->fourn_multicurrency_price ? price($productfourn->fourn_multicurrency_price) : "";
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
// Unit price
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print price($productfourn->fourn_unitprice);
|
||||
//print $objp->unitprice? price($objp->unitprice) : ($objp->quantity?price($objp->price/$objp->quantity):" ");
|
||||
print '</td>';
|
||||
|
||||
if ($conf->multicurrency->enabled) {
|
||||
// Unit price in currency
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print price($productfourn->fourn_multicurrency_unitprice);
|
||||
print '</td>';
|
||||
|
||||
// Currency
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print $productfourn->fourn_multicurrency_code ? currency_name($productfourn->fourn_multicurrency_code) : '';
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
// Discount
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print price2num($productfourn->fourn_remise_percent).'%';
|
||||
print '</td>';
|
||||
|
||||
// Delivery delay
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print $productfourn->delivery_time_days;
|
||||
print '</td>';
|
||||
|
||||
// Reputation
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if (!empty($productfourn->supplier_reputation) && !empty($object->reputations[$productfourn->supplier_reputation])) {
|
||||
print $object->reputations[$productfourn->supplier_reputation];
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@
|
||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2014-2016 Charlie BENKE <charlie@patas-monkey.com>
|
||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||
* Copyright (C) 2019 Pierre Ardoin <mapiolca@me.com>
|
||||
* Copyright (C) 2019 Pierre Ardoin <mapiolca@me.com>
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -21,7 +22,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/product/index.php
|
||||
* \file htdocs/product/index.php
|
||||
* \ingroup product
|
||||
* \brief Homepage products and services
|
||||
*/
|
||||
@ -142,31 +143,31 @@ print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Statistics").'</
|
||||
if (! empty($conf->product->enabled))
|
||||
{
|
||||
$statProducts = '<tr class="oddeven">';
|
||||
$statProducts.= '<td><a href="list.php?type=0&tosell=0&tobuy=0">'.$langs->trans("ProductsNotOnSell").'</a></td><td align="right">'.round($prodser[0][0]).'</td>';
|
||||
$statProducts.= '<td><a href="list.php?type=0&tosell=0&tobuy=0">'.$langs->trans("ProductsNotOnSell").'</a></td><td class="right">'.round($prodser[0][0]).'</td>';
|
||||
$statProducts.= "</tr>";
|
||||
$statProducts.= '<tr class="oddeven">';
|
||||
$statProducts.= '<td><a href="list.php?type=0">'.$langs->trans("ProductsOnSaleOnly").'</a></td><td align="right">'.round($prodser[0][1]).'</td>';
|
||||
$statProducts.= '<td><a href="list.php?type=0">'.$langs->trans("ProductsOnSaleOnly").'</a></td><td class="right">'.round($prodser[0][1]).'</td>';
|
||||
$statProducts.= "</tr>";
|
||||
$statProducts.= '<tr class="oddeven">';
|
||||
$statProducts.= '<td><a href="list.php?type=0">'.$langs->trans("ProductsOnPurchaseOnly").'</a></td><td align="right">'.round($prodser[0][2]).'</td>';
|
||||
$statProducts.= '<td><a href="list.php?type=0">'.$langs->trans("ProductsOnPurchaseOnly").'</a></td><td class="right">'.round($prodser[0][2]).'</td>';
|
||||
$statProducts.= "</tr>";
|
||||
$statProducts.= '<tr class="oddeven">';
|
||||
$statProducts.= '<td><a href="list.php?type=0&tosell=1&tobuy=1">'.$langs->trans("ProductsOnSellAndOnBuy").'</a></td><td align="right">'.round($prodser[0][3]).'</td>';
|
||||
$statProducts.= '<td><a href="list.php?type=0&tosell=1&tobuy=1">'.$langs->trans("ProductsOnSellAndOnBuy").'</a></td><td class="right">'.round($prodser[0][3]).'</td>';
|
||||
$statProducts.= "</tr>";
|
||||
}
|
||||
if (! empty($conf->service->enabled))
|
||||
{
|
||||
$statServices = '<tr class="oddeven">';
|
||||
$statServices.= '<td><a href="list.php?type=1&tosell=0&tobuy=0">'.$langs->trans("ServicesNotOnSell").'</a></td><td align="right">'.round($prodser[1][0]).'</td>';
|
||||
$statServices.= '<td><a href="list.php?type=1&tosell=0&tobuy=0">'.$langs->trans("ServicesNotOnSell").'</a></td><td class="right">'.round($prodser[1][0]).'</td>';
|
||||
$statServices.= "</tr>";
|
||||
$statServices.= '<tr class="oddeven">';
|
||||
$statServices.= '<td><a href="list.php?type=1">'.$langs->trans("ServicesOnSaleOnly").'</a></td><td align="right">'.round($prodser[1][1]).'</td>';
|
||||
$statServices.= '<td><a href="list.php?type=1">'.$langs->trans("ServicesOnSaleOnly").'</a></td><td class="right">'.round($prodser[1][1]).'</td>';
|
||||
$statServices.= "</tr>";
|
||||
$statServices.= '<tr class="oddeven">';
|
||||
$statServices.= '<td><a href="list.php?type=1">'.$langs->trans("ServicesOnPurchaseOnly").'</a></td><td align="right">'.round($prodser[1][2]).'</td>';
|
||||
$statServices.= '<td><a href="list.php?type=1">'.$langs->trans("ServicesOnPurchaseOnly").'</a></td><td class="right">'.round($prodser[1][2]).'</td>';
|
||||
$statServices.= "</tr>";
|
||||
$statServices.= '<tr class="oddeven">';
|
||||
$statServices.= '<td><a href="list.php?type=1&tosell=1&tobuy=1">'.$langs->trans("ServicesOnSellAndOnBuy").'</a></td><td align="right">'.round($prodser[1][3]).'</td>';
|
||||
$statServices.= '<td><a href="list.php?type=1&tosell=1&tobuy=1">'.$langs->trans("ServicesOnSellAndOnBuy").'</a></td><td class="right">'.round($prodser[1][3]).'</td>';
|
||||
$statServices.= "</tr>";
|
||||
}
|
||||
$total=0;
|
||||
@ -185,7 +186,7 @@ else
|
||||
print $statProducts.$statServices;
|
||||
$total=round($prodser[0][0])+round($prodser[0][1])+round($prodser[0][2])+round($prodser[0][3])+round($prodser[1][0])+round($prodser[1][1])+round($prodser[1][2])+round($prodser[1][3]); //Calcul du Total des Produits et Services
|
||||
}
|
||||
print '<tr class="liste_total"><td>'.$langs->trans("Total").'</td><td align="right">';
|
||||
print '<tr class="liste_total"><td>'.$langs->trans("Total").'</td><td class="right">';
|
||||
print $total;
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
@ -198,7 +199,7 @@ if (! empty($conf->categorie->enabled) && ! empty($conf->global->CATEGORY_GRAPHS
|
||||
print '<div class="div-table-responsive-no-min">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("Categories").'</th></tr>';
|
||||
print '<tr '.$bc[0].'><td align="center" colspan="2">';
|
||||
print '<tr '.$bc[0].'><td class="center" colspan="2">';
|
||||
$sql = "SELECT c.label, count(*) as nb";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."categorie_product as cs";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON cs.fk_categorie = c.rowid";
|
||||
@ -258,7 +259,7 @@ if (! empty($conf->categorie->enabled) && ! empty($conf->global->CATEGORY_GRAPHS
|
||||
}
|
||||
}
|
||||
print '</td></tr>';
|
||||
print '<tr class="liste_total"><td>'.$langs->trans("Total").'</td><td align="right">';
|
||||
print '<tr class="liste_total"><td>'.$langs->trans("Total").'</td><td class="right">';
|
||||
print $total;
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
@ -356,15 +357,15 @@ if ($result)
|
||||
$objp->price = $price_result;
|
||||
}
|
||||
}
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if (isset($objp->price_base_type) && $objp->price_base_type == 'TTC') print price($objp->price_ttc).' '.$langs->trans("TTC");
|
||||
else print price($objp->price).' '.$langs->trans("HT");
|
||||
print '</td>';
|
||||
}
|
||||
print '<td align="right" class="nowrap"><span class="statusrefsell">';
|
||||
print '<td class="right nowrap"><span class="statusrefsell">';
|
||||
print $product_static->LibStatut($objp->tosell, 3, 0);
|
||||
print "</span></td>";
|
||||
print '<td align="right" class="nowrap"><span class="statusrefbuy">';
|
||||
print '<td class="right nowrap"><span class="statusrefbuy">';
|
||||
print $product_static->LibStatut($objp->tobuy, 3, 1);
|
||||
print "</span></td>";
|
||||
print "</tr>\n";
|
||||
@ -444,14 +445,14 @@ function activitytrim($product_type)
|
||||
print '<table class="noborder" width="75%">';
|
||||
|
||||
if ($product_type==0)
|
||||
print '<tr class="liste_titre"><td align=left>'.$langs->trans("ProductSellByQuarterHT").'</td>';
|
||||
print '<tr class="liste_titre"><td class=left>'.$langs->trans("ProductSellByQuarterHT").'</td>';
|
||||
else
|
||||
print '<tr class="liste_titre"><td align=left>'.$langs->trans("ServiceSellByQuarterHT").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter1").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter2").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter3").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Quarter4").'</td>';
|
||||
print '<td align=right>'.$langs->trans("Total").'</td>';
|
||||
print '<tr class="liste_titre"><td class=left>'.$langs->trans("ServiceSellByQuarterHT").'</td>';
|
||||
print '<td class=right>'.$langs->trans("Quarter1").'</td>';
|
||||
print '<td class=right>'.$langs->trans("Quarter2").'</td>';
|
||||
print '<td class=right>'.$langs->trans("Quarter3").'</td>';
|
||||
print '<td class=right>'.$langs->trans("Quarter4").'</td>';
|
||||
print '<td class=right>'.$langs->trans("Total").'</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
$i = 0;
|
||||
@ -463,12 +464,12 @@ function activitytrim($product_type)
|
||||
{
|
||||
if ($trim1+$trim2+$trim3+$trim4 > 0)
|
||||
{
|
||||
print '<tr class="oddeven"><td align=left>'.$tmpyear.'</td>';
|
||||
print '<td align=right>'.price($trim1).'</td>';
|
||||
print '<td align=right>'.price($trim2).'</td>';
|
||||
print '<td align=right>'.price($trim3).'</td>';
|
||||
print '<td align=right>'.price($trim4).'</td>';
|
||||
print '<td align=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
|
||||
print '<tr class="oddeven"><td class=left>'.$tmpyear.'</td>';
|
||||
print '<td class=right>'.price($trim1).'</td>';
|
||||
print '<td class=right>'.price($trim2).'</td>';
|
||||
print '<td class=right>'.price($trim3).'</td>';
|
||||
print '<td class=right>'.price($trim4).'</td>';
|
||||
print '<td class=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
|
||||
print '</tr>';
|
||||
$lgn++;
|
||||
}
|
||||
@ -496,12 +497,12 @@ function activitytrim($product_type)
|
||||
}
|
||||
if ($trim1+$trim2+$trim3+$trim4 > 0)
|
||||
{
|
||||
print '<tr class="oddeven"><td align=left>'.$tmpyear.'</td>';
|
||||
print '<td align=right>'.price($trim1).'</td>';
|
||||
print '<td align=right>'.price($trim2).'</td>';
|
||||
print '<td align=right>'.price($trim3).'</td>';
|
||||
print '<td align=right>'.price($trim4).'</td>';
|
||||
print '<td align=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
|
||||
print '<tr class="oddeven"><td class=left>'.$tmpyear.'</td>';
|
||||
print '<td class=right>'.price($trim1).'</td>';
|
||||
print '<td class=right>'.price($trim2).'</td>';
|
||||
print '<td class=right>'.price($trim3).'</td>';
|
||||
print '<td class=right>'.price($trim4).'</td>';
|
||||
print '<td class=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
if ($num > 0 )
|
||||
|
||||
@ -514,26 +514,26 @@ if ($resql)
|
||||
print '<tr class="liste_titre_filter">';
|
||||
if (! empty($arrayfields['p.ref']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" name="search_ref" size="8" value="'.dol_escape_htmltag($search_ref).'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['pfp.ref_fourn']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" name="search_ref_supplier" size="8" value="'.dol_escape_htmltag($search_ref_supplier).'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['p.label']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" name="search_label" size="12" value="'.dol_escape_htmltag($search_label).'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Type
|
||||
if (! empty($arrayfields['p.fk_product_type']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
$array=array('-1'=>' ', '0'=>$langs->trans('Product'), '1'=>$langs->trans('Service'));
|
||||
print $form->selectarray('search_type', $array, $search_type);
|
||||
print '</td>';
|
||||
@ -555,7 +555,7 @@ if ($resql)
|
||||
// Sell price
|
||||
if (! empty($arrayfields['p.sellprice']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
print '</td>';
|
||||
}
|
||||
// Minimum buying Price
|
||||
@ -623,17 +623,17 @@ if ($resql)
|
||||
}
|
||||
if (! empty($arrayfields['p.tosell']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
print $form->selectarray('search_tosell', array('0'=>$langs->trans('ProductStatusNotOnSellShort'),'1'=>$langs->trans('ProductStatusOnSellShort')), $search_tosell, 1);
|
||||
print '</td >';
|
||||
}
|
||||
if (! empty($arrayfields['p.tobuy']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
print $form->selectarray('search_tobuy', array('0'=>$langs->trans('ProductStatusNotOnBuyShort'),'1'=>$langs->trans('ProductStatusOnBuyShort')), $search_tobuy, 1);
|
||||
print '</td>';
|
||||
}
|
||||
print '<td class="liste_titre" align="middle">';
|
||||
print '<td class="liste_titre center">';
|
||||
$searchpicto=$form->showFilterButtons();
|
||||
print $searchpicto;
|
||||
print '</td>';
|
||||
@ -641,39 +641,81 @@ if ($resql)
|
||||
print '</tr>';
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
if (! empty($arrayfields['p.ref']['checked'])) print_liste_field_titre($arrayfields['p.ref']['label'], $_SERVER["PHP_SELF"], "p.ref", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['pfp.ref_fourn']['checked'])) print_liste_field_titre($arrayfields['pfp.ref_fourn']['label'], $_SERVER["PHP_SELF"], "pfp.ref_fourn", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.label']['checked'])) print_liste_field_titre($arrayfields['p.label']['label'], $_SERVER["PHP_SELF"], "p.label", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.fk_product_type']['checked'])) print_liste_field_titre($arrayfields['p.fk_product_type']['label'], $_SERVER["PHP_SELF"], "p.fk_product_type", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.barcode']['checked'])) print_liste_field_titre($arrayfields['p.barcode']['label'], $_SERVER["PHP_SELF"], "p.barcode", "", $param, "", $sortfield, $sortorder);
|
||||
if ((string) $type == '1' && ! empty($arrayfields['p.duration']['checked'])) print_liste_field_titre($arrayfields['p.duration']['label'], $_SERVER["PHP_SELF"], "p.duration", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.sellprice']['checked'])) print_liste_field_titre($arrayfields['p.sellprice']['label'], $_SERVER["PHP_SELF"], "", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.minbuyprice']['checked'])) print_liste_field_titre($arrayfields['p.minbuyprice']['label'], $_SERVER["PHP_SELF"], "", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.numbuyprice']['checked'])) print_liste_field_titre($arrayfields['p.numbuyprice']['label'], $_SERVER["PHP_SELF"], "", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.pmp']['checked'])) print_liste_field_titre($arrayfields['p.pmp']['label'], $_SERVER["PHP_SELF"], "", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.seuil_stock_alerte']['checked'])) print_liste_field_titre($arrayfields['p.seuil_stock_alerte']['label'], $_SERVER["PHP_SELF"], "p.seuil_stock_alerte", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.desiredstock']['checked'])) print_liste_field_titre($arrayfields['p.desiredstock']['label'], $_SERVER["PHP_SELF"], "p.desiredstock", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.stock']['checked'])) print_liste_field_titre($arrayfields['p.stock']['label'], $_SERVER["PHP_SELF"], "p.stock", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['stock_virtual']['checked'])) print_liste_field_titre($arrayfields['stock_virtual']['label'], $_SERVER["PHP_SELF"], "", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.tobatch']['checked'])) print_liste_field_titre($arrayfields['p.tobatch']['label'], $_SERVER["PHP_SELF"], "p.tobatch", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.accountancy_code_sell']['checked'])) print_liste_field_titre($arrayfields['p.accountancy_code_sell']['label'], $_SERVER["PHP_SELF"], "p.accountancy_code_sell", "", $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.accountancy_code_buy']['checked'])) print_liste_field_titre($arrayfields['p.accountancy_code_buy']['label'], $_SERVER["PHP_SELF"], "p.accountancy_code_buy", "", $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.ref']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.ref']['label'], $_SERVER["PHP_SELF"], "p.ref", "", $param, "", $sortfield, $sortorder);
|
||||
}
|
||||
if (! empty($arrayfields['pfp.ref_fourn']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['pfp.ref_fourn']['label'], $_SERVER["PHP_SELF"], "pfp.ref_fourn", "", $param, "", $sortfield, $sortorder);
|
||||
}
|
||||
if (! empty($arrayfields['p.label']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.label']['label'], $_SERVER["PHP_SELF"], "p.label", "", $param, "", $sortfield, $sortorder);
|
||||
}
|
||||
if (! empty($arrayfields['p.fk_product_type']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.fk_product_type']['label'], $_SERVER["PHP_SELF"], "p.fk_product_type", "", $param, "", $sortfield, $sortorder);
|
||||
}
|
||||
if (! empty($arrayfields['p.barcode']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.barcode']['label'], $_SERVER["PHP_SELF"], "p.barcode", "", $param, "", $sortfield, $sortorder);
|
||||
}
|
||||
if ((string) $type == '1' && ! empty($arrayfields['p.duration']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.duration']['label'], $_SERVER["PHP_SELF"], "p.duration", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
}
|
||||
if (! empty($arrayfields['p.sellprice']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.sellprice']['label'], $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.minbuyprice']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.minbuyprice']['label'], $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.numbuyprice']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.numbuyprice']['label'], $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.pmp']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.pmp']['label'], $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.seuil_stock_alerte']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.seuil_stock_alerte']['label'], $_SERVER["PHP_SELF"], "p.seuil_stock_alerte", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.desiredstock']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.desiredstock']['label'], $_SERVER["PHP_SELF"], "p.desiredstock", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.stock']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.stock']['label'], $_SERVER["PHP_SELF"], "p.stock", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['stock_virtual']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['stock_virtual']['label'], $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.tobatch']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.tobatch']['label'], $_SERVER["PHP_SELF"], "p.tobatch", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
}
|
||||
if (! empty($arrayfields['p.accountancy_code_sell']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.accountancy_code_sell']['label'], $_SERVER["PHP_SELF"], "p.accountancy_code_sell", "", $param, '', $sortfield, $sortorder);
|
||||
}
|
||||
if (! empty($arrayfields['p.accountancy_code_buy']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.accountancy_code_buy']['label'], $_SERVER["PHP_SELF"], "p.accountancy_code_buy", "", $param, '', $sortfield, $sortorder);
|
||||
}
|
||||
// Extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
|
||||
// Hook fields
|
||||
$parameters=array('arrayfields'=>$arrayfields,'param'=>$param,'sortfield'=>$sortfield,'sortorder'=>$sortorder);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
if (! empty($arrayfields['p.datec']['checked'])) print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.tosell']['checked'])) print_liste_field_titre($arrayfields['p.tosell']['label'], $_SERVER["PHP_SELF"], "p.tosell", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['p.tobuy']['checked'])) print_liste_field_titre($arrayfields['p.tobuy']['label'], $_SERVER["PHP_SELF"], "p.tobuy", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
if (! empty($arrayfields['p.datec']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
}
|
||||
if (! empty($arrayfields['p.tms']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
}
|
||||
if (! empty($arrayfields['p.tosell']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.tosell']['label'], $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (! empty($arrayfields['p.tobuy']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.tobuy']['label'], $_SERVER["PHP_SELF"], "p.tobuy", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
$product_static=new Product($db);
|
||||
$product_fourn =new ProductFournisseur($db);
|
||||
$product_static = new Product($db);
|
||||
$product_fourn = new ProductFournisseur($db);
|
||||
|
||||
$i = 0;
|
||||
$totalarray=array();
|
||||
@ -776,7 +818,7 @@ if ($resql)
|
||||
// Duration
|
||||
if ((string) $type == '1' && ! empty($arrayfields['p.duration']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
|
||||
if (preg_match('/([^a-z]+)[a-z]$/i', $obj->duration))
|
||||
{
|
||||
@ -842,7 +884,7 @@ if ($resql)
|
||||
// Number of buy prices
|
||||
if (! empty($arrayfields['p.numbuyprice']['checked']))
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($obj->tobuy)
|
||||
{
|
||||
if (count($productFournList = $product_fourn->list_product_fournisseur_price($obj->rowid)) > 0)
|
||||
@ -857,7 +899,7 @@ if ($resql)
|
||||
// WAP
|
||||
if (! empty($arrayfields['p.pmp']['checked']))
|
||||
{
|
||||
print '<td class="nowrap" align="right">';
|
||||
print '<td class="nowrap right">';
|
||||
print price($product_static->pmp, 1, $langs);
|
||||
print '</td>';
|
||||
}
|
||||
@ -865,7 +907,7 @@ if ($resql)
|
||||
// Limit alert
|
||||
if (! empty($arrayfields['p.seuil_stock_alerte']['checked']))
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($obj->fk_product_type != 1)
|
||||
{
|
||||
print $obj->seuil_stock_alerte;
|
||||
@ -876,7 +918,7 @@ if ($resql)
|
||||
// Desired stock
|
||||
if (! empty($arrayfields['p.desiredstock']['checked']))
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($obj->fk_product_type != 1)
|
||||
{
|
||||
print $obj->desiredstock;
|
||||
@ -887,7 +929,7 @@ if ($resql)
|
||||
// Stock real
|
||||
if (! empty($arrayfields['p.stock']['checked']))
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($obj->fk_product_type != 1)
|
||||
{
|
||||
if ($obj->seuil_stock_alerte != '' && $product_static->stock_reel < (float) $obj->seuil_stock_alerte) print img_warning($langs->trans("StockLowerThanLimit", $obj->seuil_stock_alerte)).' ';
|
||||
@ -899,7 +941,7 @@ if ($resql)
|
||||
// Stock virtual
|
||||
if (! empty($arrayfields['stock_virtual']['checked']))
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($obj->fk_product_type != 1)
|
||||
{
|
||||
if ($obj->seuil_stock_alerte != '' && $product_static->stock_theorique < (float) $obj->seuil_stock_alerte) print img_warning($langs->trans("StockLowerThanLimit", $obj->seuil_stock_alerte)).' ';
|
||||
@ -911,7 +953,7 @@ if ($resql)
|
||||
// Lot/Serial
|
||||
if (! empty($arrayfields['p.tobatch']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print yn($obj->tobatch);
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
@ -937,7 +979,7 @@ if ($resql)
|
||||
// Date creation
|
||||
if (! empty($arrayfields['p.datec']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print dol_print_date($obj->date_creation, 'dayhour', 'tzuser');
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
@ -945,7 +987,7 @@ if ($resql)
|
||||
// Date modification
|
||||
if (! empty($arrayfields['p.tms']['checked']))
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
print dol_print_date($obj->date_update, 'dayhour', 'tzuser');
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
@ -954,7 +996,7 @@ if ($resql)
|
||||
// Status (to sell)
|
||||
if (! empty($arrayfields['p.tosell']['checked']))
|
||||
{
|
||||
print '<td align="right" nowrap="nowrap">';
|
||||
print '<td class="right nowrap">';
|
||||
if (! empty($conf->use_javascript_ajax) && $user->rights->produit->creer && ! empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) {
|
||||
print ajax_object_onoff($product_static, 'status', 'tosell', 'ProductStatusOnSell', 'ProductStatusNotOnSell');
|
||||
} else {
|
||||
@ -966,7 +1008,7 @@ if ($resql)
|
||||
// Status (to buy)
|
||||
if (! empty($arrayfields['p.tobuy']['checked']))
|
||||
{
|
||||
print '<td align="right" nowrap="nowrap">';
|
||||
print '<td class="right nowrap">';
|
||||
if (! empty($conf->use_javascript_ajax) && $user->rights->produit->creer && ! empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) {
|
||||
print ajax_object_onoff($product_static, 'status_buy', 'tobuy', 'ProductStatusOnBuy', 'ProductStatusNotOnBuy');
|
||||
} else {
|
||||
@ -976,7 +1018,7 @@ if ($resql)
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
// Action
|
||||
print '<td class="nowrap" align="center">';
|
||||
print '<td class="nowrap center">';
|
||||
if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
|
||||
{
|
||||
$selected=0;
|
||||
|
||||
@ -163,7 +163,7 @@ print "<tr class=\"liste_titre\">";
|
||||
print_liste_field_titre('Ref', $_SERVER["PHP_SELF"], 'p.ref', '', $param, '', $sortfield, $sortorder);
|
||||
print_liste_field_titre('Type', $_SERVER["PHP_SELF"], 'p.fk_product_type', '', $param, '', $sortfield, $sortorder);
|
||||
print_liste_field_titre('Label', $_SERVER["PHP_SELF"], 'p.label', '', $param, '', $sortfield, $sortorder);
|
||||
print_liste_field_titre('NbOfQtyInProposals', $_SERVER["PHP_SELF"], 'c', '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre('NbOfQtyInProposals', $_SERVER["PHP_SELF"], 'c', '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print "</tr>\n";
|
||||
|
||||
foreach($infoprod as $prodid => $vals)
|
||||
@ -196,7 +196,7 @@ foreach($infoprod as $prodid => $vals)
|
||||
else print $langs->trans("Product");
|
||||
print '</td>';
|
||||
print '<td>'.$vals['label'].'</td>';
|
||||
print '<td align="right">'.$vals['nblineproposal'].'</td>';
|
||||
print '<td class="right">'.$vals['nblineproposal'].'</td>';
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
}
|
||||
|
||||
@ -893,9 +893,9 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES) || ! empty($conf->global->PRODUI
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>' . $langs->trans("PriceByQuantityRange") . ' ' . $i . '</td>';
|
||||
print '<td align="right">' . $langs->trans("HT") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("UnitPrice") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("Discount") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("HT") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("UnitPrice") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("Discount") . '</td>';
|
||||
print '<td> </td>';
|
||||
print '</tr>';
|
||||
foreach ($object->prices_by_qty_list[$i] as $ii => $prices)
|
||||
@ -907,18 +907,18 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES) || ! empty($conf->global->PRODUI
|
||||
print '<input type="hidden" value="' . $prices['rowid'] . '" name="rowid">';
|
||||
print '<tr class="' . ($ii % 2 == 0 ? 'pair' : 'impair') . '">';
|
||||
print '<td><input size="5" type="text" value="' . $prices['quantity'] . '" name="quantity"></td>';
|
||||
print '<td align="right" colspan="2"><input size="10" type="text" value="' . price2num($prices['price'], 'MU') . '" name="price"> ' . $object->price_base_type . '</td>';
|
||||
print '<td align="right"><input size="5" type="text" value="' . $prices['remise_percent'] . '" name="remise_percent"> %</td>';
|
||||
print '<td align="center"><input type="submit" value="' . $langs->trans("Modify") . '" class="button"></td>';
|
||||
print '<td class="right" colspan="2"><input size="10" type="text" value="' . price2num($prices['price'], 'MU') . '" name="price"> ' . $object->price_base_type . '</td>';
|
||||
print '<td class="right"><input size="5" type="text" value="' . $prices['remise_percent'] . '" name="remise_percent"> %</td>';
|
||||
print '<td class="center"><input type="submit" value="' . $langs->trans("Modify") . '" class="button"></td>';
|
||||
print '</tr>';
|
||||
print '</form>';
|
||||
} else {
|
||||
print '<tr class="' . ($ii % 2 == 0 ? 'pair' : 'impair') . '">';
|
||||
print '<td>' . $prices['quantity'] . '</td>';
|
||||
print '<td align="right">' . price($prices['price']) . '</td>';
|
||||
print '<td align="right">' . price($prices['unitprice']) . '</td>';
|
||||
print '<td align="right">' . price($prices['remise_percent']) . ' %</td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="right">' . price($prices['price']) . '</td>';
|
||||
print '<td class="right">' . price($prices['unitprice']) . '</td>';
|
||||
print '<td class="right">' . price($prices['remise_percent']) . ' %</td>';
|
||||
print '<td class="center">';
|
||||
if (($user->rights->produit->creer || $user->rights->service->creer)) {
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=edit_price_by_qty&rowid=' . $prices["rowid"] . '">';
|
||||
print img_edit() . '</a>';
|
||||
@ -938,10 +938,10 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES) || ! empty($conf->global->PRODUI
|
||||
print '<input type="hidden" value="0" name="rowid">'; // id in product_price
|
||||
print '<tr class="' . ($ii % 2 == 0 ? 'pair' : 'impair') . '">';
|
||||
print '<td><input size="5" type="text" value="1" name="quantity"></td>';
|
||||
print '<td align="right" class="nowrap"><input size="10" type="text" value="0" name="price"> ' . $object->price_base_type . '</td>';
|
||||
print '<td align="right"> </td>';
|
||||
print '<td align="right" class="nowrap"><input size="5" type="text" value="0" name="remise_percent"> %</td>';
|
||||
print '<td align="center"><input type="submit" value="' . $langs->trans("Add") . '" class="button"></td>';
|
||||
print '<td class="right" class="nowrap"><input size="10" type="text" value="0" name="price"> ' . $object->price_base_type . '</td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '<td class="right" class="nowrap"><input size="5" type="text" value="0" name="remise_percent"> %</td>';
|
||||
print '<td class="center"><input type="submit" value="' . $langs->trans("Add") . '" class="button"></td>';
|
||||
print '</tr>';
|
||||
print '</form>';
|
||||
}
|
||||
@ -1013,10 +1013,10 @@ else
|
||||
print '<tr class="liste_titre">';
|
||||
//print '<td>' . $langs->trans("PriceByQuantityRange") . '</td>';
|
||||
print '<td>' . $langs->trans("Quantity") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("Price") . '</td>';
|
||||
print '<td align="right"></td>';
|
||||
print '<td align="right">' . $langs->trans("UnitPrice") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("Discount") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("Price") . '</td>';
|
||||
print '<td class="right"></td>';
|
||||
print '<td class="right">' . $langs->trans("UnitPrice") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("Discount") . '</td>';
|
||||
print '<td> </td>';
|
||||
print '</tr>';
|
||||
if ($action != 'edit_price_by_qty')
|
||||
@ -1028,13 +1028,13 @@ else
|
||||
|
||||
print '<tr class="' . ($ii % 2 == 0 ? 'pair' : 'impair') . '">';
|
||||
print '<td><input size="5" type="text" value="1" name="quantity"></td>';
|
||||
print '<td align="right"><input class="width50 right" type="text" value="0" name="price"></td>';
|
||||
print '<td class="right"><input class="width50 right" type="text" value="0" name="price"></td>';
|
||||
print '<td>';
|
||||
//print $object->price_base_type;
|
||||
print '</td>';
|
||||
print '<td align="right"> </td>';
|
||||
print '<td align="right"><input type="text" class="width50 right" value="0" name="remise_percent"> %</td>';
|
||||
print '<td align="center"><input type="submit" value="' . $langs->trans("Add") . '" class="button"></td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '<td class="right"><input type="text" class="width50 right" value="0" name="remise_percent"> %</td>';
|
||||
print '<td class="center"><input type="submit" value="' . $langs->trans("Add") . '" class="button"></td>';
|
||||
print '</tr>';
|
||||
|
||||
print '</form>';
|
||||
@ -1049,27 +1049,27 @@ else
|
||||
print '<input type="hidden" value="' . $prices['rowid'] . '" name="rowid">'; // id in product_price_by_qty
|
||||
print '<tr class="' . ($ii % 2 == 0 ? 'pair' : 'impair') . '">';
|
||||
print '<td><input size="5" type="text" value="' . $prices['quantity'] . '" name="quantity"></td>';
|
||||
print '<td align="right"><input class="width50 right" type="text" value="' . price2num($prices['price'], 'MU') . '" name="price"></td>';
|
||||
print '<td align="right">';
|
||||
print '<td class="right"><input class="width50 right" type="text" value="' . price2num($prices['price'], 'MU') . '" name="price"></td>';
|
||||
print '<td class="right">';
|
||||
//print $object->price_base_type;
|
||||
print $prices['price_base_type'];
|
||||
print '</td>';
|
||||
print '<td align="right"> </td>';
|
||||
print '<td align="right"><input class="width50 right" type="text" value="' . $prices['remise_percent'] . '" name="remise_percent"> %</td>';
|
||||
print '<td align="center"><input type="submit" value="' . $langs->trans("Modify") . '" class="button"></td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '<td class="right"><input class="width50 right" type="text" value="' . $prices['remise_percent'] . '" name="remise_percent"> %</td>';
|
||||
print '<td class="center"><input type="submit" value="' . $langs->trans("Modify") . '" class="button"></td>';
|
||||
print '</tr>';
|
||||
print '</form>';
|
||||
} else {
|
||||
print '<tr class="' . ($ii % 2 == 0 ? 'pair' : 'impair') . '">';
|
||||
print '<td>' . $prices['quantity'] . '</td>';
|
||||
print '<td align="right">' . price($prices['price']) . '</td>';
|
||||
print '<td align="right">';
|
||||
print '<td class="right">' . price($prices['price']) . '</td>';
|
||||
print '<td class="right">';
|
||||
//print $object->price_base_type;
|
||||
print $prices['price_base_type'];
|
||||
print '</td>';
|
||||
print '<td align="right">' . price($prices['unitprice']) . '</td>';
|
||||
print '<td align="right">' . price($prices['remise_percent']) . ' %</td>';
|
||||
print '<td align="center">';
|
||||
print '<td class="right">' . price($prices['unitprice']) . '</td>';
|
||||
print '<td class="right">' . price($prices['remise_percent']) . ' %</td>';
|
||||
print '<td class="center">';
|
||||
if (($user->rights->produit->creer || $user->rights->service->creer))
|
||||
{
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=edit_price_by_qty&rowid=' . $prices["rowid"] . '">';
|
||||
@ -1475,25 +1475,25 @@ if ((empty($conf->global->PRODUIT_CUSTOMER_PRICES) || $action=='showlog_default_
|
||||
print '<td>' . $langs->trans("AppliedPricesFrom") . '</td>';
|
||||
|
||||
if (! empty($conf->global->PRODUIT_MULTIPRICES) || ! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) {
|
||||
print '<td align="center">' . $langs->trans("PriceLevel") . '</td>';
|
||||
print '<td class="center">' . $langs->trans("PriceLevel") . '</td>';
|
||||
}
|
||||
if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || ! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) {
|
||||
print '<td align="center">' . $langs->trans("Type") . '</td>';
|
||||
print '<td class="center">' . $langs->trans("Type") . '</td>';
|
||||
}
|
||||
|
||||
print '<td align="center">' . $langs->trans("PriceBase") . '</td>';
|
||||
print '<td class="center">' . $langs->trans("PriceBase") . '</td>';
|
||||
print $conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL;
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES) && empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) print '<td align="right">' . $langs->trans("DefaultTaxRate") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("HT") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("TTC") . '</td>';
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES) && empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) print '<td class="right">' . $langs->trans("DefaultTaxRate") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("HT") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("TTC") . '</td>';
|
||||
if (! empty($conf->dynamicprices->enabled)) {
|
||||
print '<td align="right">' . $langs->trans("PriceExpressionSelected") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("PriceExpressionSelected") . '</td>';
|
||||
}
|
||||
print '<td align="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("ChangedBy") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("ChangedBy") . '</td>';
|
||||
if ($user->rights->produit->supprimer)
|
||||
print '<td align="right"> </td>';
|
||||
print '<td class="right"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
$notfirstlineforlevel=array();
|
||||
@ -1509,16 +1509,16 @@ if ((empty($conf->global->PRODUIT_CUSTOMER_PRICES) || $action=='showlog_default_
|
||||
|
||||
// Price level
|
||||
if (! empty($conf->global->PRODUIT_MULTIPRICES) || ! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) {
|
||||
print '<td align="center">' . $objp->price_level . "</td>";
|
||||
print '<td class="center">' . $objp->price_level . "</td>";
|
||||
}
|
||||
// Price by quantity
|
||||
if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY) || ! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES))
|
||||
{
|
||||
$type = ($objp->price_by_qty == 1) ? 'PriceByQuantity' : 'Standard';
|
||||
print '<td align="center">' . $langs->trans($type) . "</td>";
|
||||
print '<td class="center">' . $langs->trans($type) . "</td>";
|
||||
}
|
||||
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if (empty($objp->price_by_qty)) {
|
||||
print $langs->trans($objp->price_base_type);
|
||||
}
|
||||
@ -1526,7 +1526,7 @@ if ((empty($conf->global->PRODUIT_CUSTOMER_PRICES) || $action=='showlog_default_
|
||||
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES) && empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES))
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
|
||||
if (empty($objp->price_by_qty)) {
|
||||
$positiverates='';
|
||||
@ -1552,41 +1552,41 @@ if ((empty($conf->global->PRODUIT_CUSTOMER_PRICES) || $action=='showlog_default_
|
||||
$price_expression = new PriceExpression($db);
|
||||
$res = $price_expression->fetch($objp->fk_price_expression);
|
||||
$title = $price_expression->title;
|
||||
print '<td align="right"></td>';
|
||||
print '<td align="right"></td>';
|
||||
print '<td align="right">' . $title . "</td>";
|
||||
print '<td class="right"></td>';
|
||||
print '<td class="right"></td>';
|
||||
print '<td class="right">' . $title . "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if (empty($objp->price_by_qty)) {
|
||||
print ($objp->price_base_type != 'TTC' ? price($objp->price) : '');
|
||||
}
|
||||
print "</td>";
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if (empty($objp->price_by_qty)) {
|
||||
print ($objp->price_base_type == 'TTC' ? price($objp->price_ttc) : '');
|
||||
}
|
||||
print "</td>";
|
||||
if (! empty($conf->dynamicprices->enabled)) { //Only if module is enabled
|
||||
print '<td align="right"></td>';
|
||||
print '<td class="right"></td>';
|
||||
}
|
||||
}
|
||||
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if (empty($objp->price_by_qty)) {
|
||||
print ($objp->price_base_type != 'TTC' ? price($objp->price_min) : '');
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if (empty($objp->price_by_qty)) {
|
||||
print ($objp->price_base_type == 'TTC' ? price($objp->price_min_ttc) : '');
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
// User
|
||||
print '<td align="right"><a href="' . DOL_URL_ROOT . '/user/card.php?id=' . $objp->user_id . '">' . img_object($langs->trans("ShowUser"), 'user') . ' ' . $objp->login . '</a></td>';
|
||||
print '<td class="right"><a href="' . DOL_URL_ROOT . '/user/card.php?id=' . $objp->user_id . '">' . img_object($langs->trans("ShowUser"), 'user') . ' ' . $objp->login . '</a></td>';
|
||||
|
||||
// Action
|
||||
if ($user->rights->produit->supprimer)
|
||||
@ -1599,7 +1599,7 @@ if ((empty($conf->global->PRODUIT_CUSTOMER_PRICES) || $action=='showlog_default_
|
||||
}
|
||||
elseif ($i > 0) $candelete=1;
|
||||
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($candelete)
|
||||
{
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=delete&id=' . $object->id . '&lineid=' . $objp->rowid . '">';
|
||||
@ -1866,21 +1866,21 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>' . $langs->trans("ThirdParty") . '</td>';
|
||||
print '<td>' . $langs->trans("AppliedPricesFrom") . '</td>';
|
||||
print '<td align="center">' . $langs->trans("PriceBase") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("DefaultTaxRate") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("HT") . '</td>';
|
||||
print '<td class="center">' . $langs->trans("PriceBase") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("DefaultTaxRate") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("HT") . '</td>';
|
||||
if ($mysoc->localtax1_assuj == "1" || $mysoc->localtax2_assuj == "1")
|
||||
{
|
||||
//print '<td align="right">' . $langs->trans("INCVATONLY") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("INCT") . '</td>';
|
||||
//print '<td class="right">' . $langs->trans("INCVATONLY") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("INCT") . '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="right">' . $langs->trans("TTC") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("TTC") . '</td>';
|
||||
}
|
||||
print '<td align="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("ChangedBy") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("ChangedBy") . '</td>';
|
||||
print '<td> </td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -1917,8 +1917,8 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
print "<td>" . $staticsoc->getNomUrl(1) . "</td>";
|
||||
print "<td>" . dol_print_date($line->datec, "dayhour") . "</td>";
|
||||
print '<td align="center">' . $langs->trans($line->price_base_type) . "</td>";
|
||||
print '<td align="right">';
|
||||
print '<td class="center">' . $langs->trans($line->price_base_type) . "</td>";
|
||||
print '<td class="right">';
|
||||
|
||||
$positiverates='';
|
||||
if (price2num($line->tva_tx)) $positiverates.=($positiverates?'/':'').price2num($line->tva_tx);
|
||||
@ -1930,25 +1930,25 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
//. vatrate($tva_tx, true, $line->recuperableonly) .
|
||||
print "</td>";
|
||||
print '<td align="right">' . price($line->price) . "</td>";
|
||||
print '<td class="right">' . price($line->price) . "</td>";
|
||||
|
||||
if ($mysoc->localtax1_assuj == "1" || $mysoc->localtax2_assuj == "1")
|
||||
{
|
||||
//print '<td align="right">' . price($line->price_ttc) . "</td>";
|
||||
print '<td align="right">' . price($resultarray[2]) . '</td>';
|
||||
//print '<td class="right">' . price($line->price_ttc) . "</td>";
|
||||
print '<td class="right">' . price($resultarray[2]) . '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="right">' . price($line->price_ttc) . "</td>";
|
||||
print '<td class="right">' . price($line->price_ttc) . "</td>";
|
||||
}
|
||||
|
||||
print '<td align="right">' . price($line->price_min) . '</td>';
|
||||
print '<td align="right">' . price($line->price_min_ttc) . '</td>';
|
||||
print '<td class="right">' . price($line->price_min) . '</td>';
|
||||
print '<td class="right">' . price($line->price_min_ttc) . '</td>';
|
||||
|
||||
// User
|
||||
$userstatic = new User($db);
|
||||
$userstatic->fetch($line->fk_user);
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print $userstatic->getLoginUrl(1);
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
@ -1992,7 +1992,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
print '<td class="liste_titre"><input type="text" class="flat" name="search_soc" value="' . $search_soc . '" size="20"></td>';
|
||||
print '<td class="liste_titre" colspan="'.$colspan.'"> </td>';
|
||||
// Print the search button
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
$searchpicto=$form->showFilterAndCheckAddButtons(0);
|
||||
print $searchpicto;
|
||||
print '</td>';
|
||||
@ -2002,22 +2002,22 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>' . $langs->trans("ThirdParty") . '</td>';
|
||||
print '<td>' . $langs->trans("AppliedPricesFrom") . '</td>';
|
||||
print '<td align="center">' . $langs->trans("PriceBase") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("DefaultTaxRate") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("HT") . '</td>';
|
||||
print '<td class="center">' . $langs->trans("PriceBase") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("DefaultTaxRate") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("HT") . '</td>';
|
||||
if ($mysoc->localtax1_assuj == "1" || $mysoc->localtax2_assuj == "1")
|
||||
{
|
||||
//print '<td align="right">' . $langs->trans("INCVATONLY") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("INCT") . '</td>';
|
||||
//print '<td class="right">' . $langs->trans("INCVATONLY") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("INCT") . '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="right">' . $langs->trans("TTC") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("TTC") . '</td>';
|
||||
}
|
||||
|
||||
print '<td align="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '</td>';
|
||||
print '<td align="right">' . $langs->trans("ChangedBy") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '</td>';
|
||||
print '<td class="right">' . $langs->trans("ChangedBy") . '</td>';
|
||||
print '<td> </td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -2046,8 +2046,8 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
print "<td>" . $langs->trans("Default") . "</td>";
|
||||
print "<td>" . "</td>";
|
||||
|
||||
print '<td align="center">' . $langs->trans($object->price_base_type) . "</td>";
|
||||
print '<td align="right">';
|
||||
print '<td class="center">' . $langs->trans($object->price_base_type) . "</td>";
|
||||
print '<td class="right">';
|
||||
|
||||
$positiverates='';
|
||||
if (price2num($object->tva_tx)) $positiverates.=($positiverates?'/':'').price2num($object->tva_tx);
|
||||
@ -2060,26 +2060,26 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
//print $object->default_vat_code?' ('.$object->default_vat_code.')':'';
|
||||
print "</td>";
|
||||
|
||||
print '<td align="right">' . price($object->price) . "</td>";
|
||||
print '<td class="right">' . price($object->price) . "</td>";
|
||||
|
||||
if ($mysoc->localtax1_assuj == "1" || $mysoc->localtax2_assuj == "1")
|
||||
{
|
||||
//print '<td align="right">' . price($object->price_ttc) . "</td>";
|
||||
print '<td align="right">' . price($resultarray[2]) . '</td>';
|
||||
//print '<td class="right">' . price($object->price_ttc) . "</td>";
|
||||
print '<td class="right">' . price($resultarray[2]) . '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="right">' . price($object->price_ttc) . "</td>";
|
||||
print '<td class="right">' . price($object->price_ttc) . "</td>";
|
||||
}
|
||||
|
||||
|
||||
print '<td align="right">' . price($object->price_min) . '</td>';
|
||||
print '<td align="right">' . price($object->price_min_ttc) . '</td>';
|
||||
print '<td align="right">';
|
||||
print '<td class="right">' . price($object->price_min) . '</td>';
|
||||
print '<td class="right">' . price($object->price_min_ttc) . '</td>';
|
||||
print '<td class="right">';
|
||||
print '</td>';
|
||||
if ($user->rights->produit->supprimer || $user->rights->service->supprimer)
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=showlog_default_price&id=' . $object->id . '">';
|
||||
print img_info($langs->trans('PriceByCustomerLog'));
|
||||
print '</a>';
|
||||
@ -2128,8 +2128,8 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
print "<td>" . $staticsoc->getNomUrl(1) . "</td>";
|
||||
print "<td>" . dol_print_date($line->datec, "dayhour") . "</td>";
|
||||
|
||||
print '<td align="center">' . $langs->trans($line->price_base_type) . "</td>";
|
||||
print '<td align="right">';
|
||||
print '<td class="center">' . $langs->trans($line->price_base_type) . "</td>";
|
||||
print '<td class="right">';
|
||||
|
||||
$positiverates='';
|
||||
if (price2num($line->tva_tx)) $positiverates.=($positiverates?'/':'').price2num($line->tva_tx);
|
||||
@ -2139,25 +2139,25 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
echo vatrate($positiverates.($line->default_vat_code?' ('.$line->default_vat_code.')':''), '%', ($line->tva_npr?$line->tva_npr:$line->recuperableonly));
|
||||
|
||||
print "</td>";
|
||||
print '<td align="right">' . price($line->price) . "</td>";
|
||||
print '<td class="right">' . price($line->price) . "</td>";
|
||||
|
||||
if ($mysoc->localtax1_assuj == "1" || $mysoc->localtax2_assuj == "1")
|
||||
{
|
||||
//print '<td align="right">' . price($line->price_ttc) . "</td>";
|
||||
print '<td align="right">' . price($resultarray[2]) . '</td>';
|
||||
//print '<td class="right">' . price($line->price_ttc) . "</td>";
|
||||
print '<td class="right">' . price($resultarray[2]) . '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td align="right">' . price($line->price_ttc) . "</td>";
|
||||
print '<td class="right">' . price($line->price_ttc) . "</td>";
|
||||
}
|
||||
|
||||
print '<td align="right">' . price($line->price_min) . '</td>';
|
||||
print '<td align="right">' . price($line->price_min_ttc) . '</td>';
|
||||
print '<td class="right">' . price($line->price_min) . '</td>';
|
||||
print '<td class="right">' . price($line->price_min_ttc) . '</td>';
|
||||
|
||||
// User
|
||||
$userstatic = new User($db);
|
||||
$userstatic->fetch($line->fk_user);
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print $userstatic->getLoginUrl(1);
|
||||
print '</td>';
|
||||
|
||||
@ -2165,7 +2165,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
// Action
|
||||
if ($user->rights->produit->supprimer || $user->rights->service->supprimer)
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=showlog_customer_price&id=' . $object->id . '&socid=' . $line->fk_soc . '">';
|
||||
print img_info($langs->trans('PriceByCustomerLog'));
|
||||
print '</a>';
|
||||
|
||||
@ -290,13 +290,13 @@ if ($resql)
|
||||
}
|
||||
// Stock limit
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre" align="right"> </td>';
|
||||
print '<td class="liste_titre right"> </td>';
|
||||
print '<td class="liste_titre"> </td>';
|
||||
if ($virtualdiffersfromphysical) print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre" colspan="'.$colspan_warehouse.'"> </td>';
|
||||
print '<td class="liste_titre"></td>';
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
$searchpicto=$form->showFilterAndCheckAddButtons(0);
|
||||
print $searchpicto;
|
||||
print '</td>';
|
||||
@ -306,23 +306,23 @@ if ($resql)
|
||||
print "<tr class=\"liste_titre\">";
|
||||
print_liste_field_titre("Ref", $_SERVER["PHP_SELF"], "p.ref", $param, "", "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("Label", $_SERVER["PHP_SELF"], "p.label", $param, "", "", $sortfield, $sortorder);
|
||||
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre("Duration", $_SERVER["PHP_SELF"], "p.duration", $param, "", 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("StockLimit", $_SERVER["PHP_SELF"], "p.seuil_stock_alerte", $param, "", 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("DesiredStock", $_SERVER["PHP_SELF"], "p.desiredstock", $param, "", 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("PhysicalStock", $_SERVER["PHP_SELF"], "stock_physique", $param, "", 'align="right"', $sortfield, $sortorder);
|
||||
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre("Duration", $_SERVER["PHP_SELF"], "p.duration", $param, "", '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre("StockLimit", $_SERVER["PHP_SELF"], "p.seuil_stock_alerte", $param, "", '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("DesiredStock", $_SERVER["PHP_SELF"], "p.desiredstock", $param, "", '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("PhysicalStock", $_SERVER["PHP_SELF"], "stock_physique", $param, "", '', $sortfield, $sortorder, 'right ');
|
||||
// Details per warehouse
|
||||
if (! empty($conf->global->STOCK_DETAIL_ON_WAREHOUSE)) // TODO This should be moved into the selection of fields on page product/list (page product/stock will be removed and replaced with product/list with its own context)
|
||||
{
|
||||
if ($nb_warehouse>1) {
|
||||
foreach($warehouses_list as &$wh) {
|
||||
print_liste_field_titre($wh['label'], '', '', '', '', 'align="right"');
|
||||
foreach ($warehouses_list as &$wh) {
|
||||
print_liste_field_titre($wh['label'], '', '', '', '', '', '', '', 'right ');
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($virtualdiffersfromphysical) print_liste_field_titre("VirtualStock", $_SERVER["PHP_SELF"], "", $param, "", 'align="right"', $sortfield, $sortorder);
|
||||
if ($virtualdiffersfromphysical) print_liste_field_titre("VirtualStock", $_SERVER["PHP_SELF"], "", $param, "", '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre('');
|
||||
print_liste_field_titre("ProductStatusOnSell", $_SERVER["PHP_SELF"], "p.tosell", $param, "", 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("ProductStatusOnBuy", $_SERVER["PHP_SELF"], "p.tobuy", $param, "", 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("ProductStatusOnSell", $_SERVER["PHP_SELF"], "p.tosell", $param, "", '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("ProductStatusOnBuy", $_SERVER["PHP_SELF"], "p.tobuy", $param, "", '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre('');
|
||||
print "</tr>\n";
|
||||
|
||||
@ -343,18 +343,18 @@ if ($resql)
|
||||
|
||||
if (! empty($conf->service->enabled) && $type == 1)
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if (preg_match('/([0-9]+)y/i', $objp->duration, $regs)) print $regs[1].' '.$langs->trans("DurationYear");
|
||||
elseif (preg_match('/([0-9]+)m/i', $objp->duration, $regs)) print $regs[1].' '.$langs->trans("DurationMonth");
|
||||
elseif (preg_match('/([0-9]+)d/i', $objp->duration, $regs)) print $regs[1].' '.$langs->trans("DurationDay");
|
||||
else print $objp->duration;
|
||||
print '</td>';
|
||||
}
|
||||
//print '<td align="right">'.$objp->stock_theorique.'</td>';
|
||||
print '<td align="right">'.$objp->seuil_stock_alerte.'</td>';
|
||||
print '<td align="right">'.$objp->desiredstock.'</td>';
|
||||
//print '<td class="right">'.$objp->stock_theorique.'</td>';
|
||||
print '<td class="right">'.$objp->seuil_stock_alerte.'</td>';
|
||||
print '<td class="right">'.$objp->desiredstock.'</td>';
|
||||
// Real stock
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($objp->seuil_stock_alerte != '' && ($objp->stock_physique < $objp->seuil_stock_alerte)) print img_warning($langs->trans("StockTooLow")).' ';
|
||||
print $objp->stock_physique|0;
|
||||
print '</td>';
|
||||
@ -365,7 +365,7 @@ if ($resql)
|
||||
if($nb_warehouse>1) {
|
||||
foreach($warehouses_list as &$wh) {
|
||||
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print empty($product->stock_warehouse[$wh['id']]->real) ? '0' : $product->stock_warehouse[$wh['id']]->real;
|
||||
print '</td>';
|
||||
}
|
||||
@ -375,14 +375,14 @@ if ($resql)
|
||||
// Virtual stock
|
||||
if ($virtualdiffersfromphysical)
|
||||
{
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($objp->seuil_stock_alerte != '' && ($product->stock_theorique < $objp->seuil_stock_alerte)) print img_warning($langs->trans("StockTooLow")).' ';
|
||||
print $product->stock_theorique;
|
||||
print '</td>';
|
||||
}
|
||||
print '<td align="right"><a href="'.DOL_URL_ROOT.'/product/stock/movement_list.php?idproduct='.$product->id.'">'.$langs->trans("Movements").'</a></td>';
|
||||
print '<td align="right" class="nowrap">'.$product->LibStatut($objp->statut, 5, 0).'</td>';
|
||||
print '<td align="right" class="nowrap">'.$product->LibStatut($objp->tobuy, 5, 1).'</td>';
|
||||
print '<td class="right"><a href="'.DOL_URL_ROOT.'/product/stock/movement_list.php?idproduct='.$product->id.'">'.$langs->trans("Movements").'</a></td>';
|
||||
print '<td class="right nowrap">'.$product->LibStatut($objp->statut, 5, 0).'</td>';
|
||||
print '<td class="right nowrap">'.$product->LibStatut($objp->tobuy, 5, 1).'</td>';
|
||||
print '<td></td>';
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
|
||||
@ -285,14 +285,14 @@ if ($resql)
|
||||
print '</td>';
|
||||
}
|
||||
print '<td class="liste_titre"><input class="flat" type="text" name="search_warehouse" size="6" value="'.$search_warehouse.'"></td>';
|
||||
print '<td class="liste_titre" align="center"><input class="flat" type="text" name="search_batch" size="6" value="'.$search_batch.'"></td>';
|
||||
print '<td class="liste_titre" align="right"> </td>';
|
||||
print '<td class="liste_titre center"><input class="flat" type="text" name="search_batch" size="6" value="'.$search_batch.'"></td>';
|
||||
print '<td class="liste_titre right"> </td>';
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
$searchpicto=$form->showFilterAndCheckAddButtons(0);
|
||||
print $searchpicto;
|
||||
print '</td>';
|
||||
@ -302,18 +302,18 @@ if ($resql)
|
||||
print "<tr class=\"liste_titre\">";
|
||||
print_liste_field_titre("Ref", $_SERVER["PHP_SELF"], "p.ref", $param, "", "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("Label", $_SERVER["PHP_SELF"], "p.label", $param, "", "", $sortfield, $sortorder);
|
||||
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre("Duration", $_SERVER["PHP_SELF"], "p.duration", $param, "", 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre("Duration", $_SERVER["PHP_SELF"], "p.duration", $param, "", '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre("Warehouse", $_SERVER["PHP_SELF"], "e.ref", $param, "", '', $sortfield, $sortorder);
|
||||
//print_liste_field_titre("DesiredStock", $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre("Batch", $_SERVER["PHP_SELF"], "pb.batch", $param, "", 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("EatByDate", $_SERVER["PHP_SELF"], "pb.eatby", $param, "", 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("SellByDate", $_SERVER["PHP_SELF"], "pb.sellby", $param, "", 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("PhysicalStock", $_SERVER["PHP_SELF"], "stock_physique", $param, "", 'align="right"', $sortfield, $sortorder);
|
||||
//print_liste_field_titre("DesiredStock", $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'',$sortfield,$sortorder, 'right );
|
||||
print_liste_field_titre("Batch", $_SERVER["PHP_SELF"], "pb.batch", $param, "", '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre("EatByDate", $_SERVER["PHP_SELF"], "pb.eatby", $param, "", '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre("SellByDate", $_SERVER["PHP_SELF"], "pb.sellby", $param, "", '', $sortfield, $sortorder, 'center ');
|
||||
print_liste_field_titre("PhysicalStock", $_SERVER["PHP_SELF"], "stock_physique", $param, "", '', $sortfield, $sortorder, 'right ');
|
||||
// TODO Add info of running suppliers/customers orders
|
||||
//print_liste_field_titre("TheoreticalStock",$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'align="right"',$sortfield,$sortorder);
|
||||
//print_liste_field_titre("TheoreticalStock",$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'',$sortfield,$sortorder, 'right ');
|
||||
print_liste_field_titre('');
|
||||
print_liste_field_titre("ProductStatusOnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("ProductStatusOnBuy", $_SERVER["PHP_SELF"], "p.tobuy", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("ProductStatusOnSell", $_SERVER["PHP_SELF"], "p.tosell", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("ProductStatusOnBuy", $_SERVER["PHP_SELF"], "p.tobuy", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre('');
|
||||
print "</tr>\n";
|
||||
|
||||
@ -375,16 +375,16 @@ if ($resql)
|
||||
|
||||
if (! empty($conf->service->enabled) && $type == 1)
|
||||
{
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if (preg_match('/([0-9]+)y/i', $objp->duration, $regs)) print $regs[1].' '.$langs->trans("DurationYear");
|
||||
elseif (preg_match('/([0-9]+)m/i', $objp->duration, $regs)) print $regs[1].' '.$langs->trans("DurationMonth");
|
||||
elseif (preg_match('/([0-9]+)d/i', $objp->duration, $regs)) print $regs[1].' '.$langs->trans("DurationDay");
|
||||
else print $objp->duration;
|
||||
print '</td>';
|
||||
}
|
||||
//print '<td align="right">'.$objp->stock_theorique.'</td>';
|
||||
//print '<td align="right">'.$objp->seuil_stock_alerte.'</td>';
|
||||
//print '<td align="right">'.$objp->desiredstock.'</td>';
|
||||
//print '<td class="right">'.$objp->stock_theorique.'</td>';
|
||||
//print '<td class="right">'.$objp->seuil_stock_alerte.'</td>';
|
||||
//print '<td class="right">'.$objp->desiredstock.'</td>';
|
||||
|
||||
// Warehouse
|
||||
print '<td>';
|
||||
@ -395,22 +395,22 @@ if ($resql)
|
||||
print '</td>';
|
||||
|
||||
// Lot
|
||||
print '<td align="center">';
|
||||
print '<td class="center">';
|
||||
if ($product_lot_static->batch)
|
||||
{
|
||||
print $product_lot_static->getNomUrl(1);
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
print '<td align="center">'.dol_print_date($db->jdate($objp->eatby), 'day').'</td>';
|
||||
print '<td align="center">'.dol_print_date($db->jdate($objp->sellby), 'day').'</td>';
|
||||
print '<td align="right">';
|
||||
print '<td class="center">'.dol_print_date($db->jdate($objp->eatby), 'day').'</td>';
|
||||
print '<td class="center">'.dol_print_date($db->jdate($objp->sellby), 'day').'</td>';
|
||||
print '<td class="right">';
|
||||
//if ($objp->seuil_stock_alerte && ($objp->stock_physique < $objp->seuil_stock_alerte)) print img_warning($langs->trans("StockTooLow")).' ';
|
||||
print $objp->stock_physique;
|
||||
print '</td>';
|
||||
print '<td align="right"><a href="'.DOL_URL_ROOT.'/product/stock/movement_list.php?idproduct='.$product_static->id.'&search_warehouse='.$objp->fk_entrepot.'&search_batch='.($objp->batch != 'Undefined' ? $objp->batch : 'Undefined').'">'.$langs->trans("Movements").'</a></td>';
|
||||
print '<td align="right" class="nowrap">'.$product_static->LibStatut($objp->statut, 5, 0).'</td>';
|
||||
print '<td align="right" class="nowrap">'.$product_static->LibStatut($objp->tobuy, 5, 1).'</td>';
|
||||
print '<td class="right"><a href="'.DOL_URL_ROOT.'/product/stock/movement_list.php?idproduct='.$product_static->id.'&search_warehouse='.$objp->fk_entrepot.'&search_batch='.($objp->batch != 'Undefined' ? $objp->batch : 'Undefined').'">'.$langs->trans("Movements").'</a></td>';
|
||||
print '<td class="right nowrap">'.$product_static->LibStatut($objp->statut, 5, 0).'</td>';
|
||||
print '<td class="right nowrap">'.$product_static->LibStatut($objp->tobuy, 5, 1).'</td>';
|
||||
print '<td></td>';
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
|
||||
@ -443,13 +443,21 @@ else
|
||||
print "<tr class=\"liste_titre\">";
|
||||
print_liste_field_titre("Product", "", "p.ref", "&id=".$id, "", "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("Label", "", "p.label", "&id=".$id, "", "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("Units", "", "ps.reel", "&id=".$id, "", 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("AverageUnitPricePMPShort", "", "p.pmp", "&id=".$id, "", 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("EstimatedStockValueShort", "", "", "&id=".$id, "", 'align="right"', $sortfield, $sortorder);
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES)) print_liste_field_titre("SellPriceMin", "", "p.price", "&id=".$id, "", 'align="right"', $sortfield, $sortorder);
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES)) print_liste_field_titre("EstimatedStockValueSellShort", "", "", "&id=".$id, "", 'align="right"', $sortfield, $sortorder);
|
||||
if ($user->rights->stock->mouvement->creer) print_liste_field_titre('');
|
||||
if ($user->rights->stock->creer) print_liste_field_titre('');
|
||||
print_liste_field_titre("Units", "", "ps.reel", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("AverageUnitPricePMPShort", "", "p.pmp", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("EstimatedStockValueShort", "", "", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES)) {
|
||||
print_liste_field_titre("SellPriceMin", "", "p.price", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES)) {
|
||||
print_liste_field_titre("EstimatedStockValueSellShort", "", "", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
|
||||
}
|
||||
if ($user->rights->stock->mouvement->creer) {
|
||||
print_liste_field_titre('');
|
||||
}
|
||||
if ($user->rights->stock->creer) {
|
||||
print_liste_field_titre('');
|
||||
}
|
||||
print "</tr>\n";
|
||||
|
||||
$totalunit=0;
|
||||
@ -506,28 +514,28 @@ else
|
||||
// Label
|
||||
print '<td>'.$objp->produit.'</td>';
|
||||
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
$valtoshow=price2num($objp->value, 'MS');
|
||||
print empty($valtoshow)?'0':$valtoshow;
|
||||
print '</td>';
|
||||
$totalunit+=$objp->value;
|
||||
|
||||
// Price buy PMP
|
||||
print '<td align="right">'.price(price2num($objp->ppmp, 'MU')).'</td>';
|
||||
print '<td class="right">'.price(price2num($objp->ppmp, 'MU')).'</td>';
|
||||
|
||||
// Total PMP
|
||||
print '<td align="right">'.price(price2num($objp->ppmp*$objp->value, 'MT')).'</td>';
|
||||
print '<td class="right">'.price(price2num($objp->ppmp*$objp->value, 'MT')).'</td>';
|
||||
$totalvalue+=price2num($objp->ppmp*$objp->value, 'MT');
|
||||
|
||||
// Price sell min
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
{
|
||||
$pricemin=$objp->price;
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print price(price2num($pricemin, 'MU'), 1);
|
||||
print '</td>';
|
||||
// Total sell min
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
print price(price2num($pricemin*$objp->value, 'MT'), 1);
|
||||
print '</td>';
|
||||
}
|
||||
@ -535,14 +543,14 @@ else
|
||||
|
||||
if ($user->rights->stock->mouvement->creer)
|
||||
{
|
||||
print '<td align="center"><a href="'.DOL_URL_ROOT.'/product/stock/product.php?dwid='.$object->id.'&id='.$objp->rowid.'&action=transfert&backtopage='.urlencode($_SERVER["PHP_SELF"].'?id='.$id).'">';
|
||||
print '<td class="center"><a href="'.DOL_URL_ROOT.'/product/stock/product.php?dwid='.$object->id.'&id='.$objp->rowid.'&action=transfert&backtopage='.urlencode($_SERVER["PHP_SELF"].'?id='.$id).'">';
|
||||
print img_picto($langs->trans("StockMovement"), 'uparrow.png', 'class="hideonsmartphone"').' '.$langs->trans("StockMovement");
|
||||
print "</a></td>";
|
||||
}
|
||||
|
||||
if ($user->rights->stock->creer)
|
||||
{
|
||||
print '<td align="center"><a href="'.DOL_URL_ROOT.'/product/stock/product.php?dwid='.$object->id.'&id='.$objp->rowid.'&action=correction&backtopage='.urlencode($_SERVER["PHP_SELF"].'?id='.$id).'">';
|
||||
print '<td class="center"><a href="'.DOL_URL_ROOT.'/product/stock/product.php?dwid='.$object->id.'&id='.$objp->rowid.'&action=correction&backtopage='.urlencode($_SERVER["PHP_SELF"].'?id='.$id).'">';
|
||||
print $langs->trans("StockCorrection");
|
||||
print "</a></td>";
|
||||
}
|
||||
@ -553,16 +561,16 @@ else
|
||||
$db->free($resql);
|
||||
|
||||
print '<tr class="liste_total"><td class="liste_total" colspan="2">'.$langs->trans("Total").'</td>';
|
||||
print '<td class="liste_total" align="right">';
|
||||
print '<td class="liste_total right">';
|
||||
$valtoshow=price2num($totalunit, 'MS');
|
||||
print empty($valtoshow)?'0':$valtoshow;
|
||||
print '</td>';
|
||||
print '<td class="liste_total"> </td>';
|
||||
print '<td class="liste_total" align="right">'.price(price2num($totalvalue, 'MT')).'</td>';
|
||||
print '<td class="liste_total right">'.price(price2num($totalvalue, 'MT')).'</td>';
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES))
|
||||
{
|
||||
print '<td class="liste_total"> </td>';
|
||||
print '<td class="liste_total" align="right">'.price(price2num($totalvaluesell, 'MT')).'</td>';
|
||||
print '<td class="liste_total right">'.price(price2num($totalvaluesell, 'MT')).'</td>';
|
||||
}
|
||||
print '<td class="liste_total"> </td>';
|
||||
print '<td class="liste_total"> </td>';
|
||||
|
||||
@ -92,7 +92,7 @@ if ($result)
|
||||
|
||||
print '<tr class="oddeven">';
|
||||
print "<td><a href=\"card.php?id=$objp->rowid\">".img_object($langs->trans("ShowStock"), "stock")." ".$objp->label."</a></td>\n";
|
||||
print '<td align="right">'.$entrepot->LibStatut($objp->statut, 5).'</td>';
|
||||
print '<td class="right">'.$entrepot->LibStatut($objp->statut, 5).'</td>';
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
}
|
||||
@ -142,7 +142,7 @@ if ($resql)
|
||||
print '<th>'.$langs->trans("EatByDate").'</th>';
|
||||
}
|
||||
print '<th>'.$langs->trans("Warehouse").'</th>';
|
||||
print '<th align="right"><a class="notasortlink" href="'.DOL_URL_ROOT.'/product/stock/movement_list.php">'.$langs->trans("FullList").'</a></th>';
|
||||
print '<th class="right"><a class="notasortlink" href="'.DOL_URL_ROOT.'/product/stock/movement_list.php">'.$langs->trans("FullList").'</a></th>';
|
||||
print "</tr>\n";
|
||||
|
||||
$i=0;
|
||||
@ -170,7 +170,7 @@ if ($resql)
|
||||
print '<td class="tdoverflowmax200"><a href="card.php?id='.$objp->entrepot_id.'">';
|
||||
print img_object($langs->trans("ShowWarehouse"), "stock").' '.$objp->stock;
|
||||
print "</a></td>\n";
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($objp->qty > 0) print '+';
|
||||
print $objp->qty.'</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
@ -162,22 +162,22 @@ if ($result)
|
||||
// Lignes des champs de filtre
|
||||
print '<tr class="liste_titre_filter">';
|
||||
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" name="search_ref" size="6" value="'.dol_escape_htmltag($search_ref).'">';
|
||||
print '</td>';
|
||||
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" name="search_label" size="10" value="'.dol_escape_htmltag($search_label).'">';
|
||||
print '</td>';
|
||||
|
||||
print '<td class="liste_titre" colspan="3">';
|
||||
print '</td>';
|
||||
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
print $form->selectarray('search_status', $warehouse->statuts, $search_status, 1, 0, 0, '', 1);
|
||||
print '</td>';
|
||||
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
$searchpicto=$form->showFilterAndCheckAddButtons(0);
|
||||
print $searchpicto;
|
||||
print '</td>';
|
||||
@ -187,10 +187,10 @@ if ($result)
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre("Ref", $_SERVER["PHP_SELF"], "e.ref", "", $param, "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("LocationSummary", $_SERVER["PHP_SELF"], "e.lieu", "", $param, "", $sortfield, $sortorder);
|
||||
print_liste_field_titre("PhysicalStock", $_SERVER["PHP_SELF"], "stockqty", '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("EstimatedStockValue", $_SERVER["PHP_SELF"], "estimatedvalue", '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("EstimatedStockValueSell", $_SERVER["PHP_SELF"], "", '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "e.statut", '', $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre("PhysicalStock", $_SERVER["PHP_SELF"], "stockqty", '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("EstimatedStockValue", $_SERVER["PHP_SELF"], "estimatedvalue", '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("EstimatedStockValueSell", $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "e.statut", '', $param, '', $sortfield, $sortorder, 'right ');
|
||||
print_liste_field_titre('', $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
|
||||
@ -213,14 +213,14 @@ if ($result)
|
||||
// Location
|
||||
print '<td>'.$objp->lieu.'</td>';
|
||||
// Stock qty
|
||||
print '<td align="right">'.price2num($objp->stockqty, 5).'</td>';
|
||||
print '<td class="right">'.price2num($objp->stockqty, 5).'</td>';
|
||||
// PMP value
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if (price2num($objp->estimatedvalue, 'MT')) print price(price2num($objp->estimatedvalue, 'MT'), 1);
|
||||
else print '';
|
||||
print '</td>';
|
||||
// Selling value
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES)) print price(price2num($objp->sellvalue, 'MT'), 1);
|
||||
else
|
||||
{
|
||||
@ -229,7 +229,7 @@ if ($result)
|
||||
}
|
||||
print '</td>';
|
||||
// Status
|
||||
print '<td align="right">'.$warehouse->LibStatut($objp->statut, 5).'</td>';
|
||||
print '<td class="right">'.$warehouse->LibStatut($objp->statut, 5).'</td>';
|
||||
|
||||
print '<td></td>';
|
||||
|
||||
@ -242,10 +242,10 @@ if ($result)
|
||||
if ($totalnboflines-$offset <= $limit)
|
||||
{
|
||||
print '<tr class="liste_total">';
|
||||
print '<td colspan="2" align="right">'.$langs->trans("Total").'</td>';
|
||||
print '<td align="right">'.price2num($totalStock, 5).'</td>';
|
||||
print '<td align="right">'.price(price2num($total, 'MT'), 1, $langs, 0, 0, -1, $conf->currency).'</td>';
|
||||
print '<td align="right">';
|
||||
print '<td colspan="2" class="right">'.$langs->trans("Total").'</td>';
|
||||
print '<td class="right">'.price2num($totalStock, 5).'</td>';
|
||||
print '<td class="right">'.price(price2num($total, 'MT'), 1, $langs, 0, 0, -1, $conf->currency).'</td>';
|
||||
print '<td class="right">';
|
||||
if (empty($conf->global->PRODUIT_MULTIPRICES)) print price(price2num($totalsell, 'MT'), 1, $langs, 0, 0, -1, $conf->currency);
|
||||
else
|
||||
{
|
||||
|
||||
@ -347,14 +347,13 @@ print '<table class="liste" width="100%">';
|
||||
$param='';
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print getTitleFieldOfList($langs->trans('ProductRef'), 0, $_SERVER["PHP_SELF"], '', $param, '', 'class="tagtd maxwidthonsmartphone"', $sortfield, $sortorder);
|
||||
if ($conf->productbatch->enabled)
|
||||
{
|
||||
print getTitleFieldOfList($langs->trans('Batch'), 0, $_SERVER["PHP_SELF"], '', $param, '', 'class="tagtd maxwidthonsmartphone"', $sortfield, $sortorder);
|
||||
print getTitleFieldOfList($langs->trans('ProductRef'), 0, $_SERVER["PHP_SELF"], '', $param, '', '', $sortfield, $sortorder, 'tagtd maxwidthonsmartphone ');
|
||||
if ($conf->productbatch->enabled) {
|
||||
print getTitleFieldOfList($langs->trans('Batch'), 0, $_SERVER["PHP_SELF"], '', $param, '', '', $sortfield, $sortorder, 'tagtd maxwidthonsmartphone ');
|
||||
}
|
||||
print getTitleFieldOfList($langs->trans('WarehouseSource'), 0, $_SERVER["PHP_SELF"], '', $param, '', 'class="tagtd maxwidthonsmartphone"', $sortfield, $sortorder);
|
||||
print getTitleFieldOfList($langs->trans('WarehouseTarget'), 0, $_SERVER["PHP_SELF"], '', $param, '', 'class="tagtd maxwidthonsmartphone"', $sortfield, $sortorder);
|
||||
print getTitleFieldOfList($langs->trans('Qty'), 0, $_SERVER["PHP_SELF"], '', $param, '', 'align="center" class="tagtd maxwidthonsmartphone"', $sortfield, $sortorder);
|
||||
print getTitleFieldOfList($langs->trans('WarehouseSource'), 0, $_SERVER["PHP_SELF"], '', $param, '', '', $sortfield, $sortorder, 'tagtd maxwidthonsmartphone ');
|
||||
print getTitleFieldOfList($langs->trans('WarehouseTarget'), 0, $_SERVER["PHP_SELF"], '', $param, '', '', $sortfield, $sortorder, 'tagtd maxwidthonsmartphone ');
|
||||
print getTitleFieldOfList($langs->trans('Qty'), 0, $_SERVER["PHP_SELF"], '', $param, '', '', $sortfield, $sortorder, 'center tagtd maxwidthonsmartphone ');
|
||||
print getTitleFieldOfList('', 0);
|
||||
print '</tr>';
|
||||
|
||||
@ -364,8 +363,7 @@ print '<tr class="oddeven">';
|
||||
print '<td class="titlefield">';
|
||||
$filtertype=0;
|
||||
if (! empty($conf->global->STOCK_SUPPORTS_SERVICES)) $filtertype='';
|
||||
if ($conf->global->PRODUIT_LIMIT_SIZE <= 0)
|
||||
{
|
||||
if ($conf->global->PRODUIT_LIMIT_SIZE <= 0) {
|
||||
$limit='';
|
||||
}
|
||||
else
|
||||
@ -391,9 +389,9 @@ print '<td>';
|
||||
print $formproduct->selectWarehouses($id_tw, 'id_tw', 'warehouseopen,warehouseinternal', 1, 0, 0, '', 0, 0, array(), 'minwidth200imp maxwidth200');
|
||||
print '</td>';
|
||||
// Qty
|
||||
print '<td align="center"><input type="text" class="flat maxwidth50" name="qty" value="'.$qty.'"></td>';
|
||||
print '<td class="center"><input type="text" class="flat maxwidth50" name="qty" value="'.$qty.'"></td>';
|
||||
// Button to add line
|
||||
print '<td align="right"><input type="submit" class="button" name="addline" value="'.dol_escape_htmltag($titletoadd).'"></td>';
|
||||
print '<td class="right"><input type="submit" class="button" name="addline" value="'.dol_escape_htmltag($titletoadd).'"></td>';
|
||||
|
||||
print '</tr>';
|
||||
|
||||
@ -420,8 +418,8 @@ foreach($listofdata as $key => $val)
|
||||
print '<td>';
|
||||
print $warehousestatict->getNomUrl(1);
|
||||
print '</td>';
|
||||
print '<td align="center">'.$val['qty'].'</td>';
|
||||
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=delline&idline='.$val['id'].'">'.img_delete($langs->trans("Remove")).'</a></td>';
|
||||
print '<td class="center">'.$val['qty'].'</td>';
|
||||
print '<td class="right"><a href="'.$_SERVER["PHP_SELF"].'?action=delline&idline='.$val['id'].'">'.img_delete($langs->trans("Remove")).'</a></td>';
|
||||
|
||||
print '</tr>';
|
||||
}
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
<?php
|
||||
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
/* Copyright (C) 2001-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2019 Frédéric France <frederic.france@netlogic.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -36,8 +37,7 @@ require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/stock.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||
if (! empty($conf->projet->enabled))
|
||||
{
|
||||
if (! empty($conf->projet->enabled)) {
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||
}
|
||||
@ -771,7 +771,7 @@ if ($resql)
|
||||
if (! empty($arrayfields['m.rowid']['checked']))
|
||||
{
|
||||
// Ref
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat maxwidth25" type="text" name="search_ref" value="'.dol_escape_htmltag($search_ref).'">';
|
||||
print '</td>';
|
||||
}
|
||||
@ -789,36 +789,36 @@ if ($resql)
|
||||
if (! empty($arrayfields['p.ref']['checked']))
|
||||
{
|
||||
// Product Ref
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat maxwidth75" type="text" name="search_product_ref" value="'.dol_escape_htmltag($idproduct?$product->ref:$search_product_ref).'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['p.label']['checked']))
|
||||
{
|
||||
// Product label
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat maxwidth100" type="text" name="search_product" value="'.dol_escape_htmltag($idproduct?$product->label:$search_product).'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Batch
|
||||
if (! empty($arrayfields['m.batch']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="center"><input class="flat maxwidth75" type="text" name="search_batch" value="'.dol_escape_htmltag($search_batch).'"></td>';
|
||||
print '<td class="liste_titre center"><input class="flat maxwidth75" type="text" name="search_batch" value="'.dol_escape_htmltag($search_batch).'"></td>';
|
||||
}
|
||||
if (! empty($arrayfields['pl.eatby']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['pl.sellby']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '</td>';
|
||||
}
|
||||
// Warehouse
|
||||
if (! empty($arrayfields['e.ref']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre maxwidthonsmartphone" align="left">';
|
||||
print '<td class="liste_titre maxwidthonsmartphone left">';
|
||||
//print '<input class="flat" type="text" size="8" name="search_warehouse" value="'.($search_warehouse).'">';
|
||||
print $formproduct->selectWarehouses($search_warehouse, 'search_warehouse', 'warehouseopen,warehouseinternal', 1, 0, 0, '', 0, 0, null, 'maxwidth200');
|
||||
print '</td>';
|
||||
@ -826,28 +826,28 @@ if ($resql)
|
||||
if (! empty($arrayfields['m.fk_user_author']['checked']))
|
||||
{
|
||||
// Author
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" size="6" name="search_user" value="'.dol_escape_htmltag($search_user).'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['m.inventorycode']['checked']))
|
||||
{
|
||||
// Inventory code
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" size="4" name="search_inventorycode" value="'.dol_escape_htmltag($search_inventorycode).'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['m.label']['checked']))
|
||||
{
|
||||
// Label of movement
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print '<input class="flat" type="text" size="8" name="search_movement" value="'.dol_escape_htmltag($search_movement).'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['m.type_mouvement']['checked']))
|
||||
{
|
||||
// Type of movement
|
||||
print '<td class="liste_titre" align="center">';
|
||||
print '<td class="liste_titre center">';
|
||||
//print '<input class="flat" type="text" size="3" name="search_type_mouvement" value="'.dol_escape_htmltag($search_type_mouvement).'">';
|
||||
print '<select id="search_type_mouvement" name="search_type_mouvement" class="maxwidth150">';
|
||||
print '<option value="" '.(($search_type_mouvement=="")?'selected="selected"':'').'></option>';
|
||||
@ -864,21 +864,21 @@ if ($resql)
|
||||
if (! empty($arrayfields['origin']['checked']))
|
||||
{
|
||||
// Origin of movement
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print ' ';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['m.value']['checked']))
|
||||
{
|
||||
// Qty
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
print '<input class="flat" type="text" size="4" name="search_qty" value="'.dol_escape_htmltag($search_qty).'">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['m.price']['checked']))
|
||||
{
|
||||
// Price
|
||||
print '<td class="liste_titre" align="left">';
|
||||
print '<td class="liste_titre left">';
|
||||
print ' ';
|
||||
print '</td>';
|
||||
}
|
||||
@ -904,7 +904,7 @@ if ($resql)
|
||||
print '</td>';
|
||||
}
|
||||
// Actions
|
||||
print '<td class="liste_titre" align="right">';
|
||||
print '<td class="liste_titre right">';
|
||||
$searchpicto=$form->showFilterAndCheckAddButtons(0);
|
||||
print $searchpicto;
|
||||
print '</td>';
|
||||
@ -920,13 +920,15 @@ if ($resql)
|
||||
if (! empty($arrayfields['p.label']['checked']))
|
||||
print_liste_field_titre($arrayfields['p.label']['label'], $_SERVER["PHP_SELF"], 'p.label', '', $param, '', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['m.batch']['checked']))
|
||||
print_liste_field_titre($arrayfields['m.batch']['label'], $_SERVER["PHP_SELF"], 'm.batch', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($arrayfields['m.batch']['label'], $_SERVER["PHP_SELF"], 'm.batch', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['pl.eatby']['checked']))
|
||||
print_liste_field_titre($arrayfields['pl.eatby']['label'], $_SERVER["PHP_SELF"], 'pl.eatby', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($arrayfields['pl.eatby']['label'], $_SERVER["PHP_SELF"], 'pl.eatby', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['pl.sellby']['checked']))
|
||||
print_liste_field_titre($arrayfields['pl.sellby']['label'], $_SERVER["PHP_SELF"], 'pl.sellby', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['e.ref']['checked']))
|
||||
print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"], "e.ref", "", $param, "", $sortfield, $sortorder); // We are on a specific warehouse card, no filter on other should be possible
|
||||
print_liste_field_titre($arrayfields['pl.sellby']['label'], $_SERVER["PHP_SELF"], 'pl.sellby', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['e.ref']['checked'])) {
|
||||
// We are on a specific warehouse card, no filter on other should be possible
|
||||
print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"], "e.ref", "", $param, "", $sortfield, $sortorder);
|
||||
}
|
||||
if (! empty($arrayfields['m.fk_user_author']['checked']))
|
||||
print_liste_field_titre($arrayfields['m.fk_user_author']['label'], $_SERVER["PHP_SELF"], "m.fk_user_author", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['m.inventorycode']['checked']))
|
||||
@ -934,13 +936,13 @@ if ($resql)
|
||||
if (! empty($arrayfields['m.label']['checked']))
|
||||
print_liste_field_titre($arrayfields['m.label']['label'], $_SERVER["PHP_SELF"], "m.label", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['m.type_mouvement']['checked']))
|
||||
print_liste_field_titre($arrayfields['m.type_mouvement']['label'], $_SERVER["PHP_SELF"], "m.type_mouvement", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($arrayfields['m.type_mouvement']['label'], $_SERVER["PHP_SELF"], "m.type_mouvement", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
if (! empty($arrayfields['origin']['checked']))
|
||||
print_liste_field_titre($arrayfields['origin']['label'], $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['m.value']['checked']))
|
||||
print_liste_field_titre($arrayfields['m.value']['label'], $_SERVER["PHP_SELF"], "m.value", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($arrayfields['m.value']['label'], $_SERVER["PHP_SELF"], "m.value", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
if (! empty($arrayfields['m.price']['checked']))
|
||||
print_liste_field_titre($arrayfields['m.price']['label'], $_SERVER["PHP_SELF"], "m.price", "", $param, 'align="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($arrayfields['m.price']['label'], $_SERVER["PHP_SELF"], "m.price", "", $param, '', $sortfield, $sortorder, 'right ');
|
||||
|
||||
// Extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
|
||||
@ -949,16 +951,19 @@ if ($resql)
|
||||
$parameters=array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder);
|
||||
$reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
if (! empty($arrayfields['m.datec']['checked'])) print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['m.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||
if (! empty($arrayfields['m.datec']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
}
|
||||
if (! empty($arrayfields['m.tms']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
}
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
|
||||
|
||||
$arrayofuniqueproduct=array();
|
||||
|
||||
while ($i < min($num, $limit))
|
||||
{
|
||||
while ($i < min($num, $limit)) {
|
||||
$objp = $db->fetch_object($resql);
|
||||
|
||||
$userstatic->id=$objp->fk_user_author;
|
||||
@ -984,7 +989,7 @@ if ($resql)
|
||||
$warehousestatic->lieu=$objp->lieu;
|
||||
|
||||
$arrayofuniqueproduct[$objp->rowid]=$objp->produit;
|
||||
if(!empty($objp->fk_origin)) {
|
||||
if (!empty($objp->fk_origin)) {
|
||||
$origin = $movement->get_origin($objp->fk_origin, $objp->origintype);
|
||||
} else {
|
||||
$origin = '';
|
||||
@ -994,7 +999,8 @@ if ($resql)
|
||||
// Id movement
|
||||
if (! empty($arrayfields['m.rowid']['checked']))
|
||||
{
|
||||
print '<td>'.$objp->mid.'</td>'; // This is primary not movement id
|
||||
// This is primary not movement id
|
||||
print '<td>'.$objp->mid.'</td>';
|
||||
}
|
||||
if (! empty($arrayfields['m.datem']['checked']))
|
||||
{
|
||||
@ -1028,11 +1034,11 @@ if ($resql)
|
||||
}
|
||||
if (! empty($arrayfields['pl.eatby']['checked']))
|
||||
{
|
||||
print '<td align="center">'. dol_print_date($objp->eatby, 'day') .'</td>';
|
||||
print '<td class="center">'. dol_print_date($objp->eatby, 'day') .'</td>';
|
||||
}
|
||||
if (! empty($arrayfields['pl.sellby']['checked']))
|
||||
{
|
||||
print '<td align="center">'. dol_print_date($objp->sellby, 'day') .'</td>';
|
||||
print '<td class="center">'. dol_print_date($objp->sellby, 'day') .'</td>';
|
||||
}
|
||||
// Warehouse
|
||||
if (! empty($arrayfields['e.ref']['checked']))
|
||||
@ -1071,16 +1077,16 @@ if ($resql)
|
||||
// Type of movement
|
||||
switch($objp->type_mouvement) {
|
||||
case "0":
|
||||
print '<td align="center">'.$langs->trans('StockIncreaseAfterCorrectTransfer').'</td>';
|
||||
print '<td class="center">'.$langs->trans('StockIncreaseAfterCorrectTransfer').'</td>';
|
||||
break;
|
||||
case "1":
|
||||
print '<td align="center">'.$langs->trans('StockDecreaseAfterCorrectTransfer').'</td>';
|
||||
print '<td class="center">'.$langs->trans('StockDecreaseAfterCorrectTransfer').'</td>';
|
||||
break;
|
||||
case "2":
|
||||
print '<td align="center">'.$langs->trans('StockDecrease').'</td>';
|
||||
print '<td class="center">'.$langs->trans('StockDecrease').'</td>';
|
||||
break;
|
||||
case "3":
|
||||
print '<td align="center">'.$langs->trans('StockIncrease').'</td>';
|
||||
print '<td class="center">'.$langs->trans('StockIncrease').'</td>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1092,7 +1098,7 @@ if ($resql)
|
||||
if (! empty($arrayfields['m.value']['checked']))
|
||||
{
|
||||
// Qty
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($objp->qt > 0) print '+';
|
||||
print $objp->qty;
|
||||
print '</td>';
|
||||
@ -1100,12 +1106,12 @@ if ($resql)
|
||||
if (! empty($arrayfields['m.price']['checked']))
|
||||
{
|
||||
// Price
|
||||
print '<td align="right">';
|
||||
print '<td class="right">';
|
||||
if ($objp->price != 0) print price($objp->price);
|
||||
print '</td>';
|
||||
}
|
||||
// Action column
|
||||
print '<td class="nowrap" align="center">';
|
||||
print '<td class="nowrap center">';
|
||||
if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
|
||||
{
|
||||
$selected=0;
|
||||
@ -1130,8 +1136,7 @@ if ($resql)
|
||||
print "<br>";
|
||||
|
||||
$productidselected=0;
|
||||
foreach ($arrayofuniqueproduct as $key => $val)
|
||||
{
|
||||
foreach ($arrayofuniqueproduct as $key => $val) {
|
||||
$productidselected=$key;
|
||||
$productlabelselected=$val;
|
||||
}
|
||||
@ -1143,17 +1148,17 @@ if ($resql)
|
||||
//print '<tr class="total"><td class="liste_total">';
|
||||
print $langs->trans("NbOfProductBeforePeriod", $productlabelselected, dol_print_date($datebefore, 'day', 'gmt'));
|
||||
//print '</td>';
|
||||
//print '<td class="liste_total" colspan="6" align="right">';
|
||||
//print '<td class="liste_total right" colspan="6">';
|
||||
print ': '.$balancebefore;
|
||||
print "<br>\n";
|
||||
//print '</td></tr>';
|
||||
//print '<tr class="total"><td class="liste_total">';
|
||||
print $langs->trans("NbOfProductAfterPeriod", $productlabelselected, dol_print_date($dateafter, 'day', 'gmt'));
|
||||
//print '</td>';
|
||||
//print '<td class="liste_total" colspan="6" align="right">';
|
||||
//print '<td class="liste_total right" colspan="6">';
|
||||
print ': '.$balanceafter;
|
||||
print "<br>\n";
|
||||
//print '</td></tr>';
|
||||
//print '</td></tr>';
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user