PHP code example of dcodegroup / laravel-xero-leave
1. Go to this page and download the library: Download dcodegroup/laravel-xero-leave library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
dcodegroup / laravel-xero-leave example snippets
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Dcodegroup\LaravelXeroLeave\Models\Leave as BaseLeave;
class Leave extends BaseLeave
{
use HasFactory;
...
class User extends Authenticatable
{
use HasLeave;
...
namespace App\Http\Resources\Admin;
use Dcodegroup\LaravelConfiguration\Models\Configuration;
use Illuminate\Http\Resources\Json\JsonResource;
class Leave extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
*
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
$data = parent::toArray($request);
$data['status'] = $this->status;
$data['user'] = optional($this->leaveable)->preferred_name ?? optional($this->leaveable)->name;
$data['leave_type'] = data_get(Configuration::byKey('xero_leave_types')->pluck('value')->flatten(1)->where('LeaveTypeID', $this->xero_leave_type_id)->first(), 'Name');
$data['update_status_url'] = route('xero_leave.update-status', $this);
$data['has_xero_sync_error'] = (bool) $this->hasSyncError();
/**
* Optional
*/
$data['start_date'] = $this->start_date->format(config('gradcon.date_format'));
$data['end_date'] = $this->end_date->format(config('gradcon.date_format'));
...
use App\Http\Controllers\Controller;
use Dcodegroup\LaravelXeroLeave\BaseXeroLeaveService;
use Dcodegroup\LaravelXeroLeave\Http\Requests\StoreLeave;
class LeaveController extends Controller
{
protected BaseXeroLeaveService $service;
public function __construct()
{
$this->service = resolve(BaseXeroLeaveService::class);
}
public function store(StoreLeave $request)
{
$this->authorize('create', Leave::class);
$this->service->save($request);
...
}
public function update(StoreLeave $request, Model $leave)
{
$this->authorize('update', $leave);
$this->service->save($request, $leave);
....
}
...