diff --git a/app/Helpers/Formhelper.php b/app/Helpers/Formhelper.php new file mode 100644 index 00000000..54420463 --- /dev/null +++ b/app/Helpers/Formhelper.php @@ -0,0 +1,17 @@ + $form_id, 'user_id' => $user_id, 'partition' => $partition, 'date_range' => $startdate.'_'.$enddate ]); + } else { + $history = LambdaRequest::postrequest('form', 'formentity/getformhistory', ['form_id' => $form_id, 'user_id' => $user_id, 'partition' => $partition ]); + } + return $history; + } +} + diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index d2dc737e..b64fdf9f 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -4,7 +4,6 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\LambdaRequest; use DB; - class ContactController extends Controller { public function __construct() @@ -29,6 +28,40 @@ class ContactController extends Controller ]); } + protected function get_list_buttons() { + return [ ['title' => 'Add New', 'link' => $this->_base_url.'/addnew' ], ['title' => 'Import Users', 'link' => $this->_base_url.'/import'] ]; + } + + protected function get_import_fields($records){ + $response = LambdaRequest::signedrequest('get', 'ums', 'contactattribute/get_all'); + $hierar = $this->getlambda('get', 'ums', 'hierarchy', 'dropdown'); + $hierar_dd = []; + foreach($hierar->data->items as $hier){ + $hierar_dd[$hier->code] = $hier->name . ' (' . $hier->code . ')'; + } + + //echo '
'; print_r($response); exit;
+ $fields = [
+ 'name' => ['title' => 'Name', 'type' => 'text', 'required' => true],
+ 'email' => ['title' => 'Email', 'type' => 'email', 'required' => true],
+ 'phone' => ['title' => 'Phone', 'type' => 'text', 'required' => true],
+ 'msl_code' => ['title' => 'MSL Code', 'type' => 'text'],
+ 'position' => ['title' => 'Position', 'type' => 'select', 'required' => true, 'values' => $hierar_dd ],
+ 'status' => ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled'] ],
+ ];
+
+ foreach ($response->data->items as $item) {
+ $values = [];
+ if(in_array($item->type, ['select', 'radio', 'checkbox']) ) {
+ foreach($item->options as $op) {
+ $values[$op->value] = $op->display;
+ }
+ }
+ $fields[$item->code] = ['title' => $item->attribute, 'type' => $item->type, 'required' => $item->required=='yes'?true:false, 'values' => $values];
+ }
+
+ return $fields;
+ }
// public function list(Request $request) {
// $response = LambdaRequest::signedrequest('get', $this->_service, $this->_module.'/get_all');
diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
index e2c7a190..4c289178 100755
--- a/app/Http/Controllers/Controller.php
+++ b/app/Http/Controllers/Controller.php
@@ -270,7 +270,8 @@ class Controller extends BaseController
//return redirect($this->_base_url.'/edit?id='.$response->data->item->id)->withMessage('Successfully Saved !!!');
return redirect($this->_base_url.'s')->withMessage('Successfully Saved !!!');
} else {
- return \Redirect::back()->withMessage('Some Error occured!');
+ return redirect($this->_base_url.'s')->withError('Some Error occured! '. $response->body->message);
+ //return \Redirect::back()->withMessage('Some Error occured!');
}
}
@@ -282,7 +283,8 @@ class Controller extends BaseController
//echo ''; print_r($response); exit;
return redirect($this->_base_url.'s')->withMessage('Successfully Marked Deleted !!!');
} else {
- return \Redirect::back()->withMessage('Some Error occured!');
+ return redirect($this->_base_url.'s')->withError('Some Error occured! '. $response->body->message);
+ //return \Redirect::back()->withMessage('Some Error occured!');
}
}
diff --git a/app/Http/Controllers/FormController.php b/app/Http/Controllers/FormController.php
index 71885aad..01d81cb0 100644
--- a/app/Http/Controllers/FormController.php
+++ b/app/Http/Controllers/FormController.php
@@ -25,10 +25,13 @@ class FormController extends Controller
$this->_base_url = '/formaction';
}
- protected function deliverform($formdata, $questions) {
+ protected function deliverform($formdata, $questions, $id = false) {
$additional_info = $this->get_additional_info($formdata);
+ if($formdata->form_id == '1653655221-724ec5b4-fccb-4a88-bf25-cf894fa27a77'){
+ //echo ''; print_r($questions); exit;
+ }
//echo ''; print_r($questions); exit;
- $data = ['questions' => $questions, 'form' => $formdata, 'form_id' => $formdata->form_id, 'id' => false ];
+ $data = ['questions' => $questions, 'form' => $formdata, 'form_id' => $formdata->form_id, 'id' => false, 'id' => $id ];
if(sizeof($additional_info) > 0) {
$data['additional'] = $additional_info;
}
@@ -84,7 +87,7 @@ class FormController extends Controller
$id = $request->input('id', false);
$finfo = LambdaRequest::postrequest('form', 'formentity/getformdefination', ['form_id' => $formdata->form_id, 'user_id' => $formdata->user_id, 'partition' => $formdata->partition, 'id' => $id ]);
$formdata->title = $finfo->data->formdata->title;
- return $this->deliverform($formdata, $finfo->data->questions);
+ return $this->deliverform($formdata, $finfo->data->questions, $id);
}
public function submit(Request $request) {
@@ -92,6 +95,7 @@ class FormController extends Controller
$formdata = $request->session()->get('formdata');
if(isset($formdata) && !empty($formdata) && $formdata->user_id != '') {
$post = $this->processformdata($formdata->form_id, $post);
+ //Log::debug(print_r($post, true));
$finfo = LambdaRequest::postrequest('form', 'formentity/submitform', ['formdata' => $post, 'entity_id' => $formdata->form_id, 'user_id' => $formdata->user_id, 'partition' => $formdata->partition ]);
if($formdata->link_type == 'list') {
return redirect('/form/'.$request->session()->get('finfo') )->withMessage('Successfully Saved !!!');
@@ -108,6 +112,7 @@ class FormController extends Controller
$formdata = $request->session()->get('formdata');
if(isset($formdata) && !empty($formdata) && $formdata->user_id != '') {
$post = $this->processformdata($formdata->form_id, $post);
+ //Log::debug(print_r($post, true));
$finfo = LambdaRequest::postrequest('form', 'formentity/submitform', ['formdata' => $post, 'entity_id' => $post['form_id'], 'user_id' => $formdata->user_id, 'partition' => $formdata->partition ]);
//Log::debug(print_r($finfo, true));
if($finfo->status == 'success') {
@@ -120,12 +125,44 @@ class FormController extends Controller
}
}
+ public function ajaxsubmitmultiple(Request $request) {
+ $post = $request->except('_token');
+ $formdata = $request->session()->get('formdata');
+
+ if(isset($formdata) && !empty($formdata) && $formdata->user_id != '') {
+ $post = $this->processformdata($formdata->form_id, $post);
+ //echo ''; print_r($post); exit;
+ //Log::debug(print_r($post, true));
+ //echo json_encode(['formdata' => $post, 'entity_id' => $post['form_id'], 'user_id' => $formdata->user_id, 'partition' => $formdata->partition ]);
+ $finfo = LambdaRequest::postrequest('form', 'formentity/submitmultipleform', ['formdata' => $post, 'entity_id' => $post['form_id'], 'user_id' => $formdata->user_id, 'partition' => $formdata->partition ]);
+ //Log::debug(print_r($finfo, true));
+ if($finfo->status == 'success') {
+ return response()->json(['status' => 'success']);
+ } else {
+ return response()->json(['status' => 'failure']);
+ }
+ } else {
+ return response()->json(['status' => 'failure']);
+ }
+ }
+
protected function processformdata($form, $post) {
switch($form) {
case '1650365556-f06dde85-6138-4dae-9c23-5067e318c522':
$post[ $post['brand_name'].'-current' ] = $post['current_business_value'];
$post[ $post['brand_name'].'-potential' ] = $post['potential_business_value'];
break;
+ case '1653655221-724ec5b4-fccb-4a88-bf25-cf894fa27a77':
+ $brands = ['Hinex DM' => 'hinex-dm', 'Hinex HP' => 'hinex-hp', 'Hinex ST' => 'hinex-st', 'Hinex ST +' => 'hinex-st+'];
+ foreach($post['brand'] as $i => $brand) {
+ foreach($brands as $bname => $bkey) {
+ if($bname == $brand)
+ $post[$bkey][$i] = $post['units'][$i];
+ else
+ $post[$bkey][$i] = 0;
+ }
+ }
+ break;
}
return $post;
@@ -165,6 +202,10 @@ class FormController extends Controller
}
return ['team' => $team];
break;
+ case '1653655221-724ec5b4-fccb-4a88-bf25-cf894fa27a77':
+
+ return [];
+ break;
default:
return [];
diff --git a/config/app.php b/config/app.php
index 6ba1111e..aeb30724 100755
--- a/config/app.php
+++ b/config/app.php
@@ -178,8 +178,6 @@ return [
App\Providers\RouteServiceProvider::class,
Maatwebsite\Excel\ExcelServiceProvider::class,
- BaoPham\DynamoDb\DynamoDbServiceProvider::class,
-
],
/*
@@ -233,6 +231,7 @@ return [
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
+ 'Formhelper' => App\Helpers\Formhelper::class,
],
];
diff --git a/resources/views/common/importmap.blade.php b/resources/views/common/importmap.blade.php
index 380ecb66..8eb0c1a3 100644
--- a/resources/views/common/importmap.blade.php
+++ b/resources/views/common/importmap.blade.php
@@ -69,7 +69,7 @@
@break
diff --git a/resources/views/form/1650365457-c86bd7f2-a33c-49a5-9671-3c2511b57f3b.blade.php b/resources/views/form/1650365457-c86bd7f2-a33c-49a5-9671-3c2511b57f3b.blade.php
new file mode 100644
index 00000000..bd5d139e
--- /dev/null
+++ b/resources/views/form/1650365457-c86bd7f2-a33c-49a5-9671-3c2511b57f3b.blade.php
@@ -0,0 +1,150 @@
+
+
+
+ @include('layouts.shared/title-meta', ['title' => "Form"])
+ @include('layouts.shared/head-css', ["mode" => $mode ?? '', "demo" => $demo ?? ''])
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @if(Session::has('error')){{Session::get('error')}}
+
@endif
+ @if(session('success')){{ session('success') }}
+
+
@endif
+
+ {{$form->title}} asdsds
+
+ @if(!isset($form->is_approval) || (isset($form->is_approval) && $form->is_approval != 'yes' ) )
+
+ @if($form->link_type == 'form')
+ View History
+ @else
+ Back
+ @endif
+
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@include('layouts.shared/footer-script')
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/form/1650365531-3efb1e12-89e5-4e5f-ba3d-2b1da3f1086d.blade.php b/resources/views/form/1650365531-3efb1e12-89e5-4e5f-ba3d-2b1da3f1086d.blade.php
index 525ae4ed..a72ae1e9 100644
--- a/resources/views/form/1650365531-3efb1e12-89e5-4e5f-ba3d-2b1da3f1086d.blade.php
+++ b/resources/views/form/1650365531-3efb1e12-89e5-4e5f-ba3d-2b1da3f1086d.blade.php
@@ -3,9 +3,10 @@
@include('layouts.shared/title-meta', ['title' => "Form"])
@include('layouts.shared/head-css', ["mode" => $mode ?? '', "demo" => $demo ?? ''])
+
-
-
Loading
+
+
@@ -32,7 +33,8 @@
@endif
@endif
-
+
+@include('layouts.shared/footer-script')
+
+
+
+ });
+
diff --git a/resources/views/form/1653653181-6b4f7259-74a8-49fd-b26d-23e7aeaeadd6.blade.php b/resources/views/form/1653653181-6b4f7259-74a8-49fd-b26d-23e7aeaeadd6.blade.php
new file mode 100644
index 00000000..9702bb11
--- /dev/null
+++ b/resources/views/form/1653653181-6b4f7259-74a8-49fd-b26d-23e7aeaeadd6.blade.php
@@ -0,0 +1,206 @@
+
+
+
+ @include('layouts.shared/title-meta', ['title' => "Form"])
+ @include('layouts.shared/head-css', ["mode" => $mode ?? '', "demo" => $demo ?? ''])
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @if(Session::has('error')){{Session::get('error')}}
+
@endif
+ @if(session('success')){{ session('success') }}
+
+
@endif
+
+ {{$form->title}}
+
+ @if(!isset($form->is_approval) || (isset($form->is_approval) && $form->is_approval != 'yes' ) )
+
+ @if($form->link_type == 'form')
+ View History
+ @else
+ Back
+ @endif
+
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@include('layouts.shared/footer-script')
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/form/1653654193-44b3c6b1-3148-4152-9a22-bfae999bda48.blade.php b/resources/views/form/1653654193-44b3c6b1-3148-4152-9a22-bfae999bda48.blade.php
new file mode 100644
index 00000000..700e9128
--- /dev/null
+++ b/resources/views/form/1653654193-44b3c6b1-3148-4152-9a22-bfae999bda48.blade.php
@@ -0,0 +1,200 @@
+
+
+
+ @include('layouts.shared/title-meta', ['title' => "Form"])
+ @include('layouts.shared/head-css', ["mode" => $mode ?? '', "demo" => $demo ?? ''])
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @if(Session::has('error')){{Session::get('error')}}
+
@endif
+ @if(session('success')){{ session('success') }}
+
+
@endif
+
+ {{$form->title}}
+
+ @if(!isset($form->is_approval) || (isset($form->is_approval) && $form->is_approval != 'yes' ) )
+
+ @if($form->link_type == 'form')
+ View History
+ @else
+ Back
+ @endif
+
+ @endif
+
+ @php
+ $doctorsdetails = Formhelper::getMultiformData( $form->partition, '1653980040-4da0c8f8-1887-4b9e-82ec-6cb7ba50356b', $form->user_id);
+ $doctors = [];
+ foreach($doctorsdetails->data->submissions as $sub) {
+ $doctors[] = $sub->formdata;
+ }
+ $history = Formhelper::getMultiformData( $form->partition, $form_id, $form->user_id);
+ $histories = [];
+ $date = '';
+ foreach($history->data->submissions as $sub) {
+ $sub->formdata->id = $sub->id;
+ $histories[$sub->formdata->doctor] = $sub->formdata;
+ $date = $sub->formdata->date;
+ }
+ @endphp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@include('layouts.shared/footer-script')
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/form/1653655221-724ec5b4-fccb-4a88-bf25-cf894fa27a77.blade.php b/resources/views/form/1653655221-724ec5b4-fccb-4a88-bf25-cf894fa27a77.blade.php
new file mode 100644
index 00000000..6ebca7a7
--- /dev/null
+++ b/resources/views/form/1653655221-724ec5b4-fccb-4a88-bf25-cf894fa27a77.blade.php
@@ -0,0 +1,187 @@
+
+
+
+ @include('layouts.shared/title-meta', ['title' => "Form"])
+ @include('layouts.shared/head-css', ["mode" => $mode ?? '', "demo" => $demo ?? ''])
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @if(Session::has('error')){{Session::get('error')}}
+
@endif
+ @if(session('success')){{ session('success') }}
+
+
@endif
+
+ {{$form->title}}
+
+ @if(!isset($form->is_approval) || (isset($form->is_approval) && $form->is_approval != 'yes' ) )
+
+ @if($form->link_type == 'form')
+ View History
+ @else
+ Back
+ @endif
+
+ @endif
+
+ @php
+ $start = strtotime("1 May 2021");
+ $till = strtotime("now");
+ if( request()->get('record_date') ) {
+ $target = strtotime(request()->get('record_date'));
+ } else {
+ $target = strtotime("now");
+ }
+ $history = Formhelper::getMultiformData($form->partition, $form->form_id, $form->user_id, date("m-01-Y", $target) , date("m-t-Y", $target) );
+ $contacts = [];
+ if(sizeof($history->data->submissions) > 0) {
+ foreach($history->data->submissions as $sub){
+ $contacts[$sub->formdata->contact_id] = ['id' => $sub->id, 'units' => $sub->formdata->units ];
+ }
+ }
+ //echo '';print_r($history);print_r($contacts);echo '
';
+ @endphp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@include('layouts.shared/footer-script')
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/form/common.blade.php b/resources/views/form/common.blade.php
index e160e66b..32ec9ff0 100644
--- a/resources/views/form/common.blade.php
+++ b/resources/views/form/common.blade.php
@@ -66,6 +66,14 @@
@endforeach
@break
+ @case('checkbox')
+ @foreach($question->options as $option)
+
+ value) && $question->value != '' && in_array($option->value, $question->value) ? 'checked':''}}>
+
+
+ @endforeach
+ @break
@endswitch
@endforeach
diff --git a/resources/views/form/history.blade.php b/resources/views/form/history.blade.php
index cd243b82..468e5058 100644
--- a/resources/views/form/history.blade.php
+++ b/resources/views/form/history.blade.php
@@ -54,7 +54,7 @@
@if(count((array)$question->options) > 0 && 1==2 )
{{ $question->options->{ $submission->formdata->{$code} } }}
@else
- {{ isset($submission->formdata->{$code}) ? $submission->formdata->{$code} : $code }}
+ {{ isset($submission->formdata->{$code}) ? is_array($submission->formdata->{$code})? implode(', ', $submission->formdata->{$code}) :$submission->formdata->{$code} : $code }}
@endif
@endforeach
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index b1670fea..c3e58a4f 100755
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -9,6 +9,7 @@
@section('content')
+
diff --git a/routes/web.php b/routes/web.php
index 0e4dcec4..d591c763 100755
--- a/routes/web.php
+++ b/routes/web.php
@@ -116,6 +116,8 @@ Route::get('/form/{finfo}', [FormController::class, 'handle']);
Route::post('/form/getformfielddata', [FormController::class, 'getformfielddata']);
Route::post('/form/submit', [FormController::class, 'submit']);
Route::post('/form/ajaxsubmit', [FormController::class, 'ajaxsubmit']);
+Route::post('/form/submitmultiple', [FormController::class, 'submitmultiple']);
+Route::post('/form/ajaxsubmitmultiple', [FormController::class, 'ajaxsubmitmultiple']);
// require __DIR__ . '/auth.php';