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
[email protected]
https://mail.gna.org/listinfo/glpi-dev