4 changed files with 58 additions and 138 deletions
-
38app/Entities/Options/OptionsRepository.php
-
113app/Http/Controllers/References/OptionsController.php
-
31app/Http/Requests/Options/CreateRequest.php
-
14routes/web/references.php
@ -1,38 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace App\Entities\Options; |
|
||||
|
|
||||
use App\Entities\BaseRepository; |
|
||||
use App\Exceptions\OptionNotFoundException; |
|
||||
use App\Exceptions\OptionUpdateException; |
|
||||
use App\Exceptions\OptionDeleteException; |
|
||||
|
|
||||
/** |
|
||||
* Options Repository Class |
|
||||
*/ |
|
||||
class OptionsRepository extends BaseRepository |
|
||||
{ |
|
||||
protected $model; |
|
||||
|
|
||||
public function __construct(Option $model) |
|
||||
{ |
|
||||
parent::__construct($model); |
|
||||
} |
|
||||
|
|
||||
public function getAll($q = null) |
|
||||
{ |
|
||||
return Option::all(); |
|
||||
} |
|
||||
|
|
||||
public function save($optionsData) |
|
||||
{ |
|
||||
$options = $this->getAll(); |
|
||||
foreach ($optionsData as $key => $value) { |
|
||||
$option = $options->where('key', $key)->first(); |
|
||||
$option->value = $value; |
|
||||
$option->save(); |
|
||||
} |
|
||||
|
|
||||
return 'saved'; |
|
||||
} |
|
||||
} |
|
||||
@ -1,31 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace App\Http\Requests\Options; |
|
||||
|
|
||||
use App\Http\Requests\Request; |
|
||||
|
|
||||
class CreateRequest extends Request |
|
||||
{ |
|
||||
/** |
|
||||
* Determine if the user is authorized to make this request. |
|
||||
* |
|
||||
* @return bool |
|
||||
*/ |
|
||||
public function authorize() |
|
||||
{ |
|
||||
return auth()->user()->can('manage_options'); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* Get the validation rules that apply to the request. |
|
||||
* |
|
||||
* @return array |
|
||||
*/ |
|
||||
public function rules() |
|
||||
{ |
|
||||
return [ |
|
||||
'key' => 'required|max:255|alpha_dash', |
|
||||
'value' => 'max:255', |
|
||||
]; |
|
||||
} |
|
||||
} |
|
||||
@ -1,13 +1,11 @@ |
|||||
<?php |
<?php |
||||
|
|
||||
Route::group(['namespace' => 'References','middleware'=>['web','role:admin']], function() { |
|
||||
|
Route::group(['namespace' => 'References', 'middleware' => ['web', 'role:admin']], function () { |
||||
/** |
/** |
||||
* Options Routes |
* Options Routes |
||||
*/ |
*/ |
||||
Route::get('options', ['as'=>'options.index' , 'uses'=>'OptionsController@index']); |
|
||||
Route::get('options/create', ['as'=>'options.create' , 'uses'=>'OptionsController@create']); |
|
||||
Route::post('options/store', ['as'=>'options.store' , 'uses'=>'OptionsController@store']); |
|
||||
Route::patch('options/save', ['as'=>'options.save' , 'uses'=>'OptionsController@save']); |
|
||||
Route::get('options/{id}/delete', ['as'=>'options.delete' , 'uses'=>'OptionsController@delete']); |
|
||||
Route::delete('options/{optionId}/destroy', ['as'=>'options.destroy' , 'uses'=>'OptionsController@destroy']); |
|
||||
}); |
|
||||
|
Route::get('options', ['as' => 'options.index', 'uses' => 'OptionsController@index']); |
||||
|
Route::post('options/store', ['as' => 'options.store', 'uses' => 'OptionsController@store']); |
||||
|
Route::patch('options/save', ['as' => 'options.save', 'uses' => 'OptionsController@save']); |
||||
|
Route::delete('options/{optionId}/destroy', ['as' => 'options.destroy', 'uses' => 'OptionsController@destroy']); |
||||
|
}); |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue