Merge remote-tracking branch 'Upstream/develop' into develop-a4
This commit is contained in:
commit
c34e698d59
BIN
dev/iso-normes/format_FEC-Lien_outil_de_test_agréé.pdf
Normal file
BIN
dev/iso-normes/format_FEC-Lien_outil_de_test_agréé.pdf
Normal file
Binary file not shown.
Binary file not shown.
@ -166,7 +166,11 @@ class modMyModule extends DolibarrModules
|
||||
// Add here list of php file(s) stored in core/boxes that contains class to show a box.
|
||||
$this->boxes = array(); // List of boxes
|
||||
// Example:
|
||||
//$this->boxes=array(array(0=>array('file'=>'myboxa.php','note'=>'','enabledbydefaulton'=>'Home'),1=>array('file'=>'myboxb.php','note'=>''),2=>array('file'=>'myboxc.php','note'=>'')););
|
||||
//$this->boxes=array(
|
||||
// 0=>array('file'=>'myboxa.php@mymodule','note'=>'','enabledbydefaulton'=>'Home'),
|
||||
// 1=>array('file'=>'myboxb.php@mymodule','note'=>''),
|
||||
// 2=>array('file'=>'myboxc.php@mymodule','note'=>'')
|
||||
//);
|
||||
|
||||
// Cronjobs
|
||||
$this->cronjobs = array(); // List of cron jobs entries to add
|
||||
|
||||
@ -44,13 +44,14 @@ $search_doc_ref = GETPOST("search_doc_ref");
|
||||
$search_account = GETPOST("search_account");
|
||||
$search_thirdparty = GETPOST("search_thirdparty");
|
||||
$search_journal = GETPOST("search_journal");
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
if ($sortorder == "")
|
||||
$sortorder = "ASC";
|
||||
if ($sortfield == "")
|
||||
$sortfield = "bk.rowid";
|
||||
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
|
||||
$formventilation = new FormVentilation($db);
|
||||
$formother = new FormOther($db);
|
||||
|
||||
@ -36,6 +36,7 @@ $langs->load("accountancy");
|
||||
$page = GETPOST("page");
|
||||
$sortorder = GETPOST("sortorder");
|
||||
$sortfield = GETPOST("sortfield");
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
// Filter
|
||||
$year = GETPOST("year", 'int');
|
||||
@ -52,7 +53,7 @@ if ($sortorder == "")
|
||||
if ($sortfield == "")
|
||||
$sortfield = "bk.rowid";
|
||||
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
|
||||
llxHeader('', $langs->trans("Bookkeeping"));
|
||||
|
||||
|
||||
@ -503,7 +503,7 @@ print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="set_DELIVERY_FREE_TEXT">';
|
||||
print '<tr '.$bc[$var].'><td colspan="2">';
|
||||
print $langs->trans("FreeLegalTextOnDeliveryReceipts").' ('.$langs->trans("AddCRIfTooLong").')<br>';
|
||||
print '<textarea name="DELIVERY_FREE_TEXT" class="flat" cols="120">'.$conf->global->DELIVERY_FREE_TEXT.'</textarea>';
|
||||
$variablename='DELIVERY_FREE_TEXT';
|
||||
if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT))
|
||||
{
|
||||
print '<textarea name="'.$variablename.'" class="flat" cols="120">'.$conf->global->$variablename.'</textarea>';
|
||||
|
||||
@ -124,10 +124,12 @@ if ($action == 'send' && ! $_POST['cancel'])
|
||||
if ($result)
|
||||
{
|
||||
setEventMessages($langs->trans("SmsSuccessfulySent",$smsfrom,$sendto), null, 'mesgs');
|
||||
setEventMessages($smsfile->error, $smsfile->errors, 'mesgs');
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessages($langs->trans("ResultKo"), null, 'errors');
|
||||
setEventMessages($smsfile->error, $smsfile->errors, 'errors');
|
||||
}
|
||||
|
||||
$action='';
|
||||
|
||||
@ -32,9 +32,10 @@ $result=restrictedArea($user,'mailing');
|
||||
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
|
||||
@ -105,7 +105,10 @@ if ($_socid > 0)
|
||||
print '<option value="'.$i.'"' ;
|
||||
if($i == $objsoc->price_level)
|
||||
print 'selected';
|
||||
print '>'.$i.'</option>';
|
||||
print '>'.$i;
|
||||
$keyforlabel='PRODUIT_MULTIPRICES_LABEL'.$i;
|
||||
if (! empty($conf->global->$keyforlabel)) print ' - '.$langs->trans($conf->global->$keyforlabel);
|
||||
print '</option>';
|
||||
}
|
||||
print '</select>';
|
||||
print '</td></tr>';
|
||||
|
||||
@ -2901,8 +2901,7 @@ class Propal extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \class PropaleLigne
|
||||
* \brief Class to manage commercial proposal lines
|
||||
* Class to manage commercial proposal lines
|
||||
*/
|
||||
class PropaleLigne extends CommonObjectLine
|
||||
{
|
||||
|
||||
@ -67,13 +67,13 @@ $result = restrictedArea($user, 'commande', $id,'');
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$page = GETPOST("page",'int');
|
||||
$limit = $conf->liste_limit;
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortfield) $sortfield='c.rowid';
|
||||
if (! $sortorder) $sortorder='DESC';
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$viewstatut=GETPOST('viewstatut');
|
||||
|
||||
|
||||
@ -46,13 +46,13 @@ $search_company=GETPOST('search_company','alpha');
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$page = GETPOST("page",'int');
|
||||
$limit = $conf->liste_limit;
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
if (! $sortfield) $sortfield="d.dated";
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$year=GETPOST("year");
|
||||
$month=GETPOST("month");
|
||||
|
||||
@ -2837,7 +2837,7 @@ else if ($id > 0 || ! empty($ref))
|
||||
print '</tr></table>';
|
||||
print '</td><td colspan="5">';
|
||||
if ($action == 'editthirdparty') {
|
||||
$form->form_thirdparty($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, 'socid');
|
||||
$form->form_thirdparty($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, 'socid','client>0');
|
||||
} else {
|
||||
print ' ' . $soc->getNomUrl(1, 'compta');
|
||||
print ' ';
|
||||
|
||||
@ -77,14 +77,14 @@ if ($option == 'late') $filter = 'paye:0';
|
||||
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) {
|
||||
$page = 0;
|
||||
}
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
if (! $sortorder) $sortorder='DESC';
|
||||
if (! $sortfield) $sortfield='f.datef';
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
|
||||
@ -43,12 +43,12 @@ $search_account = GETPOST('search_account','int');
|
||||
$search_amount = GETPOST('search_amount','alpha');
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
$limit = $conf->liste_limit;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
if (! $sortfield) $sortfield="dp";
|
||||
|
||||
|
||||
@ -57,12 +57,12 @@ $search_amount=GETPOST("search_amount");
|
||||
$search_company=GETPOST("search_company");
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
$limit = $conf->liste_limit;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
if (! $sortfield) $sortfield="p.rowid";
|
||||
|
||||
|
||||
@ -47,12 +47,12 @@ llxHeader('','Ventilation');
|
||||
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, f.total as price, l.rowid, l.fk_code_ventilation,";
|
||||
$sql.= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.fk_product_type as type";
|
||||
|
||||
@ -149,9 +149,10 @@ class CSMSFile
|
||||
$sms->message=$this->message;
|
||||
|
||||
$res=$sms->SmsSend();
|
||||
$this->error = $sms->error;
|
||||
$this->errors = $sms->errors;
|
||||
if ($res <= 0)
|
||||
{
|
||||
$this->error=$sms->error;
|
||||
dol_syslog("CSMSFile::sendfile: sms send error=".$this->error, LOG_ERR);
|
||||
}
|
||||
else
|
||||
|
||||
@ -2017,8 +2017,8 @@ class Form
|
||||
{
|
||||
$dur=array("h"=>$langs->trans("Hour"),"d"=>$langs->trans("Day"),"w"=>$langs->trans("Week"),"m"=>$langs->trans("Month"),"y"=>$langs->trans("Year"));
|
||||
}
|
||||
$opt.= ' - '.$duration_value.' '.$langs->trans($dur[$duration_unit]);
|
||||
$outval.=' - '.$duration_value.' '.$langs->transnoentities($dur[$duration_unit]);
|
||||
$opt.= ' - '.$duration_value.' '.($dur[$duration_unit]?$langs->trans($dur[$duration_unit]):'');
|
||||
$outval.=' - '.$duration_value.' '.($dur[$duration_unit]?$langs->transnoentities($dur[$duration_unit]):'');
|
||||
}
|
||||
|
||||
$opt.= "</option>\n";
|
||||
|
||||
@ -91,6 +91,19 @@ function accounting_prepare_head(AccountingAccount $object)
|
||||
return $head;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return accounting account without zero on the right
|
||||
*
|
||||
* @param string $account Accounting account
|
||||
* @return string String without zero on the right
|
||||
*/
|
||||
function clean_account($account)
|
||||
{
|
||||
$account = rtrim($account,"0");
|
||||
|
||||
return $account;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return general accounting account with defined length
|
||||
*
|
||||
@ -131,7 +144,7 @@ function length_accountg($account)
|
||||
*/
|
||||
function length_accounta($accounta)
|
||||
{
|
||||
global $conf, $langs;
|
||||
global $conf;
|
||||
|
||||
$a = $conf->global->ACCOUNTING_LENGTH_AACCOUNT;
|
||||
|
||||
|
||||
@ -34,13 +34,13 @@ $langs->load("donations");
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$page = GETPOST("page",'int');
|
||||
$limit = $conf->liste_limit;
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
if (! $sortfield) $sortfield="d.datedon";
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$statut=isset($_GET["statut"])?$_GET["statut"]:"-1";
|
||||
$search_all=GETPOST('sall','alpha');
|
||||
|
||||
@ -224,7 +224,7 @@ if (empty($reshook))
|
||||
$ret=$object->addline($entrepot_id,GETPOST($idl,'int'),GETPOST($qty,'int'));
|
||||
if ($ret < 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
@ -237,7 +237,7 @@ if (empty($reshook))
|
||||
$ret=$object->addline_batch($batch_line[$i]);
|
||||
if ($ret < 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
@ -249,14 +249,14 @@ if (empty($reshook))
|
||||
$ret=$object->create($user); // This create shipment (like Odoo picking) and line of shipments. Stock movement will when validating shipment.
|
||||
if ($ret <= 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Qty")).'</div>';
|
||||
setEventMessages($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("QtyToShip")), null, 'errors');
|
||||
$error++;
|
||||
}
|
||||
|
||||
@ -287,7 +287,7 @@ if (empty($reshook))
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg=$object->error;
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -337,19 +337,18 @@ if (empty($reshook))
|
||||
}
|
||||
else
|
||||
{
|
||||
$langs->load("errors");
|
||||
setEventMessages($langs->trans($object->error), null, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == 'reopen' && (! empty($user->rights->expedition->creer) || ! empty($user->rights->expedition->shipping_advance->validate)))
|
||||
// TODO add alternative status
|
||||
/*else if ($action == 'reopen' && (! empty($user->rights->expedition->creer) || ! empty($user->rights->expedition->shipping_advance->validate)))
|
||||
{
|
||||
$result = $object->setStatut(0);
|
||||
if ($result < 0)
|
||||
{
|
||||
$mesg = $object->error;
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
else if ($action == 'setdate_livraison' && $user->rights->expedition->creer)
|
||||
{
|
||||
@ -360,7 +359,7 @@ if (empty($reshook))
|
||||
$result=$object->set_date_livraison($user,$datedelivery);
|
||||
if ($result < 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -485,8 +484,6 @@ if ($action == 'create')
|
||||
setEventMessages($langs->trans("ErrorBadParameters"), null, 'errors');
|
||||
}
|
||||
|
||||
dol_htmloutput_mesg($mesg);
|
||||
|
||||
if ($origin)
|
||||
{
|
||||
$classname = ucfirst($origin);
|
||||
@ -928,8 +925,6 @@ else if ($id || $ref)
|
||||
|
||||
if ($object->id > 0)
|
||||
{
|
||||
dol_htmloutput_mesg($mesg);
|
||||
|
||||
if (!empty($object->origin))
|
||||
{
|
||||
$typeobject = $object->origin;
|
||||
@ -943,8 +938,6 @@ else if ($id || $ref)
|
||||
$head=shipping_prepare_head($object);
|
||||
dol_fiche_head($head, 'shipping', $langs->trans("Shipment"), 0, 'sending');
|
||||
|
||||
dol_htmloutput_mesg($mesg);
|
||||
|
||||
/*
|
||||
* Confirmation de la suppression
|
||||
*/
|
||||
|
||||
@ -1068,6 +1068,7 @@ class Expedition extends CommonObject
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($error) break; // break for loop incase of error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,15 +43,14 @@ $optioncss = GETPOST('optioncss','alpha');
|
||||
$sortfield = GETPOST('sortfield','alpha');
|
||||
$sortorder = GETPOST('sortorder','alpha');
|
||||
$page = GETPOST('page','int');
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
$limit = $conf->liste_limit;
|
||||
if (! $sortfield) $sortfield="e.ref";
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$viewstatut=GETPOST('viewstatut');
|
||||
|
||||
|
||||
@ -93,15 +93,15 @@ $sortfield = GETPOST("sortfield");
|
||||
$page = GETPOST("page");
|
||||
if (!$sortorder) $sortorder="DESC";
|
||||
if (!$sortfield) $sortfield="d.date_debut";
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
if ($page == -1) {
|
||||
$page = 0 ;
|
||||
}
|
||||
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$sql = "SELECT d.rowid, d.ref, d.fk_user_author, d.total_ht, d.total_tva, d.total_ttc, d.fk_statut as status,";
|
||||
$sql.= " d.date_debut, d.date_fin,";
|
||||
|
||||
@ -44,9 +44,10 @@ $result = restrictedArea($user, 'ficheinter', $fichinterid,'fichinter');
|
||||
|
||||
$sortfield = GETPOST('sortfield','alpha');
|
||||
$sortorder = GETPOST('sortorder','alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST('page','int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
@ -55,7 +56,6 @@ if (! $sortfield)
|
||||
if (empty($conf->global->FICHINTER_DISABLE_DETAILS)) $sortfield="fd.date";
|
||||
else $sortfield="f.ref";
|
||||
}
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
$search_ref=GETPOST('search_ref')?GETPOST('search_ref','alpha'):GETPOST('search_inter','alpha');
|
||||
$search_company=GETPOST('search_company','alpha');
|
||||
|
||||
@ -996,7 +996,7 @@ class CommandeFournisseur extends CommonOrder
|
||||
{
|
||||
$result = -1;
|
||||
$this->error = $langs->trans('NotAuthorized');
|
||||
$this->errors[] = $lanfs->trans('NotAuthorized');
|
||||
$this->errors[] = $langs->trans('NotAuthorized');
|
||||
dol_syslog(get_class($this)."::commande User not Authorized", LOG_ERR);
|
||||
}
|
||||
return $result ;
|
||||
|
||||
25
htdocs/install/mysql/migration/3.9.0-4.0.0.sql
Normal file
25
htdocs/install/mysql/migration/3.9.0-4.0.0.sql
Normal file
@ -0,0 +1,25 @@
|
||||
--
|
||||
-- Be carefull to requests order.
|
||||
-- This file must be loaded by calling /install/index.php page
|
||||
-- when current version is 4.0.0 or higher.
|
||||
--
|
||||
-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new;
|
||||
-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol;
|
||||
-- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60);
|
||||
-- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname;
|
||||
-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60);
|
||||
-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
|
||||
-- To drop an index: -- VMYSQL4.0 DROP INDEX nomindex on llx_table
|
||||
-- To drop an index: -- VPGSQL8.0 DROP INDEX nomindex
|
||||
-- To restrict request to Mysql version x.y minimum use -- VMYSQLx.y
|
||||
-- To restrict request to Pgsql version x.y minimum use -- VPGSQLx.y
|
||||
-- To make pk to be auto increment (mysql): VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT;
|
||||
-- To make pk to be auto increment (postgres): VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE
|
||||
-- To set a field as NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL;
|
||||
-- To set a field as default NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL;
|
||||
-- Note: fields with type BLOB/TEXT can't have default value.
|
||||
-- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user);
|
||||
-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup);
|
||||
|
||||
|
||||
ALTER TABLE llx_accounting_bookkeeping ADD COLUMN validated tinyint DEFAULT 0 NOT NULL;
|
||||
@ -35,5 +35,6 @@ CREATE TABLE llx_accounting_bookkeeping
|
||||
fk_user_author integer NOT NULL,
|
||||
import_key varchar(14),
|
||||
code_journal varchar(10) DEFAULT NULL,
|
||||
piece_num integer NOT NULL
|
||||
piece_num integer NOT NULL,
|
||||
validated tinyint DEFAULT 0 NOT NULL -- 0 line not validated / 1 line validated (No deleting / No modification)
|
||||
) ENGINE=innodb;
|
||||
|
||||
@ -38,9 +38,10 @@ $status=GETPOST('status');
|
||||
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortfield) $sortfield="p.date_fin";
|
||||
@ -48,8 +49,6 @@ if (! $sortorder) $sortorder="DESC";
|
||||
if ($page < 0) {
|
||||
$page = 0;
|
||||
}
|
||||
$limit = $conf->liste_limit;
|
||||
$offset = $limit * $page;
|
||||
|
||||
$langs->load("opensurvey");
|
||||
|
||||
|
||||
@ -151,21 +151,21 @@ if (empty($reshook))
|
||||
else $errors[] = 'FailedToValidateBarCode';
|
||||
|
||||
$error++;
|
||||
setEventMessage($errors,'errors');
|
||||
setEventMessages($errors, null, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == 'setaccountancy_code_buy') {
|
||||
|
||||
$result = $object->setAccountancyCode('buy', GETPOST('accountancy_code_buy'));
|
||||
if ($result < 0) setEventMessage(join(',',$object->errors), 'errors');
|
||||
if ($result < 0) setEventMessages(join(',',$object->errors), null, 'errors');
|
||||
$action="";
|
||||
}
|
||||
|
||||
if ($action == 'setaccountancy_code_sell')
|
||||
{
|
||||
$result = $object->setAccountancyCode('sell', GETPOST('accountancy_code_sell'));
|
||||
if ($result < 0) setEventMessage(join(',',$object->errors), 'errors');
|
||||
if ($result < 0) setEventMessages(join(',',$object->errors), null, 'errors');
|
||||
$action="";
|
||||
}
|
||||
|
||||
@ -176,17 +176,23 @@ if (empty($reshook))
|
||||
|
||||
if (! GETPOST('label'))
|
||||
{
|
||||
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('Label')), 'errors');
|
||||
setEventMessages($langs->trans('ErrorFieldRequired',$langs->transnoentities('Label')), null, 'errors');
|
||||
$action = "create";
|
||||
$error++;
|
||||
}
|
||||
if (empty($ref))
|
||||
{
|
||||
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('Ref')), 'errors');
|
||||
setEventMessages($langs->trans('ErrorFieldRequired',$langs->transnoentities('Ref')), null, 'errors');
|
||||
$action = "create";
|
||||
$error++;
|
||||
}
|
||||
|
||||
if (! empty(GETPOST('duration_value')) && empty(GETPOST('duration_unit')))
|
||||
{
|
||||
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('Unit')), 'errors');
|
||||
$action = "create";
|
||||
$error++;
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$units = GETPOST('units', 'int');
|
||||
@ -226,7 +232,8 @@ if (empty($reshook))
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
setEventMessage('Failed to get bar code type information '.$stdobject->error, 'errors');
|
||||
$mesg='Failed to get bar code type information ';
|
||||
setEventMessages($mesg.$stdobject->error, $mesg.$stdobject->errors, 'errors');
|
||||
}
|
||||
$object->barcode_type_code = $stdobject->barcode_type_code;
|
||||
$object->barcode_type_coder = $stdobject->barcode_type_coder;
|
||||
@ -295,8 +302,8 @@ if (empty($reshook))
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count($object->errors)) setEventMessage($object->errors, 'errors');
|
||||
else setEventMessage($langs->trans($object->error), 'errors');
|
||||
if (count($object->errors)) setEventMessages($object->error, $object->errors, 'errors');
|
||||
else setEventMessages($langs->trans($object->error), null, 'errors');
|
||||
$action = "create";
|
||||
}
|
||||
}
|
||||
@ -358,7 +365,8 @@ if (empty($reshook))
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
setEventMessage('Failed to get bar code type information '.$stdobject->error, 'errors');
|
||||
$mesg='Failed to get bar code type information ';
|
||||
setEventMessages($mesg.$stdobject->error, $mesg.$stdobject->errors, 'errors');
|
||||
}
|
||||
$object->barcode_type_code = $stdobject->barcode_type_code;
|
||||
$object->barcode_type_coder = $stdobject->barcode_type_coder;
|
||||
@ -383,15 +391,15 @@ if (empty($reshook))
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count($object->errors)) setEventMessage($object->errors, 'errors');
|
||||
else setEventMessage($langs->trans($object->error), 'errors');
|
||||
if (count($object->errors)) setEventMessages($object->error, $object->errors, 'errors');
|
||||
else setEventMessages($langs->trans($object->error), null, 'errors');
|
||||
$action = 'edit';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (count($object->errors)) setEventMessage($object->errors, 'errors');
|
||||
else setEventMessage($langs->trans("ErrorProductBadRefOrLabel"), 'errors');
|
||||
if (count($object->errors)) setEventMessages($object->error, $object->errors, 'errors');
|
||||
else setEventMessages($langs->trans("ErrorProductBadRefOrLabel"), null, 'errors');
|
||||
$action = 'edit';
|
||||
}
|
||||
}
|
||||
@ -405,7 +413,7 @@ if (empty($reshook))
|
||||
{
|
||||
if (! GETPOST('clone_content') && ! GETPOST('clone_prices') )
|
||||
{
|
||||
setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors');
|
||||
setEventMessages($langs->trans("NoCloneOptionsSpecified"), null, 'errors');
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -432,7 +440,7 @@ if (empty($reshook))
|
||||
if ($result < 1)
|
||||
{
|
||||
$db->rollback();
|
||||
setEventMessage($langs->trans('ErrorProductClone'), 'errors');
|
||||
setEventMessages($langs->trans('ErrorProductClone'), null, 'errors');
|
||||
header("Location: ".$_SERVER["PHP_SELF"]."?id=".$originalId);
|
||||
exit;
|
||||
}
|
||||
@ -459,7 +467,7 @@ if (empty($reshook))
|
||||
|
||||
$mesg=$langs->trans("ErrorProductAlreadyExists",$object->ref);
|
||||
$mesg.=' <a href="'.$_SERVER["PHP_SELF"].'?ref='.$object->ref.'">'.$langs->trans("ShowCardHere").'</a>.';
|
||||
setEventMessage($mesg, 'errors');
|
||||
setEventMessages($mesg, null, 'errors');
|
||||
$object->fetch($id);
|
||||
}
|
||||
else
|
||||
@ -467,12 +475,12 @@ if (empty($reshook))
|
||||
$db->rollback();
|
||||
if (count($object->errors))
|
||||
{
|
||||
setEventMessage($object->errors, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
dol_print_error($db,$object->errors);
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessage($langs->trans($object->error), 'errors');
|
||||
setEventMessages($langs->trans($object->error), null, 'errors');
|
||||
dol_print_error($db,$object->error);
|
||||
}
|
||||
}
|
||||
@ -503,7 +511,7 @@ if (empty($reshook))
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessage($langs->trans($object->error), 'errors');
|
||||
setEventMessages($langs->trans($object->error), null, 'errors');
|
||||
$reload = 0;
|
||||
$action='';
|
||||
}
|
||||
@ -629,7 +637,7 @@ if (empty($reshook))
|
||||
return;
|
||||
}
|
||||
|
||||
setEventMessage($langs->trans("ErrorUnknown") . ": $result", 'errors');
|
||||
setEventMessages($langs->trans("ErrorUnknown") . ": $result", null, 'errors');
|
||||
} elseif (GETPOST('commandeid') > 0) {
|
||||
$result = $commande->addline(
|
||||
$desc,
|
||||
@ -701,7 +709,7 @@ if (empty($reshook))
|
||||
}
|
||||
else {
|
||||
$action="";
|
||||
setEventMessage($langs->trans("WarningSelectOneDocument"), 'warnings');
|
||||
setEventMessages($langs->trans("WarningSelectOneDocument"), null, 'warnings');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ if (empty($reshook))
|
||||
$filetomerge->file_name=$filename;
|
||||
$result=$filetomerge->delete_by_file($user);
|
||||
if ($result<0) {
|
||||
setEventMessage($filetomerge->error,'errors');
|
||||
setEventMessages($filetomerge->error, $filetomerge->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -137,7 +137,7 @@ if ($action=='filemerge')
|
||||
$result=$filetomerge->delete_by_product($user, $object->id);
|
||||
}
|
||||
if ($result<0) {
|
||||
setEventMessage($filetomerge->error,'errors');
|
||||
setEventMessages($filetomerge->error, $filetomerge->errors, 'errors');
|
||||
}
|
||||
|
||||
// for each file checked add it to the product
|
||||
@ -152,7 +152,7 @@ if ($action=='filemerge')
|
||||
|
||||
$result=$filetomerge->create($user);
|
||||
if ($result<0) {
|
||||
setEventMessage($filetomerge->error,'errors');
|
||||
setEventMessages($filetomerge->error, $filetomerge->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ if (empty($reshook))
|
||||
if ($result > 0)
|
||||
{
|
||||
$object->cost_price = price2num($cost_price);
|
||||
setEventMessage($langs->trans("RecordSaved"));
|
||||
setEventMessages($langs->trans("RecordSaved"), null, 'mesgs');
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -119,7 +119,7 @@ if (empty($reshook))
|
||||
$action = '';
|
||||
$result=$object->remove_product_fournisseur_price($rowid);
|
||||
if($result > 0){
|
||||
setEventMessage($langs->trans("PriceRemoved"));
|
||||
setEventMessages($langs->trans("PriceRemoved"), null, 'mesgs');
|
||||
}else{
|
||||
$error++;
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
@ -151,7 +151,7 @@ if (empty($reshook))
|
||||
{
|
||||
$error++;
|
||||
$langs->load("errors");
|
||||
setEventMessage($langs->trans("ErrorFieldMustBeANumeric",'eeee'), 'errors');
|
||||
setEventMessages($langs->trans("ErrorFieldMustBeANumeric",'eeee'), null, 'errors');
|
||||
}
|
||||
if (empty($quantity))
|
||||
{
|
||||
@ -199,12 +199,12 @@ if (empty($reshook))
|
||||
$object->fetch($object->product_id_already_linked);
|
||||
$productLink = $object->getNomUrl(1,'supplier');
|
||||
|
||||
setEventMessage($langs->trans("ReferenceSupplierIsAlreadyAssociatedWithAProduct",$productLink), 'errors');
|
||||
setEventMessages($langs->trans("ReferenceSupplierIsAlreadyAssociatedWithAProduct",$productLink), null, 'errors');
|
||||
}
|
||||
else if ($ret < 0)
|
||||
{
|
||||
$error++;
|
||||
setEventMessage($object->error, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,7 +220,7 @@ if (empty($reshook))
|
||||
{
|
||||
|
||||
$error++;
|
||||
setEventMessage($object->error, $object->errors, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -231,7 +231,7 @@ if (empty($reshook))
|
||||
$price_result = $priceparser->parseProductSupplier($id, $price_expression, $quantity, $tva_tx);
|
||||
if ($price_result < 0) { //Expression is not valid
|
||||
$error++;
|
||||
setEventMessage($priceparser->translatedError(), 'errors');
|
||||
setEventMessages($priceparser->translatedError(), null, 'errors');
|
||||
}
|
||||
}
|
||||
if (! $error && ! empty($conf->dynamicprices->enabled)) {
|
||||
@ -239,7 +239,7 @@ if (empty($reshook))
|
||||
if ($ret < 0)
|
||||
{
|
||||
$error++;
|
||||
setEventMessage($object->error, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ $sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortfield) $sortfield="p.ref";
|
||||
@ -293,7 +293,7 @@ else
|
||||
|
||||
// Displays product removal confirmation
|
||||
if (GETPOST('delprod')) {
|
||||
setEventMessage($langs->trans("ProductDeleted", GETPOST('delprod')));
|
||||
setEventMessages($langs->trans("ProductDeleted", GETPOST('delprod')), null, 'mesgs');
|
||||
}
|
||||
|
||||
if ($sref) $param="&sref=".$sref;
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
|
||||
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2014 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2014-2015 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2014 Ion agorria <ion@agorria.com>
|
||||
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
|
||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||
@ -131,7 +131,7 @@ if (empty($reshook))
|
||||
|
||||
if ($priceparser->parseProduct($object) < 0) {
|
||||
$error ++;
|
||||
setEventMessage($priceparser->translatedError(), 'errors');
|
||||
setEventMessages($priceparser->translatedError(), null, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -194,7 +194,7 @@ if (empty($reshook))
|
||||
$newprice_min = price2num($val['price_min'], 'MU');
|
||||
|
||||
if (!empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE) && $newprice_min < $maxpricesupplier) {
|
||||
setEventMessage($langs->trans("MinimumPriceLimit", price($maxpricesupplier, 0, '', 1, - 1, - 1, 'auto')), 'errors');
|
||||
setEventMessages($langs->trans("MinimumPriceLimit", price($maxpricesupplier, 0, '', 1, - 1, - 1, 'auto')), null, 'errors');
|
||||
$error ++;
|
||||
break;
|
||||
}
|
||||
@ -203,7 +203,7 @@ if (empty($reshook))
|
||||
|
||||
if ($res < 0) {
|
||||
$error ++;
|
||||
setEventMessage($object->error, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -211,12 +211,12 @@ if (empty($reshook))
|
||||
|
||||
if (!$error && $object->update($object->id, $user) < 0) {
|
||||
$error++;
|
||||
setEventMessage($object->error, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
|
||||
if (empty($error)) {
|
||||
$action = '';
|
||||
setEventMessage($langs->trans("RecordSaved"));
|
||||
setEventMessages($langs->trans("RecordSaved"), null, 'mesgs');
|
||||
$db->commit();
|
||||
} else {
|
||||
$action = 'edit_price';
|
||||
@ -229,7 +229,7 @@ if (empty($reshook))
|
||||
{
|
||||
$result = $object->log_price_delete($user, $_GET ["lineid"]);
|
||||
if ($result < 0) {
|
||||
setEventMessage($object->error, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -341,7 +341,7 @@ if (empty($reshook))
|
||||
|
||||
if (! empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE) && $prodcustprice->price_min<$maxpricesupplier)
|
||||
{
|
||||
setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors');
|
||||
setEventMessages($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')), null, 'errors');
|
||||
$error++;
|
||||
$action='add_customer_price';
|
||||
}
|
||||
@ -351,9 +351,9 @@ if (empty($reshook))
|
||||
$result = $prodcustprice->create($user, 0, $update_child_soc);
|
||||
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'errors');
|
||||
setEventMessages($prodcustprice->error, $prodcustprice->errors, 'errors');
|
||||
} else {
|
||||
setEventMessage($langs->trans('RecordSaved'), 'mesgs');
|
||||
setEventMessages($langs->trans('RecordSaved'), null, 'mesgs');
|
||||
}
|
||||
|
||||
$action = '';
|
||||
@ -367,9 +367,9 @@ if (empty($reshook))
|
||||
$result = $prodcustprice->delete($user);
|
||||
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'mesgs');
|
||||
setEventMessages($prodcustprice->error, $prodcustprice->errors, 'mesgs');
|
||||
} else {
|
||||
setEventMessage($langs->trans('RecordDeleted'), 'errors');
|
||||
setEventMessages($langs->trans('RecordDeleted'), null, 'errors');
|
||||
}
|
||||
$action = '';
|
||||
}
|
||||
@ -391,7 +391,7 @@ if (empty($reshook))
|
||||
|
||||
if ($prodcustprice->price_min<$maxpricesupplier && !empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE))
|
||||
{
|
||||
setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors');
|
||||
setEventMessages($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')), null, 'errors');
|
||||
$error++;
|
||||
$action='update_customer_price';
|
||||
}
|
||||
@ -401,9 +401,9 @@ if (empty($reshook))
|
||||
$result = $prodcustprice->update($user, 0, $update_child_soc);
|
||||
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'errors');
|
||||
setEventMessages($prodcustprice->error, $prodcustprice->errors, 'errors');
|
||||
} else {
|
||||
setEventMessage($langs->trans('Save'), 'mesgs');
|
||||
setEventMessages($langs->trans('Save'), null, 'mesgs');
|
||||
}
|
||||
|
||||
$action = '';
|
||||
@ -1257,7 +1257,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
$result = $prodcustprice->fetch(GETPOST('lineid', 'int'));
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'errors');
|
||||
setEventMessages($prodcustprice->error, $prodcustprice->errors, 'errors');
|
||||
}
|
||||
|
||||
print '<form action="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '" method="POST">';
|
||||
@ -1346,7 +1346,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
$result = $prodcustprice->fetch_all_log($sortorder, $sortfield, $conf->liste_limit, $offset, $filter);
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'errors');
|
||||
setEventMessages($prodcustprice->error, $prodcustprice->errors, 'errors');
|
||||
}
|
||||
|
||||
$option = '&socid=' . GETPOST('socid', 'int') . '&id=' . $object->id;
|
||||
@ -1422,7 +1422,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES))
|
||||
|
||||
$result = $prodcustprice->fetch_all($sortorder, $sortfield, $conf->liste_limit, $offset, $filter);
|
||||
if ($result < 0) {
|
||||
setEventMessage($prodcustprice->error, 'errors');
|
||||
setEventMessages($prodcustprice->error, $prodcustprice->errors, 'errors');
|
||||
}
|
||||
|
||||
$option = '&search_soc=' . $search_soc . '&id=' . $object->id;
|
||||
|
||||
@ -139,15 +139,15 @@ class MouvementStock extends CommonObject
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
if ($this->db->jdate($obj->eatby) != $eatby)
|
||||
{
|
||||
$this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->eatby), $eatby);
|
||||
dol_syslog($langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->eatby), $eatby));
|
||||
$this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->eatby)), dol_print_date($eatby));
|
||||
dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->eatby)), dol_print_date($eatby)), LOG_ERR);
|
||||
$this->db->rollback();
|
||||
return -3;
|
||||
}
|
||||
if ($this->db->jdate($obj->sellby) != $sellby)
|
||||
{
|
||||
$this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->sellby), $sellby);
|
||||
dol_syslog($langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->sellby), $sellby));
|
||||
$this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->sellby)), dol_print_date($sellby));
|
||||
dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->sellby)), dol_print_date($sellby)), LOG_ERR);
|
||||
$this->db->rollback();
|
||||
return -3;
|
||||
}
|
||||
|
||||
@ -54,11 +54,12 @@ $search_warehouse = trim(GETPOST("search_warehouse"));
|
||||
$search_inventorycode = trim(GETPOST("search_inventorycode"));
|
||||
$search_user = trim(GETPOST("search_user"));
|
||||
$search_batch = trim(GETPOST("search_batch"));
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
if ($page < 0) $page = 0;
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
|
||||
if (! $sortfield) $sortfield="m.datem";
|
||||
if (! $sortorder) $sortorder="DESC";
|
||||
@ -100,7 +101,7 @@ if ($action == "correct_stock")
|
||||
if (! is_numeric($_POST["nbpiece"]))
|
||||
{
|
||||
$error++;
|
||||
setEventMessage($langs->trans("ErrorFieldMustBeANumeric", $langs->transnoentitiesnoconv("NumberOfUnit")), 'errors');
|
||||
setEventMessages($langs->trans("ErrorFieldMustBeANumeric", $langs->transnoentitiesnoconv("NumberOfUnit")), null, 'errors');
|
||||
$action='correction';
|
||||
}
|
||||
|
||||
@ -203,6 +204,14 @@ if (! empty($search_product)) $sql.= " AND p.label LIKE '%".$db->escape($s
|
||||
if (! empty($search_warehouse)) $sql.= " AND e.label LIKE '%".$db->escape($search_warehouse)."%'";
|
||||
if (! empty($search_user)) $sql.= " AND u.login LIKE '%".$db->escape($search_user)."%'";
|
||||
if (! empty($search_batch)) $sql.= " AND m.batch LIKE '%".$db->escape($search_batch)."%'";
|
||||
|
||||
$nbtotalofrecords = 0;
|
||||
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
||||
{
|
||||
$result = $db->query($sql);
|
||||
$nbtotalofrecords = $db->num_rows($result);
|
||||
}
|
||||
|
||||
$sql.= $db->order($sortfield,$sortorder);
|
||||
$sql.= $db->plimit($conf->liste_limit+1, $offset);
|
||||
|
||||
@ -248,7 +257,7 @@ if ($resql)
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
$linkback = '<a href="'.DOL_URL_ROOT.'/product/stock/list.php">'.$langs->trans("BackToList").'</a>';
|
||||
|
||||
// Ref
|
||||
print '<tr><td width="25%">'.$langs->trans("Ref").'</td><td colspan="3">';
|
||||
@ -470,8 +479,8 @@ if ($resql)
|
||||
if (!empty($snom)) $param.='&snom='.urlencode($snom); // FIXME $snom is not defined
|
||||
if ($search_user) $param.='&search_user='.urlencode($search_user);
|
||||
if ($idproduct > 0) $param.='&idproduct='.$idproduct;
|
||||
if ($id) print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num,0,'');
|
||||
else print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num);
|
||||
if ($id) print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num, $nbtotalofrecords,'');
|
||||
else print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num, $nbtotalofrecords);
|
||||
|
||||
print '<form method="get" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
if ($id) print '<input type="hidden" name="id" value="'.$id.'">';
|
||||
|
||||
@ -77,7 +77,7 @@ if ($action == 'setstocklimit')
|
||||
$object->seuil_stock_alerte=$stocklimit;
|
||||
$result=$object->update($object->id,$user,0,'update');
|
||||
if ($result < 0)
|
||||
setEventMessage($object->error, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$action='';
|
||||
}
|
||||
|
||||
@ -89,7 +89,7 @@ if ($action == 'setdesiredstock')
|
||||
$object->desiredstock=$desiredstock;
|
||||
$result=$object->update($object->id,$user,0,'update');
|
||||
if ($result < 0)
|
||||
setEventMessage($object->error, 'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$action='';
|
||||
}
|
||||
|
||||
|
||||
@ -176,7 +176,7 @@ if ($action == 'order' && isset($_POST['valid']))
|
||||
$fail++;
|
||||
$msg = $langs->trans('OrderFail') . " : ";
|
||||
$msg .= $order->error;
|
||||
setEventMessage($msg, 'errors');
|
||||
setEventMessages($msg, null, 'errors');
|
||||
} else {
|
||||
$id = $result;
|
||||
}
|
||||
@ -195,7 +195,7 @@ if ($action == 'order' && isset($_POST['valid']))
|
||||
$fail++;
|
||||
$msg = $langs->trans('OrderFail') . " : ";
|
||||
$msg .= $order->error;
|
||||
setEventMessage($msg, 'errors');
|
||||
setEventMessages($msg, null, 'errors');
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
@ -205,7 +205,7 @@ if ($action == 'order' && isset($_POST['valid']))
|
||||
{
|
||||
$db->commit();
|
||||
|
||||
setEventMessage($langs->trans('OrderCreated'), 'mesgs');
|
||||
setEventMessages($langs->trans('OrderCreated'), null, 'mesgs');
|
||||
header('Location: replenishorders.php');
|
||||
exit;
|
||||
}
|
||||
@ -216,7 +216,7 @@ if ($action == 'order' && isset($_POST['valid']))
|
||||
}
|
||||
if ($box == 0)
|
||||
{
|
||||
setEventMessage($langs->trans('SelectProductWithNotNullQty'), 'warnings');
|
||||
setEventMessages($langs->trans('SelectProductWithNotNullQty'), null, 'warnings');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -94,7 +94,7 @@ $cancel != $langs->trans("Cancel") &&
|
||||
else
|
||||
{
|
||||
$action = 'add';
|
||||
setEventMessage($object->error,'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ $cancel != $langs->trans("Cancel") &&
|
||||
else
|
||||
{
|
||||
$action = 'edit';
|
||||
setEventMessage($object->error,'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,7 +151,7 @@ $cancel != $langs->trans("Cancel") &&
|
||||
else
|
||||
{
|
||||
$action = 'edit';
|
||||
setEventMessage($object->error,'errors');
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -81,9 +81,10 @@ function llxFooterVierge()
|
||||
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
|
||||
|
||||
@ -181,11 +181,12 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) {
|
||||
|
||||
$sortfield = GETPOST("sortfield", 'alpha');
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page", 'int');
|
||||
if ($page == - 1) {
|
||||
$page = 0;
|
||||
}
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
if (! $sortorder)
|
||||
@ -200,7 +201,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) {
|
||||
|
||||
$search_soc = GETPOST('search_soc');
|
||||
if (! empty($search_soc)) {
|
||||
$filter ['soc.nom'] = $search_soc;
|
||||
$filter['soc.nom'] = $search_soc;
|
||||
}
|
||||
|
||||
if ($action == 'add_customer_price') {
|
||||
|
||||
@ -139,15 +139,15 @@ $now=dol_now();
|
||||
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$limit = $conf->liste_limit;
|
||||
$page = GETPOST("page",'int');
|
||||
if ($page == -1) { $page = 0; }
|
||||
$offset = $conf->liste_limit * $page;
|
||||
$offset = $limit * $page;
|
||||
$pageprev = $page - 1;
|
||||
$pagenext = $page + 1;
|
||||
|
||||
if (! $sortfield) $sortfield='p.date_livraison';
|
||||
if (! $sortorder) $sortorder='DESC';
|
||||
$limit = $conf->liste_limit;
|
||||
|
||||
|
||||
$sql = 'SELECT s.rowid, s.nom as name, s.town, s.client, s.code_client,';
|
||||
|
||||
Loading…
Reference in New Issue
Block a user