diff --git a/app/Http/Controllers/Admin/QuestionController.php b/app/Http/Controllers/Admin/QuestionController.php new file mode 100644 index 0000000..3f059a1 --- /dev/null +++ b/app/Http/Controllers/Admin/QuestionController.php @@ -0,0 +1,118 @@ + + ['title' => "Edit", 'class' => 'btn-outline-primary', 'icon' => 'ri-edit-2-line'], +// 'show' => +// ['title' => "Detail", 'class' => 'btn-outline-light', 'icon' => 'ri-eye-line'], + 'destroy' => + ['title' => "Remove", 'class' => 'btn-outline-danger delete-confirm', 'icon' => 'ri-close-line'], + ]; + + + public function __construct() + { + parent::__construct(Question::class, QuestionSaveRequest::class); + } + + /** + * @param $question Question + * @param $request QuestionSaveRequest + * @return Question + */ + public function save($question, $request) + { + + $question->body = $request->input('body'); + $question->answer = $request->input('answer'); + $question->status = $request->input('status'); + $question->save(); + return $question; + + } + + + /** + * Show the form for creating a new resource. + */ + public function create() + { + // + return view($this->formView); + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(Question $item) + { + // + return view($this->formView, compact('item')); + } + + public function bulk(Request $request) + { + +// dd($request->all()); + $data = explode('.', $request->input('action')); + $action = $data[0]; + $ids = $request->input('id'); + switch ($action) { + case 'delete': + $msg = __(':COUNT items deleted successfully', ['COUNT' => count($ids)]); + $this->_MODEL_::destroy($ids); + break; + case 'publish': + $this->_MODEL_::whereIn('id', $request->input('id'))->update(['status' => 1]); + $msg = __(':COUNT items published successfully', ['COUNT' => count($ids)]); + break; + case 'draft': + $this->_MODEL_::whereIn('id', $request->input('id'))->update(['status' => 0]); + $msg = __(':COUNT items drafted successfully', ['COUNT' => count($ids)]); + break; + default: + $msg = __('Unknown bulk action : :ACTION', ["ACTION" => $action]); + } + + return $this->do_bulk($msg, $action, $ids); + } + + public function destroy(Question $item) + { + return parent::delete($item); + } + + + public function update(Request $request, Question $item) + { + return $this->bringUp($request, $item); + } + + +} diff --git a/app/Http/Requests/QuestionSaveRequest.php b/app/Http/Requests/QuestionSaveRequest.php new file mode 100644 index 0000000..56d7d94 --- /dev/null +++ b/app/Http/Requests/QuestionSaveRequest.php @@ -0,0 +1,31 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array|string> + */ + public function rules(): array + { + return [ + // + 'body' => ['required','string'], + 'answer' => ['nullable','string'], + 'status' => ['nullable','boolean'], + ]; + } +} diff --git a/resources/views/admin/questions/question-form.blade.php b/resources/views/admin/questions/question-form.blade.php new file mode 100644 index 0000000..4da71f0 --- /dev/null +++ b/resources/views/admin/questions/question-form.blade.php @@ -0,0 +1,103 @@ +@extends('admin.templates.panel-form-template') +@section('title') + @if(isset($item)) + {{__("Edit question")}} [{{$item->id}}] + @else + {{__("Add new question")}} + @endif - +@endsection +@section('form') + +
+
+ + @include('components.err') +
+

+ + {{__("Tips")}} +

+
    +
  • + {{__("Recommends")}} +
  • +
+
+ @if(isset($item)) +
+

+ + {{__("Information")}} +

+ +
+ + @endif + +
+
+
+ +

+ @if(isset($item)) + {{__("Edit question")}} [{{$item->id}}] + @else + {{__("Add new question")}} + @endif +

+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+ +
+ + +
+ +
+
+
+
+@endsection diff --git a/resources/views/admin/questions/question-list.blade.php b/resources/views/admin/questions/question-list.blade.php new file mode 100644 index 0000000..1340f5e --- /dev/null +++ b/resources/views/admin/questions/question-list.blade.php @@ -0,0 +1,17 @@ +@extends('admin.templates.panel-list-template') + +@section('list-title') + + {{__("Questions list")}} +@endsection +@section('title') + {{__("Questions list")}} - +@endsection +@section('filter') + {{-- Other filters --}} +@endsection +@section('bulk') + {{-- --}} + + +@endsection diff --git a/resources/views/admin/templates/panel-list-template.blade.php b/resources/views/admin/templates/panel-list-template.blade.php index 94b3def..1a0c939 100644 --- a/resources/views/admin/templates/panel-list-template.blade.php +++ b/resources/views/admin/templates/panel-list-template.blade.php @@ -178,7 +178,7 @@ {{ $item->parent?->{$cols[0]}??'-' }} @break @case($col == 'status') -
+
@break @case($col == 'user_id') diff --git a/resources/views/components/panel-side-navbar.blade.php b/resources/views/components/panel-side-navbar.blade.php index a1d5d3f..901c5f4 100644 --- a/resources/views/components/panel-side-navbar.blade.php +++ b/resources/views/components/panel-side-navbar.blade.php @@ -149,7 +149,7 @@