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/dceprojects.corals.io/Corals/modules/ProjectPlan/Transformers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/dceprojects.corals.io/Corals/modules/ProjectPlan/Transformers/ProjectTransformer.php
<?php

namespace Corals\Modules\ProjectPlan\Transformers;

use Corals\Foundation\Transformers\BaseTransformer;
use Corals\Modules\ProjectPlan\Models\Project;

class ProjectTransformer extends BaseTransformer
{
    public function __construct($extras = [])
    {
        $this->resource_url = config('projectPlan.models.project.resource_url');

        parent::__construct($extras);
    }

    /**
     * @param Project $project
     * @return array
     * @throws \Throwable
     */
    public function transform(Project $project)
    {
        $levels = [
            'draft' => 'muted',
            'pending_approval' => 'warning',
            'approved' => 'info',
            'completed' => 'success',
        ];

        $transformedArray = [
            'id' => $project->id,
            'name' => HtmlElement('a', ['href' => $project->getShowURL()], $project->name),
            'quote_number' => $project->quote_number ?? '-',
            'type' => trans('ProjectPlan::attributes.project.project_type_options')[$project->type]?? ($project->type ?? '-'),
            'status' => formatStatusAsLabels($project->status,
                ['level' => $levels[$project->status], 'text' => trans('ProjectPlan::attributes.project.project_status_options.' . $project->status)]),
            'customer'=> optional($project->customer)->name ?? '-',
            'venue'=> optional($project->venue)->name ?? '-',
            'details' => $project->details ?? '-',
            'number_of_days' => $project->number_of_days ?? '-',
            'address' => array_filter($project->address??[]),
            'created_at' => format_date($project->created_at),
            'updated_at' => format_date($project->updated_at),
            'action' => $this->actions($project)
        ];

        return parent::transformResponse($transformedArray);
    }
}

Spamworldpro Mini