Dear glpiens, Pleasefind below patch files to add a “cause” field to hlepdesk ticket.
These patches should be applied on 0.72.3 Functionality: - New drop down to define cause to tickets - New “cause” field in ticket (drop down), only accessible to helpdeskers (not to requestors) - Ability to search for a particular cause value within tickets - Listing cause as a column within the tracking list (both HTML format and export) - New database table glpi_dropdown_tracking_cause - New database field request_cause within table glpi_tracking (pointing to glpi_dropdown_tracking_cause) - Database Installation script modified to include new field and new table - Cause value change is listed as a change in the change log of the ticket (bottom of the ticket page), also sending follow-up e-mail - Include ticket caause in follow-up e-mails. - Locale files adapted, only in fr_FR.php and en_GB.php I believe this is a change of interest in the “streamline” product. First time I’m using “patch files”, so, let me know if I did it correctly, or if I need to correct. If you guys want me to participate in the development to include these in the trunk, let me know. Laurent. report.dynamic.php.patch 83c83 < showTrackingList($_SERVER['PHP_SELF'],$_GET["start"],$_GET["sort"],$_GET["order"],$_GET["status"],$_GET["tosearch"],$_GET["search"],$_GET["author"],$_GET["group"],$_GET["showfollowups"],$_GET["category"],$_GET["assign"],$_GET["assign_ent"],$_GET["assign_group"],$_GET["priority"],$_GET["request_type"],$_GET["item"],$_GET["type"],$_GET["field"],$_GET["contains"],$_GET["date1"],$_GET["date2"],$_GET["only_computers"],$_GET["enddate1"],$_GET["enddate2"],$_GET["datemod1"],$_GET["datemod2"]); --- > showTrackingList($_SERVER['PHP_SELF'],$_GET["start"],$_GET["sort"],$_GET["order"],$_GET["status"],$_GET["tosearch"],$_GET["search"],$_GET["author"],$_GET["group"],$_GET["showfollowups"],$_GET["category"],$_GET["request_cause"],$_GET["assign"],$_GET["assign_ent"],$_GET["assign_group"],$_GET["priority"],$_GET["request_type"],$_GET["item"],$_GET["type"],$_GET["field"],$_GET["contains"],$_GET["date1"],$_GET["date2"],$_GET["only_computers"],$_GET["enddate1"],$_GET["enddate2"],$_GET["datemod1"],$_GET["datemod2"]); setup.dropdowns.php.patch 192a193 > "glpi_dropdown_tracking_cause"=>$LANG['setup'][811], tracking.php.patch 142a143,145 > if (isset($input["request_cause"])&&empty($input["request_cause"])){ > unset($input["request_cause"]); > } 273a277 > $input["_old_request_cause"]=$this->fields["request_cause"]; 455a460,466 > case "request_cause": > $new_request_cause=$this->fields["request_cause"]; > $old_request_cause_name=getDropdownName("glpi_dropdown_tracking_cause",$input["_old_request_cause"]); > $new_request_cause_name=getDropdownName("glpi_dropdown_tracking_cause",$new_request_cause); > $change_followup_content.=$LANG['mailing'][114].": ".$old_request_cause_name." -> ".$new_request_cause_name."\n"; > $global_mail_change_count++; > break; 664c675 < $dropdown_fields=array('FK_entities','device_type','request_type','assign_group','assign','FK_group','author','category'); --- > $dropdown_fields=array('FK_entities','device_type','request_type','request_cause','assign_group','assign','FK_group','author','category'); 995a1007,1013 > > $message.= "<span style='color:#8B8C8F; font-weight:bold; text-decoration:underline; '>".$LANG['common'][89].":</span> "; > if (isset($this->fields["request_cause"])&&$this->fields["request_cause"]){ > $message.= getDropdownName("glpi_dropdown_tracking_cause",$this->fields["request_cause"]); > } else $message.=$LANG['mailing'][113]; > $message.= "\n"; > 1041a1060,1063 > > if (isset($this->fields["request_cause"])&&$this->fields["request_cause"]){ > $message.= mailRow($LANG['common'][89],getDropdownName("glpi_dropdown_tracking_cause",$this->fields["request_cause"])); > } else $message.=mailRow($LANG['common'][36],$LANG['mailing'][113]); tracking.class.php.patch 142a143,145 > if (isset($input["request_cause"])&&empty($input["request_cause"])){ > unset($input["request_cause"]); > } 273a277 > $input["_old_request_cause"]=$this->fields["request_cause"]; 455a460,466 > case "request_cause": > $new_request_cause=$this->fields["request_cause"]; > $old_request_cause_name=getDropdownName("glpi_dropdown_tracking_cause",$input["_old_request_cause"]); > $new_request_cause_name=getDropdownName("glpi_dropdown_tracking_cause",$new_request_cause); > $change_followup_content.=$LANG['mailing'][114].": ".$old_request_cause_name." -> ".$new_request_cause_name."\n"; > $global_mail_change_count++; > break; 664c675 < $dropdown_fields=array('FK_entities','device_type','request_type','assign_group','assign','FK_group','author','category'); --- > $dropdown_fields=array('FK_entities','device_type','request_type','request_cause','assign_group','assign','FK_group','author','category'); 995a1007,1013 > > $message.= "<span style='color:#8B8C8F; font-weight:bold; text-decoration:underline; '>".$LANG['common'][89].":</span> "; > if (isset($this->fields["request_cause"])&&$this->fields["request_cause"]){ > $message.= getDropdownName("glpi_dropdown_tracking_cause",$this->fields["request_cause"]); > } else $message.=$LANG['mailing'][113]; > $message.= "\n"; > 1041a1060,1063 > > if (isset($this->fields["request_cause"])&&$this->fields["request_cause"]){ > $message.= mailRow($LANG['common'][89],getDropdownName("glpi_dropdown_tracking_cause",$this->fields["request_cause"])); > } else $message.=mailRow($LANG['common'][36],$LANG['mailing'][113]); tracking.function.php.patch 128a129 > $items[$LANG['common'][90]]="glpi_dropdown_tracking_cause.name"; 713a715,717 > // Seventh column > echo displaySearchItem($output_type,"<strong>".$data["causename"]."</strong>",$item_num,$row_num,$align); > 1096c1100 < "priority"=>3,"hour"=>0,"minute"=>0,"request_type"=>1, --- > "priority"=>3,"hour"=>0,"minute"=>0,"request_type"=>1,"request_cause"=>0, 1213c1217 < function searchFormTracking($extended=0,$target,$start="",$status="new",$tosearch="",$search="",$author=0,$group=0,$showfollowups=0,$category=0,$assign=0,$assign_ent=0,$assign_group=0,$priority=0,$request_type=0,$item=0,$type=0,$field="",$contains="",$date1="",$date2="",$computers_search="",$enddate1="",$enddate2="",$datemod1="",$datemod2="",$recipient=0) { --- > function searchFormTracking($extended=0,$target,$start="",$status="new",$tosearch="",$search="",$author=0,$group=0,$showfollowups=0,$category=0,$assign=0,$assign_ent=0,$assign_group=0,$priority=0,$request_type=0,$item=0,$type=0,$request_cause=0,$field="",$contains="",$date1="",$date2="",$computers_search="",$enddate1="",$enddate2="",$datemod1="",$datemod2="",$recipient=0) { 1305c1309 < echo "<td class='center' colspan='2'>"; --- > echo "<td class='center' colspan='1'>"; 1310a1315,1318 > echo "<td colspan='1' class='center'>".$LANG['job'][47].":<br>"; > dropdownValue("glpi_dropdown_tracking_cause","request_cause",$request_cause); > echo "</td>"; > 1452a1461 > glpi_dropdown_tracking_cause.name AS causename, 1469a1479 > ." LEFT JOIN glpi_dropdown_tracking_cause ON ( glpi_tracking.request_cause = glpi_dropdown_tracking_cause.ID) " 1474c1484 < function showTrackingList($target,$start="",$sort="",$order="",$status="new",$tosearch="",$search="",$author=0,$group=0,$showfollowups=0,$category=0,$assign=0,$assign_ent=0,$assign_group=0,$priority=0,$request_type=0,$item=0,$type=0,$field="",$contains="",$date1="",$date2="",$computers_search="",$enddate1="",$enddate2="",$datemod1="",$datemod2="",$recipient=0) { --- > function showTrackingList($target,$start="",$sort="",$order="",$status="new",$tosearch="",$search="",$author=0,$group=0,$showfollowups=0,$category=0,$request_cause=0,$assign=0,$assign_ent=0,$assign_group=0,$priority=0,$request_type=0,$item=0,$type=0,$field="",$contains="",$date1="",$date2="",$computers_search="",$enddate1="",$enddate2="",$datemod1="",$datemod2="",$recipient=0) { 1589,1590c1599,1601 < < --- > > if ($request_cause!=0) > $where.=" AND glpi_tracking.request_cause='$request_cause'"; 1749c1760 < $parameters2="field=$field&contains=$contains&date1=$date1&date2=$date2&only_computers=$computers_search&tosearch=$tosearch&search=$search&assign=$assign&assign_ent=$assign_ent&assign_group=$assign_group&author=$author&group=$group&start=$start&status=$status&category=$category&priority=$priority&type=$type&showfollowups=$showfollowups&enddate1=$enddate1&enddate2=$enddate2&datemod1=$datemod1&datemod2=$datemod2&item=$item&request_type=$request_type"; --- > $parameters2="field=$field&contains=$contains&date1=$date1&date2=$date2&only_computers=$computers_search&tosearch=$tosearch&search=$search&assign=$assign&assign_ent=$assign_ent&assign_group=$assign_group&author=$author&group=$group&start=$start&status=$status&category=$category&priority=$priority&type=$type&showfollowups=$showfollowups&enddate1=$enddate1&enddate2=$enddate2&datemod1=$datemod1&datemod2=$datemod2&item=$item&request_type=$request_type&request_cause=$request_cause"; 1767c1778 < $nbcols=9; --- > $nbcols=10; 2054a2066,2071 > > echo "<tr><td class='left'>"; > echo $LANG['job'][47].":</td><td>"; > if ($canupdate) > dropdownValue("glpi_dropdown_tracking_cause","request_cause",$job->fields["request_cause"],1,$job->fields["request_cause"]); > else echo getDropdownName("glpi_dropdown_tracking_cause",$job->fields["request_cause"]); glpi-0.72.3-empty.sql.patch 1377a1378,1389 > ### Dump table glpi_dropdown_tracking_cause > > DROP TABLE IF EXISTS `glpi_dropdown_tracking_cause`; > CREATE TABLE IF NOT EXISTS `glpi_dropdown_tracking_cause` ( > `ID` int(11) NOT NULL auto_increment, > `name` varchar(255) collate utf8_unicode_ci default NULL, > `comments` text collate utf8_unicode_ci, > PRIMARY KEY (`ID`), > KEY `name` (`name`) > ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > 2723a2736 > `request_cause` int(11) NOT NULL default '0', 2740c2753,2754 < KEY `date_mod` (`date_mod`) --- > KEY `date_mod` (`date_mod`), > KEY `FK_cause` (`request_cause`) en_GB.php.patch 273a274,275 > $LANG['common'][89]="Cause"; > $LANG['common'][90]="Cause"; 669a672 > $LANG['job'][47]="Request cause"; 933a937,938 > $LANG['mailing'][113]="No defined cause"; > $LANG['mailing'][114]="Change in request cause"; 1648a1654 > $LANG['setup'][811]="Cause of tickets"; fr_FR.php.patch 277a278,279 > $LANG['common'][89]="Cause"; > $LANG['common'][90]="Cause"; 678a681 > $LANG['job'][47]="Cause du ticket"; 946a950,951 > $LANG['mailing'][113]="Pas de cause définie"; > $LANG['mailing'][114]="Modification de la cause de la requète"; 1682a1688 > $LANG['setup'][811]="Cause des ticket"; _______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev