function showForm($ID, $options = array()) { global $CFG_GLPI; $this->initForm($ID, $options); $this->showTabs($options); $this->showFormHeader($options); echo "<tr class='tab_bg_1'><td>" . __('Name') . "</td>"; echo "<td>"; $opt = array(); if (isset($options['helpdesk_id']) && !empty($options['helpdesk_id'])) { $help = new $options['helpdesk_itemtype'](); if ($help->getFromDB($options['helpdesk_id'])) { $opt['value'] = $help->fields["name"]; echo "<input type='hidden' name='helpdesk_id' value='" . $options['helpdesk_id'] . "'>"; echo "<input type='hidden' name='helpdesk_itemtype' value='" . $options['helpdesk_itemtype'] . "'>"; } } Html::autocompletionTextField($this, "name", $opt); echo "</td>"; //Projet parent echo "<td>" . __('Parent project', 'projet') . "</td>"; echo "<td>"; PluginProjetProjet_Projet::displayLinkedProjetsTo($ID, $options['withtemplate']); if ($this->canCreate() && $options['withtemplate'] < 2) { $rand_linked_projet = mt_rand(); echo " "; if (!PluginProjetProjet_Projet::getParentProjetsTo($ID)) { echo "<img onClick=\"Ext.get('linkedprojet{$rand_linked_projet}').setDisplayed('block')\"\n title=\"" . _x('button', 'Add') . "\" alt=\"" . _x('button', 'Add') . "\"\n class='pointer' src='" . $CFG_GLPI["root_doc"] . "/pics/add_dropdown.png'>"; } echo "<div style='display:none' id='linkedprojet{$rand_linked_projet}'>"; PluginProjetProjet_Projet::dropdownLinks('_link[link]', isset($values["_link"]) ? $values["_link"]['link'] : ''); echo " "; PluginProjetProjet_Projet::dropdownParent("_link[plugin_projet_projets_id_2]", isset($values["_link"]) ? $values["_link"]['plugin_projet_projets_id_2'] : '', array('id' => $this->fields["id"], 'entities_id' => $this->fields["entities_id"])); echo "<input type='hidden' name='_link[plugin_projet_projets_id_1]' value='{$ID}'>\n"; echo " "; echo "</div>"; if (isset($values["_link"]) && !empty($values["_link"]['plugin_projet_projets_id_2'])) { echo "<script language='javascript'>Ext.get('linkedprojet{$rand_linked_projet}').\n setDisplayed('block');</script>"; } } echo "</td></tr>"; echo "<tr class='tab_bg_2'><td colspan='2'>" . _n('Responsible', 'Responsibles', 2, 'projet') . "</td>"; echo "<td colspan='2'>" . __('Planification', 'projet') . "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('User') . "</td><td>"; User::dropdown(array('value' => $this->fields["users_id"], 'entity' => $this->fields["entities_id"], 'right' => 'all')); echo "</td>"; echo "<td>" . __('Start date') . "</td><td>"; Html::showDateFormItem("date_begin", $this->fields["date_begin"], true, true); echo "</td></tr>"; echo "<tr class='tab_bg_1'><td>" . __('Group') . "</td><td>"; Dropdown::show('Group', array('value' => $this->fields["groups_id"], 'entity' => $this->fields["entities_id"])); echo "</td>"; echo "<td>" . __('End date') . "</td><td>"; Html::showDateFormItem("date_end", $this->fields["date_end"], true, true); echo "</td></tr>"; echo "<tr class='tab_bg_2'><td>" . __('Estimated duration', 'projet'); echo "</td>"; echo "<td>"; $toadd = array(); for ($i = 9; $i <= 100; $i++) { $toadd[] = $i * DAY_TIMESTAMP; } Dropdown::showTimeStamp("estimatedtime", array('min' => 0, 'max' => 8 * DAY_TIMESTAMP, 'value' => $this->fields["estimatedtime"], 'addfirstminutes' => false, 'inhours' => false, 'toadd' => $toadd)); echo "</td>\n"; echo "<td>" . __('Effective duration', 'projet') . " "; Html::showToolTip(nl2br(__('Total of effective duration of project tasks', 'projet'))); echo "</td>"; echo "<td>" . self::getProjectForecast($ID) . "</td></tr>"; echo "<tr class='tab_bg_2'><td>"; echo __('Estimated duration', 'projet') . " " . __('in hours', 'projet'); echo "</td><td>"; $time = floor($this->fields["estimatedtime"]); $out = Html::formatNumber($time / HOUR_TIMESTAMP, 2); echo sprintf(_n('%s hour', '%s hours', $out), $out); echo "</td><td>" . __('Linked tickets duration', 'projet') . " "; Html::showToolTip(nl2br(__('Total of duration of linked tickets for project', 'projet'))); echo "</td>"; echo "<td>" . self::getProjectDuration($ID) . "</td></tr>"; //status echo "<tr class='tab_bg_1'><td>" . __('State') . "</td><td>"; Dropdown::show('PluginProjetProjetState', array('value' => $this->fields["plugin_projet_projetstates_id"])); echo "</td>"; echo "<td>" . __('Display on the global Gantt', 'projet') . "</td><td>"; Dropdown::showYesNo("show_gantt", $this->fields["show_gantt"]); echo "</td></tr>"; //advance echo "<tr class='tab_bg_1'><td>" . __('Progress') . "</td><td>"; $advance = floor($this->fields["advance"]); echo "<select name='advance'>"; for ($i = 0; $i < 101; $i += 5) { echo "<option value='{$i}' "; if ($advance == $i) { echo "selected"; } echo " >{$i}</option>"; } echo "</select> %"; echo "<td>" . __('Associable to a ticket') . "</td><td>"; Dropdown::showYesNo('is_helpdesk_visible', $this->fields['is_helpdesk_visible']); echo "</td></tr>"; echo "<tr class='tab_bg_1'><td colspan='4'>" . __('Comments') . "</td></tr>"; echo "<tr class='tab_bg_1'><td colspan='4'>"; $value = $this->fields["comment"]; if (isset($options['helpdesk_id']) && !empty($options['helpdesk_id'])) { $help = new $options['helpdesk_itemtype'](); if ($help->getFromDB($options['helpdesk_id'])) { $value = $help->fields["content"]; } } echo "<textarea cols='130' rows='4' name='comment' >" . $value . "</textarea>"; echo "<input type='hidden' name='withtemplate' value='" . $options['withtemplate'] . "'>"; echo "</td></tr>"; echo "<tr class='tab_bg_1'><td colspan='4'>" . __('Description') . "</td></tr>"; echo "<tr class='tab_bg_1'><td colspan='4'>"; echo "<textarea cols='130' rows='4' name='description' >" . $this->fields["description"] . "</textarea>"; echo "</td></tr>"; echo "<tr class='tab_bg_1 center'>"; echo "<td>" . __('Send email', 'projet') . "</td><td>"; echo "<input type='checkbox' name='send_notification' checked = true"; echo " value='1'>"; echo "</td>"; echo "<td colspan='2'></td>"; echo "<tr class='tab_bg_1'>"; echo "<td>"; if ((!isset($options['withtemplate']) || $options['withtemplate'] == 0) && !empty($this->fields['template_name'])) { echo "<span class='small_space'>"; printf(__('Created from the template %s'), $this->fields['template_name']); echo "</span>"; } else { echo " "; } echo "</td><td colspan='4'>"; if (isset($options['withtemplate']) && $options['withtemplate']) { //TRANS: %s is the datetime of insertion printf(__('Created on %s'), Html::convDateTime($_SESSION["glpi_currenttime"])); } else { //TRANS: %s is the datetime of update printf(__('Last update on %s'), Html::convDateTime($this->fields["date_mod"])); } echo "</td></tr>\n"; echo "</tr>"; $this->showFormButtons($options); $this->addDivForTabs(); return true; }