Esempio n. 1
0
 function prepareInputForUpdate($input)
 {
     global $CFG_GLPI;
     if (isset($input['date_begin']) && empty($input['date_begin'])) {
         $input['date_begin'] = 'NULL';
     }
     if (isset($input['date_end']) && empty($input['date_end'])) {
         $input['date_end'] = 'NULL';
     }
     if (isset($input['plugin_projet_projetstates_id']) && !empty($input['plugin_projet_projetstates_id'])) {
         $archived = " `type` = '1' ";
         $states = getAllDatasFromTable("glpi_plugin_projet_projetstates", $archived);
         $tab = array();
         if (!empty($states)) {
             foreach ($states as $state) {
                 $tab[] = $state['id'];
             }
         }
         if (!empty($tab) && in_array($input['plugin_projet_projetstates_id'], $tab)) {
             $input['advance'] = '100';
         }
     }
     if (isset($input['_link'])) {
         $projet_projet = new PluginProjetProjet_Projet();
         if (!empty($input['_link']['plugin_projet_projets_id_2'])) {
             if ($projet_projet->can(-1, 'w', $input['_link'])) {
                 $projet_projet->add($input['_link']);
             } else {
                 Session::addMessageAfterRedirect(__('Unknown project', 'projet'), false, ERROR);
             }
         }
     }
     $this->getFromDB($input["id"]);
     $input["_old_name"] = $this->fields["name"];
     $input["_old_date_begin"] = $this->fields["date_begin"];
     $input["_old_date_end"] = $this->fields["date_end"];
     $input["_old_users_id"] = $this->fields["users_id"];
     $input["_old_groups_id"] = $this->fields["groups_id"];
     $input["_old_plugin_projet_projetstates_id"] = $this->fields["plugin_projet_projetstates_id"];
     $input["_old_advance"] = $this->fields["advance"];
     $input["_old_estimatedtime"] = $this->fields["estimatedtime"];
     $input["_old_show_gantt"] = $this->fields["show_gantt"];
     $input["_old_comment"] = $this->fields["comment"];
     $input["_old_description"] = $this->fields["description"];
     return $input;
 }