Пример #1
0
 function wizardSecondForm($ID, $options = array())
 {
     global $CFG_GLPI;
     $empty = 0;
     if ($ID > 0) {
         $this->check($ID, 'r');
     } else {
         // Create item
         $this->check(-1, 'w');
         $this->getEmpty();
         $empty = 1;
     }
     $rank = new PluginResourcesRank();
     if (!isset($options["requiredfields"])) {
         $options["requiredfields"] = 0;
     }
     if (($options['withtemplate'] == 2 || $options["new"] != 1) && $options["requiredfields"] != 1) {
         $options["name"] = $this->fields["name"];
         $options["firstname"] = $this->fields["firstname"];
         $options["locations_id"] = $this->fields["locations_id"];
         $options["users_id"] = $this->fields["users_id"];
         $options["plugin_resources_departments_id"] = $this->fields["plugin_resources_departments_id"];
         $options["date_begin"] = $this->fields["date_begin"];
         $options["date_end"] = $this->fields["date_end"];
         $options["comment"] = $this->fields["comment"];
         $options["quota"] = $this->fields["quota"];
         $options["plugin_resources_resourcesituations_id"] = $this->fields["plugin_resources_resourcesituations_id"];
         $options["plugin_resources_contractnatures_id"] = $this->fields["plugin_resources_contractnatures_id"];
         $options["plugin_resources_ranks_id"] = $this->fields["plugin_resources_ranks_id"];
         $options["plugin_resources_resourcespecialities_id"] = $this->fields["plugin_resources_resourcespecialities_id"];
         $options["plugin_resources_leavingreasons_id"] = $this->fields["plugin_resources_leavingreasons_id"];
     }
     echo "<div align='center'>";
     echo "<form action='" . $options['target'] . "' method='post'>";
     echo "<table class='plugin_resources_wizard'>";
     echo "<tr>";
     echo "<td class='plugin_resources_wizard_right_area' valign='top'>";
     echo "<div class='plugin_resources_wizard_title'><p>";
     echo "<img class='plugin_resource_wizard_img' src='" . $CFG_GLPI['root_doc'] . "/plugins/resources/pics/newresource.png' alt='newresource'/>&nbsp;";
     _e('Enter general information about the resource', 'resources');
     echo "</p></div>";
     echo "<div class='center'>";
     if (!$this->canView()) {
         return false;
     }
     echo "<table class='plugin_resources_wizard_table'>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td width='30%'>" . PluginResourcesContractType::getTypeName(1) . "</td><td width='70%'>";
     if ($this->fields["plugin_resources_contracttypes_id"]) {
         echo Dropdown::getDropdownName("glpi_plugin_resources_contracttypes", $this->fields["plugin_resources_contracttypes_id"]);
     } else {
         _e('Without contract', 'resources');
     }
     echo "</td>";
     echo "</tr></table>";
     echo "<br>";
     echo "<table class='plugin_resources_wizard_table'>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     $required = array();
     $input = array();
     if (isset($this->fields["entities_id"]) || $empty == 1) {
         if ($empty == 1) {
             $input['plugin_resources_contracttypes_id'] = 0;
             $input['entities_id'] = $_SESSION['glpiactive_entity'];
             echo "<input type='hidden' name='entities_id' value='" . $_SESSION['glpiactive_entity'] . "'>";
         } else {
             $input['plugin_resources_contracttypes_id'] = $this->fields["plugin_resources_contracttypes_id"];
             if (isset($options['withtemplate']) && $options['withtemplate'] == 2) {
                 $input['entities_id'] = $_SESSION['glpiactive_entity'];
                 echo "<input type='hidden' name='entities_id' value='" . $_SESSION['glpiactive_entity'] . "'>";
             } else {
                 $input['entities_id'] = $this->fields["entities_id"];
                 echo "<input type='hidden' name='entities_id' value='" . $this->fields["entities_id"] . "'>";
             }
         }
     }
     $required = $this->checkRequiredFields($input);
     $alert = " class='red' ";
     if (Session::isMultiEntitiesMode()) {
         echo "<tr class='plugin_resources_wizard_explain'>";
         echo "<td width='30%'>";
         _e('Entity');
         echo "</td>";
         echo "<td width='50%'>";
         echo Dropdown::getDropdownName("glpi_entities", $input['entities_id']);
         echo "</td>";
         echo "</tr>";
     }
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td";
     if (in_array("name", $required)) {
         echo $alert;
     }
     echo ">";
     _e('Name');
     echo "</td>";
     echo "<td>";
     $option = array('value' => $options["name"], 'option' => "onchange=\"javascript:this.value=this.value.toUpperCase();\"");
     Html::autocompletionTextField($this, "name", $option);
     echo "</td>";
     echo "<td rowspan='2' class='plugin_resources_wizard_comment red'>";
     _e("Thank you for paying attention to the spelling of the name and the firstname of the resource. For compound firstnames, separate them with a dash \"-\".", "resources");
     echo "</td>";
     echo "</tr>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td";
     if (in_array("firstname", $required)) {
         echo $alert;
     }
     echo ">";
     _e('First name');
     echo "</td>";
     echo "<td>";
     $option = array('value' => $options["firstname"], 'option' => "onChange='First2UpperCase(this.value);' style='text-transform:capitalize;'");
     Html::autocompletionTextField($this, "firstname", $option);
     echo "</td>";
     echo "</tr>";
     if ($this->fields["plugin_resources_resourcestates_id"]) {
         echo "<tr class='plugin_resources_wizard_explain'>";
         echo "<td>" . PluginResourcesResourceState::getTypeName(1) . "</td><td>";
         echo Dropdown::getDropdownName("glpi_plugin_resources_resourcestates", $this->fields["plugin_resources_resourcestates_id"]);
         echo "</td>";
         echo "</tr>";
     }
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td";
     if (in_array("locations_id", $required)) {
         echo $alert;
     }
     echo ">";
     _e('Location');
     echo "</td>";
     echo "<td>";
     Dropdown::show('Location', array('name' => "locations_id", 'value' => $options["locations_id"]));
     echo "</td>";
     echo "</tr>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td";
     if (in_array("quota", $required)) {
         echo $alert;
     }
     echo ">";
     _e('Quota', 'resources');
     echo "</td>";
     echo "<td>";
     echo "<input type='text' name='quota' value='" . Html::formatNumber($options["quota"], true, 4) . "' size='14'>";
     echo "</td>";
     echo "</tr></table>";
     echo "<br>";
     if ($rank->canView()) {
         echo "<table class='plugin_resources_wizard_table'>";
         echo "<tr class='plugin_resources_wizard_explain'>";
         echo "<td width='30%' ";
         if (in_array("plugin_resources_resourcesituations_id", $required)) {
             echo $alert;
         }
         echo ">";
         echo PluginResourcesResourceSituation::getTypeName(1);
         echo "</td>";
         echo "<td width='70%'>";
         $params = array('name' => 'plugin_resources_resourcesituations_id', 'value' => $options['plugin_resources_resourcesituations_id'], 'entity' => $this->fields["entities_id"], 'action' => $CFG_GLPI["root_doc"] . "/plugins/resources/ajax/dropdownContractnature.php", 'span' => 'span_contractnature');
         self::showGenericDropdown('PluginResourcesResourceSituation', $params);
         echo "</td>";
         echo "</tr>";
         echo "<tr class='plugin_resources_wizard_explain'>";
         echo "<td";
         if (in_array("plugin_resources_contractnatures_id", $required)) {
             echo $alert;
         }
         echo ">";
         echo PluginResourcesContractNature::getTypeName(1);
         echo "</td><td>";
         echo "<span id='span_contractnature' name='span_contractnature'>";
         if ($options["plugin_resources_contractnatures_id"] > 0) {
             echo Dropdown::getDropdownName('glpi_plugin_resources_contractnatures', $options["plugin_resources_contractnatures_id"]);
         } else {
             echo "<input type='hidden' name='plugin_resources_contractnatures_id' value='0'>";
             _e('None');
         }
         echo "</span>";
         echo "</td>";
         echo "</tr>";
         echo "<tr class='plugin_resources_wizard_explain'>";
         echo "<td";
         if (in_array("plugin_resources_ranks_id", $required)) {
             echo $alert;
         }
         echo ">";
         echo PluginResourcesRank::getTypeName(1);
         echo "</td>";
         echo "<td>";
         $params = array('name' => 'plugin_resources_ranks_id', 'value' => $options['plugin_resources_ranks_id'], 'entity' => $this->fields["entities_id"], 'action' => $CFG_GLPI["root_doc"] . "/plugins/resources/ajax/dropdownSpeciality.php", 'span' => 'span_speciality');
         self::showGenericDropdown('PluginResourcesRank', $params);
         echo "</td>";
         echo "</tr>";
         echo "<tr class='plugin_resources_wizard_explain'>";
         echo "<td";
         if (in_array("plugin_resources_resourcespecialities_id", $required)) {
             echo $alert;
         }
         echo ">";
         echo PluginResourcesResourceSpeciality::getTypeName(1);
         echo "</td><td>";
         echo "<span id='span_speciality' name='span_speciality'>";
         if ($options["plugin_resources_resourcespecialities_id"] > 0) {
             echo Dropdown::getDropdownName('glpi_plugin_resources_resourcespecialities', $options["plugin_resources_resourcespecialities_id"]);
         } else {
             echo "<input type='hidden' name='plugin_resources_resourcespecialities_id' value='0'>";
             _e('None');
         }
         echo "</span>";
         echo "</td>";
         echo "</tr></table>";
         echo "<br>";
     } else {
         echo "<input type='hidden' name='plugin_resources_resourcesituations_id' value='0'>";
         echo "<input type='hidden' name='plugin_resources_contractnatures_id' value='0'>";
         echo "<input type='hidden' name='plugin_resources_ranks_id' value='0'>";
         echo "<input type='hidden' name='plugin_resources_resourcespecialities_id' value='0'>";
     }
     echo "<table class='plugin_resources_wizard_table'>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td width='30%' ";
     if (in_array("users_id", $required)) {
         echo $alert;
     }
     echo ">";
     echo __('Resource manager', 'resources') . "</td>";
     echo "<td width='70%'>";
     User::dropdown(array('value' => $options["users_id"], 'name' => "users_id", 'entity' => $input['entities_id'], 'right' => 'all'));
     echo "</td>";
     echo "</tr>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td";
     if (in_array("plugin_resources_departments_id", $required)) {
         echo $alert;
     }
     echo ">";
     echo PluginResourcesDepartment::getTypeName(1) . "</td><td>";
     Dropdown::show('PluginResourcesDepartment', array('name' => "plugin_resources_departments_id", 'value' => $options["plugin_resources_departments_id"], 'entity' => $this->fields["entities_id"]));
     echo "</td>";
     echo "</tr>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td";
     if (in_array("date_begin", $required)) {
         echo $alert;
     }
     echo ">";
     _e('Arrival date', 'resources');
     echo "</td>";
     echo "<td>";
     Html::showDateFormItem("date_begin", $options["date_begin"], true, true);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td";
     if (in_array("date_end", $required)) {
         echo $alert;
     }
     echo ">";
     echo __('Departure date', 'resources') . "&nbsp;";
     if (!in_array("date_end", $required)) {
         Html::showToolTip(nl2br(__('Empty for non defined', 'resources')));
     }
     echo "</td>";
     echo "<td>";
     Html::showDateFormItem("date_end", $options["date_end"], true, true);
     echo "</td>";
     echo "</tr></table>";
     echo "<br>";
     echo "<table class='plugin_resources_wizard_table'>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td colspan='4'>" . __('Description') . "</td>";
     echo "</tr>";
     echo "<tr><td colspan='4'>";
     echo "<textarea cols='95' rows='6' name='comment' >" . $options["comment"] . "</textarea>";
     echo "</td></tr>";
     echo "<tr class='plugin_resources_wizard_explain'>";
     echo "<td colspan='2'>" . __('Send a notification') . "&nbsp;";
     echo "<input type='checkbox' name='send_notification' checked = true";
     if ($_SESSION['glpiactiveprofile']['interface'] != 'central') {
         echo " disabled='true' ";
     }
     echo " value='1'>";
     if ($_SESSION['glpiactiveprofile']['interface'] != 'central') {
         echo "<input type='hidden' name='send_notification' value=\"1\">";
     }
     echo "</td></tr>";
     echo "<tr><td colspan='4'>&nbsp;";
     echo "</td></tr>";
     if (!empty($required)) {
         echo "<tr>";
         echo "<td class='right plugin_resources_wizard_explain red' colspan='4'>";
         _e('The fields in red must be completed', 'resources');
         echo "</td>";
         echo "</tr>";
     }
     echo "</table>";
     echo "</div></td>";
     echo "</tr>";
     $contract = $this->fields["plugin_resources_contracttypes_id"];
     if ($empty == 1) {
         $contract = $input['plugin_resources_contracttypes_id'];
     }
     echo "<input type='hidden' name='plugin_resources_contracttypes_id' value=\"" . $contract . "\">";
     echo "<input type='hidden' name='plugin_resources_resourcestates_id' value=\"" . $this->fields["plugin_resources_resourcestates_id"] . "\">";
     echo "<input type='hidden' name='withtemplate' value=\"" . $options['withtemplate'] . "\" >";
     echo "<input type='hidden' name='date_declaration' value=\"" . $_SESSION["glpi_currenttime"] . "\">";
     echo "<input type='hidden' name='users_id_recipient' value=\"" . Session::getLoginUserID() . "\">";
     echo "<input type='hidden' name='id' value=\"" . $ID . "\">";
     echo "<input type='hidden' name='plugin_resources_leavingreasons_id' value='0'>";
     if ($this->canCreate() && (empty($ID) || $options['withtemplate'] == 2)) {
         echo "<tr><td class='plugin_resources_wizard_button' colspan='2'>";
         echo "<div class='preview'>";
         echo "<input type='submit' name='undo_first_step' value='" . _sx('button', '< Previous', 'resources') . "' class='submit' />";
         echo "</div>";
         echo "<div class='next'>";
         echo "<input type='submit' name='second_step' value='" . _sx('button', 'Next >', 'resources') . "' class='submit' />";
         echo "<input type='hidden' name='plugin_resources_resources_id' value='" . $this->fields["id"] . "'/>";
         echo "</div>";
         echo "</td></tr>";
     } else {
         if ($this->canCreate() && !empty($ID) && $options["new"] != 1) {
             echo "<tr><td class='plugin_resources_wizard_button' colspan='2'>";
             echo "<div class='preview'>";
             echo "<input type='submit' name='undo_first_step' value='" . _sx('button', '< Previous', 'resources') . "' class='submit' />";
             echo "</div>";
             echo "<div class='next'>";
             echo "<input type='submit' name='second_step_update' value='" . _sx('button', 'Next >', 'resources') . "' class='submit' />";
             echo "<input type='hidden' name='plugin_resources_resources_id' value='" . $this->fields["id"] . "'/>";
             echo "</div>";
             echo "</td></tr>";
         }
     }
     echo "</table>";
     Html::closeForm();
     echo "</div>";
 }