help desk store

This commit is contained in:
merdan 2020-04-30 17:39:58 +05:00
parent 9d0cf32246
commit b1e00eca26
7 changed files with 94 additions and 42 deletions

View File

@ -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;
/**

View File

@ -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]);
}
}

View File

@ -26,7 +26,7 @@ class HelpTicketCommentRequest extends FormRequest
public function rules()
{
return [
// 'name' => 'required|min:5|max:255'
'text' => 'required'
];
}

View File

@ -27,7 +27,7 @@ class HelpTicketRequest extends FormRequest
{
return [
'email' => 'required|email',
'subject' => 'required|min:5|max:255',
'topic' => 'required',
'text' => 'required',
];
}

View File

@ -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.

View File

@ -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

View File

@ -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