public function run() { DB::table('kategorije')->delete(); Kategorija::create(array('id' => 1, 'ime' => 'Home', 'nadkategorija_id' => 1)); }
/** * * @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)); }
<div id="predmet-select" class = 'form-group'> {{ Form::label('Odaberite predmet...') }} <script type="text/javascript"> jQuery(function () { selectManager.init( <?php $levels = array(); if (!isset($predmet_id)) { $predmet_id = Input::old('predmet_id'); } if ($predmet_id) { $predmet = Predmet::with('kategorija')->find($predmet_id); $kategorije = $predmet->kategorija->path(); $length = count($kategorije); for ($i = 0; $i < $length; $i++) { $level = array(); $level[Kategorija::JSON_CONTENT_IDENTIFIER] = $kategorije[$i]->getChildrenFor($instruktor->id); $level[Kategorija::JSON_SELECTED_IDENTIFIER] = array(Kategorija::JSON_TYPE_IDENTIFIER => $i == $length - 1 ? Kategorija::JSON_SELECTED_PREDMET_IDENTIFIER : Kategorija::JSON_SELECTED_KATEGORIJA_IDENTIFIER, Kategorija::JSON_ID_IDENTIFIER => $i == $length - 1 ? $predmet_id : $kategorije[$i + 1]->id); $levels[] = $level; } } else { $levels = Kategorija::whereRaw('id = nadkategorija_id')->first()->getHierarchyFor($instruktor->id); } echo json_encode($levels); ?> ); selectManager.urlPrefix = "{{ route('Kategorija.index').'/' }}"; }); </script> </div> @endsection
$datum = $q->datum; } ?> <form method="post" action="process.php" name="form" enctype="multipart/form-data" accept-charset="utf-8"> <label for="selCategory">Kategorija:</label> <input type="hidden" value="<?php echo isset($_GET['uid']) ? $id : null; ?> " name="id" /> <select name="selCategory" id="kategorija" required> <option><?php echo isset($id) ? ucfirst($q->kategorija) : "Izaberi kategoriju: "; ?> </option> <?php $q = Kategorija::getAll(); foreach ($q as $rw) { echo "<option value='{$rw->kategorija_id}'>" . ucfirst($rw->kategorija) . "</option>"; } ?> </select> </br></br> <label for="naslov">Naslov:</label> <input type="hidden" name="datum" value="<?php echo isset($_GET['uid']) ? $datum : null; ?> " > <input type="hidden" name="slika" value="<?php echo isset($_GET['uid']) ? $slika : null; ?> " >
<?php $db = Singleton::getInstance(); $conn = $db->conn; $kategorija = Kategorija::getAll(); $x = 0; foreach ($kategorija as $kat) { ?> <section class="column"> <?php $text = Tekst::getAll("where kategorija = '{$kat->kategorija_id}' order by id DESC limit 4"); $datum = new DateTime($text[0]->datum); ?> <article class="column_top"> <div class="folded <?php echo $x++ % 2 == 0 ? "folded_left" : "folded_right"; ?> "> <h2><a href="?art=<?php echo $kat->kategorija_id; ?> "><?php echo ucfirst($kat->kategorija); ?> </a></h2> </div> <div class="column_top_img"> <?php $naslov = $text[0]->naslov; $naslovSanitize = Functions::titleSanitize($naslov);
/** * Gets all cild Kategorije which have a nested Predmeti for the user with id equal to $djelatnik_id * @param int $djelatnik_id Id of User * @return \Illuminate\Database\Eloquent\Collection */ public function getChildrenKategorijeFor($djelatnik_id) { return Kategorija::select('id', 'ime')->where('nadkategorija_id', '=', $this->id)->whereRaw('nadkategorija_id != id')->get()->filter(function ($kategorija) use($djelatnik_id) { return $kategorija->hasChildrenFor($djelatnik_id); }); }
/** * * @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(); } }
public function download() { $name = 'Data'; $formats = array('xls', 'xlsx'); if (in_array(Input::get('format'), $formats)) { $format = Input::get('format'); } else { $format = 'xls'; } $month = Input::get('startMonth'); if (!($month > 0 && $month < 13)) { $month = 1; } $year = Input::get('startYear'); if (!($year >= 2014 && $year <= date('Y'))) { $year = 2014; } $name .= "_{$month}-{$year}"; if ($month < 10) { $month = '0' . $month; } $from = "{$year}-{$month}-01 00:00:00"; $month = Input::get('endMonth'); if (!($month > 0 && $month < 13)) { $month = 1; } $year = Input::get('endYear'); if (!($year >= 2014 && $year <= date('Y'))) { $year = 2014; } $name .= "_{$month}-{$year}"; $month++; if ($month > 12) { $month = 1; $year++; } if ($month < 10) { $month = '0' . $month; } $to = "{$year}-{$month}-01 00:00:00"; Excel::create($name, function ($excel) use($from, $to) { $usersCount = User::count(); $predmetCount = Predmet::count(); $mjeraCount = Mjera::count(); $ucionicaCount = Ucionica::count(); $ulogaCount = Role::count(); $kategorijaCount = Kategorija::count(); $rezervacijaCount = 0; $excel->setCreator('Hrvoje'); ini_set('max_execution_time', 120); $excel->sheet(self::SHEET_NAME_USERS, function ($sheet) use($ulogaCount) { $sheet->appendRow(array('ID', 'Ime', 'Broj mobitela', 'Email', 'Boja', 'ID uloge', 'Dodan', 'Zadnja promjena', 'Uloga')); $i = 1; foreach (User::select('id', 'name', 'broj_mobitela', 'email', 'boja', 'role_id', 'created_at', 'updated_at')->get() as $user) { $i++; $row = $user->toArray(); $row[] = self::getHyperlink(self::SHEET_NAME_ROLES, $ulogaCount, 'F' . $i); $sheet->appendRow($row); } }); $excel->sheet(self::SHEET_NAME_ROLES, function ($sheet) { $sheet->appendRow(array('ID', 'Ime uloge', 'Opis', 'Dodana', 'Zadnja promjena')); $sheet->fromModel(Role::all(), null, 'A2', true, false); }); $excel->sheet(self::SHEET_NAME_UCIONICE, function ($sheet) { $sheet->appendRow(array('ID', 'Ime učionice', 'Najveći broj učenika', 'Adresa', 'Kat', 'Opis', 'Dodana', 'Zadnja promjena')); $i = 1; foreach (Ucionica::select('id', 'naziv', 'max_broj_ucenika', 'adresa', 'kat', 'opis', 'created_at', 'updated_at')->get() as $ucionica) { $i++; $row = $ucionica->toArray(); $sheet->appendRow($row); } }); $excel->sheet(self::SHEET_NAME_KATEGORIJE, function ($sheet) use($kategorijaCount) { $sheet->appendRow(array('ID', 'Ime kategorije', 'ID nadkategorije', 'Dodana', 'Zadnja promjena', 'Nadkategorija')); $i = 1; foreach (Kategorija::select('id', 'ime', 'nadkategorija_id', 'created_at', 'updated_at')->get() as $kategorija) { $i++; $row = $kategorija->toArray(); $row[] = self::getHyperlink(self::SHEET_NAME_KATEGORIJE, $kategorijaCount, 'C' . $i); $sheet->appendRow($row); } }); $excel->sheet(self::SHEET_NAME_PREDEMTI, function ($sheet) use($kategorijaCount) { $sheet->appendRow(array('ID', 'Ime predmeta', 'ID kategorije', 'Dodana', 'Zadnja promjena', 'Kategorija')); $i = 1; foreach (Predmet::select('id', 'ime', 'kategorija_id', 'created_at', 'updated_at')->get() as $predmet) { $i++; $row = $predmet->toArray(); $row[] = self::getHyperlink(self::SHEET_NAME_KATEGORIJE, $kategorijaCount, 'C' . $i); $sheet->appendRow($row); } }); $excel->sheet(self::SHEET_NAME_PREDEMT_USER, function ($sheet) use($predmetCount, $usersCount) { $sheet->appendRow(array('ID djelatnika', 'ID predmeta', 'Djelatnik', 'Predmet')); $i = 1; foreach (DB::table('predmet_user')->select('user_id', 'predmet_id')->orderBy('user_id', 'predmet_id')->get() as $predmetUser) { $i++; $row = array(); $row[] = $predmetUser->user_id; $row[] = $predmetUser->predmet_id; $row[] = self::getHyperlink(self::SHEET_NAME_USERS, $usersCount, 'A' . $i); $row[] = self::getHyperlink(self::SHEET_NAME_PREDEMTI, $predmetCount, 'B' . $i); $sheet->appendRow($row); } }); $excel->sheet(self::SHEET_NAME_MJERE, function ($sheet) { $sheet->appendRow(array('ID', 'Ime mjere', 'Kratica', 'Trajanje')); $i = 1; foreach (Mjera::select('id', 'znacenje', 'simbol', 'trajanje')->get() as $mjera) { $i++; $row = $mjera->toArray(); $sheet->appendRow($row); } }); $naplate = array(); $klijenti = array(); $klijentRezervacije = array(); $excel->sheet(self::SHEET_NAME_REZERVACIJE, function ($sheet) use(&$naplate, &$klijenti, &$klijentRezervacije, $usersCount, $predmetCount, $mjeraCount, $ucionicaCount, &$rezervacijaCount, $from, $to) { $sheet->appendRow(array('ID', 'ID djelatnika', 'ID predmeta', 'Početak rada', 'Količina', 'ID mjere', 'Kraj rada', 'ID učionice', 'Tečaj', 'Napomena', 'Dodana', 'Zadnja promjena', 'Djelatnik', 'Predmet', 'Mjera', 'Učionica')); $i = 1; $rezervacije = Rezervacija::select('id', 'instruktor_id', 'predmet_id', 'pocetak_rada', 'kolicina', 'mjera_id', 'kraj_rada', 'ucionica_id', 'tecaj', 'napomena', 'created_at', 'updated_at')->with('naplata', 'klijenti')->whereBetween('pocetak_rada', array($from, $to))->get(); $rezervacijaCount = $rezervacije->count(); foreach ($rezervacije as $rezervacija) { $i++; $row = $rezervacija->toArray(); unset($row['naplata']); unset($row['klijenti']); $row[] = self::getHyperlink(self::SHEET_NAME_USERS, $usersCount, 'B' . $i); $row[] = self::getHyperlink(self::SHEET_NAME_PREDEMTI, $predmetCount, 'C' . $i); $row[] = self::getHyperlink(self::SHEET_NAME_MJERE, $mjeraCount, 'F' . $i); $row[] = self::getHyperlink(self::SHEET_NAME_UCIONICE, $ucionicaCount, 'H' . $i); $sheet->appendRow($row); if (!$rezervacija->tecaj && !$rezervacija->naplata) { $sheet->row($sheet->getHighestRow(), function ($row) { $row->setBackground('#ff9999'); }); } if ($rezervacija->naplata) { $naplate[] = $rezervacija->naplata->toArray(); } foreach ($rezervacija->klijenti as $klijent) { $klijentRezervacije[] = array('klijent_id' => $klijent->broj_mobitela, 'rezervacija_id' => $rezervacija->id, 'missed' => $klijent->pivot->missed); $klijenti[$klijent->broj_mobitela] = $klijent; } } }); $excel->sheet(self::SHEET_NAME_NAPLATE, function ($sheet) use($naplate, $rezervacijaCount, $mjeraCount) { $sheet->appendRow(array('ID', 'Ukupno naplaćeno', 'Za djelatnika', 'Za tvrtku', 'Naplaćena količina', 'ID naplaćene mjere', 'Napomena', 'Dodana', 'Zadnja promjena', 'predmet rezervacije', 'Naplaćena mjera')); $i = 1; foreach ($naplate as $naplata) { $i++; $row = $naplata; $row[] = self::getHyperlink(self::SHEET_NAME_REZERVACIJE, $rezervacijaCount, 'A' . $i, 'N'); $row[] = self::getHyperlink(self::SHEET_NAME_MJERE, $mjeraCount, 'C' . $i); $sheet->appendRow($row); } }); $klijentCount = count($klijenti); $excel->sheet(self::SHEET_NAME_KLIJENT_REZERVACIJA, function ($sheet) use($klijentRezervacije, $rezervacijaCount, $klijentCount) { $sheet->appendRow(array('Broj mobitela polaznika', 'ID rezervacije', 'Izostao')); //, 'Predmet rezervacije', 'Klijent')); $i = 1; foreach ($klijentRezervacije as $klijentRezervacija) { $i++; $row = $klijentRezervacija; $row['klijent_id'] = Klijent::getReadableBrojMobitela($klijentRezervacija['klijent_id']); //$row[] = self::getHyperlink(self::SHEET_NAME_REZERVACIJE, $rezervacijaCount, 'B'.$i, 'N'); //$row[] = self::getHyperlink(self::SHEET_NAME_KLIJENTI, $klijentCount, 'A'.$i); $sheet->appendRow($row); } }); $excel->sheet(self::SHEET_NAME_KLIJENTI, function ($sheet) use($klijenti, $rezervacijaCount) { $sheet->appendRow(array('Broj mobitela', 'Ime', 'Email', 'Facebook', 'Dodan', 'Zadnja promjena', 'Ime Roditelja', 'Broj roditelja', 'Škola/Fakultet', 'Razred')); $i = 1; foreach ($klijenti as $klijent) { $i++; $klijent->broj_mobitela = Klijent::getReadableBrojMobitela($klijent->broj_mobitela); $klijent->broj_roditelja = Klijent::getReadableBrojMobitela($klijent->broj_roditelja); $row = $klijent->toArray(); unset($row['pivot']); $sheet->appendRow($row); } }); })->download($format); }