Le patch avec tout corrigé (version complète du patch) Le Sun, 6 Sep 2009 17:35:14 +0200 David DURIEUX <d.duri...@siprossii.com> a écrit:
>Voilà le fichier corrigé, y avait une erreur > >Le Sun, 6 Sep 2009 17:13:00 +0200 >David DURIEUX <d.duri...@siprossii.com> a écrit: > >>Bonjour, >> >> >>Voici le patch d'uniformisation des 2 formulaires Helpdesk (création + >>édition). >> >>j'ai enlevé le cadre coût, je renverai un patch pour l'onglet "coût" >>dans la semaine. >> >>Il restera à ajuster des petites choses suivant les chantiers >>(document => dans un onglet et SLA (champ "date d'échéance" à ajouter >>dans ce form) >> >> >>Cordialement, >> >>David DURIEUX >>Tel : +33 (0)4.74.04.81.34 >>Port : +33 (0)6.34.99.45.18 >>Mail : d.duri...@siprossii.com >>Site Web : http://www.siprossii.com/ >> >>SIPROSSII >>847 route de Frans (Créacité) >>69400 Villefranche sur Saône >>FRANCE
# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /usr/local/www/data-dist/glpi080 # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: front/helpdesk.php --- front/helpdesk.php Base (BASE) +++ front/helpdesk.php Locally Modified (Based On LOCAL) @@ -171,7 +171,25 @@ } glpi_header($_SERVER['HTTP_REFERER']); } else { - addFormTracking($itemtype,$computer,$_SERVER['PHP_SELF'],$users_id,$group,$users_id_assign,$groups_id_assign,$name,$content,$ticketscategories_id,$priority,$request_type,$hour,$minute,$date,$entity_restrict,$status,$followup); + $array = array( + "users_id" => $users_id, + "group" => $group, + "users_id_assign" => $users_id_assign, + "groups_id_assign" => $groups_id_assign, + "name" => $name, + "content" => $content, + "ticketscategories_id" => $ticketscategories_id, + "priority" => $priority, + "request_type" => $request_type, + "hour" => $hour, + "minute" => $minute, + "date" => $date, + "entity_restrict" => $entity_restrict, + "status" => $status, + "followup" => $followup); + showJobDetails($_SERVER['PHP_SELF'], 0,$array); + //addFormTracking($itemtype,$computer,$_SERVER['PHP_SELF'],$users_id,$group,$users_id_assign,$groups_id_assign,$name,$content,$ticketscategories_id,$priority,$request_type,$hour,$minute,$date,$entity_restrict,$status,$followup); + //showJobDetails($_SERVER['PHP_SELF'],0); } commonFooter(); Index: inc/tracking.function.php --- inc/tracking.function.php Base (BASE) +++ inc/tracking.function.php Locally Modified (Based On LOCAL) @@ -808,7 +808,8 @@ $users_id_rand=0; if (haveRight("update_ticket","1")){ - echo "<tr class='tab_bg_2' align='center'><td>".$LANG['job'][4].":</td>"; + echo "<tr class='tab_bg_2' alig + $users_id_rand=0;n='center'><td>".$LANG['job'][4].":</td>"; echo "<td colspan='3' align='center'>"; ///Check if the user have access to this entity only, or subentities too @@ -1878,248 +1879,370 @@ -function showJobDetails ($target,$ID){ +function showJobDetails($target, $ID,$array=array()) { global $DB,$CFG_GLPI,$LANG; $job=new Job(); - $canupdate=haveRight("update_ticket","1"); + $canupdate=haveRight('update_ticket','1'); $showuserlink=0; if (haveRight('user','r')){ $showuserlink=1; } - if ($job->getFromDB($ID)&&haveAccessToEntity($job->fields["entities_id"])) { + if ($job->getFromDB($ID)&&haveAccessToEntity($job->fields['entities_id'])) { + } else { + $job->getEmpty(); + $job->fields["users_id"] = $array["users_id"]; + $job->fields["group"] = $array["group"]; + $job->fields["users_id_assign"] = $array["users_id_assign"]; + $job->fields["groups_id_assign"] = $array["groups_id_assign"]; + $job->fields["name"] = $array["name"]; + $job->fields["content"] = $array["content"]; + $job->fields["ticketscategories_id"] = $array["ticketscategories_id"]; + $job->fields["priority"] = $array["priority"]; + $job->fields["request_type"] = $array["request_type"]; + $job->fields["hour"] = $array["hour"]; + $job->fields["minute"] = $array["minute"]; + $job->fields["date"] = $array["date"]; + $job->fields["entity_restrict"] = $array["entity_restrict"]; + $job->fields["status"] = $array["status"]; + $job->fields["followup"] = $array["followup"]; + } if (!$job->canView()){ return false; } - $canupdate_descr=$canupdate||($job->numberOfFollowups()==0&&$job->fields["users_id"]==$_SESSION["glpiID"]); + $canupdate_descr=$canupdate||($job->numberOfFollowups()==0&&$job->fields['users_id']==$_SESSION['glpiID']); $item=new CommonItem(); - $item->getFromDB($job->fields["itemtype"],$job->fields["items_id"]); + $item->getFromDB($job->fields['itemtype'],$job->fields['items_id']); - //echo "<div class='center'>"; - echo "<form method='post' name='form_ticket' action='$target' enctype=\"multipart/form-data\">\n"; - echo "<div class='center' id='tabsbody'>"; + echo '<form method="post" name="form_ticket" action="'.$target.'" enctype="multipart/form-data">'; + echo '<div class="center" id="tabsbody">'; echo "<table class='tab_cadre_fixe' cellpadding='5'>"; + if ($ID == '0') { + echo '<tr>'; + echo '<th colspan="4">'; + echo $LANG['job'][13]; + echo '</th>'; + echo '</tr>'; + } // OPtional line if (isMultiEntitiesMode()){ - echo "<tr><th colspan='3'>"; - echo getDropdownName("glpi_entities",$job->fields["entities_id"]); - echo "</th></tr>"; + echo '<tr>'; + echo '<th colspan="4">'; + if ($ID == 0) { + echo $LANG['job'][46].": ".getDropdownName("glpi_entities",$job->fields['entity_restrict']); + } else { + echo getDropdownName('glpi_entities',$job->fields['entities_id']); } + echo '</th>'; + echo '</tr>'; + } - // First line - echo "<tr><th colspan='2' style='text-align:left;'><table><tr><td><span class='tracking_small'>"; + echo "<tr>"; + echo "<th style='text-align:left;' colspan='2' width='50%'>"; + echo "<table>"; + + echo "<tr>"; + echo "<td>"; + echo "<span class='tracking_small'>"; echo $LANG['joblist'][11].": </span></td><td>"; + if ($ID == "0") { + showDateTimeFormItem("date",date("Y-m-d H:i:s"),1); + } else { showDateTimeFormItem("date",$job->fields["date"],1,false,$canupdate); + } + echo "</td>"; + if ($ID > 0) { + echo "<td>"; + echo "<span class='tracking_small'> ".$LANG['job'][2]." </span>"; + echo "</td>"; - echo "</td><td><span class='tracking_small'> ".$LANG['job'][2]." </span></td><td>"; + echo "<td>"; if ($canupdate){ dropdownAllUsers("users_id_recipient",$job->fields["users_id_recipient"],1,$job->fields["entities_id"]); } else { echo getUserName($job->fields["users_id_recipient"],$showuserlink); } + echo "</td>"; + } + echo "</tr>"; + echo "</table>"; - echo "</td></tr></table>"; - if (strstr($job->fields["status"],"old_")){ - echo "<table><tr><td>"; - echo "<span class='tracking_small'>".$LANG['joblist'][12].": </td><td>"; + echo "<table>"; + echo "<tr>"; + echo "<td>"; + echo "<span class='tracking_small'>".$LANG['joblist'][12].": "; + echo "</td>"; + echo "<td>"; showDateTimeFormItem("closedate",$job->fields["closedate"],1,false,$canupdate); - echo "</span></td></tr></table>\n"; - } + echo "</span>"; + echo "</td>"; + echo "</tr>"; + echo "</table>\n"; + } echo "</th>"; - echo "<th><span class='tracking_small'>".$LANG['common'][26].":<br>"; + echo "<th colspan='2' width='50%'>"; + if ($ID > 0 ) { + echo "<span class='tracking_small'>".$LANG['common'][26].":<br>"; echo convDateTime($job->fields["date_mod"])."\n"; + echo "</span>"; + } + echo "</th>"; + echo "</tr>"; - echo "</span></th></tr>"; - echo "<tr class='tab_bg_2'>"; - // Premier Colonne - echo "<td class='top' width='27%'>"; - echo "<table cellpadding='3'>"; - echo "<tr class='tab_bg_2'><td class='left'>"; - echo $LANG['joblist'][0].":</td><td>"; + echo "<tr class='tab_bg_1'>"; + echo "<td class='left' width='60'>"; + echo $LANG['joblist'][0].":"; + echo "</td>"; + echo "<td>"; if ($canupdate){ dropdownStatus("status",$job->fields["status"]); } else { echo getStatusName($job->fields["status"]); } - echo "</td></tr>"; + echo "</td>"; + echo "<th class='center' colspan='2'><strong>"; + echo $LANG['job'][4].":"; + echo "</strong></th>"; + echo "</tr>"; + echo "<tr class='tab_bg_1'>"; + echo "<td class='left'>"; + echo $LANG['joblist'][29].":"; + echo "</td>"; + echo "<td>"; + // TODO : PUT Urgence + echo "</td>"; + echo "<td class='left'>"; + if (($ID == "0") AND (haveRight("update_ticket","1"))) { + echo $LANG['job'][4].":"; + echo "</td>"; + echo "<td>"; - echo "<tr><td class='left'>"; - echo $LANG['joblist'][2].":</td><td>"; - if ($canupdate) - dropdownPriority("priority",$job->fields["priority"]); - else echo getPriorityName($job->fields["priority"]); - echo "</td></tr>"; + ///Check if the user have access to this entity only, or subentities too + if (haveAccessToEntity($_SESSION["glpiactive_entity"],true)){ + $entities = getSonsOf("glpi_entities",$_SESSION["glpiactive_entity"]); + } else { + $entities = $_SESSION["glpiactive_entity"]; + } - echo "<tr><td class='left'>"; - echo $LANG['common'][36].":</td><td >"; - if ($canupdate) - dropdownValue("glpi_ticketscategories","ticketscategories_id",$job->fields["ticketscategories_id"]); - else echo getDropdownName("glpi_ticketscategories",$job->fields["ticketscategories_id"]); - echo "</td></tr>"; + //List all users in the active entity (and all it's sub-entities if needed) + $users_id_rand=dropdownAllUsers("users_id",$array["users_id"],1,$entities,1); - echo "<tr><td class='center' colspan='2'><strong>"; - echo $LANG['job'][4].":</strong></td></tr>"; + //Get all the user's entities + $all_entities = getUserEntities($array["users_id"], true); + $values = array(); - echo "<tr><td class='left'>"; - echo $LANG['common'][34].":</td><td>"; - if ($canupdate){ + //For each user's entity, check if the technician which creates the ticket have access to it + foreach ($all_entities as $tmp => $ID_entity) { + if (haveAccessToEntity($ID_entity)) { + $values[]=$ID_entity; + } + } + + $count = count($values); + + if ($count>0 && !in_array($array["entity_restrict"],$values)) { + // If entity is not in the list of user's entities, + // then use as default value the first value of the user's entites list + $entity_restrict = $values[0]; + } + + //If user have access to more than one entity, then display a combobox + if ($count > 1) { + $rand = dropdownValue("glpi_entities", "entities_id", $array["entity_restrict"], 1, $values,'',array(),1); + } else { + echo "<input type='hidden' name='entities_id' value='".$array["entity_restrict"]."'>"; + } + } else if ($canupdate){ + echo $LANG['common'][34].":"; + echo "</td>"; + echo "<td>"; dropdownAllUsers("users_id",$job->fields["users_id"],1,$job->fields["entities_id"]); } else { + echo $LANG['common'][34].":"; + echo "</td>"; + echo "<td>"; echo getUserName($job->fields["users_id"],$showuserlink); } - echo "</td></tr>"; + echo "</td>"; + echo "</tr>"; - echo "<tr><td class='left'>"; - echo $LANG['common'][35].":</td><td>"; - if ($canupdate){ + echo "<tr class='tab_bg_1'>"; + echo "<td class='left'>"; + echo $LANG['joblist'][30].":"; + echo "</td>"; + echo "<td>"; + // TODO : PUT Impact + echo "</td>"; + echo "<td class='left'>"; + echo $LANG['common'][35].":"; + echo "</td>"; + echo "<td>"; + if ($canupdate) { dropdownValue("glpi_groups","groups_id",$job->fields["groups_id"],1,$job->fields["entities_id"]); } else { echo getDropdownName("glpi_groups",$job->fields["groups_id"]); } - echo "</td></tr>"; + echo "</td>"; + echo "</tr>"; - - echo "</table></td>"; - - // Deuxieme colonne - echo "<td class='top' width='33%'>"; - - echo "<table>"; - - echo "<tr><td class='left'>"; - echo $LANG['job'][44].":</td><td>"; + echo "<tr class='tab_bg_1'>"; + echo "<td class='left'>"; + echo $LANG['joblist'][2].":"; + echo "</td>"; + echo "<td>"; if ($canupdate) - dropdownRequestType("request_type",$job->fields["request_type"]); - else echo getRequestTypeName($job->fields["request_type"]); - echo "</td></tr>"; + dropdownPriority("priority",$job->fields["priority"]); + else echo getPriorityName($job->fields["priority"]); + echo "</td>"; + echo "<th class='center' colspan='2'><strong>"; + echo $LANG['job'][5].":"; + echo "</strong></th>"; + echo "</tr>"; - echo "<tr><td class='left'>"; - echo $LANG['common'][1].":</td><td>"; - if ($canupdate){ - if (haveTypeRight($job->fields["itemtype"],'r')){ - echo $item->getType()." - ".$item->getLink(1); + echo "<tr class='tab_bg_1'>"; + echo "<td class='left'>"; + echo $LANG['common'][36].":"; + echo "</td>"; + echo "<td >"; + if ($canupdate) { + dropdownValue("glpi_ticketscategories","ticketscategories_id",$job->fields["ticketscategories_id"]); } else { - echo $item->getType()." ".$item->getNameID(); + echo getDropdownName("glpi_ticketscategories",$job->fields["ticketscategories_id"]); } - dropdownTrackingAllDevices("itemtype",$job->fields["itemtype"],1,$job->fields["entities_id"]); - } - else { - echo $item->getType()." ".$item->getNameID(); - } - - echo "</td></tr>"; - - - echo "<tr><td class='center' colspan='2'><strong>"; - echo $LANG['job'][5].":</strong></td></tr>"; - - if (haveRight("assign_ticket","1")){ - echo "<tr><td class='left'>"; - echo $LANG['job'][6].":</td><td>"; + echo "</td>"; + if (haveRight("assign_ticket","1")) { + echo "<td class='left'>"; + echo $LANG['job'][6].":"; + echo "</td>"; + echo "<td>"; dropdownUsers("users_id_assign",$job->fields["users_id_assign"],"own_ticket",0,1,$job->fields["entities_id"]); - echo "</td></tr>"; + echo "</td>"; } else if (haveRight("steal_ticket","1")) { - echo "<tr><td class='right'>"; - echo $LANG['job'][6].":</td><td>"; + echo "<td class='right'>"; + echo $LANG['job'][6].":"; + echo "</td>"; + echo "<td>"; dropdownUsers("users_id_assign",$job->fields["users_id_assign"],"id",0,1,$job->fields["entities_id"]); - echo "</td></tr>"; - } else if (haveRight("own_ticket","1") && $job->fields["users_id_assign"]==0){ - echo "<tr><td class='right'>"; - echo $LANG['job'][6].":</td><td>"; + echo "</td>"; + } else if (haveRight("own_ticket","1") && $job->fields["users_id_assign"]==0) { + echo "<td class='right'>"; + echo $LANG['job'][6].":"; + echo "</td>"; + echo "<td>"; dropdownUsers("users_id_assign",$job->fields["users_id_assign"],"id",0,1,$job->fields["entities_id"]); - echo "</td></tr>"; + echo "</td>"; } else { - echo "<tr><td class='left'>"; - echo $LANG['job'][6].":</td><td>"; + echo "<td class='left'>"; + echo $LANG['job'][6].":"; + echo "</td>"; + echo "<td>"; echo getUserName($job->fields["users_id_assign"],$showuserlink); - echo "</td></tr>"; + echo "</td>"; } + echo "</tr>"; - if (haveRight("assign_ticket","1")){ - echo "<tr><td class='left'>"; - echo $LANG['common'][35].":</td><td>"; + echo "<tr class='tab_bg_1'>"; + echo "<td class='left'>"; + echo $LANG['job'][44].":"; + echo "</td>"; + echo "<td>"; + if ($canupdate) { + dropdownRequestType("request_type",$job->fields["request_type"]); + } else { + echo getRequestTypeName($job->fields["request_type"]); + } + echo "</td>"; + if (haveRight("assign_ticket","1")) { + echo "<td class='left'>"; + echo $LANG['common'][35].":"; + echo "</td>"; + echo "<td>"; dropdownValue("glpi_groups","groups_id_assign",$job->fields["groups_id_assign"],1,$job->fields["entities_id"]); - echo "</td></tr>"; - echo "<tr><td class='left'>"; - echo $LANG['financial'][26].":</td><td>"; - dropdownValue("glpi_suppliers","suppliers_id_assign",$job->fields["suppliers_id_assign"],1,$job->fields["entities_id"]); - echo "</td></tr>"; + echo "</td>"; } else { - echo "<tr><td class='left'>"; - echo $LANG['common'][35].":</td><td>"; + echo "<td class='left'>"; + echo $LANG['common'][35].":"; + echo "</td>"; + echo "<td>"; echo getDropdownName("glpi_groups",$job->fields["groups_id_assign"]); - echo "</td></tr>"; - echo "<tr><td class='left'>"; - echo $LANG['financial'][26].":</td><td>"; - echo getDropdownName("glpi_suppliers",$job->fields["suppliers_id_assign"]); - echo "</td></tr>"; + echo "</td>"; } - echo "</table>"; + echo "</tr>"; - + echo "<tr class='tab_bg_1'>"; + echo "<td class='left'>"; + echo $LANG['common'][1].":"; echo "</td>"; + echo "<td>"; + if ($canupdate) { + if (haveTypeRight($job->fields["itemtype"],'r')){ + echo $item->getType()." - ".$item->getLink(1); + } else { + echo $item->getType()." ".$item->getNameID(); + } + if ($ID == 0) { + dropdownMyDevices($array["users_id"],$array["entity_restrict"]); + } + dropdownTrackingAllDevices("itemtype",$job->fields["itemtype"],1,$job->fields["entities_id"]); + } else { + echo $item->getType()." ".$item->getNameID(); + } + echo "</td>"; - // Troisieme Colonne - echo "<td class='top' width='20%'>"; - echo "<table border='0'>"; - - echo "<tr><td class='left'>"; - echo $LANG['job'][20].":</td><td>"; - echo "<strong>".getRealtime($job->fields["realtime"])."</strong>"; - echo "</td></tr>"; - - if(haveRight("contract","r")){ // admin = oui on affiche les couts liés à l'interventions - - echo "<tr><td class='left'>"; - // cout - echo $LANG['job'][40].": "; - echo "</td><td><input type='text' maxlength='100' size='15' name='cost_time' value=\"".formatNumber($job->fields["cost_time"],true)."\"></td></tr>"; - - echo "<tr><td class='left'>"; - - echo $LANG['job'][41].": "; - echo "</td><td><input type='text' maxlength='100' size='15' name='cost_fixed' value=\"".formatNumber($job->fields["cost_fixed"],true)."\">"; - - echo "</td></tr>\n"; - - echo "<tr><td class='left'>"; - - echo $LANG['job'][42].": "; - echo "</td><td><input type='text' maxlength='100' size='15' name='cost_material' value=\"".formatNumber($job->fields["cost_material"],true)."\">"; - - echo "</td></tr>\n"; - - echo "<tr><td class='left'>"; - - echo $LANG['job'][43].": "; - echo "</td><td><strong>"; - echo trackingTotalCost($job->fields["realtime"],$job->fields["cost_time"],$job->fields["cost_fixed"],$job->fields["cost_material"]); - echo "</strong></td></tr>\n"; + if ((haveRight("assign_ticket","1")) AND ($ID != "0")) { + echo "<td class='left'>"; + echo $LANG['financial'][26].":"; + echo "</td>"; + echo "<td>"; + dropdownValue("glpi_suppliers","suppliers_id_assign",$job->fields["suppliers_id_assign"],1,$job->fields["entities_id"]); + echo "</td>"; + } else { + if ($ID != "0") { + echo "<td class='left'>"; + echo $LANG['financial'][26].":"; + echo "</td>"; + echo "<td>"; + echo getDropdownName("glpi_suppliers",$job->fields["suppliers_id_assign"]); + echo "</td>"; + } else { + // Need comment right to add a followup with the realtime + if ((haveRight("comment_all_ticket","1")) AND ($ID == "0")){ + echo "<td class='left'>"; + echo $LANG['job'][20].":"; + echo "</td>"; + echo "<td align='center' colspan='3'>"; + dropdownInteger('hour',$array['hour'],0,100); + echo " ".$LANG['job'][21]." "; + dropdownInteger('minute',$array['minute'],0,59); + echo " ".$LANG['job'][22]." "; + } else { + echo "<td colspan='2'>"; } - echo '</table>'; - echo "</td></tr>"; + echo "</td>"; + } + } + echo "</tr>"; - - // Deuxieme Ligne - // Colonnes 1 et 2 - echo "<tr class='tab_bg_1'><td colspan='2'>"; - echo "<table width='99%' >"; - echo "<tr class='tab_bg_2'><th colspan='2'>"; + echo "<tr class='tab_bg_1'>"; + echo "<th>"; + echo $LANG['common'][57]." : "; + echo "</th>"; + echo "<th>"; if ($canupdate_descr){ $rand=mt_rand(); echo "<script type='text/javascript' >\n"; echo "function showName$rand(){\n"; echo "Ext.get('name$rand').setDisplayed('none');"; $params=array('maxlength'=>250, - 'size'=>80, + 'size'=>50, 'name'=>'name', 'data'=>rawurlencode($job->fields["name"]), ); @@ -2136,6 +2259,11 @@ echo "<div id='viewname$rand'>\n"; echo "</div>\n"; + if ($ID == 0) { + echo "<script type='text/javascript' >\n + showName$rand(); + </script>"; + } //echo "<input type='text' maxlength='250' size='80' name='name' value=\"".$job->fields["name"]."\">"; } else { if (empty($job->fields["name"])){ @@ -2144,10 +2272,19 @@ echo $job->fields["name"]; } } - echo "</th></tr>"; - echo "<tr class='tab_bg_2'><td width='15%'>".$LANG['joblist'][6]."</td>"; - echo "<td width='85%' class='left'>"; + echo "</th>"; + echo "<th colspan='2'>"; + if ($CFG_GLPI["use_mailing"]==1) { + echo $LANG['title'][10]; + } + echo "</th>"; + echo "</tr>"; + echo "<tr class='tab_bg_1'>"; + echo "<td rowspan='5'>"; + echo $LANG['joblist'][6]; + echo "</td>"; + echo "<td class='left' rowspan='5'>"; if ($canupdate_descr){ // Admin =oui on autorise la modification de la description $rand=mt_rand(); echo "<script type='text/javascript' >\n"; @@ -2155,7 +2292,7 @@ echo "Ext.get('desc$rand').setDisplayed('none');"; $params=array('rows'=>6, - 'cols'=>60, + 'cols'=>50, 'name'=>'content', 'data'=>rawurlencode($job->fields["content"]), ); @@ -2172,63 +2309,77 @@ echo "<div id='viewdesc$rand'>\n"; echo "</div>\n"; - } else echo nl2br($job->fields["content"]); - + if ($ID == 0) { + echo "<script type='text/javascript' >\n + showDesc$rand(); + </script>"; + } + } else { + echo nl2br($job->fields["content"]); + } echo "</td>"; - echo "</tr>"; - echo "</table>"; - echo "</td>"; - // Colonne 3 - - echo "<td class='top'>"; - // Mailing ? Y or no ? - if ($CFG_GLPI["use_mailing"]==1){ - echo "<table><tr><td class='right'>"; - echo $LANG['job'][19].":</td><td>"; + echo "<td class='left'>"; + echo $LANG['job'][19].":"; + echo "</td>"; + echo "<td>"; if ($canupdate){ dropdownYesNo('use_email_notification',$job->fields["use_email_notification"]); } else { if ($job->fields["use_email_notification"]) echo $LANG['choice'][1]; else $LANG['choice'][0]; } - echo "</td></tr>"; + } else { + echo "<td colspan='2'>"; + } + echo "</td>"; + echo "</tr>"; - echo "<tr><td class='right'>"; + echo "<tr class='tab_bg_1'>"; + // Mailing ? Y or no ? + if ($CFG_GLPI["use_mailing"] == 1) { + echo "<td class='left'>"; echo $LANG['joblist'][27].":"; - echo "</td><td>"; - if ($canupdate){ - autocompletionTextField("user_email","glpi_tickets","user_email",$job->fields["user_email"],15,$job->fields["entities_id"]); - - if (!empty($job->fields["user_email"])) + echo "</td>"; + echo "<td>"; + if ($canupdate) { + autocompletionTextField("user_email","glpi_tickets","user_email",$job->fields["user_email"],35,$job->fields["entities_id"]); + if (!empty($job->fields["user_email"])) { echo "<a href='mailto:".$job->fields["user_email"]."'><img src='".$CFG_GLPI["root_doc"]."/pics/edit.png' alt='Mail'></a>"; - } else if (!empty($job->fields["user_email"])) + } + } else if (!empty($job->fields["user_email"])) { echo "<a href='mailto:".$job->fields["user_email"]."'>".$job->fields["user_email"]."</a>"; - else echo " "; - echo "</td></tr></table>"; - - + } else { + echo " "; } + echo "</td>"; + } else { + echo "<td colspan='2'>"; + } + echo "</td>"; + echo "</tr>"; + echo "<tr class='tab_bg_1'>"; + echo "<th colspan='2'>"; + echo $LANG['document'][21]; + echo "</th>"; + echo "</tr>"; + echo "<tr class='tab_bg_1'>"; + echo "<td valign='top' colspan='2'>"; - // File associated ? $query2 = "SELECT * FROM glpi_documents_items WHERE glpi_documents_items.items_id = '".$job->fields["id"]."' AND glpi_documents_items.itemtype = '".TRACKING_TYPE."' "; $result2 = $DB->query($query2); $numfiles=$DB->numrows($result2); - echo "<table width='100%'><tr><th colspan='2'>".$LANG['document'][21]."</th></tr>"; - if ($numfiles>0){ $doc=new Document; while ($data=$DB->fetch_array($result2)){ $doc->getFromDB($data["documents_id"]); - echo "<tr><td>"; - if (empty($doc->fields["filename"])){ if (haveRight("document","r")){ echo "<a href='".$CFG_GLPI["root_doc"]."/front/document.form.php?id=".$data["documents_id"]."'>".$doc->fields["name"]."</a>"; @@ -2240,45 +2391,177 @@ } if (haveRight("document","w")) echo "<a href='".$CFG_GLPI["root_doc"]."/front/document.form.php?deleteitem=delete&id=".$data["id"]."&devtype=".TRACKING_TYPE."&devid=".$ID."&docid=".$data["documents_id"]."'><img src='".$CFG_GLPI["root_doc"]."/pics/delete.png' alt='".$LANG['buttons'][6]."'></a>"; - echo "</td></tr>"; + } } + echo "</td>"; + echo "</tr>"; + + echo "<tr class='tab_bg_1'>"; + echo "<td valign='top' colspan='2'>"; + // File associated ? if ($canupdate||haveRight("comment_all_ticket","1") ||(haveRight("comment_ticket","1")&&!strstr($job->fields["status"],'old_')) ){ - echo "<tr><td colspan='2'>"; echo "<input type='file' name='filename' size='20'>"; if ($canupdate&&haveRight("document","r")){ echo "<br>"; dropdownDocument("document",$job->fields["entities_id"]); } - echo "</td></tr>"; } - echo "</table>"; + echo "</td>"; + echo "</tr>"; - echo "</td></tr>"; - // Troisi�e Ligne + + if ($canupdate||$canupdate_descr||haveRight("comment_all_ticket","1") ||(haveRight("comment_ticket","1")&&!strstr($job->fields["status"],'old_')) ||haveRight("assign_ticket","1")||haveRight("steal_ticket","1") ){ - echo "<tr class='tab_bg_1'><td colspan='3' class='center'>"; - echo "<input type='submit' class='submit' name='update' value='".$LANG['buttons'][14]."'></td></tr>"; + echo "<tr class='tab_bg_1'><td colspan='4' class='center'>"; + if ($ID == "0") { + echo "<input type='submit' name='add' value=\"".$LANG['buttons'][2]."\" class='submit'>"; + } else { + echo "<input type='submit' class='submit' name='update' value='".$LANG['buttons'][14]."'>"; } + echo "</td></tr>"; + } echo "</table>"; echo "<input type='hidden' name='id' value='$ID'>"; echo "</div>"; - echo "</form>"; + if ($ID == 0) { + $commentall=haveRight("update_followups","1"); + $prefix=""; + $postfix=""; + $rand=mt_rand(); + echo "<script type='text/javascript' >\n"; + echo "function showFollow$rand(){\n"; + echo "document.getElementById('follow$rand').style.display='block';\n"; + echo "}"; + echo "</script>\n"; - return true; + // Display Add Table + echo "<br/>"; + echo "<div class='center'>"; + + echo "<table class='tab_cadre_fixe'>"; + echo "<tr><th colspan='2' class='tracking' onClick='showFollow$rand()'>"; + echo $LANG['job'][29]; + echo "</th></tr>"; + echo "</table>"; + + echo "<div id='follow$rand' style='display:none'>\n"; + echo "<table class='tab_cadre_fixe'>"; + if ($commentall){ + $width_left=$width_right="50%"; + $cols=50; } else { - echo "<div class='center'><strong>".$LANG['common'][54]."</strong></div>"; - return false; + $width_left="80%"; + $width_right="20%"; + $cols=80; } + + echo "<tr class='tab_bg_2'><td width='$width_left'>"; + echo "<table width='100%'>"; + echo "<tr><td>".$LANG['joblist'][6]."</td>"; + echo "<td><textarea name='".$prefix."content".$postfix."' rows='12' cols='$cols'>"; + if (isset($datas['content'])){ + echo cleanPostForTextArea($datas['content']); } + echo "</textarea>"; + echo "</td></tr>"; + echo "</table>"; + echo "</td>"; + echo "<td width='$width_right' valign='top'>"; + echo "<table width='100%'>"; + + if ($commentall){ + echo "<tr>"; + echo "<td>".$LANG['common'][77].":</td>"; + echo "<td>"; + + $default_private=$_SESSION['glpifollowup_private']; + if (isset($datas['is_private'])){ + $default_private=$datas['is_private']; + } + echo "<select name='".$prefix."is_private".$postfix."'>"; + echo "<option value='0' ".(!$default_private?"selected":"").">".$LANG['choice'][0]."</option>"; + echo "<option value='1' ".($default_private?"selected":"").">".$LANG['choice'][1]."</option>"; + echo "</select>"; + echo "</td>"; + echo "</tr>"; + + if (haveRight("show_planning","1")){ + echo "<tr>"; + echo "<td>".$LANG['job'][35]."</td>"; + + echo "<td>"; + $rand=mt_rand(); + echo "<script type='text/javascript' >\n"; + echo "function showPlanAdd$rand(){\n"; + + echo "Ext.get('plan$rand').setDisplayed('none');"; + $params=array('form'=>'followups', + 'state'=>1, + 'users_id'=>$_SESSION['glpiID'], + 'entity'=>$_SESSION["glpiactive_entity"], + ); + + if (isset($datas['plan'])&&isset($datas['plan']['state'])){ + $params['state']=$datas['plan']['state']; + } + if (isset($datas['plan'])&&isset($datas['plan']['users_id'])){ + $params['users_id']=$datas['plan']['users_id']; + } + if (isset($datas['plan'])&&isset($datas['plan']['begin'])){ + $params['begin']=$datas['plan']['begin']; + } + if (isset($datas['plan'])&&isset($datas['plan']['end'])){ + $params['end']=$datas['plan']['end']; + } + + ajaxUpdateItemJsCode('viewplan'.$rand,$CFG_GLPI["root_doc"]."/ajax/planning.php",$params,false); + + echo "};"; + echo "</script>"; + + echo "<div id='plan$rand' onClick='showPlanAdd$rand()'>\n"; + echo "<span class='showplan'>".$LANG['job'][34]."</span>"; + echo "</div>\n"; + + + echo "<div id='viewplan$rand'>\n"; + echo "</div>\n"; + + echo "<script type='text/javascript' >\n"; + + // Display form + if (isset($params['end'])&&isset($params['begin'])){ + echo "showPlanAdd$rand();"; + } + echo "</script>"; + + + echo "</td>"; + + echo "</tr>"; + } + } + + + echo "</table>"; + echo "</div>\n"; + echo "</td></tr>"; + echo "</table>"; + } + echo "</form>"; + + return true; +} + function showFollowupsSummary($tID){ global $DB,$LANG,$CFG_GLPI; @@ -2870,4 +3153,82 @@ return false; } + +function showJobCost($target,$ID) { + global $DB,$LANG; + + $job=new Job(); + $job->getFromDB($ID)&&haveAccessToEntity($job->fields["entities_id"]); + + echo "<form method='post' name='form_ticket_cost' action='$target' >\n"; + echo "<div class='center' id='tabsbody'>"; + echo "<table class='tab_cadre_fixe' cellpadding='5'>"; + + echo "<tr><th colspan='2'>"; + echo $LANG['job'][47]; + echo "</th></tr>"; + + echo "<tr class='tab_bg_2'>"; + echo "<td class='left'>"; + echo $LANG['job'][20].":"; + echo "</td>"; + + echo "<td>"; + echo "<strong>".getRealtime($job->fields["realtime"])."</strong>"; + echo "</td>"; + echo "</tr>"; + + if(haveRight("contract","r")){ // admin = oui on affiche les couts liés à l'interventions + echo "<tr class='tab_bg_2'>"; + echo "<td class='left'>"; + echo $LANG['job'][40].": "; + echo "</td>"; + + echo "<td>"; + echo "<input type='text' maxlength='100' size='15' name='cost_time' value=\"".formatNumber($job->fields["cost_time"],true)."\">"; + echo "</td>"; + echo "</tr>"; + + echo "<tr class='tab_bg_2'>"; + echo "<td class='left'>"; + echo $LANG['job'][41].": "; + echo "</td>"; + + echo "<td>"; + echo "<input type='text' maxlength='100' size='15' name='cost_fixed' value=\"".formatNumber($job->fields["cost_fixed"],true)."\">"; + echo "</td>"; + echo "</tr>\n"; + + echo "<tr class='tab_bg_2'>"; + echo "<td class='left'>"; + echo $LANG['job'][42].": "; + echo "</td>"; + + echo "<td>"; + echo "<input type='text' maxlength='100' size='15' name='cost_material' value=\"".formatNumber($job->fields["cost_material"],true)."\">"; + echo "</td>"; + echo "</tr>\n"; + + echo "<tr class='tab_bg_2'>"; + echo "<td class='left'>"; + echo $LANG['job'][43].": "; + echo "</td>"; + + echo "<td><strong>"; + echo trackingTotalCost($job->fields["realtime"],$job->fields["cost_time"],$job->fields["cost_fixed"],$job->fields["cost_material"]); + echo "</strong></td>"; + echo "</tr>\n"; + } + + echo "</table>"; + + + + + + + + +} + ?> Index: locales/fr_FR.php --- locales/fr_FR.php Base (BASE) +++ locales/fr_FR.php Locally Modified (Based On LOCAL) @@ -720,6 +720,7 @@ $LANG['job'][43]="Coût total"; $LANG['job'][44]="Source de la demande"; $LANG['job'][46]="Ticket créé dans l'entité"; +$LANG['job'][47]="Coûts"; $LANG['joblist'][0]="Statut"; $LANG['joblist'][1]="Seulement les miens"; @@ -744,7 +745,12 @@ $LANG['joblist'][26]="En attente"; $LANG['joblist'][27]="Email pour le suivi"; $LANG['joblist'][28]="Tickets sur les éléments liés"; +$LANG['joblist'][29]="Urgence"; +$LANG['joblist'][30]="Impact"; +$LANG['joblist'][31]="Date d'échéance"; +$LANG['jobresolution'][1]="Résolution"; + $LANG['knowbase'][1]="Foire aux questions"; $LANG['knowbase'][3]="Question"; $LANG['knowbase'][4]="Réponse"; @@ -1006,7 +1012,7 @@ $LANG['Menu'][21]="Cartouches"; $LANG['Menu'][22]="Contacts"; $LANG['Menu'][23]="Fournisseurs"; -$LANG['Menu'][24]="Infos financières"; +$LANGd['Menu'][24]="Infos financières"; $LANG['Menu'][25]="Contrats"; $LANG['Menu'][26]="Gestion"; $LANG['Menu'][27]="Documents";
_______________________________________________ Glpi-dev mailing list Glpi-dev@gna.org https://mail.gna.org/listinfo/glpi-dev