Commit bd8cc0e1 authored by Amanda Salsabilla's avatar Amanda Salsabilla
Browse files

pbl antrian

parent d78c8b73
No related merge requests found
Pipeline #1592 failed with stages
in 5 minutes and 47 seconds
Showing with 1588 additions and 0 deletions
+1588 -0
<?php
namespace App\Actions\Fortify;
use App\Models\Role;
use App\Models\User;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Laravel\Fortify\Contracts\CreatesNewUsers;
class CreateNewUser implements CreatesNewUsers
{
use PasswordValidationRules;
/**
* Validate and create a newly registered user.
*
* @param array $input
* @return \App\Models\User
*/
public function create(array $input)
{
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'email',
'max:255',
Rule::unique(User::class),
],
'password' => $this->passwordRules(),
])->validate();
return DB::transaction(function () use ($input) {
try {
$user = User::create([
'name' => $input['name'],
'email' => $input['email'],
'password' => Hash::make($input['password']),
]);
$role = Role::where('name', 'regular_user')->first();
$user->attachRole($role);
return $user;
} catch (\Throwable $th) {
//throw $th;
DB::rollBack();
dd($th);
}
});
}
}
<?php
namespace App\Actions\Fortify;
use Laravel\Fortify\Rules\Password;
trait PasswordValidationRules
{
/**
* Get the validation rules used to validate passwords.
*
* @return array
*/
protected function passwordRules()
{
return ['required', 'string', new Password, 'confirmed'];
}
}
<?php
namespace App\Actions\Fortify;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Laravel\Fortify\Contracts\ResetsUserPasswords;
class ResetUserPassword implements ResetsUserPasswords
{
use PasswordValidationRules;
/**
* Validate and reset the user's forgotten password.
*
* @param mixed $user
* @param array $input
* @return void
*/
public function reset($user, array $input)
{
Validator::make($input, [
'password' => $this->passwordRules(),
])->validate();
$user->forceFill([
'password' => Hash::make($input['password']),
])->save();
}
}
<?php
namespace App\Actions\Fortify;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Laravel\Fortify\Contracts\UpdatesUserPasswords;
class UpdateUserPassword implements UpdatesUserPasswords
{
use PasswordValidationRules;
/**
* Validate and update the user's password.
*
* @param mixed $user
* @param array $input
* @return void
*/
public function update($user, array $input)
{
Validator::make($input, [
'current_password' => ['required', 'string'],
'password' => $this->passwordRules(),
])->after(function ($validator) use ($user, $input) {
if (! isset($input['current_password']) || ! Hash::check($input['current_password'], $user->password)) {
$validator->errors()->add('current_password', __('The provided password does not match your current password.'));
}
})->validateWithBag('updatePassword');
$user->forceFill([
'password' => Hash::make($input['password']),
])->save();
}
}
<?php
namespace App\Actions\Fortify;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Laravel\Fortify\Contracts\UpdatesUserProfileInformation;
class UpdateUserProfileInformation implements UpdatesUserProfileInformation
{
/**
* Validate and update the given user's profile information.
*
* @param mixed $user
* @param array $input
* @return void
*/
public function update($user, array $input)
{
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'required',
'string',
'email',
'max:255',
Rule::unique('users')->ignore($user->id),
],
])->validateWithBag('updateProfileInformation');
if ($input['email'] !== $user->email &&
$user instanceof MustVerifyEmail) {
$this->updateVerifiedUser($user, $input);
} else {
$user->forceFill([
'name' => $input['name'],
'email' => $input['email'],
])->save();
}
}
/**
* Update the given verified user's profile information.
*
* @param mixed $user
* @param array $input
* @return void
*/
protected function updateVerifiedUser($user, array $input)
{
$user->forceFill([
'name' => $input['name'],
'email' => $input['email'],
'email_verified_at' => null,
])->save();
$user->sendEmailVerificationNotification();
}
}
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
//
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')->hourly();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
<?php
namespace App\Constants;
class RequestRuleConstant
{
public static function userTable()
{
return [
'user_name' => 'required|min:3',
'user_email' => 'required|min:7|max:15',
'user_password' => 'sometimes|required|min:6|confirmed',
];
}
public static function userProfileTable()
{
return [
'user_profile_nik_ektp' => 'required',
'user_profile_gender' => 'required|in:laki-laki,perempuan',
'user_profile_tempat_lahir' => 'required',
'user_profile_tanggal_lahir' => 'required',
'user_profile_alamat' => 'required',
'user_profile_no_telp' => 'required',
];
}
public static function settingTable()
{
return [
'name' => 'required|unique:settings,name,' . request()->route('setting') . 'id',
'value' => 'required'
];
}
public static function accountTable()
{
return [
'account_name' => 'required|min:2',
'account_number' => 'required|min:3|integer',
'account_opening_balance' => 'sometimes|required',
'account_bank_name' => 'nullable',
'account_bank_address' => 'nullable',
'account_bank_phone' => 'nullable',
'account_enabled' => 'sometimes|required',
];
}
public static function paymentMethodTable()
{
return [
'pm_name' => 'required|min:3',
];
}
public static function shippingTable()
{
return [
'shipping_name' => 'required|min:3',
'shipping_office_phone' => 'nullable',
'shipping_office_address' => 'nullable',
];
}
public static function shipperTable()
{
return [
'shipper_name' => 'required|min:3',
'shipper_phone' => 'nullable',
'shipper_address' => 'nullable',
];
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\info;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
class DatainfoDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="/editinfo/'.Crypt::encrypt($row->id).'" class="btn btn-info buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="/deleteinfo/'.Crypt::encrypt($row->id).'" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
});
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\info $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(info $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('info-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex table_responsive d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create')->action("window.location = '".url('/createinfo')."';"),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->title('Action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('id'),
Column::make('judul_info')->title('Judul Info'),
Column::make('isi_info')->title('Isi Info'),
Column::make('Aktif')->title('Status'),
Column::make('created_at')->title('TANGGAL DIBUAT'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'info_' . date(' d-m-Y');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\layanan;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
class LayananDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="/editlayanan/'.Crypt::encrypt($row->id).'" class="btn btn-dark buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="/deletelayanan/'.Crypt::encrypt($row->id).'" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
});
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\Admin/Layanan $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(Layanan $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('layanan-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create'),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('id'),
Column::make('nama_layanan')->title('NAMA LAYANAN'),
Column::make('loket_id')->title('LOKET'),
Column::make('keterangan')->title('KETERANGAN'),
Column::make('created_at')->title('TANGGAL DIBUAT'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'Layanan_' . date(' d-m-Y');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\loket;
use App\Models\layanan;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
class LoketDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="/editlayanandata/'.Crypt::encrypt($row->id).'" class="btn btn-info buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="/deletelayanandata/'.Crypt::encrypt($row->id).'" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
})
->editColumn('layanan_id', function($row) {
$display = layanan::where('id', '=', $row->layanan_id)->value('nama_layanan');
return $display;
})
;
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\Admin/Layanan $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(loket $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('layanan-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->parameters([
'responsive' => true,
'autowidth' => false
])
->buttons(
Button::make('create')->action("window.location = '".url('/createlayanandata')."';"),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('nama_loket')->title('NAMA LOKET'),
Column::make('codeloket')->title('CODE LOKET'),
Column::make('layanan_id')->title('LAYANAN'),
Column::make('users_id')->title('USER LOKET'),
Column::make('btncolor')->title('COLOR'),
Column::make('jumlahantrian')->title('JUMLAH ANTRIAN'),
Column::make('created_at')->title('TANGGAL DIBUAT'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'Loket_' . date(' d-m-Y');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\satuan;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
class SatuanDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="/editsatuan/'.Crypt::encrypt($row->id).'" class="btn btn-info buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="/deletesatuan/'.Crypt::encrypt($row->id).'" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
});
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\Admin/Satuan $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(satuan $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('satuan-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create')->action("window.location = '".url('/createsatuan')."';"),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->title('Action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('id')->title('ID'),
Column::make('nama')->title('NAMA LENGKAP'),
Column::make('bagian')->title('BAGIAN'),
Column::make('satuan')->title('NAMA SATUAN'),
Column::make('status')->title('STATUS'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'Satuan_' . date(' d-m-Y');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\user;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
class UserDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="' . route('admin.settings.edit', $row->id) . '" class="btn btn-dark buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="/deleteuser/'.Crypt::encrypt($row->id).'" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
});
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\info $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(user $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('info-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex table_responsive d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create'),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('id'),
Column::make('name'),
Column::make('username'),
Column::make('level'),
Column::make('loket_id'),
Column::make('Aktif'),
Column::make('created_at'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'User_' . date('YmdHis');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\User;
use App\Models\loket;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
class UsersDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="/edituser/'.Crypt::encrypt($row->id).'" class="btn btn-info buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="/deleteuser/'.Crypt::encrypt($row->id).'" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
})
->editColumn('loket_id', function($row) {
$display = loket::where('id', '=', $row->loket_id)->value('nama_loket');
if($display == null){
return 'Unsigned';
}else{
return $display;
}
})
;
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\info $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(user $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('usertable')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex table_responsive d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create')->action("window.location = '".url('/createuser')."';"),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->title('Action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('id')->title('ID'),
Column::make('name')->title('NAMA LENGKAP'),
Column::make('username')->title('USERNAME'),
Column::make('level')->title('LEVEL USER'),
Column::make('loket_id')->title('LOKET'),
Column::make('Aktif')->title('STATUS'),
Column::make('created_at')->title('TANGGAL DIBUAT'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'User_' . date(' d-m-Y');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\video;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
class VideoDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="/editvideo/'.Crypt::encrypt($row->id).'" class="btn btn-info buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="/deletevideo/'.Crypt::encrypt($row->id).'" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
});
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\info $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(video $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('video-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex table_responsive d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create')->action("window.location = '".url('/createvideo')."';"),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->title('Action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('id'),
Column::make('nama_video')->title('Nama Video'),
Column::make('url')->title('Link Video'),
Column::make('Aktif')->title('Status'),
Column::make('created_at')->title('TANGGAL DIBUAT'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'Video_' . date(' d-m-Y');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\Info;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
class SettingDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="' . route('admin.settings.edit', $row->id) . '" class="btn btn-dark buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="' . route('admin.settings.destroy', $row->id) . '" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
});
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\Setting $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(Info $model)
{
return $model->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('setting-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex table_responsive d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create'),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('judul_info'),
Column::make('isi_info'),
Column::make('Aktif'),
Column::make('created_at'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'Setting_' . date('YmdHis');
}
}
<?php
namespace App\DataTables\Admin;
use App\Models\User;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
class UserDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->setRowId(function ($row) {
return $row->id;
})
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="' . route('admin.users.edit', $row->id) . '" class="btn btn-dark buttons-edit"><i class="fas fa-edit"></i></a>';
$btn = $btn . '<a href="' . route('admin.users.destroy', $row->id) . '" class="btn btn-danger buttons-delete"><i class="fas fa-trash fa-fw"></i></a>';
$btn = $btn . '</div>';
return $btn;
})
->editColumn('roles', function ($row) {
$display = $row->roles->pluck('display_name')->toArray();
return implode(', ', $display);
})
->editColumn('created_at', function ($row) {
return $row->created_at->locale('id');
});
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\User $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(User $model)
{
return $model->with('roles:id,display_name')->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('user-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('create'),
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('name')->title('Nama Lengkap'),
Column::make('roles')->title('Hak Akses'),
Column::make('email'),
Column::make('created_at')->title('Ditambahkan pada'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'User_' . date('YmdHis');
}
}
<?php
namespace App\DataTables;
use App\Models\pemohon;
use App\Models\antrian;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use PDF;
use Barryvdh\Snappy;
use Illuminate\Support\Facades\Crypt;
class PemohonDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->addColumn('action', function ($row) {
$btn = '<div class="btn-group">';
$btn = $btn . '<a href="/editpemohon/'.Crypt::encrypt($row->id).'" class="btn btn-info buttons-edit"><i class="fas fa-edit"></i></a>';
return $btn;
})
->editColumn('noantrian_id', function($row) {
$display = antrian::where('id', '=', $row->noantrian_id)->value('no_antrian');
return $display;
})
;
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\Setting $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(pemohon $model)
{
return $model->orderBy('updated_at', 'desc')->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('pemohon-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex table_responsive d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::computed('action')
->title('Action')
->exportable(false)
->printable(false)
->width(60)
->addClass('text-center'),
Column::make('noantrian_id')->title('No Antrian'),
Column::make('nama_lengkap')->title('Nama Lengkap'),
Column::make('tempat_lahir')->title('Tempat Lahir'),
Column::make('tanggal_lahir')->title('Tanggal Lahir'),
Column::make('jenis_kelamin')->title('Gender'),
Column::make('kebangsaan')->title('Warga Negara'),
Column::make('alamat_lengkap')->title('Alamat'),
Column::make('NIK')->title('NIK'),
Column::make('no_paspor')->title('Paspor'),
Column::make('pekerjaan')->title('Profesi'),
Column::make('sidikjari')->title('Sidik Jari'),
Column::make('catatanpolri')->title('Catatan Polri'),
Column::make('keperluan')->title('Keperluan'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
return 'Data Pemohon_' . date('d-m-y');
}
}
<?php
namespace App\DataTables\User;
use App\Models\antrian;
use App\Models\layanan;
use App\Models\loket;
use App\Models\User;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
use Illuminate\Support\Facades\Crypt;
use Illuminate\Support\Facades\Auth;
class RekapDataDataTable extends DataTable
{
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query)
{
return datatables()
->eloquent($query)
->editColumn('status', function($row) {
switch (true) {
case ($row->status == 1):
return 'Sudah Dipanggil';
break;
default:
return 'Belum Dipanggil';
break;
}
})
->editColumn('users_id', function($row) {
$name = User::where('id', '=', $row->users_id)->value('name');
$display = $row->users_id . ' |' . $name;
return $display;
})
;
}
/**
* Get query source of dataTable.
*
* @param \App\App\Models\info $model
* @return \Illuminate\Database\Eloquent\Builder
*/
public function query(antrian $model)
{
$layanan = layanan::where('loket_id', '=', Auth::user()->loket_id)->value('id');
return $model->where('layanan_id', '=', $layanan)->where('status', '>=', '1')->orderBy('updated_at', 'desc')->newQuery();
}
/**
* Optional method if you want to use html builder.
*
* @return \Yajra\DataTables\Html\Builder
*/
public function html()
{
return $this->builder()
->setTableId('info-table')
->columns($this->getColumns())
->minifiedAjax()
->dom('<"dataTables_wrapper table-responsive dt-bootstrap"B<"row"<"col-xl-7 d-block d-sm-flex table_responsive d-xl-block justify-content-center"<"d-block d-lg-inline-flex"l>><"col-xl-5 d-flex d-xl-block justify-content-center"fr>>t<"row"<"col-sm-5"i><"col-sm-7"p>>>')
->orderBy(1)
->buttons(
Button::make('export'),
Button::make('print'),
Button::make('reset'),
Button::make('reload')
);
}
/**
* Get columns.
*
* @return array
*/
protected function getColumns()
{
return [
Column::make('no_antrian')->title('Nomor Antrian'),
Column::make('pelayanan')->title('Pelayanan'),
Column::make('status')->title('Status'),
Column::make('keterangan')->title('Keterangan'),
Column::make('users_id')->title('Petugas'),
];
}
/**
* Get filename for export.
*
* @return string
*/
protected function filename()
{
$loket = Auth::user()->loket_id;
$namaloket = loket::where('id', '=', $loket)->value('nama_loket');
return 'Rekapdata'.$namaloket.'' . date(' d-m-Y');
}
}
<?php
namespace App\Exceptions;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'current_password',
'password',
'password_confirmation',
];
/**
* Register the exception handling callbacks for the application.
*
* @return void
*/
public function register()
{
$this->reportable(function (Throwable $e) {
//
});
}
}
<?php
namespace App\Helpers;
class DataHelper
{
public static function yearDropdownData(int $minYear = 1990)
{
$arr = [];
$thn_skr = date('Y');
for ($thn = $thn_skr; $thn >= $minYear; $thn--) :
$arr[$thn] = $thn;
endfor;
return $arr;
}
public static function filterDokumenData($data, string $params = null, string $value = null, string $operator = '==')
{
try {
$data = collect($data);
$filtered = $data->filter(function ($row, $key) use ($params, $value, $operator) {
return eval("return \"" . data_get($row, $params) . "\" " . $operator . " \"" . $value . "\";");
});
return $filtered;
} catch (\Throwable $th) {
return $th;
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment