Merge remote-tracking branch 'upstream/develop' into 9.0_accountancy
This commit is contained in:
commit
e614d33aa4
@ -56,9 +56,12 @@ $specimenthirdparty->initAsSpecimen();
|
|||||||
if ($action == 'updateMask')
|
if ($action == 'updateMask')
|
||||||
{
|
{
|
||||||
$maskconstinvoice=GETPOST('maskconstinvoice','alpha');
|
$maskconstinvoice=GETPOST('maskconstinvoice','alpha');
|
||||||
$maskvalue=GETPOST('maskinvoice','alpha');
|
$maskconstcredit=GETPOST('maskconstcredit','alpha');
|
||||||
|
$maskinvoice=GETPOST('maskinvoice','alpha');
|
||||||
|
$maskcredit=GETPOST('maskcredit','alpha');
|
||||||
|
|
||||||
if ($maskconstinvoice) $res = dolibarr_set_const($db,$maskconstinvoice,$maskvalue,'chaine',0,'',$conf->entity);
|
if ($maskconstinvoice) $res = dolibarr_set_const($db,$maskconstinvoice,$maskinvoice,'chaine',0,'',$conf->entity);
|
||||||
|
if ($maskconstcredit) $res = dolibarr_set_const($db,$maskconstcredit,$maskcredit,'chaine',0,'',$conf->entity);
|
||||||
|
|
||||||
if (! $res > 0) $error++;
|
if (! $res > 0) $error++;
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
* Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2017 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2017 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2017 Neil Orley <neil.orley@oeris.fr>
|
* Copyright (C) 2017 Neil Orley <neil.orley@oeris.fr>
|
||||||
|
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -581,6 +582,185 @@ class Setup extends DolibarrApi
|
|||||||
return $list;
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of tickets categories.
|
||||||
|
*
|
||||||
|
* @param string $sortfield Sort field
|
||||||
|
* @param string $sortorder Sort order
|
||||||
|
* @param int $limit Number of items per page
|
||||||
|
* @param int $page Page number (starting from zero)
|
||||||
|
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.code:like:'A%') and (t.active:>=:0)"
|
||||||
|
* @return List of events types
|
||||||
|
*
|
||||||
|
* @url GET dictionary/ticket_categories
|
||||||
|
*
|
||||||
|
* @throws RestException
|
||||||
|
*/
|
||||||
|
function getTicketsCategories($sortfield = "code", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '')
|
||||||
|
{
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
$sql = "SELECT rowid, code, pos, label, use_default, description";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_ticket_category as t";
|
||||||
|
$sql.= " WHERE t.active = 1";
|
||||||
|
// Add sql filters
|
||||||
|
if ($sqlfilters)
|
||||||
|
{
|
||||||
|
if (! DolibarrApi::_checkFilters($sqlfilters))
|
||||||
|
{
|
||||||
|
throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
|
||||||
|
}
|
||||||
|
$regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
|
||||||
|
$sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$sql.= $this->db->order($sortfield, $sortorder);
|
||||||
|
|
||||||
|
if ($limit) {
|
||||||
|
if ($page < 0) {
|
||||||
|
$page = 0;
|
||||||
|
}
|
||||||
|
$offset = $limit * $page;
|
||||||
|
|
||||||
|
$sql .= $this->db->plimit($limit, $offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
|
||||||
|
if ($result) {
|
||||||
|
$num = $this->db->num_rows($result);
|
||||||
|
$min = min($num, ($limit <= 0 ? $num : $limit));
|
||||||
|
for ($i = 0; $i < $min; $i++) {
|
||||||
|
$list[] = $this->db->fetch_object($result);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new RestException(503, 'Error when retrieving list of ticket categories : '.$this->db->lasterror());
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of tickets severity.
|
||||||
|
*
|
||||||
|
* @param string $sortfield Sort field
|
||||||
|
* @param string $sortorder Sort order
|
||||||
|
* @param int $limit Number of items per page
|
||||||
|
* @param int $page Page number (starting from zero)
|
||||||
|
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.code:like:'A%') and (t.active:>=:0)"
|
||||||
|
* @return List of events types
|
||||||
|
*
|
||||||
|
* @url GET dictionary/ticket_severities
|
||||||
|
*
|
||||||
|
* @throws RestException
|
||||||
|
*/
|
||||||
|
function getTicketsSeverities($sortfield = "code", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '')
|
||||||
|
{
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
$sql = "SELECT rowid, code, pos, label, use_default, color, description";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_ticket_severity as t";
|
||||||
|
$sql.= " WHERE t.active = 1";
|
||||||
|
// Add sql filters
|
||||||
|
if ($sqlfilters)
|
||||||
|
{
|
||||||
|
if (! DolibarrApi::_checkFilters($sqlfilters))
|
||||||
|
{
|
||||||
|
throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
|
||||||
|
}
|
||||||
|
$regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
|
||||||
|
$sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$sql.= $this->db->order($sortfield, $sortorder);
|
||||||
|
|
||||||
|
if ($limit) {
|
||||||
|
if ($page < 0) {
|
||||||
|
$page = 0;
|
||||||
|
}
|
||||||
|
$offset = $limit * $page;
|
||||||
|
|
||||||
|
$sql .= $this->db->plimit($limit, $offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
|
||||||
|
if ($result) {
|
||||||
|
$num = $this->db->num_rows($result);
|
||||||
|
$min = min($num, ($limit <= 0 ? $num : $limit));
|
||||||
|
for ($i = 0; $i < $min; $i++) {
|
||||||
|
$list[] = $this->db->fetch_object($result);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new RestException(503, 'Error when retrieving list of ticket severities : '.$this->db->lasterror());
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of tickets types.
|
||||||
|
*
|
||||||
|
* @param string $sortfield Sort field
|
||||||
|
* @param string $sortorder Sort order
|
||||||
|
* @param int $limit Number of items per page
|
||||||
|
* @param int $page Page number (starting from zero)
|
||||||
|
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.code:like:'A%') and (t.active:>=:0)"
|
||||||
|
* @return List of events types
|
||||||
|
*
|
||||||
|
* @url GET dictionary/ticket_types
|
||||||
|
*
|
||||||
|
* @throws RestException
|
||||||
|
*/
|
||||||
|
function getTicketsTypes($sortfield = "code", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '')
|
||||||
|
{
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
$sql = "SELECT rowid, code, pos, label, use_default, description";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_ticket_type as t";
|
||||||
|
$sql.= " WHERE t.active = 1";
|
||||||
|
if ($type) $sql.=" AND t.type LIKE '%" . $this->db->escape($type) . "%'";
|
||||||
|
if ($module) $sql.=" AND t.module LIKE '%" . $this->db->escape($module) . "%'";
|
||||||
|
// Add sql filters
|
||||||
|
if ($sqlfilters)
|
||||||
|
{
|
||||||
|
if (! DolibarrApi::_checkFilters($sqlfilters))
|
||||||
|
{
|
||||||
|
throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
|
||||||
|
}
|
||||||
|
$regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
|
||||||
|
$sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$sql.= $this->db->order($sortfield, $sortorder);
|
||||||
|
|
||||||
|
if ($limit) {
|
||||||
|
if ($page < 0) {
|
||||||
|
$page = 0;
|
||||||
|
}
|
||||||
|
$offset = $limit * $page;
|
||||||
|
|
||||||
|
$sql .= $this->db->plimit($limit, $offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
|
||||||
|
if ($result) {
|
||||||
|
$num = $this->db->num_rows($result);
|
||||||
|
$min = min($num, ($limit <= 0 ? $num : $limit));
|
||||||
|
for ($i = 0; $i < $min; $i++) {
|
||||||
|
$list[] = $this->db->fetch_object($result);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new RestException(503, 'Error when retrieving list of ticket types : '.$this->db->lasterror());
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Do a test of integrity for files and setup.
|
* Do a test of integrity for files and setup.
|
||||||
|
|||||||
@ -91,8 +91,7 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
|
|||||||
$tooltip.=$langs->trans("GenericMaskCodes5");
|
$tooltip.=$langs->trans("GenericMaskCodes5");
|
||||||
|
|
||||||
// Parametrage du prefix
|
// Parametrage du prefix
|
||||||
$texte.= '<tr><td>'.$langs->trans("Mask");
|
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceStandard").')';
|
||||||
//$texte.= ' ('.$langs->trans("InvoiceStandard").')';
|
|
||||||
$texte.= ':</td>';
|
$texte.= ':</td>';
|
||||||
$texte.= '<td align="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskinvoice" value="'.$conf->global->SUPPLIER_INVOICE_TULIP_MASK.'">',$tooltip,1,1).'</td>';
|
$texte.= '<td align="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskinvoice" value="'.$conf->global->SUPPLIER_INVOICE_TULIP_MASK.'">',$tooltip,1,1).'</td>';
|
||||||
|
|
||||||
@ -100,6 +99,11 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
|
|||||||
|
|
||||||
$texte.= '</tr>';
|
$texte.= '</tr>';
|
||||||
|
|
||||||
|
// Parametrage du prefix des avoirs
|
||||||
|
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceAvoir").'):</td>';
|
||||||
|
$texte.= '<td align="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskcredit" value="'.$conf->global->SUPPLIER_CREDIT_TULIP_MASK.'">',$tooltip,1,1).'</td>';
|
||||||
|
$texte.= '</tr>';
|
||||||
|
|
||||||
if ($conf->global->MAIN_FEATURE_LEVEL >= 2)
|
if ($conf->global->MAIN_FEATURE_LEVEL >= 2)
|
||||||
{
|
{
|
||||||
// Parametrage du prefix des replacement
|
// Parametrage du prefix des replacement
|
||||||
@ -107,10 +111,6 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
|
|||||||
$texte.= '<td align="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskreplacement" value="'.$conf->global->SUPPLIER_REPLACEMENT_TULIP_MASK.'">',$tooltip,1,1).'</td>';
|
$texte.= '<td align="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskreplacement" value="'.$conf->global->SUPPLIER_REPLACEMENT_TULIP_MASK.'">',$tooltip,1,1).'</td>';
|
||||||
$texte.= '</tr>';
|
$texte.= '</tr>';
|
||||||
|
|
||||||
// Parametrage du prefix des avoirs
|
|
||||||
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceAvoir").'):</td>';
|
|
||||||
$texte.= '<td align="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskcredit" value="'.$conf->global->SUPPLIER_CREDIT_TULIP_MASK.'">',$tooltip,1,1).'</td>';
|
|
||||||
$texte.= '</tr>';
|
|
||||||
|
|
||||||
// Parametrage du prefix des acomptes
|
// Parametrage du prefix des acomptes
|
||||||
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceDeposit").'):</td>';
|
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceDeposit").'):</td>';
|
||||||
|
|||||||
@ -429,7 +429,10 @@ class ActionsDatapolicy
|
|||||||
$jsscript .= "var forme_juridique = [" . PHP_EOL;
|
$jsscript .= "var forme_juridique = [" . PHP_EOL;
|
||||||
$jsscript .= "11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005" . PHP_EOL;
|
$jsscript .= "11, 12, 13, 15, 17, 18, 19, 35, 60, 200, 311, 312, 316, 401, 600, 700, 1005" . PHP_EOL;
|
||||||
$jsscript .= "];" . PHP_EOL;
|
$jsscript .= "];" . PHP_EOL;
|
||||||
$jsscript .= "function hideRgPD() { if ($('#typent_id').val() == 8 || forme_juridique.indexOf(parseInt($('#forme_juridique_code').val())) > -1) { console.log(elementToHide); $('tr.societe_extras_datapolicy_consentement, tr.societe_extras_datapolicy_opposition_traitement, tr.societe_extras_datapolicy_opposition_prospection').show(); } else { $('tr.societe_extras_datapolicy_consentement, tr.societe_extras_datapolicy_opposition_traitement, tr.societe_extras_datapolicy_opposition_prospection').hide(); }}" . PHP_EOL;
|
$jsscript .= "function hideRgPD() {" . PHP_EOL;
|
||||||
|
$jsscript .= " if ($('#typent_id').val() == 8 || forme_juridique.indexOf(parseInt($('#forme_juridique_code').val())) > -1) {" . PHP_EOL;
|
||||||
|
$jsscript .= " console.log(elementToHide);" . PHP_EOL;
|
||||||
|
$jsscript .= " $('tr.societe_extras_datapolicy_consentement, tr.societe_extras_datapolicy_opposition_traitement, tr.societe_extras_datapolicy_opposition_prospection').show(); } else { $('tr.societe_extras_datapolicy_consentement, tr.societe_extras_datapolicy_opposition_traitement, tr.societe_extras_datapolicy_opposition_prospection').hide(); }}" . PHP_EOL;
|
||||||
$jsscript .= "hideRgPD();" . PHP_EOL;
|
$jsscript .= "hideRgPD();" . PHP_EOL;
|
||||||
$jsscript .= "$('#forme_juridique_code, #typent_id').change(function(){ hideRgPD(); });" . PHP_EOL;
|
$jsscript .= "$('#forme_juridique_code, #typent_id').change(function(){ hideRgPD(); });" . PHP_EOL;
|
||||||
$jsscript .= '</script>';
|
$jsscript .= '</script>';
|
||||||
|
|||||||
@ -52,6 +52,7 @@ class Thirdparties extends DolibarrApi
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/societe/class/societeaccount.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/societe/class/societeaccount.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/societe/class/companybankaccount.class.php';
|
||||||
|
|
||||||
$this->company = new Societe($this->db);
|
$this->company = new Societe($this->db);
|
||||||
|
|
||||||
|
|||||||
@ -473,190 +473,6 @@ class Tickets extends DolibarrApi
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the list of tickets categories.
|
|
||||||
*
|
|
||||||
* @param string $sortfield Sort field
|
|
||||||
* @param string $sortorder Sort order
|
|
||||||
* @param int $limit Number of items per page
|
|
||||||
* @param int $page Page number (starting from zero)
|
|
||||||
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.code:like:'A%') and (t.active:>=:0)"
|
|
||||||
* @return List of events types
|
|
||||||
*
|
|
||||||
* @url GET setup/dictionary/categories
|
|
||||||
*
|
|
||||||
* @throws RestException
|
|
||||||
*/
|
|
||||||
function getTicketsCategories($sortfield = "code", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '')
|
|
||||||
{
|
|
||||||
$list = array();
|
|
||||||
|
|
||||||
$sql = "SELECT rowid, code, pos, label, use_default, description";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_ticket_category as t";
|
|
||||||
$sql.= " WHERE t.active = 1";
|
|
||||||
// Add sql filters
|
|
||||||
if ($sqlfilters)
|
|
||||||
{
|
|
||||||
if (! DolibarrApi::_checkFilters($sqlfilters))
|
|
||||||
{
|
|
||||||
throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
|
|
||||||
}
|
|
||||||
$regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
|
|
||||||
$sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$sql.= $this->db->order($sortfield, $sortorder);
|
|
||||||
|
|
||||||
if ($limit) {
|
|
||||||
if ($page < 0) {
|
|
||||||
$page = 0;
|
|
||||||
}
|
|
||||||
$offset = $limit * $page;
|
|
||||||
|
|
||||||
$sql .= $this->db->plimit($limit, $offset);
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
$num = $this->db->num_rows($result);
|
|
||||||
$min = min($num, ($limit <= 0 ? $num : $limit));
|
|
||||||
for ($i = 0; $i < $min; $i++) {
|
|
||||||
$list[] = $this->db->fetch_object($result);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new RestException(503, 'Error when retrieving list of ticket categories : '.$this->db->lasterror());
|
|
||||||
}
|
|
||||||
|
|
||||||
return $list;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the list of tickets severity.
|
|
||||||
*
|
|
||||||
* @param string $sortfield Sort field
|
|
||||||
* @param string $sortorder Sort order
|
|
||||||
* @param int $limit Number of items per page
|
|
||||||
* @param int $page Page number (starting from zero)
|
|
||||||
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.code:like:'A%') and (t.active:>=:0)"
|
|
||||||
* @return List of events types
|
|
||||||
*
|
|
||||||
* @url GET setup/dictionary/severities
|
|
||||||
*
|
|
||||||
* @throws RestException
|
|
||||||
*/
|
|
||||||
function getTicketsSeverities($sortfield = "code", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '')
|
|
||||||
{
|
|
||||||
$list = array();
|
|
||||||
|
|
||||||
$sql = "SELECT rowid, code, pos, label, use_default, color, description";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_ticket_severity as t";
|
|
||||||
$sql.= " WHERE t.active = 1";
|
|
||||||
// Add sql filters
|
|
||||||
if ($sqlfilters)
|
|
||||||
{
|
|
||||||
if (! DolibarrApi::_checkFilters($sqlfilters))
|
|
||||||
{
|
|
||||||
throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
|
|
||||||
}
|
|
||||||
$regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
|
|
||||||
$sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$sql.= $this->db->order($sortfield, $sortorder);
|
|
||||||
|
|
||||||
if ($limit) {
|
|
||||||
if ($page < 0) {
|
|
||||||
$page = 0;
|
|
||||||
}
|
|
||||||
$offset = $limit * $page;
|
|
||||||
|
|
||||||
$sql .= $this->db->plimit($limit, $offset);
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
$num = $this->db->num_rows($result);
|
|
||||||
$min = min($num, ($limit <= 0 ? $num : $limit));
|
|
||||||
for ($i = 0; $i < $min; $i++) {
|
|
||||||
$list[] = $this->db->fetch_object($result);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new RestException(503, 'Error when retrieving list of ticket severities : '.$this->db->lasterror());
|
|
||||||
}
|
|
||||||
|
|
||||||
return $list;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the list of tickets types.
|
|
||||||
*
|
|
||||||
* @param string $sortfield Sort field
|
|
||||||
* @param string $sortorder Sort order
|
|
||||||
* @param int $limit Number of items per page
|
|
||||||
* @param int $page Page number (starting from zero)
|
|
||||||
* @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.code:like:'A%') and (t.active:>=:0)"
|
|
||||||
* @return List of events types
|
|
||||||
*
|
|
||||||
* @url GET setup/dictionary/types
|
|
||||||
*
|
|
||||||
* @throws RestException
|
|
||||||
*/
|
|
||||||
function getTicketsTypes($sortfield = "code", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '')
|
|
||||||
{
|
|
||||||
$list = array();
|
|
||||||
|
|
||||||
$sql = "SELECT rowid, code, pos, label, use_default, description";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_ticket_type as t";
|
|
||||||
$sql.= " WHERE t.active = 1";
|
|
||||||
if ($type) $sql.=" AND t.type LIKE '%" . $this->db->escape($type) . "%'";
|
|
||||||
if ($module) $sql.=" AND t.module LIKE '%" . $this->db->escape($module) . "%'";
|
|
||||||
// Add sql filters
|
|
||||||
if ($sqlfilters)
|
|
||||||
{
|
|
||||||
if (! DolibarrApi::_checkFilters($sqlfilters))
|
|
||||||
{
|
|
||||||
throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
|
|
||||||
}
|
|
||||||
$regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
|
|
||||||
$sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$sql.= $this->db->order($sortfield, $sortorder);
|
|
||||||
|
|
||||||
if ($limit) {
|
|
||||||
if ($page < 0) {
|
|
||||||
$page = 0;
|
|
||||||
}
|
|
||||||
$offset = $limit * $page;
|
|
||||||
|
|
||||||
$sql .= $this->db->plimit($limit, $offset);
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
$num = $this->db->num_rows($result);
|
|
||||||
$min = min($num, ($limit <= 0 ? $num : $limit));
|
|
||||||
for ($i = 0; $i < $min; $i++) {
|
|
||||||
$list[] = $this->db->fetch_object($result);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new RestException(503, 'Error when retrieving list of ticket types : '.$this->db->lasterror());
|
|
||||||
}
|
|
||||||
|
|
||||||
return $list;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validate fields before create or update object
|
* Validate fields before create or update object
|
||||||
*
|
*
|
||||||
|
|||||||
@ -162,12 +162,17 @@ if ($user->rights->user->user->lire || $user->admin) {
|
|||||||
|
|
||||||
dol_banner_tab($object,'id',$linkback,$user->rights->user->user->lire || $user->admin);
|
dol_banner_tab($object,'id',$linkback,$user->rights->user->user->lire || $user->admin);
|
||||||
|
|
||||||
print $langs->trans("AgendaExtSitesDesc")."<br>\n";
|
|
||||||
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("AgendaExtSitesDesc")."</span><br>\n";
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|
||||||
$selectedvalue=$conf->global->AGENDA_DISABLE_EXT;
|
$selectedvalue=$conf->global->AGENDA_DISABLE_EXT;
|
||||||
if ($selectedvalue==1) $selectedvalue=0; else $selectedvalue=1;
|
if ($selectedvalue==1) $selectedvalue=0; else $selectedvalue=1;
|
||||||
|
|
||||||
|
|
||||||
print '<div class="div-table-responsive">';
|
print '<div class="div-table-responsive">';
|
||||||
print "<table class=\"noborder\" width=\"100%\">";
|
print "<table class=\"noborder\" width=\"100%\">";
|
||||||
|
|
||||||
@ -210,12 +215,13 @@ while ($i <= $MAXAGENDA)
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
dol_fiche_end();
|
|
||||||
|
|
||||||
print '<div class="center">';
|
print '<div class="center">';
|
||||||
print "<input type=\"submit\" id=\"save\" name=\"save\" class=\"button hideifnotset\" value=\"".$langs->trans("Save")."\">";
|
print "<input type=\"submit\" id=\"save\" name=\"save\" class=\"button hideifnotset\" value=\"".$langs->trans("Save")."\">";
|
||||||
print "</div>";
|
print "</div>";
|
||||||
|
|
||||||
|
dol_fiche_end();
|
||||||
|
|
||||||
print "</form>\n";
|
print "</form>\n";
|
||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
|
|||||||
@ -1383,7 +1383,7 @@ else
|
|||||||
// Password
|
// Password
|
||||||
print '<tr><td>'.$langs->trans("Password").'</td>';
|
print '<tr><td>'.$langs->trans("Password").'</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td class="wordbreak">';
|
||||||
$valuetoshow='';
|
$valuetoshow='';
|
||||||
if (preg_match('/ldap/',$dolibarr_main_authentication))
|
if (preg_match('/ldap/',$dolibarr_main_authentication))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -245,7 +245,7 @@ if ($user->rights->user->user->lire || $user->admin) {
|
|||||||
dol_banner_tab($object,'id',$linkback,$user->rights->user->user->lire || $user->admin);
|
dol_banner_tab($object,'id',$linkback,$user->rights->user->user->lire || $user->admin);
|
||||||
|
|
||||||
|
|
||||||
//print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
if ($user->admin) print info_admin($langs->trans("WarningOnlyPermissionOfActivatedModules"));
|
if ($user->admin) print info_admin($langs->trans("WarningOnlyPermissionOfActivatedModules"));
|
||||||
// Show warning about external users
|
// Show warning about external users
|
||||||
@ -257,6 +257,7 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e
|
|||||||
|
|
||||||
|
|
||||||
print "\n";
|
print "\n";
|
||||||
|
print '<div class="div-table-responsive">';
|
||||||
print '<table width="100%" class="noborder">';
|
print '<table width="100%" class="noborder">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Module").'</td>';
|
print '<td>'.$langs->trans("Module").'</td>';
|
||||||
@ -392,6 +393,7 @@ if ($result)
|
|||||||
}
|
}
|
||||||
else dol_print_error($db);
|
else dol_print_error($db);
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
print '</div>';
|
||||||
|
|
||||||
$parameters=array();
|
$parameters=array();
|
||||||
$reshook=$hookmanager->executeHooks('insertExtraFooter',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
$reshook=$hookmanager->executeHooks('insertExtraFooter',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user