from home
This commit is contained in:
parent
fe0eded740
commit
5663666328
91
DataTables/CardboardDataTable.php
Normal file
91
DataTables/CardboardDataTable.php
Normal file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Cetaklabel\DataTables;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
|
||||
use Modules\Cetaklabel\Entities\Cardboard;
|
||||
use Yajra\DataTables\EloquentDataTable;
|
||||
use Yajra\DataTables\Html\Builder as HtmlBuilder;
|
||||
use Yajra\DataTables\Html\Column;
|
||||
use Yajra\DataTables\Services\DataTable;
|
||||
|
||||
class CardboardDataTable extends DataTable
|
||||
{
|
||||
/**
|
||||
* Build the DataTable class.
|
||||
*
|
||||
* @param QueryBuilder $query Results from query() method.
|
||||
*/
|
||||
public function dataTable(QueryBuilder $query)
|
||||
: EloquentDataTable
|
||||
{
|
||||
return (new EloquentDataTable($query))
|
||||
->filter(function ($query) {
|
||||
if (request()->has('search')) {
|
||||
$search = request()->get('search');
|
||||
$query->where('kode', 'like', "%" . $search['value'] . "%")
|
||||
->orWhere('name', 'like', "%" . $search['value'] . "%");
|
||||
}
|
||||
})
|
||||
->addIndexColumn()
|
||||
->addColumn('action', 'cetaklabel::cardboard._action')
|
||||
->setRowId('id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the query source of dataTable.
|
||||
*/
|
||||
public function query(Cardboard $model)
|
||||
: QueryBuilder
|
||||
{
|
||||
return $model->newQuery();
|
||||
}
|
||||
|
||||
/**
|
||||
* Optional method if you want to use the html builder.
|
||||
*/
|
||||
public function html()
|
||||
: HtmlBuilder
|
||||
{
|
||||
return $this->builder()
|
||||
->setTableId('cardboard-table')
|
||||
->columns($this->getColumns())
|
||||
->minifiedAjax()
|
||||
->stateSave(false)
|
||||
->responsive()
|
||||
->autoWidth(true)
|
||||
->orderBy(1)
|
||||
->parameters([
|
||||
'scrollX' => true,
|
||||
'drawCallback' => 'function() { KTMenu.createInstances(); }',
|
||||
])
|
||||
->addTableClass('align-middle table-row-dashed fs-6 gy-5');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the dataTable columns definition.
|
||||
*/
|
||||
public function getColumns()
|
||||
: array
|
||||
{
|
||||
return [
|
||||
Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false),
|
||||
Column::make('kode'),
|
||||
Column::make('name'),
|
||||
Column::computed('action')
|
||||
->exportable(false)
|
||||
->printable(false)
|
||||
->width(60)
|
||||
->addClass('text-center'),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the filename for export.
|
||||
*/
|
||||
protected function filename()
|
||||
: string
|
||||
{
|
||||
return 'Cardboard_' . date('YmdHis');
|
||||
}
|
||||
}
|
@ -17,13 +17,13 @@
|
||||
$table->string('name', 50);
|
||||
$table->string('status', 1)->default(0);
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -18,13 +18,13 @@
|
||||
$table->string('name', 50);
|
||||
$table->string('status', 1)->default(0);
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -19,13 +19,13 @@
|
||||
$table->string('name', 50);
|
||||
$table->string('status', 1)->default(0);
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -20,13 +20,13 @@
|
||||
$table->string('name', 50);
|
||||
$table->string('status', 1)->default(0);
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -21,13 +21,13 @@
|
||||
$table->string('name');
|
||||
$table->string('status', 1)->default(0);
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -17,13 +17,13 @@
|
||||
$table->string('name');
|
||||
$table->string('status', 1)->default(0);
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -18,13 +18,13 @@
|
||||
$table->string('description')->nullable();
|
||||
$table->string('status', 1)->default(0);
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -32,13 +32,13 @@
|
||||
$table->string('kode_odner', 8);
|
||||
$table->string('status')->default(0)->nullable();
|
||||
$table->timestamps();
|
||||
$table->timestamp('authorized_at')->nullable();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('authorized_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Modules\Cetaklabel\Entities\Directorat;
|
||||
use Modules\Cetaklabel\Entities\SubDirectorat;
|
||||
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('cardboards', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->foreignIdFor(Directorat::class)->constrained()->onDelete('cascade');
|
||||
$table->foreignIdFor(SubDirectorat::class)->constrained()->onDelete('cascade');
|
||||
$table->string('kode', 15);
|
||||
$table->string('sequence', 3)->nullable();
|
||||
$table->string('name', 100)->nullable();
|
||||
$table->string('status')->default(0)->nullable();
|
||||
$table->timestamps();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('cardboards');
|
||||
}
|
||||
};
|
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Modules\Cetaklabel\Entities\Document;
|
||||
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('cardboard_details', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->foreignId('cardboard_id')->constrained('cardboards')->onDelete('cascade');
|
||||
$table->foreignIdFor(Document::class)->constrained()->onDelete('cascade');
|
||||
$table->string('status', 1)->default(0)->nullable();
|
||||
$table->timestamps();
|
||||
$table->timestamp('approved_at')->nullable();
|
||||
$table->softDeletes();
|
||||
|
||||
$table->unsignedBigInteger('created_by')->nullable();
|
||||
$table->unsignedBigInteger('updated_by')->nullable();
|
||||
$table->unsignedBigInteger('deleted_by')->nullable();
|
||||
$table->unsignedBigInteger('approved_by')->nullable();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('cardboard_details');
|
||||
}
|
||||
};
|
33
Entities/Cardboard.php
Normal file
33
Entities/Cardboard.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Cetaklabel\Entities;
|
||||
|
||||
class Cardboard extends BaseModel
|
||||
{
|
||||
|
||||
protected $table = 'cardboards';
|
||||
|
||||
protected $fillable = [
|
||||
'directorat_id',
|
||||
'sub_directorat_id',
|
||||
'kode',
|
||||
'name',
|
||||
'sequence',
|
||||
'status',
|
||||
];
|
||||
|
||||
public function directorat()
|
||||
{
|
||||
return $this->belongsTo(Directorat::class);
|
||||
}
|
||||
|
||||
public function sub_directorat()
|
||||
{
|
||||
return $this->hasMany(SubDirectorat::class);
|
||||
}
|
||||
|
||||
public function cardboard_detail()
|
||||
{
|
||||
return $this->hasMany(CardboardDetail::class);
|
||||
}
|
||||
}
|
24
Entities/CardboardDetail.php
Normal file
24
Entities/CardboardDetail.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Cetaklabel\Entities;
|
||||
|
||||
class CardboardDetail extends BaseModel
|
||||
{
|
||||
|
||||
protected $table = 'cardboard_details';
|
||||
|
||||
protected $fillable = [
|
||||
'cardboard_id',
|
||||
'document_id'
|
||||
];
|
||||
|
||||
public function cardboard()
|
||||
{
|
||||
return $this->belongsTo(Cardboard::class);
|
||||
}
|
||||
|
||||
public function document()
|
||||
{
|
||||
return $this->belongsTo(Document::class);
|
||||
}
|
||||
}
|
@ -5,8 +5,8 @@
|
||||
use App\Http\Controllers\ApiController;
|
||||
use Exception;
|
||||
use Modules\Cetaklabel\Entities\Directorat;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\StoreDirectoratRequest;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\UpdateDirectoratRequest;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\StoreCardboardRequest;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\UpdateCardboardRequest;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
|
||||
class DirectoratController extends ApiController
|
||||
@ -30,7 +30,7 @@
|
||||
return $this->sendResponse($directorat, 'Directorat retrieved successfully.');
|
||||
}
|
||||
|
||||
public function store(StoreDirectoratRequest $request)
|
||||
public function store(StoreCardboardRequest $request)
|
||||
: JsonResponse
|
||||
{
|
||||
// Validate the request...
|
||||
@ -50,7 +50,7 @@
|
||||
return $this->sendError('Directorat created failed.', 400);
|
||||
}
|
||||
|
||||
public function update(UpdateDirectoratRequest $request, Directorat $directorat)
|
||||
public function update(UpdateCardboardRequest $request, Directorat $directorat)
|
||||
: JsonResponse
|
||||
{
|
||||
// Validate the request...
|
||||
|
161
Http/Controllers/CardboardController.php
Normal file
161
Http/Controllers/CardboardController.php
Normal file
@ -0,0 +1,161 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Cetaklabel\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Modules\Cetaklabel\DataTables\CardboardDataTable;
|
||||
use Modules\Cetaklabel\Entities\Cardboard;
|
||||
use Modules\Cetaklabel\Http\Requests\Cardboard\StoreCardboardRequest;
|
||||
use Modules\Cetaklabel\Http\Requests\Cardboard\UpdateCardboardRequest;
|
||||
|
||||
class CardboardController extends Controller
|
||||
{
|
||||
public $user;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware(function ($request, $next) {
|
||||
$this->user = Auth::guard('web')->user();
|
||||
return $next($request);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the Cardboards.
|
||||
*
|
||||
* @param \App\DataTables\CardboardDataTable $dataTable
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function index(CardboardDataTable $dataTable, Request $request)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('document.read')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to view any document data !');
|
||||
}
|
||||
|
||||
return $dataTable->render('cetaklabel::directorat.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created Cardboard in storage.
|
||||
*
|
||||
* @param \App\Http\Requests\StoreCardboardRequest $request
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function store(StoreCardboardRequest $request)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('document.create')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to create any document data !');
|
||||
}
|
||||
|
||||
// Validate the request...
|
||||
$validated = $request->validated();
|
||||
|
||||
// Store the Cardboard...
|
||||
if ($validated) {
|
||||
try {
|
||||
Cardboard::create($validated);
|
||||
echo json_encode(['status' => 'success', 'message' => 'Cardboard created successfully.']);
|
||||
} catch (Exception $e) {
|
||||
echo json_encode(['status' => 'error', 'message' => 'Cardboard created failed.']);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
echo json_encode(['status' => 'error', 'message' => 'Cardboard created failed.']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new Cardboard.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('document.create')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to create any document data !');
|
||||
}
|
||||
|
||||
abort(404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified Cardboard.
|
||||
*
|
||||
* @param \Modules\Cetaklabel\Entities\Cardboard $cardboard
|
||||
*/
|
||||
public function show(Cardboard $cardboard)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('document.read')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to view any document data !');
|
||||
}
|
||||
abort(404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified Cardboard.
|
||||
*
|
||||
* @param $id
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('document.update')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to update any document data !');
|
||||
}
|
||||
|
||||
$cardboard = Cardboard::find($id);
|
||||
echo json_encode($cardboard);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified Cardboard in storage.
|
||||
*
|
||||
* @param \App\Http\Requests\UpdateCardboardRequest $request
|
||||
* @param \Modules\Cetaklabel\Entities\Cardboard $cardboard
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(UpdateCardboardRequest $request, Cardboard $cardboard)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('document.update')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to update any document data !');
|
||||
}
|
||||
|
||||
// Validate the request...
|
||||
$validated = $request->validated();
|
||||
|
||||
// Update the Cardboard...
|
||||
if ($validated) {
|
||||
try {
|
||||
$cardboard->update($validated);
|
||||
|
||||
echo json_encode(['status' => 'success', 'message' => 'Cardboard updated successfully.']);
|
||||
} catch (Exception $e) {
|
||||
echo json_encode(['status' => 'error', 'message' => 'Cardboard updated failed.']);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
echo json_encode(['status' => 'error', 'message' => 'Cardboard updated failed.']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified Cardboard from storage.
|
||||
*
|
||||
* @param \Modules\Cetaklabel\Entities\Cardboard $cardboard
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function destroy(Cardboard $cardboard)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('document.delete')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to delete any document data !');
|
||||
}
|
||||
|
||||
$cardboard->delete();
|
||||
echo json_encode(['status' => 'success', 'message' => 'Cardboard deleted successfully.']);
|
||||
}
|
||||
}
|
@ -8,8 +8,8 @@
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Modules\Cetaklabel\DataTables\DirectoratDataTable;
|
||||
use Modules\Cetaklabel\Entities\Directorat;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\StoreDirectoratRequest;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\UpdateDirectoratRequest;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\StoreCardboardRequest;
|
||||
use Modules\Cetaklabel\Http\Requests\Directorat\UpdateCardboardRequest;
|
||||
|
||||
class DirectoratController extends Controller
|
||||
{
|
||||
@ -46,7 +46,7 @@
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function store(StoreDirectoratRequest $request)
|
||||
public function store(StoreCardboardRequest $request)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('master.create')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to create any master data !');
|
||||
@ -116,7 +116,7 @@
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function update(UpdateDirectoratRequest $request, Directorat $directorat)
|
||||
public function update(UpdateCardboardRequest $request, Directorat $directorat)
|
||||
{
|
||||
if (is_null($this->user) || !$this->user->can('master.update')) {
|
||||
abort(403, 'Sorry !! You are Unauthorized to update any master data !');
|
||||
|
67
Http/Requests/Cardboard/StoreCardboardRequest.php
Normal file
67
Http/Requests/Cardboard/StoreCardboardRequest.php
Normal file
@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Cetaklabel\Http\Requests\Cardboard;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Http\Exceptions\HttpResponseException;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Illuminate\Validation\Validator;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
|
||||
class StoreCardboardRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize()
|
||||
: bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, \Illuminate\Contracts\Validation\Rule|array|string>
|
||||
*/
|
||||
public function rules()
|
||||
: array
|
||||
{
|
||||
return [
|
||||
'kode' => 'required|stringunique:cardboards,kode',
|
||||
'name' => 'required|string|max:50'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the validator instance.
|
||||
*/
|
||||
public function withValidator(Validator $validator)
|
||||
: void
|
||||
{
|
||||
$validator->after(function (Validator $validator) {
|
||||
if ($validator->errors()->any()) {
|
||||
$errors = json_decode($validator->errors()->toJson(), true);
|
||||
|
||||
|
||||
foreach ($errors as $key => $value) {
|
||||
flash($value[0]);
|
||||
}
|
||||
return redirect()->route('cardboard.index')->with('error', 'Cardboard created failed.');
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
protected function failedValidation(Validator|\Illuminate\Contracts\Validation\Validator $validator)
|
||||
: JsonResponse
|
||||
{
|
||||
$errors = (new ValidationException($validator))->errors();
|
||||
|
||||
throw new HttpResponseException(response()->json([
|
||||
'success' => false,
|
||||
'errors' => $errors,
|
||||
'messages' => 'Cardboard created failed.'
|
||||
], JsonResponse::HTTP_UNPROCESSABLE_ENTITY));
|
||||
}
|
||||
}
|
65
Http/Requests/Cardboard/UpdateCardboardRequest.php
Normal file
65
Http/Requests/Cardboard/UpdateCardboardRequest.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Cetaklabel\Http\Requests\Cardboard;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Http\Exceptions\HttpResponseException;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Illuminate\Validation\Validator;
|
||||
|
||||
class UpdateCardboardRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize()
|
||||
: bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, \Illuminate\Contracts\Validation\Rule|array|string>
|
||||
*/
|
||||
public function rules()
|
||||
: array
|
||||
{
|
||||
return [
|
||||
'kode' => 'required|string|unique:cardboards,kode,' . $this->cardboard->id,
|
||||
'name' => 'required|string|max:50'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the validator instance.
|
||||
*/
|
||||
public function withValidator(Validator $validator)
|
||||
: void
|
||||
{
|
||||
$validator->after(function (Validator $validator) {
|
||||
if ($validator->errors()->any()) {
|
||||
$error = json_decode($validator->errors()->toJson(), true);
|
||||
foreach ($error as $key => $value) {
|
||||
flash($value[0]);
|
||||
}
|
||||
|
||||
return redirect()->route('cardboard.index')->with('error', 'Cardboard updated failed.');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected function failedValidation(Validator|\Illuminate\Contracts\Validation\Validator $validator)
|
||||
: JsonResponse
|
||||
{
|
||||
$errors = (new ValidationException($validator))->errors();
|
||||
|
||||
throw new HttpResponseException(response()->json([
|
||||
'success' => false,
|
||||
'errors' => $errors,
|
||||
'messages' => 'Cardboard updated failed.'
|
||||
], JsonResponse::HTTP_UNPROCESSABLE_ENTITY));
|
||||
}
|
||||
}
|
@ -36,6 +36,7 @@
|
||||
Route::resource('document-type', DocumentTypeController::class);
|
||||
|
||||
Route::resource('document', DocumentController::class);
|
||||
Route::resource('dus', DocumentController::class);
|
||||
Route::get('document-download/{id}', [DocumentController::class, 'download'])->name('document.download');
|
||||
Route::get('document-label/{id}', [DocumentController::class, 'label'])->name('document.label');
|
||||
Route::get('document-odner/{id}', [DocumentController::class, 'odner'])->name('document.odner');
|
||||
|
Loading…
Reference in New Issue
Block a user