Exemplo n.º 1
0
 public function run()
 {
     DB::table('kategorije')->delete();
     Kategorija::create(array('id' => 1, 'ime' => 'Home', 'nadkategorija_id' => 1));
 }
Exemplo n.º 2
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.º 3
0
<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
Exemplo n.º 4
0
    $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;
?>
" >
Exemplo n.º 5
0
<?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);
Exemplo n.º 6
0
 /**
  * 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);
     });
 }
Exemplo n.º 7
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();
     }
 }
Exemplo n.º 8
0
 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);
 }