From 032116b23511601561fce10f67f797dc543b576b Mon Sep 17 00:00:00 2001 From: lmarcouiller Date: Thu, 3 Dec 2020 10:11:16 +0100 Subject: [PATCH] changes to not diplay won and lost and add on migration --- .../core/boxes/box_funnel_of_prospection.php | 38 ++++++++----------- .../install/mysql/migration/12.0.0-13.0.0.sql | 3 +- htdocs/langs/en_US/boxes.lang | 1 + 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/htdocs/core/boxes/box_funnel_of_prospection.php b/htdocs/core/boxes/box_funnel_of_prospection.php index 6e63a80353c..7062509a13b 100644 --- a/htdocs/core/boxes/box_funnel_of_prospection.php +++ b/htdocs/core/boxes/box_funnel_of_prospection.php @@ -33,7 +33,7 @@ class box_funnel_of_prospection extends ModeleBoxes { public $boxcode = "FunnelOfProspection"; public $boximg = "object_projectpub"; - public $boxlabel = "BoxFunnelOfProspection"; + public $boxlabel = "BoxTitleFunnelOfProspection"; public $depends = array("projet"); /** @@ -104,12 +104,6 @@ class box_funnel_of_prospection extends ModeleBoxes case 'NEGO': $colorseriesstat[$objp->rowid] = $badgeStatus4; break; - case 'LOST': - $colorseriesstat[$objp->rowid] = $badgeStatus9; - break; - case 'WON': - $colorseriesstat[$objp->rowid] = $badgeStatus6; - break; default: $colorseriesstat[$objp->rowid] = $badgeStatus2; break; @@ -133,6 +127,7 @@ class box_funnel_of_prospection extends ModeleBoxes $sql .= " WHERE p.entity IN (" . getEntity('project') . ")"; $sql .= " AND p.fk_opp_status = cls.rowid"; $sql .= " AND p.fk_statut = 1"; // Opend projects only + $sql .= " AND cls.code NOT IN ('WON', 'LOST')"; $sql .= " GROUP BY p.fk_opp_status, cls.code"; $resql = $this->db->query($sql); @@ -156,10 +151,8 @@ class box_funnel_of_prospection extends ModeleBoxes $valsamount[$obj->opp_status] = $obj->opp_amount; $totalnb += $obj->nb; if ($obj->opp_status) $totaloppnb += $obj->nb; - if (!in_array($obj->code, array('WON', 'LOST'))) { - $totalamount += $obj->opp_amount; - $ponderated_opp_amount += $obj->ponderated_opp_amount; - } + $totalamount += $obj->opp_amount; + $ponderated_opp_amount += $obj->ponderated_opp_amount; } $i++; } @@ -171,17 +164,18 @@ class box_funnel_of_prospection extends ModeleBoxes $listofstatus = array_keys($listofoppstatus); foreach ($listofstatus as $status) { $labelStatus = ''; + if ($status != 7 && $status != 6) { + $code = dol_getIdFromCode($this->db, $status, 'c_lead_status', 'rowid', 'code'); + if ($code) $labelStatus = $langs->transnoentitiesnoconv("OppStatus" . $code); + if (empty($labelStatus)) $labelStatus = $listofopplabel[$status]; - $code = dol_getIdFromCode($this->db, $status, 'c_lead_status', 'rowid', 'code'); - if ($code) $labelStatus = $langs->transnoentitiesnoconv("OppStatus" . $code); - if (empty($labelStatus)) $labelStatus = $listofopplabel[$status]; - - $dataseries[] = array($labelStatus, (isset($valsamount[$status]) ? (float) $valsamount[$status] : 0)); - if (!$conf->use_javascript_ajax) { - $stringtoprint .= ''; - $stringtoprint .= '' . $labelStatus . ''; - $stringtoprint .= '' . price((isset($valsamount[$status]) ? (float) $valsamount[$status] : 0), 0, '', 1, -1, -1, $conf->currency) . ''; - $stringtoprint .= "\n"; + $dataseries[] = array($labelStatus, (isset($valsamount[$status]) ? (float) $valsamount[$status] : 0)); + if (!$conf->use_javascript_ajax) { + $stringtoprint .= ''; + $stringtoprint .= '' . $labelStatus . ''; + $stringtoprint .= '' . price((isset($valsamount[$status]) ? (float) $valsamount[$status] : 0), 0, '', 1, -1, -1, $conf->currency) . ''; + $stringtoprint .= "\n"; + } } } if ($conf->use_javascript_ajax) { @@ -231,7 +225,7 @@ class box_funnel_of_prospection extends ModeleBoxes 'tr' => 'class="oddeven"', 'td' => 'class="left "', 'maxlength' => 500, - 'text' => $form->textwithpicto($langs->trans("OpportunityPonderatedAmount").' ('.$langs->trans("WonLostExcluded").')', $langs->trans("OpportunityPonderatedAmountDesc"), 1) + 'text' => $form->textwithpicto($langs->trans("OpportunityPonderatedAmount") . ' (' . $langs->trans("WonLostExcluded") . ')', $langs->trans("OpportunityPonderatedAmountDesc"), 1) ); $this->info_box_contents[$line][] = array( diff --git a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql index 18802301e5a..7b5fc0aab22 100644 --- a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql +++ b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql @@ -439,7 +439,6 @@ INSERT INTO llx_c_product_nature (code, label, active) VALUES (1, 'Finished', 1) ALTER TABLE llx_product MODIFY COLUMN finished tinyint DEFAULT NULL; ALTER TABLE llx_product ADD CONSTRAINT fk_product_finished FOREIGN KEY (finished) REFERENCES llx_c_product_nature (code); - -- MIGRATION TO DO AFTER RENAMING AN OBJECT -- drop constraint @@ -542,3 +541,5 @@ CREATE TABLE llx_session( user_agent varchar(128) NULL )ENGINE=innodb; +INSERT INTO llx_boxes_def(file,entity) VALUES ('box_funnel_of_prospection.php',1); +INSERT INTO llx_boxes (box_id, position, box_order, maxline, params) VALUES ((SELECT b.rowid FROM llx_boxes_def as b WHERE file = 'box_funnel_of_prospection.php'), 0, 0, NULL, NULL); diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index 75f8eb14f49..40fdc11ba32 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -50,6 +50,7 @@ BoxTitleLastOutstandingBillReached=Latest %s customers with maximum outstanding BoxGlobalActivity=Global activity (invoices, proposals, orders) BoxGoodCustomers=Good customers BoxTitleGoodCustomers=%s Good customers +BoxTitleFunnelOfProspection=Amount of prospection by status FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successful refresh date: %s LastRefreshDate=Latest refresh date NoRecordedBookmarks=No bookmarks defined.