示例#1
0
 protected function getPageList($item)
 {
     global $login;
     $this->actions($item);
     // strony
     $this->controller_name = 'misje';
     $this->using_pages = true;
     $this->count_items = ClassSoldier2Mission::sqlGetCountItems('', array('id_soldier' => $item->id));
     $this->current_page = ClassTools::getValue('number_page') ? ClassTools::getValue('number_page') : '1';
     // tytul strony
     $this->tpl_title = "{$item->name} {$item->surname}: Misje";
     // ladowanie funkcji
     $this->load_select2 = true;
     $this->load_datetimepicker = true;
     $this->load_js_functions = true;
     // pobieranie wszystkich rekordow
     // $this->tpl_values['items'] = ClassSoldier2Mission::sqlGetAllItems($this->using_pages, $this->current_page, $this->items_on_page, '', array('id_soldier' => $item->id));
     $this->tpl_values['items'] = ClassSoldier2Mission::sqlGetSoldierMissions($item->id, $this->using_pages, $this->current_page, $this->items_on_page);
     $this->tpl_values['id_soldier'] = $item->id;
     // nazwa klasy i funkcji z ktorej bedzie pobierac opcje do selekta (w klasie musi istniec statyczna funkcja do obslugi tego ajaxa)
     $this->tpl_values['ajax_class'] = 'Soldier2Mission';
     $this->tpl_values['ajax_function'] = 'sqlSearchMissionForSoldier';
     // Zaznaczona misja
     $this->tpl_values['mission_selectes'] = '';
     if ($id_mission = ClassTools::getValue('form_mission')) {
         $item = new ClassMission($id_mission);
         if ($item->load_class && $item->active == '1') {
             $this->tpl_values['mission_selectes'] = '<option value="' . $id_mission . '" selected="selected">' . $item->name . '</option>';
         }
     }
     // prawa zalogowanego uzytkownika
     $this->tpl_values['id_login_permission'] = $login->auth_user['id_permission'];
     // ladowanie strony z lista
     return $this->loadTemplate('/soldier/missions');
 }
示例#2
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;
 }
示例#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;
 }