From 3b4ea5c5af71d6fb2ab46895a01e59112bfeec1e Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Wed, 30 Jun 2021 10:56:09 +0200 Subject: [PATCH] use formintervention --- htdocs/core/class/html.form.class.php | 141 ------------------ .../class/html.formintervention.class.php | 13 +- htdocs/projet/tasks/time.php | 5 +- 3 files changed, 12 insertions(+), 147 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 8d0f1931763..0b1504d229a 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -8746,147 +8746,6 @@ class Form return $out; } - /** - * Output a combo list with interventions qualified for a third party - * - * @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id) - * @param int $selected Id intervention preselected - * @param string $htmlname Name of HTML select - * @param int $maxlength Maximum length of label - * @param int $option_only Return only html options lines without the select tag - * @param string $show_empty Add an empty line ('1' or string to show for empty line) - * @param int $discard_closed Discard closed projects (0=Keep,1=hide completely,2=Disable) - * @param int $forcefocus Force focus on field (works with javascript only) - * @param int $disabled Disabled - * @param string $morecss More css added to the select component - * @param string $projectsListId ''=Automatic filter on project allowed. List of id=Filter on project ids. - * @param string $showproject 'all' = Show project info, ''=Hide project info - * @param User $usertofilter User object to use for filtering - * @return int Nbr of project if OK, <0 if KO - */ - public function selectIntervention($socid = -1, $selected = '', $htmlname = 'interid', $maxlength = 24, $option_only = 0, $show_empty = '1', $discard_closed = 0, $forcefocus = 0, $disabled = 0, $morecss = 'maxwidth500', $projectsListId = '', $showproject = 'all', $usertofilter = null) - { - global $user, $conf, $langs; - - require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; - - if (is_null($usertofilter)) { - $usertofilter = $user; - } - - $out = ''; - - $hideunselectables = false; - if (!empty($conf->global->PROJECT_HIDE_UNSELECTABLES)) $hideunselectables = true; - - if (empty($projectsListId)) { - if (empty($usertofilter->rights->projet->all->lire)) { - $projectstatic = new Project($this->db); - $projectsListId = $projectstatic->getProjectsAuthorizedForUser($usertofilter, 0, 1); - } - } - - // Search all projects - $sql = 'SELECT i.rowid, i.ref as ref, p.fk_soc, p.fk_statut, p.public,'; - $sql .= ' s.nom as name'; - $sql .= ' FROM '.MAIN_DB_PREFIX.'projet as p'; - $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON s.rowid = p.fk_soc,'; - $sql .= ' '.MAIN_DB_PREFIX.'fichinter as i'; - $sql .= " WHERE p.entity IN (".getEntity('project').")"; - $sql .= " AND i.fk_projet = p.rowid AND i.fk_statut=0"; //Brouillons seulement - if ($projectsListId) $sql.= " AND p.rowid IN (".$projectsListId.")"; - if ($socid == 0) $sql.= " AND (p.fk_soc=0 OR p.fk_soc IS NULL)"; - if ($socid > 0) $sql.= " AND (p.fk_soc=".$socid." OR p.fk_soc IS NULL)"; - $sql .= " GROUP BY i.ref ORDER BY p.ref, i.ref ASC"; - - $resql = $this->db->query($sql); - if ($resql) { - // Use select2 selector - if (!empty($conf->use_javascript_ajax)) { - include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; - $comboenhancement = ajax_combobox($htmlname, '', 0, $forcefocus); - $out .= $comboenhancement; - $morecss = 'minwidth200imp maxwidth500'; - } - - if (empty($option_only)) { - $out .= ''; - } - - print $out; - - $this->db->free($resql); - return $num; - } else { - dol_print_error($this->db); - return -1; - } - } - /** * Output a combo list with invoices qualified for a third party * diff --git a/htdocs/core/class/html.formintervention.class.php b/htdocs/core/class/html.formintervention.class.php index 7058e80b1d7..b9564c6aa52 100644 --- a/htdocs/core/class/html.formintervention.class.php +++ b/htdocs/core/class/html.formintervention.class.php @@ -57,10 +57,11 @@ class FormIntervention * @param int $selected Id intervention preselected * @param string $htmlname Nom de la zone html * @param int $maxlength Maximum length of label - * @param int $showempty Show empty line + * @param int $showempty Show empty line ('1' or string to show for empty line) + * @param int $draftonly Show only drafts intervention * @return int Nbre of project if OK, <0 if KO */ - public function select_interventions($socid = -1, $selected = '', $htmlname = 'interventionid', $maxlength = 16, $showempty = 1) + public function select_interventions($socid = -1, $selected = '', $htmlname = 'interventionid', $maxlength = 16, $showempty = 1, $draftonly = false) { // phpcs:enable global $db, $user, $conf, $langs; @@ -80,13 +81,17 @@ class FormIntervention $sql .= " AND f.fk_soc = ".((int) $socid); } } + if ($draftonly) $sql .= " AND f.fk_statut = 0"; dol_syslog(get_class($this)."::select_intervention", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $out .= '