Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/ts.corals.io/corals-api/Corals/modules/Timesheet/update-batches/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/ts.corals.io/corals-api/Corals/modules/Timesheet/update-batches/1.0.18.php
<?php

use Corals\User\Models\Role;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
use Spatie\Permission\PermissionRegistrar;

Schema::table('timesheet_projects', function ($table) {
    $table->boolean('team_project')->default(false);
});

Schema::create('timesheet_time_off_requests', function (Blueprint $table) {
    $table->id();
    $table->unsignedInteger('user_id');

    $table->date('start_date');
    $table->date('end_date');

    $table->string('status')->default('pending');
    $table->text('notes')->nullable();

    $table->text('reject_reason')->nullable();

    $table->decimal('time_off_hours')->nullable();

    $table->foreign('user_id')
        ->references('id')
        ->on('users')
        ->cascadeOnDelete()
        ->cascadeOnUpdate();

    $table->foreignId('task_id')
        ->references('id')
        ->on('timesheet_tasks')
        ->cascadeOnDelete()
        ->cascadeOnUpdate();

    $table->foreignId('project_id')
        ->references('id')
        ->on('timesheet_projects')
        ->cascadeOnDelete()
        ->cascadeOnUpdate();

    $table->text('properties')->nullable();

    $table->auditable();

    $table->timestamps();
});
$permissionsName = [
    'Timesheet::time_off_request.view',
    'Timesheet::time_off_request.create',
    'Timesheet::time_off_request.update',
    'Timesheet::time_off_request.delete',
];

$permissions = array_map(function ($permission) {
    return [
        'name' => $permission,
        'guard_name' => config('auth.defaults.guard'),
        'created_at' => now(),
        'updated_at' => now(),
    ];
}, $permissionsName);

DB::table('permissions')->insert($permissions);

app(PermissionRegistrar::class)->forgetCachedPermissions();

$memberRole = Role::query()->where('name', 'member')->first();

if ($memberRole) {
    $memberRole->givePermissionTo(
        'Timesheet::time_off_request.view',
        'Timesheet::time_off_request.create',
        'Timesheet::time_off_request.update',
        'Timesheet::time_off_request.delete',
    );
}

Spamworldpro Mini