added ticket subcategories

This commit is contained in:
ilmedova 2023-04-03 14:56:10 +05:00
parent 4d37b6c733
commit 9b32b9bfdb
2 changed files with 17 additions and 4 deletions

View File

@ -9,6 +9,7 @@
use App\Http\Resources\TicketResource;
use App\Models\Account;
use App\Models\Business;
use App\Models\Category;
use App\Models\Client;
use App\Models\Company;
use App\Models\Message;
@ -111,15 +112,16 @@ public function getTickets(Request $request)
public function postTicket(TicketRequest $request)
{
$ticket = new Ticket($request->only('content', 'title','category_id'));
$ticket = new Ticket($request->only('content', 'title', 'category_id'));
$category = Category::find($ticket->catgeory_id);
$client = $request->user();
$ticket['client_id'] = $client->account_id;
$status = Status::where('name', 'Open')->firstOrFail();
$ticket['status_id'] = $status->id;
$ticket['last_sender'] = 'client';
$ticket->save();
$users = User::with(["permissions" => function($q) {
$q->whereIn("name", ["tickets"]);
$users = User::with(["permissions" => function($q) use ($category){
$q->whereIn("name", ["tickets"])->whereIn("name", ["ticket-category-" . $category->name]);
}])->get();
Notification::send($users, new TicketPosted());
return TicketResource::make($ticket);

View File

@ -5,6 +5,7 @@
use App\Http\Requests\CategoryRequest;
use Backpack\CRUD\app\Http\Controllers\CrudController;
use Backpack\CRUD\app\Library\CrudPanel\CrudPanelFacade as CRUD;
use Backpack\PermissionManager\app\Models\Permission;
/**
* Class CategoryCrudController
@ -17,7 +18,7 @@ class CategoryCrudController extends CrudController
use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\ShowOperation;
use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation { store as traitStore; }
/**
* Configure the CrudPanel object. Apply settings to all operations.
@ -80,4 +81,14 @@ protected function setupUpdateOperation()
{
$this->setupCreateOperation();
}
public function store()
{
$response = $this->traitStore();
Permission::create([
'name' => "ticket-category-" . $this->crud->getRequest()->request->get('name'),
'guard_name' => 'web'
]);
return $response;
}
}