Пример #1
0
 public static function store()
 {
     // POST-pyynnön muuttujat sijaitsevat $_POST nimisessä assosiaatiolistassa
     $params = $_POST;
     $category = $params['category'];
     // Alustetaan uusi drink-luokan olion käyttäjän syöttämillä arvoilla
     $attributes = array('name' => $params['name'], 'publisher' => $params['publisher'], 'published' => $params['published'], 'category_id' => $category, 'description' => $params['description']);
     $drink = new Drink($attributes);
     $errors = $drink->errors();
     $categories = Category::all();
     Kint::dump($errors);
     if (count($errors) == 0) {
         // Peli on validi, hyvä homma!
         $drink->save();
         Redirect::to('/drink/' . $drink->id, array('message' => 'Drinkki on lisätty kirjastoosi!'));
     } else {
         // Pelissä oli jotain vikaa :(
         View::make('drink/new.html', array('errors' => $errors, 'attributes' => $attributes, 'categories' => $categories));
     }
 }
Пример #2
0
 public static function store()
 {
     $newDrink = new Drink();
     $mockDrink = new Drink();
     $drink_types = DrinkType::listDrinkTypes();
     $name = $_POST['drink_name'];
     $ingredients = $_POST['ingredients'];
     $amounts = $_POST['amounts'];
     $units = $_POST['units'];
     $mockDrink->setDrink_name($name);
     $mockDrink->setDrink_type($_POST['drink_type']);
     $mockDrink->setInstructions($_POST['instructions']);
     DrinkController::validateNew($name, $mockDrink, $drink_types, $ingredients, $amounts);
     $newDrink->setDrink_name($name);
     $newDrink->setDrink_type($_POST['drink_type']);
     $newDrink->setInstructions($_POST['instructions']);
     $newDrink->setAdder_id($_SESSION['user']);
     $newDrink->save();
     DrinkController::addIngredients($ingredients, $newDrink, $amounts, $units);
     Redirect::to('/drink/' . $newDrink->getDrink_id(), array('message' => 'Drink has been archived.'));
 }
Пример #3
0
function updateDrink($id)
{
    if (is_null($id)) {
        Functions::setResponse(400);
    }
    $data = Functions::getJSONData();
    try {
        $c = new Drink($id);
        foreach ($c->getFields() as $field) {
            $value = Functions::elt($data, $field['name']);
            if (is_null($value)) {
                Functions::setResponse(400);
            }
            $c->set($field['name'], $value);
        }
        $c->set('id', $id);
        $c->save();
        return true;
    } catch (RuntimeException $e) {
        Functions::setResponse(404);
    }
}
Пример #4
0
 public static function store()
 {
     $params = $_POST;
     $v = new Valitron\Validator($_POST);
     $v->rule('required', 'nimi')->message('{field} pitää antaa')->label('Nimi');
     $v->rule('required', 'ainekset')->message('Valitse vähintään yksi {field}')->label('Aines');
     $v->rule('lengthMin', 'nimi', 1)->message('{field} pitää olla 1-50 merkkiä pitkä')->label('Nimi');
     $v->rule('lengthMax', 'nimi', 50)->message('{field} pitää olla 1-50 merkkiä pitkä')->label('Nimi');
     $v->rule('lengthMax', 'tyyppi', 30)->message('{field} saa olla korkeintaan 30 merkkiä pitkä')->label('Tyyppi');
     $v->rule('lengthMax', 'lasi', 30)->message('{field} nimi saa olla korkeintaan 30 merkkiä pitkä')->label('Lasin');
     if (!isset($params['alkoholiton'])) {
         $params['alkoholiton'] = 0;
     }
     $params['tyovaiheet'] = " ";
     $drink = new Drink(array('nimi' => $params['nimi'], 'tyyppi' => $params['tyyppi'], 'alkoholiton' => $params['alkoholiton'], 'lasi' => $params['lasi'], 'kuvaus' => $params['kuvaus'], 'tyovaiheet' => $params['tyovaiheet']));
     if ($v->validate()) {
         $ainekset = $params['ainekset'];
         $drink->save($ainekset);
         Redirect::to('/drinks/' . $drink->drinkki_id, array('message' => 'Resepti lisätty tietokantaan'));
     } else {
         if (!isset($params['ainekset'])) {
             $ainekset = array();
         } else {
             $ainekset = $params['ainekset'];
         }
         $aineslista = Aines::all();
         View::make('drinks/addnew.html', array('errors' => $v->errors(), 'ainekset' => $ainekset, 'aineslista' => $aineslista, 'attributes' => $drink));
     }
 }