help desk store
This commit is contained in:
parent
9d0cf32246
commit
b1e00eca26
|
|
@ -5,8 +5,8 @@ namespace App\Http\Controllers\Admin;
|
|||
use Backpack\CRUD\app\Http\Controllers\CrudController;
|
||||
|
||||
// VALIDATION: change the requests to match your own file names if you need form validation
|
||||
use App\Http\Requests\HelpTicketCategoryRequest as StoreRequest;
|
||||
use App\Http\Requests\HelpTicketCategoryRequest as UpdateRequest;
|
||||
use App\Http\Requests\HelpTopicRequest as StoreRequest;
|
||||
use App\Http\Requests\HelpTopicRequest as UpdateRequest;
|
||||
use Backpack\CRUD\CrudPanel;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -4,13 +4,24 @@
|
|||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Http\Requests\HelpTicketCommentRequest;
|
||||
use App\Http\Requests\HelpTicketRequest;
|
||||
use App\Models\HelpTicket;
|
||||
use App\Models\HelpTicketComment;
|
||||
use App\Models\HelpTopic;
|
||||
|
||||
class HelpDeskController extends Controller
|
||||
{
|
||||
|
||||
public function show(){
|
||||
public function show($code){
|
||||
|
||||
$ticket = HelpTicket::with('comments')
|
||||
->where('code',$code)
|
||||
->first();
|
||||
if(!$ticket)
|
||||
abort(404);
|
||||
|
||||
return $this->render('Pages.HelpDeskTicket',['ticket' => $ticket]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -21,11 +32,41 @@ class HelpDeskController extends Controller
|
|||
return $this->render('Pages.HelpDeskCreateForm');
|
||||
}
|
||||
|
||||
public function store(){
|
||||
public function store(HelpTicketRequest $request){
|
||||
|
||||
$ticekt = HelpTicket::create([
|
||||
'name' => $request->get('name'),
|
||||
'email' => $request->get('email'),
|
||||
'text' => $request->get('text'),
|
||||
'phone' => $request->get('phone'),
|
||||
'subject' => $request->get('subject'),
|
||||
'ticket_category_id' => $request->get('topic')
|
||||
]);
|
||||
|
||||
//todo fire event notify admin by mail, attachment
|
||||
|
||||
return redirect()->route('help.show',['code' => $ticekt->code]);
|
||||
}
|
||||
|
||||
public function comment(){
|
||||
public function comment(HelpTicketCommentRequest $request,$code){
|
||||
|
||||
$ticket = HelpTicket::select('id')
|
||||
->where('code',$code)
|
||||
->first();
|
||||
|
||||
if(!$ticket)
|
||||
abort(404);
|
||||
|
||||
$comment = HelpTicketComment::create([
|
||||
'text' => $request->text,
|
||||
'help_ticket_id' => $ticket->id
|
||||
]);
|
||||
|
||||
$ticket->update(['status' => 'pending']) ;
|
||||
|
||||
//todo notify, attachment
|
||||
|
||||
return redirect()->route('help.show',['code' => $code]);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class HelpTicketCommentRequest extends FormRequest
|
|||
public function rules()
|
||||
{
|
||||
return [
|
||||
// 'name' => 'required|min:5|max:255'
|
||||
'text' => 'required'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class HelpTicketRequest extends FormRequest
|
|||
{
|
||||
return [
|
||||
'email' => 'required|email',
|
||||
'subject' => 'required|min:5|max:255',
|
||||
'topic' => 'required',
|
||||
'text' => 'required',
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace App\Http\Requests;
|
|||
use App\Http\Requests\Request;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class HelpTicketCategoryRequest extends FormRequest
|
||||
class HelpTopicRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
|
|
@ -2,41 +2,41 @@
|
|||
@section('content')
|
||||
{{\DaveJamesMiller\Breadcrumbs\Facades\Breadcrumbs::render('help')}}
|
||||
|
||||
<section class="movie-items-group firts-child my-5">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-6">
|
||||
<form action="{{route('help.create')}}" method="POST">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
{!! Form::label('name', trans("ClientSide.name"), array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('name', old('name'),array('class'=>'form-control' )) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', trans("ClientSide.email"), array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('email', old('email'),array('class'=>'form-control' )) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('phone', trans("ClientSide.phone"), array('class'=>'control-label')) !!}
|
||||
{!! Form::text('phone', old('phone'),array('class'=>'form-control' )) !!}
|
||||
</div>
|
||||
<section class="movie-items-group firts-child my-5">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-6">
|
||||
<form action="{{route('help.create')}}" method="POST">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
{!! Form::label('name', trans("ClientSide.name"), array('class'=>'control-label')) !!}
|
||||
{!! Form::text('name', old('name'),array('class'=>'form-control' )) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', trans("ClientSide.email"), array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('email', old('email'),array('class'=>'form-control' )) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('phone', trans("ClientSide.phone"), array('class'=>'control-label')) !!}
|
||||
{!! Form::text('phone', old('phone'),array('class'=>'form-control' )) !!}
|
||||
</div>
|
||||
|
||||
<div class="form-group address-automatic">
|
||||
{!! Form::label('category', trans("ClientSide.category"), array('class'=>'control-label')) !!}
|
||||
{!! Form::select('category',help_topics(), old('category'), ['class' => 'form-control','id'=>'category']) !!}
|
||||
</div>
|
||||
<div class="form-group custom-theme">
|
||||
{!! Form::label('text', trans("ClientSide.text"), array('class'=>'control-label required')) !!}
|
||||
{!! Form::textarea('text', old('text'),
|
||||
array(
|
||||
'class'=>'form-control editable',
|
||||
'rows' => 5
|
||||
)) !!}
|
||||
</div>
|
||||
{!! Form::submit(trans("ClientSide.create_ticket"), ['class'=>"btn btn-success"]) !!}
|
||||
</form>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('topic', trans("ClientSide.topic"), array('class'=>'control-label')) !!}
|
||||
{!! Form::select('topic',help_topics(), old('topic'), ['class' => 'form-control','id'=>'topic']) !!}
|
||||
</div>
|
||||
<div class="form-group custom-theme">
|
||||
{!! Form::label('text', trans("ClientSide.text"), array('class'=>'control-label required')) !!}
|
||||
{!! Form::textarea('text', old('text'),
|
||||
array(
|
||||
'class'=>'form-control editable',
|
||||
'rows' => 5
|
||||
)) !!}
|
||||
</div>
|
||||
{!! Form::submit(trans("ClientSide.create_ticket"), ['class'=>"btn btn-success"]) !!}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
@extends('Shared.Layouts.BilettmLayout',['folder' => 'desktop'])
|
||||
@section('content')
|
||||
{{\DaveJamesMiller\Breadcrumbs\Facades\Breadcrumbs::render('help')}}
|
||||
<section class="movie-items-group firts-child my-5">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@endsection
|
||||
Loading…
Reference in New Issue