Esempio n. 1
0
 /**
  * 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]);
 }
Esempio n. 2
0
 /**
  *
  *
  * @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 &#58&#58 (:id) ', ['id' => $id], 'layouts') . $request->get('name'));
 }
Esempio n. 4
0
 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;
         }
     }
 }
Esempio n. 5
0
 /**
  * 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
 }
Esempio n. 6
0
 /**
  * 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"]);
 }
Esempio n. 7
0
 /**
  * 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]);
 }
Esempio n. 8
0
 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'));
 }