File: /var/www/vhost/disk-apps/dev-beg.teky.com.co/app/Http/Controllers/FormFieldsController.php
<?php
namespace App\Http\Controllers;
use App\Form;
use App\Field;
use App\FormField;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class FormFieldsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index($form_id)
{
abort_unless(\Gate::allows('formField_access'), 403);
$formFields = FormField::where('form_id', $form_id)->with(['form','field'])->get();
return view('formFields.list', compact('formFields'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create($form_id)
{
abort_unless(\Gate::allows('formField_create'), 403);
$forms = Form::where('active', 1)->get();
$fields = Field::where('active', 1)->get();
$formField = Form::with('fields')->findOrFail($form_id);
return view('formFields.create', compact('fields','forms','formField'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
abort_unless(\Gate::allows('formField_create'), 403);
if ($form = Form::findOrFail($request->input('form_id'))) {
try {
$form->fields()->sync($request->input('field_id'));
$this->registerLogData(json_encode(array_slice($request->all(), 1)), $form->id, 20, 1, Auth::user()->id);
return response(array("status" => true, "type" => "success", "title" => "", "message" => __('created_successfully'), "data" => null));
} catch (\Throwable $th) {
return response(array("status" => false, "type" => "error", "title" => "Oops...", "message" => __('error_sync_form_field'), "data" => null));
}
} else {
return response(array("status" => false, "type" => "error", "title" => "Oops...", "message" => __('error_creating'), "data" => null));
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function statusFormField(Request $request)
{
abort_unless(\Gate::allows('formField_edit'), 403);
if (FormField::where([['form_id', $request->input('form_id')], ['field_id', $request->input('field_id')]])->update(array_slice($request->all(), 2))) {
$this->registerLogData(json_encode(array_slice($request->all(), 1)), $request->input('form_id'), 20, 3, Auth::user()->id);
return response(array("status" => true, "type" => "success", "title" => "", "message" => __('updated_successfully'), "data" => null));
} else {
return response(array("status" => false, "type" => "error", "title" => "Oops...", "message" => __('error_updating'), "data" => null));
}
}
}