Ejemplo n.º 1
0
 public function addCustomValidate()
 {
     if ($this->id_soldier_tmp != $this->id_soldier) {
         $this->errors = "Niepoprawny żołnierz.";
         return false;
     }
     // sprawdzanie czy szkolenie istnieje i jest aktywna
     $item = new ClassTraining($this->id_training);
     if (!$item->load_class) {
         $this->errors = "Szkolenie nie istnieje.";
         return false;
     }
     if ($item->active != '1') {
         $this->errors = "Szkolenie jest wyłączone.";
         return false;
     }
     // sprawdzenie czy zolnierz posiada szkolenia
     $soldier_trainings = ClassSoldier2Training::sqlGetSoldierTrainings($this->id_soldier);
     if ($soldier_trainings) {
         foreach ($soldier_trainings as $soldier_training) {
             // sprawdzenie czy zolnierz chce 2x do tej samej misji zostac przypisany
             if ($soldier_training['id_training'] == $this->id_training && $soldier_training['returned'] == '0') {
                 $this->errors = "Żołnierz posiada już te szkolenie.";
                 return false;
             }
             // sprawdzanie czy nowa misja koliduje z jakas inna misja, na ktorej zolnierz jest
             if ($soldier_training['returned'] == '0' && self::checkInterferingDates($soldier_training['date_start'], $item->date_start, $soldier_training['date_end'], $item->date_end)) {
                 $this->errors = "Szkolenie <b>{$item->name}</b> koliduje czasowo ze szkoleniem <b>{$soldier_training['name']}</b>.";
                 return false;
             }
         }
     }
     // sprawdzenie czy zolnierz posiada misje
     $soldier_missions = ClassSoldier2Mission::sqlGetSoldierMissions($this->id_soldier);
     if ($soldier_missions) {
         foreach ($soldier_missions as $soldier_mission) {
             // sprawdzanie czy nowe szkolenie koliduje z jakas inna misja, na ktorej zolnierz jest
             if ($soldier_mission['detached'] == '0' && self::checkInterferingDates($soldier_mission['date_start'], $item->date_start, $soldier_mission['date_end'], $item->date_end)) {
                 $this->errors = "Szkolenie <b>{$item->name}</b> koliduje czasowo z misją <b>{$soldier_mission['name']}</b>.";
                 return false;
             }
         }
     }
     $this->date_training_add = date('Y-m-d H:i:s', strtotime($this->date_training_add));
     return false;
     return true;
 }
Ejemplo n.º 2
0
 protected function detach()
 {
     // ladowanie klasy
     $item = new ClassSoldier2Mission(ClassTools::getValue('id_soldier2missions'));
     // sprawdza czy klasa zostala poprawnie zaladowana
     if (!$item->load_class) {
         $this->alerts['danger'] = "Misja żołnierza nie istnieje.";
         return;
     }
     $item->id_soldier = ClassTools::getValue('id_soldier');
     $item->id_mission = ClassTools::getValue('id_mission');
     $item->description_detach = ClassTools::getValue('form_description_detach');
     $item->date_mission_detach = ClassTools::getValue('form_date');
     $item->id_user = ClassAuth::getCurrentUserId();
     // komunikaty bledu
     if (!$item->detach()) {
         $this->alerts['danger'] = $item->errors;
         return;
     }
     // komunikat
     $this->alerts['success'] = "Poprawnie oddelegowano żołnierza z misji.";
     // czyszczeie zmiennych wyswietlania
     $this->tpl_values = '';
     $_POST = array();
     return;
 }
Ejemplo n.º 3
0
 public function getMissions()
 {
     $items = ClassSoldier2Mission::sqlGetSoldierMissions($this->id);
     if ($items && is_array($items) && count($items) > 0) {
         $array = false;
         foreach ($items as $key => $item) {
             if ($item['detached'] == '1' || $item['date_end_tmp'] !== NULL && $item['date_end_tmp'] != '0000-00-00 00:00:00' && strtotime($item['date_end_tmp']) < strtotime("now")) {
                 continue;
             }
             $array[$key] = $item;
         }
         if ($array) {
             return $array;
         }
     }
     return false;
 }