public static function store() { self::check_logged_in(array("asiakas", "tyontekija", "johtaja")); $params = $_POST; $palvelu = Palvelu::find($params['palvelu_id']); $aloitusaika = strtotime($params['paiva'] . ' ' . $params['kellonaika']); list($tunnit, $minuutit, $sekunnit) = sscanf($palvelu->kesto, '%d:%d:%d'); $kesto = new DateInterval(sprintf('PT%dH%dM', $tunnit, $minuutit)); $lopetusaika = date_timestamp_get(date_add(new DateTime('@' . $aloitusaika), $kesto)); $attributes = array('asiakas_id' => $params['asiakas_id'], 'palvelu_id' => $params['palvelu_id'], 'tyontekija_id' => $params['tyontekija_id'], 'toimitila_id' => $params['toimitila_id'], 'aloitusaika' => date('Y-m-d H:i', $aloitusaika), 'lopetusaika' => date('Y-m-d H:i', $lopetusaika), 'on_peruutettu' => NULL); $varaus = new Varaus($attributes); $errors = $varaus->errors(); // tarkistetaan resurssien ja asiakkaan saatavuus varausajalle if (count($errors) == 0) { $errors = $varaus->check_overlaps(); } if (count($errors) > 0) { $tyontekijat = Tyontekija::all(); $palvelut = Palvelu::all(); $toimitilat = Toimitila::all(); $asiakkaat = Asiakas::all(); View::make('varaus/varaus_lisaa.html', array('errors' => $errors, 'varaus' => $varaus, 'tyontekijat' => $tyontekijat, 'palvelut' => $palvelut, 'toimitilat' => $toimitilat, 'asiakkaat' => $asiakkaat)); } else { $varaus->save(); Redirect::to('/', array('message' => 'Varaus tallennettu.')); } }
public static function destroy($id) { self::check_logged_in(array("johtaja")); $palvelu = Palvelu::find($id); $errors = $palvelu->validate_destroyability(); if (count($errors) > 0) { Redirect::to('/palvelu', array('errors' => $errors)); } else { $palvelu->destroy(); Redirect::to('/palvelu', array('message' => 'Palvelu (' . $palvelu->nimi . ') poistettu.')); } }