/** * Show the form for creating a new resource. * * @return Response */ public function create($recipe_id, $type) { $recipe = Recipes::findOrFail($recipe_id); if ($type == 'recipe') { $included_recipes = RecipeItems::where(['recipe_id' => $recipe_id, 'type' => $type])->lists('sub_recipe'); $included_recipes[] = $recipe_id; $select_recipes = $included_recipes ? Recipes::whereNotIn('id', $included_recipes)->lists('title', 'id') : Recipes::lists('title', 'id'); if ($select_recipes) { return view('RecipeItems.create_recipe')->with(array('title' => $this->title, 'recipe' => $recipe, 'recipes' => $select_recipes, 'type' => $type)); } else { Session::flash('flash_message', 'It looks like you have included all possible recipes already.'); return Redirect::action('RecipeItemsController@index', $recipe->id); } } else { $items = ItemUnits::orderBy('default', 'DESC')->get(); $items_units = []; foreach ($items as $item) { $items_units['list'][$item->item()->first()->id][] = ['id' => $item->id, 'title' => $item->unit()->first()->title]; $items_units['php_list'][$item->item()->first()->id][$item->id] = $item->unit()->first()->title; $items_units['factors'][$item->id] = $item->factor; } $select_items = Items::whereNotIn('id', RecipeItems::where(['recipe_id' => $recipe_id, 'type' => $type])->lists('item_id'))->orderBy('title', 'ASC')->lists('title', 'id'); if ($select_items) { return view('RecipeItems.create_item')->with(array('title' => $this->title, 'recipe' => $recipe, 'items' => $select_items, 'items_units' => $items_units, 'type' => $type)); } else { Session::flash('flash_message', 'It looks like you have used all possible products in your recipe.'); return Redirect::action('RecipeItemsController@index', $recipe->id); } } }
public function setDefault($id) { $itemUnit = ItemUnits::findOrFail($id); Helper::add($id, 'changed item ' . $itemUnit->item()->first()->title . '(ID ' . $itemUnit->item()->first()->id . ') default unit to ' . $itemUnit->unit()->first()->title); ItemUnits::where('item_id', $itemUnit->item_id)->update(['default' => 0]); ItemUnits::where('id', $id)->update(['default' => 1]); ItemUnits::where(['item_id' => $itemUnit->item_id])->update(['factor' => DB::raw('factor/' . $itemUnit->factor)]); StockItem::where(['item_id' => $itemUnit->item_id])->update(['stock' => DB::raw('stock/' . $itemUnit->factor)]); RecipeItems::where(['item_id' => $itemUnit->item_id])->update(['value' => DB::raw('value/' . $itemUnit->factor)]); Menu::where(['item_id' => $itemUnit->item_id])->update(['value' => DB::raw('value/' . $itemUnit->factor)]); ItemPurchases::where(['item_id' => $itemUnit->item_id])->update(['value' => DB::raw('value/' . $itemUnit->factor)]); StockCheck::where(['item_id' => $itemUnit->item_id])->update(['before' => DB::raw('`before` / ' . $itemUnit->factor), 'after' => DB::raw('`after` / ' . $itemUnit->factor)]); return Redirect::action('ItemUnitsController@index', array('item_id' => $itemUnit->item_id)); }