예제 #1
0
 protected function getPageList($item)
 {
     global $login;
     $this->actions($item);
     // strony
     $this->controller_name = 'szkolenia';
     $this->using_pages = true;
     $this->count_items = ClassSoldier2Training::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}: Szkolenia";
     // ladowanie funkcji
     $this->load_select2 = true;
     $this->load_datetimepicker = true;
     $this->load_js_functions = true;
     // pobieranie wszystkich rekordow
     $this->tpl_values['items'] = ClassSoldier2Training::sqlGetSoldierTrainings($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'] = 'Soldier2Training';
     $this->tpl_values['ajax_function'] = 'sqlSearchTrainingsForSoldier';
     // Zaznaczona misja
     $this->tpl_values['training_selectes'] = '';
     if ($id_training = ClassTools::getValue('form_training')) {
         $training = new ClassTraining($id_training);
         if ($training->load_class && $training->active == '1') {
             $this->tpl_values['training_selectes'] = '<option value="' . $id_training . '" selected="selected">' . $training->name . '</option>';
         }
     }
     // prawa zalogowanego uzytkownika
     $this->tpl_values['id_login_permission'] = $login->auth_user['id_permission'];
     // ladowanie strony z lista
     return $this->loadTemplate('/soldier/trainings');
 }
예제 #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
파일: ClassSoldier.php 프로젝트: s9271/SEW3
 public function getTrainings()
 {
     $items = ClassSoldier2Training::sqlGetSoldierTrainings($this->id);
     if ($items && is_array($items) && count($items) > 0) {
         $array = false;
         foreach ($items as $key => $item) {
             if ($item['returned'] == '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;
 }