Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
],
"require": {
"php": "^7.4|^8.0",
"illuminate/support": "^8.0|^9.0"
"illuminate/support": "^8.0|^9.0",
"livewire/livewire": "^2.10"
},
"require-dev": {
"orchestra/testbench": "^6.4",
Expand Down Expand Up @@ -50,4 +51,4 @@
}
}
}
}
}
1 change: 1 addition & 0 deletions config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@
'list-category' => 'can:categories.index',
'show-category' => 'can:categories.show',
'edit-category' => 'can:categories.edit',
'delete-category' => 'can:categories.delete',
/*
* For administrate tickets
*/
Expand Down
13 changes: 12 additions & 1 deletion resources/views/alert.blade.php
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
<div class="alert alert-{{ $type }}" role="alert">{{ $message }}</div>
<div>
@if (session()->has('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if (session()->has('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
</div>
33 changes: 0 additions & 33 deletions resources/views/categories/create.blade.php

This file was deleted.

12 changes: 12 additions & 0 deletions resources/views/categories/data.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
@extends(config('laravel-tickets.layouts'))

@section('content')
<div class="card">
<div class="card-header">
@lang(Str::ucfirst($action.' category'))
</div>
<div class="card-body">
<livewire:laravel-tickets::category-form :action="$action" :category="$category" />
</div>
</div>
@endsection
31 changes: 31 additions & 0 deletions resources/views/categories/form.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<div>
<form wire:submit.prevent="store">
<div class="row">
<div class="col-12">
<div class="form-group">
<label>@lang('Translation')</label>
<textarea class="form-control @error('translation') is-invalid @enderror"
placeholder="@lang('translation')" wire:model.defer="translation" name="translation"
@if($action=='show' ) disabled @endif>{{ old('translation') }}</textarea>
@error('translation')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
<div class="col-12 mt-2">
@if ($action!='show')
<button class="btn btn-success m-1">
@if ($action=='add')
@lang('Create')
@elseif ($action=='edit')
@lang('Save')
@endif
</button>
<a href="{{ route('laravel-tickets.categories.index') }}" class="btn btn-danger">@lang('Cancel')</a>
@else
<a href="{{ route('laravel-tickets.categories.index') }}" class="btn btn-primary">@lang('Back')</a>
@endif
</div>
</div>
</form>
</div>
5 changes: 3 additions & 2 deletions resources/views/categories/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@
</div>

<div class="card-body">
@includeWhen(session()->has('message'), 'laravel-tickets::alert', ['message' => session()->get('message'),'type'
=> session()->get('type')])

<livewire:laravel-tickets::alerts />

<div class="table-responsive">
<table class="table table-striped">
<thead class="th">
Expand Down
40 changes: 0 additions & 40 deletions resources/views/categories/show.blade.php

This file was deleted.

3 changes: 3 additions & 0 deletions resources/views/tickets/form.blade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<div>
let do it
</div>
13 changes: 13 additions & 0 deletions src/Components/Alerts.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace RexlManu\LaravelTickets\Components;

use Livewire\Component;

class Alerts extends Component
{
public function render()
{
return view('laravel-tickets::alert');
}
}
53 changes: 53 additions & 0 deletions src/Components/Categories/CategoryForm.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?php

namespace RexlManu\LaravelTickets\Components\Categories;

use Livewire\Component;
use RexlManu\LaravelTickets\Models\TicketCategory;

class CategoryForm extends Component
{
public $action;
public $category;

public $translation;

public function mount($action = 'add', TicketCategory $category)
{
$this->action = $action;
$this->category = $category;

if ($category) {
$this->translation = $category->translation;
}
}

public function render()
{
return view('laravel-tickets::categories.form');
}

public function store()
{
$this->validate([
'translation' => ['required', 'string', 'max:191'],
], [], [
'translation' => __('Translation')
]);

if ($this->action == 'edit') {
$this->category->translation = $this->translation;
$this->category->save();
session()->flash('success', __('The category was successfully updated'));
} else if ($this->action == 'add') {
TicketCategory::create(
[
'translation' => $this->translation
]
);
session()->flash('success', __('The category was successfully created'));
}

return redirect()->to(route('laravel-tickets.categories.index'));
}
}
13 changes: 13 additions & 0 deletions src/Components/Tickets/TicketForm.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace RexlManu\LaravelTickets\Components\Tickets;

use Livewire\Component;

class TicketForm extends Component
{
public function render()
{
return view('laravel-tickets::tickets.form');
}
}
58 changes: 9 additions & 49 deletions src/Controllers/CategoryControllable.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,8 @@

use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Illuminate\View\View;
use RexlManu\LaravelTickets\Models\Ticket;
use RexlManu\LaravelTickets\Models\TicketCategory;
use RexlManu\LaravelTickets\Models\TicketMessage;
use RexlManu\LaravelTickets\Models\TicketReference;
use RexlManu\LaravelTickets\Models\TicketUpload;
use RexlManu\LaravelTickets\Rule\TicketReferenceRule;
use Symfony\Component\HttpFoundation\BinaryFileResponse;

/**
* Class TicketController
Expand Down Expand Up @@ -71,45 +63,11 @@ public function index()
*/
public function create()
{
return view('laravel-tickets::categories.create');
return view('laravel-tickets::categories.data')->with([
'action' => 'add',
'category' => new TicketCategory
]);
}

/**
* Creates a @param Request $request the request
*
* @return View|JsonResponse|RedirectResponse
* @link TicketCategory
*
*/
public function store(Request $request)
{
$rules = [
'translation' => ['required', 'string', 'max:191'],
];
$data = $request->validate($rules);

if ($request->has('action') && $request->action == 'edit') {
$category = TicketCategory::where('id', $request->category_id)->update(
$request->only('translation')
);
$message = trans('The category was successfully updated');
} else {
$category = TicketCategory::create(
$request->only('translation')
);
$message = trans('The category was successfully created');
}

return $request->wantsJson() ?
response()->json(compact('category')) :
redirect(route(
'laravel-tickets.categories.index'
))->with([
'message' => $message,
'type' => 'success'
]);
}

/**
* Show detailed informations about the @param TicketCategory $category
*
Expand All @@ -129,7 +87,7 @@ public function show(TicketCategory $category)
'category',
)) :
view(
'laravel-tickets::categories.show',
'laravel-tickets::categories.data',
compact(
'category',
)
Expand All @@ -154,7 +112,7 @@ public function edit(TicketCategory $category)
'category',
)) :
view(
'laravel-tickets::categories.show',
'laravel-tickets::categories.data',
compact(
'category',
)
Expand All @@ -172,7 +130,9 @@ public function destroy(TicketCategory $category)

$category->delete();

$message = trans('The category was successfully deleted');
$message = __('The category was successfully deleted');

session()->flash('success', $message);

return \request()->wantsJson() ?
response()->json(compact(
Expand Down
9 changes: 9 additions & 0 deletions src/LaravelTicketsServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
use Illuminate\Routing\Router;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\ServiceProvider;
use Livewire\Livewire;
use RexlManu\LaravelTickets\Commands\AutoCloseCommand;
use RexlManu\LaravelTickets\Components\Alerts;
use RexlManu\LaravelTickets\Components\Categories\CategoryForm;
use RexlManu\LaravelTickets\Models\Ticket;
use RexlManu\LaravelTickets\Models\TicketMessage;
use RexlManu\LaravelTickets\Models\TicketUpload;
Expand Down Expand Up @@ -58,6 +61,12 @@ public function boot()
$this->commands([AutoCloseCommand::class]);
}
}

/**
* Register components
*/
Livewire::component('laravel-tickets::alerts', Alerts::class);
Livewire::component('laravel-tickets::category-form', CategoryForm::class);
}

/**
Expand Down