Example #1
0
 public function updateCustomValidate()
 {
     // sprawdzanie czy id_zolnierza do ktorego jest przypisana szkola zgadza sie z tym do edycji
     if ($this->id_soldier_tmp != $this->id_soldier) {
         $this->errors = "Żołnierz nie posiada tego adresu.";
         return false;
     }
     // sprawdzenie czy wybrano typ
     if (!is_array($this->id_address_types) || count($this->id_address_types) < 1) {
         $this->errors = "Proszę wybrać przynajmniej 1 typ.";
         return false;
     }
     // sprawdzanie czy wszystkie typy istnieja i sa aktywne
     $addres_types = ClassAddressType::sqlGetAllItemsNameById(NULL, false, true);
     foreach ($this->id_address_types as $id_address_type) {
         if (!isset($addres_types[$id_address_type])) {
             $this->errors = "Przynajmniej 1 typ nie istnieje lub jest wyłączony.";
             return false;
         }
     }
     // sprawdzanie czy zolnierz nie chce posiadac wiecej typow adresu niz powinien
     if ($soldier_address_types = self::sqlGetAllAddresses2TypesBySoldier($this->id_soldier)) {
         // print_r($soldier_address_types);
         foreach ($this->id_address_types as $id_address_type) {
             if (isset($soldier_address_types[$id_address_type]) && !in_array($this->id, $soldier_address_types[$id_address_type]['id_addresses']) && $soldier_address_types[$id_address_type]['max_addresses'] !== NULL && $soldier_address_types[$id_address_type]['max_addresses'] <= $soldier_address_types[$id_address_type]['count_types']) {
                 $this->errors = "<b>{$soldier_address_types[$id_address_type]['name']}</b>: Nie można posiadać więcej tego typu adresu.";
                 return false;
             }
         }
     }
     return true;
 }
 protected function getPageEdit($soldier)
 {
     // tylul na pasku
     $this->top_title = 'Edytuj adres żołnierza';
     // zmienne wyswietlania na wypadek gdy strona z odznaczeniem nie istnieje
     $this->tpl_values['wstecz'] = "/zolnierze/{$soldier->id}/adresy";
     // sprawdzanie czy id istnieje w linku
     if (!($id_child_item = ClassTools::getValue('id_child_item'))) {
         $this->alerts['danger'] = 'Brak podanego id';
         // ladowanie strony do wyswietlania bledow
         // zmienne ktore mozna uzyc: wstecz, title oraz alertow
         return $this->loadTemplate('alert');
     }
     $this->actions();
     $this->tpl_values['wstecz'] = "/zolnierze/{$soldier->id}/adresy";
     // ladowanie klasy
     $item = new ClassSoldierAddress($id_child_item);
     // sprawdzanie czy klasa zostala poprawnie zaladowana
     if (!$item->load_class) {
         $this->alerts['danger'] = 'Adres nie istnieje';
         // ladowanie strony do wyswietlania bledow
         // zmienne ktore mozna uzyc: wstecz, title oraz alertow
         return $this->loadTemplate('alert');
     }
     // sprawdzanie szkola jest przypisana do tego zolnierza
     if ($soldier->id != $item->id_soldier) {
         $this->alerts['danger'] = 'Adres nie jest przypisany do tego żołnierza';
         // ladowanie strony do wyswietlania bledow
         // zmienne ktore mozna uzyc: wstecz, title oraz alertow
         return $this->loadTemplate('alert');
     }
     // tytul
     $this->tpl_title = "{$soldier->name} {$soldier->surname}: Adresy: Edycja";
     $this->breadcroumb[] = array('name' => htmlspecialchars($item->street), 'link' => "/zolnierze/{$soldier->id}/adresy/podglad/{$item->id}");
     $this->breadcroumb[] = array('name' => "Edytuj", 'link' => "/zolnierze/{$soldier->id}/adresy/edytuj/{$item->id}");
     // skrypty
     $this->load_select2 = true;
     $this->load_js_functions = true;
     // pobieranie typow adresu
     $this->tpl_values['address_types'] = ClassAddressType::sqlGetAllItemsNameById(NULL, false, true);
     // zmienna ktora decyduje co formularz ma robic
     $this->tpl_values['sew_action'] = 'edit';
     // przypisanie zmiennych formularza do zmiennych klasy
     $array_form_class = array('id_address' => $item->id, 'id_soldier' => $soldier->id, 'form_street' => $item->street, 'form_postcode' => $item->postcode, 'form_city' => $item->city, 'form_country' => $item->country, 'form_type' => $item->soldier_address_types && is_array($item->soldier_address_types) ? array_keys($item->soldier_address_types) : false);
     // przypisywanieszych zmiennych do zmiennych formularza
     $this->setValuesTemplateByArrayPost($array_form_class);
     // ladowanie strony z formularzem
     return $this->loadTemplate('/soldier/addresses-form');
 }