|
@@ -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
|
|
|
*
|