/** * Validate and save changes. * * @return Response */ public function patchIndex(Request $request) { if (!$this->user->canAdminConfig()) { return abort(403); } $input = Input::all(); $optionGroups = OptionGroup::getSiteConfig(); $requirements = []; // From each group, foreach ($optionGroups as $optionGroup) { // From each option within each group, foreach ($optionGroup->options as $option) { if (!isset($input[$option->option_name])) { $input[$option->option_name] = null; } // Pull the validation parameter string, $requirements[$option->option_name] = $option->getValidation(); $input[$option->option_name] = $option->getSanitaryInput($input[$option->option_name]); } } // Build our validator. $validator = Validator::make($input, $requirements); if ($validator->fails()) { return redirect(Request::path())->withErrors($validator->errors()->all())->withInput(); } foreach ($optionGroups as &$optionGroup) { foreach ($optionGroup->options as &$option) { $setting = SiteSetting::firstOrNew(['option_name' => $option->option_name]); $option->option_value = $input[$option->option_name]; $setting->option_value = $input[$option->option_name]; $setting->save(); } } return $this->view(static::VIEW_CONFIG, ['groups' => $optionGroups]); }
/** * * * @return array */ public function getBoardOptions() { if (!isset($this->boardOptionGroups)) { $this->boardOptionGroups = OptionGroup::getBoardConfig($this->board); } return $this->boardOptionGroups; }
/** * Update the specified resource in storage. * PUT /optiongroups/{id} * * @param int $id * @return Response */ public function update($id, Request $request) { $optiongroup = OptionGroup::findOrFail($id); if (isset(OptionGroup::$rules['name'])) { OptionGroup::$rules['name'] .= $optiongroup->id; } $this->validate($request, OptionGroup::$rules); $optiongroup->update($request->all()); return redirect('optiongroups')->with('success', l('This record has been successfully updated :: (:id) ', ['id' => $id], 'layouts') . $request->get('name')); }
public function run() { $this->command->info('Seeding option groups and relationships.'); OptionGroupAssignment::truncate(); foreach ($this->slugs() as $slug) { $optionGroupOptions = $slug['options']; unset($slug['options']); $optionGroup = OptionGroup::firstOrNew(['group_name' => $slug['group_name']]); $optionGroup->debug_only = $slug['debug_only']; $optionGroup->display_order = $slug['display_order']; $optionGroup->save(); foreach ($optionGroupOptions as $optionGroupIndex => $optionGroupOption) { $optionGroupOptionModel = $optionGroup->assignments()->firstOrNew(['option_name' => $optionGroupOption]); $optionGroupOptionModel->display_order = $optionGroupIndex * 10; $optionGroupOptionModel->save(); $optionGroupOptionModels[] = $optionGroupOptionModel; } } }
/** * Run the database seeds. * * @return void */ public function run() { // if (App::environment() === 'production') { exit('Do not seed in production environment'); } DB::statement('SET FOREIGN_KEY_CHECKS = 0'); // disable foreign key constraints DB::table('option_groups')->truncate(); OptionGroup::create(['id' => 1, 'name' => 'Habit Status', 'sectionId' => 1]); OptionGroup::create(['id' => 2, 'name' => 'Food Preferences', 'sectionId' => 1]); OptionGroup::create(['id' => 3, 'name' => 'Non-Veg Foods', 'sectionId' => 1]); OptionGroup::create(['id' => 4, 'name' => 'Junk Foods', 'sectionId' => 1]); OptionGroup::create(['id' => 5, 'name' => 'Chronic Diseases', 'sectionId' => 2]); OptionGroup::create(['id' => 6, 'name' => 'Menstural Information', 'sectionId' => 4]); OptionGroup::create(['id' => 7, 'name' => 'Familiy Planning Methods', 'sectionId' => 4]); OptionGroup::create(['id' => 8, 'name' => 'Clinical Investigations', 'sectionId' => 4]); OptionGroup::create(['id' => 9, 'name' => 'Feeding Methods', 'sectionId' => 4]); DB::statement('SET FOREIGN_KEY_CHECKS = 1'); // enable foreign key constraints }
/** * Show the application dashboard to the user. * * @return Response */ public function getIndex(Request $request, Board $board) { if (!$board->canEditConfig($this->user)) { return abort(403); } $optionGroups = OptionGroup::getBoardConfig($board); return $this->view(static::VIEW_CONFIG, ['board' => $board, 'groups' => $optionGroups, 'tab' => "basic"]); }
/** * Renders public config. * * @param \App\Board $board * @return REsponse */ public function getConfig(Board $board) { $optionGroups = OptionGroup::getBoardConfig($board); return $this->view(static::VIEW_CONFIG, ['board' => $board, 'groups' => $optionGroups]); }
public function addOptionGroup(Request $request) { $optionGroup['name'] = $request->input('name'); $optionGroup['sectionId'] = $request->input('sectionId'); try { $result = OptionGroup::create($optionGroup); } catch (\Exception $e) { return response()->json(['error' => ['message' => 'Could not save optionGroup' . $e->getMessage(), 'code' => 101]]); } return response()->json(['optionGroup' => $result]); }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { $product = $this->product->with('tax')->with('warehouses')->with('combinations')->with('combinations.options')->with('combinations.options.optiongroup')->findOrFail($id); // Gather Attributte Groups $groups = array(); if ($product->combinations->count()) { foreach ($product->combinations as $combination) { foreach ($combination->options as $option) { $groups[$option->optiongroup->id]['name'] = $option->optiongroup->name; $groups[$option->optiongroup->id]['values'][$option->optiongroup->id . '_' . $option->id] = $option->name; } } } else { $groups = \App\OptionGroup::orderby('position', 'asc')->lists('name', 'id'); } return view('products.edit', compact('product', 'groups')); }