<?php namespace Codi22\VLAN\Http\Controllers; use Litepie\VLAN\Http\Requests\VLANSRequest; use Litepie\VLAN\Models\VLANS; trait VLANSWorkflow { /** * Workflow controller function for v_l_a_n_s. * * @param Model $v_l_a_n_s * @param step next step for the workflow. * * @return Response */ public function putWorkflow(VLANSRequest $request, VLANS $v_l_a_n_s, $step) { try { $v_l_a_n_s->updateWorkflow($step); return response()->json([ 'message' => trans('messages.success.changed', ['Module' => trans('v_l_a_n::v_l_a_n_s.name'), 'status' => trans("app.{$step}")]), 'code' => 204, 'redirect' => trans_url('/admin/v_l_a_n_s/v_l_a_n_s/' . $v_l_a_n_s->getRouteKey()), ], 201); } catch (Exception $e) { return response()->json([ 'message' => $e->getMessage(), 'code' => 400, 'redirect' => trans_url('/admin/v_l_a_n_s/v_l_a_n_s/' . $v_l_a_n_s->getRouteKey()), ], 400); } } /** * Workflow controller function for v_l_a_n_s. * * @param Model $v_l_a_n_s * @param step next step for the workflow. * @param user encrypted user id. * * @return Response */ public function getWorkflow(VLANS $v_l_a_n_s, $step, $user) { try { $user_id = decrypt($user); Auth::onceUsingId($user_id); $v_l_a_n_s->updateWorkflow($step); $data = [ 'message' => trans('messages.success.changed', ['Module' => trans('v_l_a_n::v_l_a_n_s.name'), 'status' => trans("app.{$step}")]), 'status' => 'success', 'step' => trans("app.{$step}"), ]; return $this->theme->layout('blank')->of('v_l_a_n::admin.v_l_a_n_s.message', $data)->render(); } catch (ValidationException $e) { $data = [ 'message' => '<b>' . $e->getMessage() . '</b> <br /><br />' . implode('<br />', $e->validator->errors()->all()), 'status' => 'error', 'step' => trans("app.{$step}"), ]; return $this->theme->layout('blank')->of('v_l_a_n::admin.v_l_a_n_s.message', $data)->render(); } catch (Exception $e) { $data = [ 'message' => '<b>' . $e->getMessage(). '</b>', 'status' => 'error', 'step' => trans("app.{$step}"), ]; return $this->theme->layout('blank')->of('v_l_a_n::admin.v_l_a_n_s.message', $data)->render(); } } }