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&amp;contains=$contains&amp;date1=$date1&amp;date2=$date2&amp;only_computers=$computers_search&amp;tosearch=$tosearch&amp;search=$search&amp;assign=$assign&amp;assign_ent=$assign_ent&amp;assign_group=$assign_group&amp;author=$author&amp;group=$group&amp;start=$start&amp;status=$status&amp;category=$category&amp;priority=$priority&amp;type=$type&amp;showfollowups=$showfollowups&amp;enddate1=$enddate1&amp;enddate2=$enddate2&amp;datemod1=$datemod1&amp;datemod2=$datemod2&amp;item=$item&amp;request_type=$request_type";

---

> 
$parameters2="field=$field&amp;contains=$contains&amp;date1=$date1&amp;date2=$date2&amp;only_computers=$computers_search&amp;tosearch=$tosearch&amp;search=$search&amp;assign=$assign&amp;assign_ent=$assign_ent&amp;assign_group=$assign_group&amp;author=$author&amp;group=$group&amp;start=$start&amp;status=$status&amp;category=$category&amp;priority=$priority&amp;type=$type&amp;showfollowups=$showfollowups&amp;enddate1=$enddate1&amp;enddate2=$enddate2&amp;datemod1=$datemod1&amp;datemod2=$datemod2&amp;item=$item&amp;request_type=$request_type&amp;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

Reply via email to