124 lines
3.4 KiB
PHP
124 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin\helpdesk;
|
|
|
|
// Controller
|
|
use App\Http\Controllers\Controller;
|
|
// Model
|
|
use App\Model\helpdesk\Form\Fields;
|
|
use App\Model\helpdesk\Form\Forms;
|
|
use App\Model\helpdesk\Manage\Help_topic;
|
|
// Request
|
|
use Illuminate\Http\Request;
|
|
// Class
|
|
use Input;
|
|
use Redirect;
|
|
use Exception;
|
|
|
|
/**
|
|
* FormController
|
|
* This controller is used to CRUD Custom Forms
|
|
*
|
|
* @package Controllers
|
|
* @subpackage Controller
|
|
* @author Ladybird <info@ladybirdweb.com>
|
|
*/
|
|
class FormController extends Controller {
|
|
|
|
private $fields;
|
|
private $forms;
|
|
|
|
public function __construct(Fields $fields, Forms $forms) {
|
|
$this->fields = $fields;
|
|
$this->forms = $forms;
|
|
// $this->middleware('auth');
|
|
}
|
|
|
|
/**
|
|
* home
|
|
* @return type
|
|
*/
|
|
public function home() {
|
|
return view('forms.home');
|
|
}
|
|
|
|
/**
|
|
* list of forms
|
|
* @param type Forms $forms
|
|
* @return Response
|
|
*/
|
|
public function index(Forms $forms) {
|
|
return view('themes.default1.admin.helpdesk.manage.form.index', compact('forms'));
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
* @return Response
|
|
*/
|
|
public function create() {
|
|
return view('themes.default1.admin.helpdesk.manage.form.form');
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
* @param int $id
|
|
* @return Response
|
|
*/
|
|
public function show($id) {
|
|
return view('themes.default1.admin.helpdesk.manage.form.preview', compact('id'));
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*
|
|
* @return Response
|
|
*/
|
|
public function store(Forms $forms) {
|
|
if (!Input::get('formname')) {
|
|
return Redirect::back()->with('fails', 'Please fill Form name');
|
|
}
|
|
$required = Input::get('required');
|
|
$count = count($required);
|
|
$require = array();
|
|
for ($i = 2; $i < $count + 2; $i++) {
|
|
for ($j = 0; $j < 1; $j++) {
|
|
array_push($require, $required[$i][$j]);
|
|
}
|
|
}
|
|
$forms->formname = Input::get('formname');
|
|
$forms->save();
|
|
$count = count(Input::get('name'));
|
|
$fields = array();
|
|
for ($i = 0; $i <= $count; $i++) {
|
|
if (!empty(Input::get('name')[$i])) {
|
|
array_push($fields, array(
|
|
'forms_id' => $forms->id,
|
|
'label' => Input::get('label')[$i],
|
|
'name' => Input::get('name')[$i],
|
|
'type' => Input::get('type')[$i],
|
|
'value' => Input::get('value')[$i],
|
|
'required' => $require[$i],
|
|
));
|
|
}
|
|
}
|
|
Fields::insert($fields);
|
|
return Redirect::back()->with('success', 'Successfully created Form');
|
|
}
|
|
|
|
public function delete($id, Forms $forms, Fields $field, Help_topic $help_topic) {
|
|
$fields = $field->where('forms_id', $id)->get();
|
|
$help_topics = $help_topic->where('custom_form', '=', $id)->get();
|
|
foreach ($help_topics as $help_topic) {
|
|
$help_topic->custom_form = null;
|
|
$help_topic->save();
|
|
}
|
|
foreach ($fields as $field) {
|
|
$field->delete();
|
|
}
|
|
$forms = $forms->where('id', $id)->first();
|
|
$forms->delete();
|
|
return redirect()->back()->with('success', 'Deleted Successfully');
|
|
}
|
|
|
|
}
|