Sh3ll
OdayForums


Server : Apache
System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64
User : tradze ( 1001)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /home/tradze/.trash/app_old/Modules/Postcodes/Http/Controllers/Admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/.trash/app_old/Modules/Postcodes/Http/Controllers/Admin/PostcodeController.php
<?php
namespace App\Modules\Postcodes\Http\Controllers\Admin;

use App\Http\Controllers\AdminController;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Modules\Postcodes\Http\Requests\PostcodeRequest;
use App\Modules\Postcodes\Models\Postcode;
use App\Modules\Postcodes\Models\Zone;
use App\Modules\Services\Http\Requests\ServiceDurationRequest;
use App\Modules\Services\Models\ServiceDuration;
use App\Modules\Services\Models\ServiceDurationCategory;
use App\User;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Http\Request;
use Laracasts\Flash\Flash;
use Yajra\Datatables\Datatables;
use Yajra\Datatables\Engines\CollectionEngine;

class PostcodeController extends AdminController
{

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index(Request $request)
    {
        //store filters to sessions
        if ($request->get('search')) {
            $request->session()->put('areas.postcodes.filters', $request->except(['_token', 'search']));
            return redirect(route('admin.areas.postcode.index'));
        } elseif ($request->get('reset')) {
            $request->session()->forget('areas.postcodes.filters');
            return redirect(route('admin.areas.postcode.index'));
        }

        //create data array
        $zone = new Zone();
        $this->data['search'] = [
            'zones' => $zone->formList()->put('', trans('postcodes::postcodes.search_by_zone')),
            'in_use' => trans("postcodes::postcodes.search_by_inuse_options"),
        ];
        $this->data['filters'] = $request->session()->get('areas.postcodes.filters');
        $this->data['page_title'] = trans('postcodes::postcodes.page_title');

        //render page
        return view('postcodes::admin.postcode_index', $this->data);
    }

    /**
     * Show a list of all companies
     *
     * @return mixed
     */
    public function data(Request $request)
    {
        //create object contact
        $obj = $this->getData($request);

        //create array with contacts permissions access
        $this->data['can'] = [
            'edit'   => $this->data['user']->can('admin.postcodes.postcode.edit') || $this->data['user']->is('developer'),
            'delete' => $this->data['user']->can('admin.postcodes.postcode.delete') || $this->data['user']->is('developer'),
        ];

        //return datatables data
        return Datatables::of($obj)

            ->add_column('district', function($o){
                return $o->zone->district()->first()->name;
            })
            ->edit_column('zone_id', function($o){
                return $o->zone->name;
            })
            ->add_column('actions', function ($o) {
                $this->data['o']=$o;
                return view('postcodes::admin.postcode_list_actions',$this->data)->render();
            })
            ->remove_column('id')
            ->remove_column('updated_at')
            ->setTotalRecords($obj->count())
            ->make(true);
    }

    /**
     * Get object entries
     * @param Request $request
     */
    protected function getData(Request $request)
    {
        $filters = $request->session()->get('areas.postcodes.filters');

        $obj = Postcode::query()
                ->inUse(isset($filters['search_in_use']) ? $filters['search_in_use'] : null)
                ->postcode(isset($filters['search_postcode']) ? $filters['search_postcode'] : null)
                ->zone(isset($filters['search_zone']) ? $filters['search_zone'] : null)
        ;

        //return object
        return $obj;
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function create()
    {
        $zone = new Zone();
        $this->data['page_title'] = trans('postcodes::postcodes.page_title');
        $this->data['form']['zones'] = $zone->formList();

        //show page
        return view('postcodes::admin.postcode_create_edit', $this->data);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store(PostcodeRequest $request)
    {
        //save new service type
        $data = [
            'postcode'=>$request->postcode,
            'zone_id'=>$request->zone_id,
            'in_use'=>$request->in_use,
        ];
        $obj = Postcode::create($data);

        //redirect
        if ($request->save) {
            return redirect(route('admin.areas.postcode.edit', ['id' => $obj->id]));
        } elseif ($request->save_exit) {
            return redirect(route('admin.areas.postcode.index'));
        }
    }

    /**
     * Edit Service Type
     *
     * @param $label
     * @return \BladeView|bool|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
     */
    public function edit(Postcode $postcode)
    {
        $zone = new Zone();

        $this->data['page_title'] = trans('postcodes::postcodes.page_title');
        $this->data['form']['zones'] = $zone->formList();
        $this->data['obj'] = $postcode;

        //show page
        return view('postcodes::admin.postcode_create_edit', $this->data);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  int $id
     * @return Response
     */
    public function update(PostcodeRequest $request, Postcode $postcode)
    {

        //fields to be updated
        $fillable = $postcode['fillable'];

        $fields = array();
        foreach ($request->all() as $field => $f) {
            if (in_array($field, $fillable)) {
                $fields[$field] = $f;
            }
        } //end foreach

        //update label
        Postcode::where('id', $postcode->id)->update($fields);

        //redirect
        if ($request->save) {
            return redirect(route('admin.areas.postcode.edit', ['id' => $postcode->id]));
        } elseif ($request->save_exit) {
            return redirect(route('admin.areas.postcode.index'));
        }
    }

    /**
     * Delete page
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function delete(Postcode $postcode)
    {
        $this->data['obj'] = $postcode;

        return view('postcodes::admin.postcode_delete', $this->data);
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function destroy(Postcode $postcode)
    {

        //set object name
        $obj_name = $postcode->postcode;

        //delete contact
        $postcode->delete();

        //set success message
        Flash::info(trans('postcodes::postcodes.message_confirm_delete', ['name' => $obj_name]));

        //redirect to contacts list
        return redirect(route('admin.areas.postcode.index'));
    }

    /**
     * Format text right
     * @param $string
     * @param bool $number
     * @return string
     */
    protected function text_right($string,$number=true)
    {
        $value = $string;
        if ($number)
            $value = number_format($string,2,'.',',')." &pound;";


        return "<div class='text-right'>{$value}</div>";
    }

    /**
     * Format text with badge
     * @param $string
     * @return string
     */
    protected function text_extra($string)
    {
        return "{$string} <span class='badge badge-warning badge-roundless'>".trans('postcodes::postcodes.text_extra_session')."</span>";
    }
    protected function text_default($string)
    {
        return "{$string} <span class='badge badge-primary badge-roundless'>".trans('postcodes::postcodes.text_default_session')."</span>";
    }

}

ZeroDay Forums Mini