diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index b64fdf9f..fd8113e5 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -4,6 +4,9 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests\LambdaRequest; use DB; +use League\Csv\Reader; +use Log; + class ContactController extends Controller { public function __construct() @@ -152,4 +155,51 @@ class ContactController extends Controller ]); } + + // public function postimport(Request $request) { + // if( $request->file('importfile') ) { + // $path = $request->file('importfile')->store('user_import'); + // $request->session()->put('user_import_path', $path); + + // $csv = Reader::createFromPath(storage_path('app') .'/' . $path, 'r'); + // $csv->setHeaderOffset(0); + + // $header = $csv->getHeader(); //returns the CSV header record + // $records = $csv->getRecords(); //returns all the CSV records as an Iterator + // $contacts = []; + // echo '
';
+ // foreach($records as $record) {
+ // $contacts[] = (array)$record;
+ // }
+
+ // $created = 0;
+ // $updated = 0;
+ // $count = 0;
+ // $total = sizeof($contacts);
+
+ // while($count < $total) {
+ // $tempdata = array_slice($contacts, $count, 20);
+ // Log::debug(print_r($tempdata, true));
+ // $response = LambdaRequest::signedrequest('post', $this->_service, $this->_module.'/import', $tempdata);
+ // Log::debug(print_r($response, true));
+ // $count = $count + 20;
+ // $created = $created + $response->data->created_count;
+ // $updated = $updated + (isset($response->data->updated_count) ? $response->data->updated_count : 0);
+ // Log::debug(print_r(['$count' => $count, '$created' => $created, '$updated' => $updated], true));
+ // }
+
+ // //echo ''; print_r($response); exit;
+ // if($response->statusCode == 200 && $response->status == "success") {
+ // return redirect($this->_base_url.'s')->withMessage('Successfully Imported ' .$created. ' records and Updated ' .$updated. ' records out of ' .$total. ' records!!!');
+ // } else {
+ // return \Redirect::back()->withMessage('Some Error occured!');
+ // }
+
+
+ // exit;
+ // return redirect($this->_base_url.'/importmap')->withMessage('Successfully Uploaded !!!');
+ // } else {
+ // return \Redirect::back()->withMessage('Some Error occured!');
+ // }
+ // }
}
diff --git a/app/Http/Controllers/ContestparameterController.php b/app/Http/Controllers/ContestparameterController.php
new file mode 100644
index 00000000..ec77523f
--- /dev/null
+++ b/app/Http/Controllers/ContestparameterController.php
@@ -0,0 +1,37 @@
+middleware('auth');
+ $this->_service = 'detailing';
+ $this->_module = 'parameter';
+ $this->_viewname = 'contestparameter';
+ $this->_title = 'Contest Parameters';
+ $this->_base_url = '/contestparameter';
+ }
+// , 'medias' => ['icon' => 'image-multiple', 'querystring' => 'id={ID}']
+ protected function get_list_fields(){
+ return [
+ 'actions' => ['title' => 'Actions', 'buttons' => [ 'edit', 'delete' ] ],
+ 'title' => ['title' => 'Title', 'type' => 'text'],
+ 'scale' => ['title' => 'Scale', 'type' => 'text'],
+ 'status' => ['title' => 'Status', 'type' => 'select'],
+ ];
+ }
+
+ protected function get_form_fields($type, $values){
+ return [
+ 'title' => ['title' => 'Title', 'type' => 'text', 'required' => true],
+ 'status' => ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled'] ],
+ 'description' => ['title' => 'Contest Description', 'type' => 'textarea', 'required' => true, 'fullwidth' => true],
+ 'scale' => ['title' => 'Scale', 'type' => 'number', 'required' => true],
+ ];
+ }
+}
diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
index 7d1d1b40..0373f01e 100755
--- a/app/Http/Controllers/Controller.php
+++ b/app/Http/Controllers/Controller.php
@@ -203,11 +203,11 @@ class Controller extends BaseController
$total = sizeof($post);
while($count < $total) {
- $tempdata = array_slice($post, $count, 20);
+ $tempdata = array_slice($post, $count, 15);
Log::debug(print_r($tempdata, true));
$response = LambdaRequest::signedrequest('post', $this->_service, $this->_module.'/import', $tempdata);
Log::debug(print_r($response, true));
- $count = $count + 20;
+ $count = $count + 15;
$created = $created + $response->data->created_count;
$updated = $updated + (isset($response->data->updated_count) ? $response->data->updated_count : 0);
Log::debug(print_r(['$count' => $count, '$created' => $created, '$updated' => $updated], true));
diff --git a/app/Http/Controllers/DetailingcontestController.php b/app/Http/Controllers/DetailingcontestController.php
new file mode 100644
index 00000000..70eec013
--- /dev/null
+++ b/app/Http/Controllers/DetailingcontestController.php
@@ -0,0 +1,115 @@
+middleware('auth');
+ $this->_service = 'detailing';
+ $this->_module = 'contest';
+ $this->_viewname = 'detailingcontest';
+ $this->_title = 'Detailing Contests';
+ $this->_base_url = '/detailingcontest';
+ }
+// , 'medias' => ['icon' => 'image-multiple', 'querystring' => 'id={ID}']
+ protected function get_list_fields(){
+ return [
+ 'actions' => ['title' => 'Actions', 'buttons' => [ 'edit', 'delete' ] ],
+ 'name' => ['title' => 'Title', 'type' => 'text'],
+ 'marks' => ['title' => 'Marks', 'type' => 'text'],
+ 'status' => ['title' => 'Status', 'type' => 'select'],
+ ];
+ }
+
+ protected function get_form_fields($type, $values){
+ $groups = $this->getlambda('get', 'ums', 'group', 'dropdown');
+ $groups_dd = [];
+ foreach($groups->data->items as $group){
+ $groups_dd[$group->id] = $group->name;
+ }
+ $users = $this->getlambda('get', 'ums', 'users', 'dropdown');
+ $users_dd = [];
+ foreach($users->data->items as $user){
+ $users_dd[$user->id] = $user->firstname . ' ' . $user->lastname . ' (' . $user->employee_code . ')';
+ }
+
+ $parameters = $this->getlambda('get', 'detailing', 'parameter', 'get_all');
+ $params_dd = [];
+ foreach($parameters->data->items as $param){
+ $params_dd[$param->id] = $param->title . ' (Scale: ' . $param->scale . ')';
+ }
+
+ return [
+ 'name' => ['title' => 'Contest Name', 'type' => 'text', 'required' => true],
+ 'status' => ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled'] ],
+ 'description' => ['title' => 'Contest Description', 'type' => 'textarea', 'required' => true, 'fullwidth' => true],
+
+ 'groups' => ['title' => 'Groups', 'type' => 'multiselect', 'required' => true, 'values' => $groups_dd ],
+ 'evaluators' => ['title' => 'Evaluators', 'type' => 'multiselect', 'required' => true, 'values' => $users_dd ],
+ 'observers' => ['title' => 'Observers', 'type' => 'multiselect', 'required' => true, 'values' => $users_dd ],
+
+ 'evaluation_parameters' => ['title' => 'Evaluation Parameters', 'type' => 'multiselect', 'required' => true, 'values' => $params_dd ],
+ 'evaluation_workflow' => ['title' => 'Evaluator Type', 'type' => 'select', 'required' => true, 'values' => ['ANY' => 'ANY', 'ALL' => 'ALL'] ],
+ 'media_type' => ['title' => 'Media Type', 'type' => 'select', 'required' => true, 'values' => ['audio' => 'Audio', 'video' => 'Video', 'pdf' => 'PDF', 'image' => 'Image',] ],
+ 'file' => ['title' => 'Media', 'type' => 'image', 'required' => true],
+ 'cover_image' => ['title' => 'Cover Image', 'type' => 'image', 'required' => true],
+
+ 'response_types' => ['title' => 'Response Types', 'type' => 'checkbox', 'required' => true, 'values' => ['audio' => 'Audio', 'video' => 'Video', 'pdf' => 'PDF', 'image' => 'Image',] ],
+ 'response_sources' => ['title' => 'Response Sources', 'type' => 'multiselect', 'required' => true, 'values' => ['CAMERA' => 'CAMERA', 'GALLERY' => 'GALLERY'] ],
+ 'response_self_delete' => ['title' => 'Response Deletion Access', 'type' => 'yesno', 'required' => true],
+ 'result_publish_count' => ['title' => 'Result Publish Count', 'type' => 'number', 'required' => true],
+ 'marks' => ['title' => 'Marks', 'type' => 'number', 'required' => true],
+
+ 'is_published' => ['title' => 'Is Published', 'type' => 'yesno', 'required' => true],
+ 'additional_evaluators' => ['title' => 'Additional Evaluators', 'type' => 'checkbox', 'required' => true, 'values' => ['level_1_manager' => '1st line manager', 'level_2_manager' => '2nd line manager', 'random_manager' => 'Random Manager',]],
+
+ ];
+ }
+
+ protected function _beforesave($type, $request) {
+ $data = $request->except('_token');
+ if( $request->file('cover_image') ) {
+ $data['cover_image'] = $this->_uploadMedia($request, 'cover_image', 'detailing');
+ }
+ if( $request->file('file') ) {
+ $data['file'] = $this->_uploadMedia($request, 'file', 'detailing');
+ }
+ return $data;
+ }
+
+ protected function _beforeform($type, $values) {
+ if($type == 'edit') {
+ //echo ''; print_r($values); exit;
+ if(isset($values->groups))
+ $values->groups = explode('#', $values->groups);
+ else
+ $values->groups = [];
+
+ if(isset($values->evaluators))
+ $values->evaluators = explode('#', $values->evaluators);
+ else
+ $values->evaluators = [];
+
+ if(isset($values->observers))
+ $values->observers = explode('#', $values->observers);
+ else
+ $values->observers = [];
+ }
+ return $values;
+ }
+
+ public function medias(Request $request) {
+ $mag_id = $request->input('id', 0);
+ if($mag_id === 0) {
+ return redirect('/magazines')->withError('Magazine not found!');
+ } else {
+ $request->session()->put('mag_id', $mag_id);
+ return redirect('/magmedias');
+ }
+ }
+}
diff --git a/app/Http/Controllers/FormController.php b/app/Http/Controllers/FormController.php
index 01d81cb0..847769ce 100644
--- a/app/Http/Controllers/FormController.php
+++ b/app/Http/Controllers/FormController.php
@@ -68,7 +68,7 @@ class FormController extends Controller
return LambdaRequest::postrequest('form', 'formentity/getforminfo', ['finfo' => $finfo]);
});
// $finfo = LambdaRequest::postrequest('form', 'formentity/getforminfo', ['finfo' => $finfo]);
- // Log::debug(print_r($finfo, true));
+ Log::debug(print_r($finfo, true));
$request->session()->put('formdata', $finfo->data->formdata);
if($finfo->status == 'success' && $finfo->data->formdata->link_type == 'form') {
return $this->deliverform($finfo->data->formdata, $finfo->data->questions);
@@ -92,6 +92,7 @@ class FormController extends Controller
public function submit(Request $request) {
$post = $request->except('_token');
+ if($post['id']=='') unset($post['id']);
$formdata = $request->session()->get('formdata');
if(isset($formdata) && !empty($formdata) && $formdata->user_id != '') {
$post = $this->processformdata($formdata->form_id, $post);
@@ -109,12 +110,11 @@ class FormController extends Controller
public function ajaxsubmit(Request $request) {
$post = $request->except('_token');
+ if(isset($post['id']) && $post['id']=='') unset($post['id']);
$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));
+ $post = $this->processformdata($formdata->form_id, $post, $formdata->user_id, $formdata->partition);
+ $finfo = LambdaRequest::postrequest('form', 'formentity/submitform', ['formdata' => $post, 'entity_id' => $formdata->form_id, 'user_id' => $formdata->user_id, 'partition' => $formdata->partition ]);
if($finfo->status == 'success') {
return response()->json(['status' => 'success']);
} else {
@@ -131,9 +131,6 @@ class FormController extends Controller
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') {
@@ -146,8 +143,13 @@ class FormController extends Controller
}
}
- protected function processformdata($form, $post) {
+ protected function processformdata($form, $post, $user_id = 0, $partition = '' ) {
switch($form) {
+ case '1654748343-81b065ee-e05c-431c-a44d-706afc1c16f4':
+ if($post['contact_id'] == 'other') {
+ $post['contact_id'] = '';
+ }
+ break;
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'];
@@ -163,6 +165,64 @@ class FormController extends Controller
}
}
break;
+ case '1655958637-c41fb1b6-4ddc-42d3-aa2a-563c1cf5e4c9':
+ Log::debug(print_r($post, true));
+ if(array_key_exists('chemist_name', $post) ) {
+ $chemistformdata = [];
+ $chemistformdata['form_id'] = '1654747635-9d7133e4-a641-4865-aeed-021bb34d8960';
+ $chemistformdata['record_date'] = $post['record_date'];
+ $chemistformdata['chemist_name'] = $post['chemist_name'];
+ $chemistformdata['dapasach_units'] = $post['dapasach_strips'];
+ $chemistformdata['dapasach_m_units'] = $post['dapasach_m_strips'];
+ $finfo = LambdaRequest::postrequest('form', 'formentity/submitmultipleform', ['formdata' => $chemistformdata, 'entity_id' => $chemistformdata['form_id'], 'user_id' => $user_id, 'partition' => $partition ]);
+ }
+
+ $rxformdata = [];
+ $rxformdata['form_id'] = '1657032612-8a539e63-fc5e-47c2-96f9-b4454cea7591';
+ $rxformdata['record_date'] = $post['record_date'];
+ $rxformdata['no_of_dapasach_rx'] = $post['no_of_dapasach_rx'];
+ $rxformdata['no_of_dapasach_m_rx'] = $post['no_of_dapasach_m_rx'];
+ $rxformdata['dapasach_units_made_available'] = $post['dapasach_units_made_available'];
+ $rxformdata['dapasach_m_units_made_available'] = $post['dapasach_m_units_made_available'];
+ $finfo = LambdaRequest::postrequest('form', 'formentity/submitform', ['formdata' => $rxformdata, 'entity_id' => $rxformdata['form_id'], 'user_id' => $user_id, 'partition' => $partition ]);
+
+ unset($post['chemist_name']);
+ unset($post['dapasach_units']);
+ unset($post['dapasach_m_units']);
+ unset($post['no_of_dapasach_rx']);
+ unset($post['no_of_dapasach_m_rx']);
+ unset($post['dapasach_units_made_available']);
+ unset($post['dapasach_m_units_made_available']);
+ Log::debug(print_r($post, true));
+ break;
+ case '1659513016-1f5e2584-fb76-4075-b040-a9a4e34a7458':
+ case '1659538834-fb8bd30a-a719-4285-8d74-063462930c1d':
+ if($post['customer_type'] == 'Doctor') {
+ $post['doctor_count'] = 1;
+ $post['retailer_count'] = 0;
+ } else {
+ $post['doctor_count'] = 0;
+ $post['retailer_count'] = 1;
+ }
+
+ $prefix = '';
+ if($post['brand_selected'] == 'DAPASACH FRANCHISE') {
+ $prefix = 'dapasach_';
+ if($post['customer_type'] == 'Retailer') {
+ $post[$prefix.'pob_dapasach'] = $post['pob_dapasach'];
+ $post[$prefix.'pob_dapasach_s'] = $post['pob_dapasach_s'];
+ $post[$prefix.'pob_dapasach_m'] = $post['pob_dapasach_m'];
+ }
+ } else if($post['brand_selected'] == 'METOLAR FRANCHISE') {
+ $prefix = 'metolar_';
+ if($post['customer_type'] == 'Retailer') {
+ $post[$prefix.'pob_metolar_trio'] = $post['pob_metolar_trio'];
+ $post[$prefix.'pob_metolar_3d'] = $post['pob_metolar_3d'];
+ }
+ }
+ $post[$prefix.'doctor_count'] = $post['doctor_count'];
+ $post[$prefix.'retailer_count'] = $post['retailer_count'];
+ break;
}
return $post;
diff --git a/app/Http/Controllers/MetricreportController.php b/app/Http/Controllers/MetricreportController.php
index e4c222f7..e2587b38 100644
--- a/app/Http/Controllers/MetricreportController.php
+++ b/app/Http/Controllers/MetricreportController.php
@@ -121,7 +121,7 @@ class MetricreportController extends Controller
break;
case 'details':
if($response->data->graph->chart == 'tabular') {
- $headers = ['User', 'Employee Code', 'Designation', 'Zone', 'Region', "Area", "Territory"];
+ $headers = ['User', 'Employee Code', 'Email', 'Designation', 'Zone', 'Region', "Area", "Territory"];
foreach($response->data->graph->values->metrics as $metric) {
$headers[] = $metric->metric;
}
@@ -130,6 +130,7 @@ class MetricreportController extends Controller
$row = [];
$row[] = $user->name;
$row[] = $user->employee_code;
+ $row[] = $user->email;
$row[] = $user->designation;
$row[] = isset($user->positions->Zone) ? $user->positions->Zone : '-';
$row[] = isset($user->positions->Region) ? $user->positions->Region : '-';
diff --git a/resources/views/contestparameter/form.blade.php b/resources/views/contestparameter/form.blade.php
new file mode 100644
index 00000000..3b3ed366
--- /dev/null
+++ b/resources/views/contestparameter/form.blade.php
@@ -0,0 +1,180 @@
+@extends('layouts.vertical', ["page_title"=> "Add & Edit Products"])
+
+@section('css')
+
+
+
+
+
+
+@endsection
+
+@section('content')
+
+
+
+@if(session()->has('message'))
+
+ {{ session()->get('message') }}
+
+@endif
+
+
+
+
+
+
+
+
+
+@endsection
+
+@section('script')
+
+
+
+
+
+
+@endsection
\ No newline at end of file
diff --git a/resources/views/layouts/shared/left-sidebar.blade.php b/resources/views/layouts/shared/left-sidebar.blade.php
index 7ceb1ac8..ee60ba26 100755
--- a/resources/views/layouts/shared/left-sidebar.blade.php
+++ b/resources/views/layouts/shared/left-sidebar.blade.php
@@ -175,6 +175,27 @@
@endif
+
+