Exemplo n.º 1
0
 /**
  * 
  * @param int $id
  * @return Response
  */
 public function getChildren($user_id, $id = null)
 {
     if ($id) {
         $kategorija = Kategorija::find($id);
     } else {
         $kategorija = Kategorija::whereRaw('id = nadkategorija_id')->first();
     }
     if (!$kategorija) {
         return $this->itemNotFound();
     }
     return Response::json($kategorija->getHierarchyFor($user_id));
 }
Exemplo n.º 2
0
 /**
  * 
  * @param array $input
  * @return null|string
  */
 public function getErrorOrSync($input)
 {
     $ime = $this->ime;
     if (isset($input['ime'])) {
         $ime = $input['ime'];
     }
     if (!$ime) {
         return 'Ime predmeta je obvezno.';
     }
     $kategorija_id = $this->kategorija_id;
     if (isset($input['kategorija_id'])) {
         $kategorija_id = $input['kategorija_id'];
     }
     if (!$kategorija_id) {
         return 'Nije zadana kategorija predmeta.';
     }
     $kategorija = Kategorija::find($kategorija_id);
     if (!$kategorija) {
         return Kategorija::NOT_FOUND_MESSAGE;
     }
     //provjera zauzetosti imena
     $query = $kategorija->predmeti()->where('ime', '=', $ime);
     if ($this->id > 0) {
         $query = $query->where('id', '!=', $this->id);
     }
     if ($query->count() > 0) {
         return 'U kategoriji ' . $kategorija->ime . ' već postoji predmet s imenom ' . $ime . '.';
     }
     //kraj provjere zauzetosti imena
     $mjereSyncronizator = $this->getErrorOrCijenaSyncArray($input);
     if (!is_array($mjereSyncronizator)) {
         return $mjereSyncronizator;
     }
     if (isset($input['allowed'])) {
         $user_ids = $input['allowed'];
     } else {
         $user_ids = array();
     }
     if (!$user_ids || !is_array($user_ids)) {
         $user_ids = array();
     }
     if (count($user_ids) > 0) {
         $user_ids = User::select('id')->whereIn('id', $user_ids)->get()->lists('id');
     }
     $this->ime = $ime;
     $kategorija->predmeti()->save($this);
     $this->c_m_p()->sync($mjereSyncronizator);
     if (count($user_ids) > 0) {
         $this->users()->sync($user_ids);
     } else {
         $this->users()->detach();
     }
 }