Changes
This commit is contained in:
parent
71f2f59185
commit
f81bbbaf1c
|
|
@ -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 '<pre>';
|
||||
// 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 '<pre>'; 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!');
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\LambdaRequest;
|
||||
use DB;
|
||||
|
||||
class ContestparameterController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->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],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,115 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\LambdaRequest;
|
||||
use DB;
|
||||
|
||||
class DetailingcontestController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->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 '<pre>'; 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');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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 '<pre>'; 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;
|
||||
|
|
|
|||
|
|
@ -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 : '-';
|
||||
|
|
|
|||
|
|
@ -0,0 +1,180 @@
|
|||
@extends('layouts.vertical', ["page_title"=> "Add & Edit Products"])
|
||||
|
||||
@section('css')
|
||||
<!-- third party css -->
|
||||
<link href="{{asset('assets/libs/select2/select2.min.css')}}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{asset('assets/libs/multiselect/multiselect.min.css')}}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{ URL::asset('assets/libs/dropify/dropify.min.css')}}" rel="stylesheet" type="text/css" />
|
||||
<link href="{{asset('assets/libs/bootstrap-datepicker/bootstrap-datepicker.min.css')}}" rel="stylesheet" type="text/css" />
|
||||
<!-- third party css end -->
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<!-- Start Content-->
|
||||
<div class="container-fluid">
|
||||
<!-- end page title -->
|
||||
@if(session()->has('message'))
|
||||
<div class="alert alert-success mt-3">
|
||||
{{ session()->get('message') }}
|
||||
</div>
|
||||
@endif
|
||||
<div class="row mt-3">
|
||||
<div class="col-xl-12">
|
||||
<div class="card">
|
||||
<form method="post" action="" id="form-availiblity" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
<h4 class="page-title">Add / Edit {{$title}}</h4>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<div class="float-end">
|
||||
<a href="{{$base_url}}s" class="btn btn-dark waves-effect waves-light">Back</a>
|
||||
<button type="submit" class="btn btn-success waves-effect waves-light">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
@foreach($fields as $field => $props)
|
||||
@if($props['type'] != 'hidden')
|
||||
<div class="col-md-{{isset($props['fullwidth'])?'12':'6'}} mb-3">
|
||||
<label for="field-{{$field}}" class="form-label">{{$props['title']}} {!!isset($props['required'])&&$props['required'] ? '<span class="text-danger">*</span>':''!!} </label>
|
||||
@endif
|
||||
@switch($props['type'])
|
||||
@case('hidden')
|
||||
<input type="{{$props['type']}}" id="field-{{$field}}" name="{{$field}}" value="{{$mode=='edit'?$item->{$field}:''}}">
|
||||
@break
|
||||
@case('text')
|
||||
@case('email')
|
||||
@case('number')
|
||||
@case('tel')
|
||||
<input type="{{$props['type']}}" id="field-{{$field}}" name="{{$field}}" class="form-control" placeholder="Enter {{$props['title']}}" value="{{$mode=='edit'&&isset($item->{$field})?$item->{$field}:''}}" {{isset($props['required'])&&$props['required']?'required':'' }}>
|
||||
@break
|
||||
@case('date')
|
||||
<input type="text" id="field-{{$field}}" name="{{$field}}" class="form-control" placeholder="Enter {{$props['title']}}" value="{{$mode=='edit'&&isset($item->{$field})?$item->{$field}:''}}" data-provide="datepicker" data-date-format="mm-dd-yyyy" data-date-autoclose="true" {{isset($props['required'])&&$props['required']?'required':'' }}>
|
||||
@break
|
||||
@case('textarea')
|
||||
<textarea id="field-{{$field}}" name="{{$field}}" class="form-control" placeholder="Enter {{$props['title']}}" {{isset($props['required'])&&$props['required']?'required':'' }}>{{$mode=='edit'&&isset($item->{$field})?$item->{$field}:''}}</textarea>
|
||||
@break
|
||||
@case('select')
|
||||
<select class="form-control" id="field-{{$field}}" name="{{$field}}" {{isset($props['required'])&&$props['required']?'required':'' }}>
|
||||
<option value=""> -- Select {{$props['title']}} -- </option>
|
||||
@foreach($props['values'] as $k => $v)
|
||||
<option value="{{$k}}" {{$mode=='edit' && $item->{$field} == $k ? 'selected="selected"':''}}>{{$v}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@break
|
||||
@case('checkbox')
|
||||
@foreach($props['values'] as $k => $v)
|
||||
<div class="form-check mb-2 form-check-blue">
|
||||
<input class="form-check-input" type="checkbox" name="{{$field}}[]" value="{{$k}}" id="field-{{$field}}-{{$k}}" {{$mode=='edit' && isset($item->{$field}) && in_array($k, $item->{$field}) ? 'checked':''}}>
|
||||
<label class="form-check-label" for="field-{{$field}}-{{$k}}">{{$v}}</label>
|
||||
</div>
|
||||
@endforeach
|
||||
@break
|
||||
@case('multiselect')
|
||||
<select class="form-control select2-multiple" data-toggle="select2" data-width="100%" multiple="multiple" data-placeholder="Choose {{$props['title']}}" id="field-{{$field}}" name="{{$field}}[]" {{isset($props['required'])&&$props['required']?'required':'' }}>
|
||||
<option value=""> -- Select {{$props['title']}} -- </option>
|
||||
@foreach($props['values'] as $k => $v)
|
||||
<option value="{{$k}}" {{$mode=='edit' && isset($item->{$field}) && in_array($k, $item->{$field}) ? 'selected="selected"':''}}>{{$v}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@break
|
||||
@case('bigmultiselect')
|
||||
<select multiple="multiple" class="bigmultiselect multi-select" id="field-{{$field}}" name="{{$field}}[]" {{isset($props['required'])&&$props['required']?'required':'' }}>
|
||||
@foreach($props['values'] as $k => $v)
|
||||
<option value="{{$k}}" {{$mode=='edit' && in_array($k, $item->{$field}) ? 'selected="selected"':''}}>{{$v}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@break
|
||||
@case('yesno')
|
||||
<div>
|
||||
<div class="form-check mb-2 form-check-success form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="{{$field}}" id="field-{{$field}}-yes" value="yes" {{$mode=='edit' && $item->{$field} == 'yes' ? 'checked':''}} {{isset($props['required'])&&$props['required']?'required':'' }}>
|
||||
<label class="form-check-label" for="field-{{$field}}-yes">Yes</label>
|
||||
</div>
|
||||
<div class="form-check mb-2 form-check-danger form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="{{$field}}" id="field-{{$field}}-no" value="no" {{$mode=='edit' && $item->{$field} == 'no' ? 'checked':''}}>
|
||||
<label class="form-check-label" for="field-{{$field}}-no">No</label>
|
||||
</div>
|
||||
</div>
|
||||
@break
|
||||
@case('image')
|
||||
<div class="mt-3" id="file_wrapper">
|
||||
<input type="file" name="{{$field}}" class="dropify" data-default-file="{{$mode=='edit'&&isset($item->{$field})?$item->{$field}:''}}" data-allowed-file-extensions="png jpg jpeg gif" />
|
||||
<p class="text-muted text-center mt-2 mb-0">500MB Max File size</p>
|
||||
</div>
|
||||
@break
|
||||
@case('multiimage')
|
||||
<div class="mt-3" id="file_wrapper">
|
||||
<input type="file" name="{{$field}}[]" multiple class="dropify" data-allowed-file-extensions="png jpg jpeg gif" />
|
||||
<p class="text-muted text-center mt-2 mb-0">500MB Max File size</p>
|
||||
</div>
|
||||
@break
|
||||
@case('file')
|
||||
<div class="mt-3" id="file_wrapper">
|
||||
<input type="file" name="{{$field}}" class="dropify" data-default-file="{{$mode=='edit'?$item->{$field}:''}}" data-allowed-file-extensions="png jpg jpeg gif mp4 pdf mp3 zip" />
|
||||
<p class="text-muted text-center mt-2 mb-0">1GB Max File size</p>
|
||||
</div>
|
||||
@break
|
||||
|
||||
@endswitch
|
||||
@if($props['type'] != 'hidden')
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
<div class="col-md-12 mb-3">
|
||||
<label for="field-remarks" class="form-label">Remarks <span class="text-danger">*</span></label>
|
||||
<div id="remarks-wrapper" class="row">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 mb-3">
|
||||
<div class="float-end">
|
||||
<a href="{{$base_url}}s" class="btn btn-dark waves-effect waves-light">Back</a>
|
||||
<button type="submit" class="btn btn-success waves-effect waves-light">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- end card-body -->
|
||||
</form>
|
||||
</div> <!-- end card-->
|
||||
</div> <!-- end col -->
|
||||
</div>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
.ms-container {max-width: 100%}
|
||||
</style>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script src="{{asset('assets/libs/select2/select2.min.js')}}"></script>
|
||||
<script src="{{asset('assets/libs/multiselect/multiselect.min.js')}}"></script>
|
||||
<script src="{{asset('assets/libs/multiselect/jquery.quicksearch.js')}}"></script>
|
||||
<script src="{{ URL::asset('assets/libs/dropify/dropify.min.js')}}"></script>
|
||||
<script src="{{asset('assets/libs/bootstrap-datepicker/bootstrap-datepicker.min.js')}}"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('[data-toggle="select2"]').select2();
|
||||
$('.dropify').dropify({
|
||||
messages: {
|
||||
'default': 'Drag and drop a file here or click',
|
||||
'replace': 'Drag and drop or click to replace',
|
||||
'remove': 'Remove',
|
||||
'error': 'Ooops, something wrong appended.'
|
||||
},
|
||||
error: {
|
||||
'fileSize': 'The file size is too big (500MB max).'
|
||||
}
|
||||
});
|
||||
|
||||
$('#field-scale').on('input', function() {
|
||||
$('#remarks-wrapper').html('');
|
||||
for (let i = 0; i < $(this).val(); i++) {
|
||||
$('#remarks-wrapper').append(`<div class="col-md-12 mb-3">
|
||||
<input type="text" name="regards[]" class="form-control">
|
||||
</div>`)
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -175,6 +175,27 @@
|
|||
</li>
|
||||
@endif
|
||||
|
||||
|
||||
<li>
|
||||
<a href="#sidebarDetailing" data-bs-toggle="collapse">
|
||||
<i data-feather="book-open"></i>
|
||||
<span> Detailing </span>
|
||||
<span class="menu-arrow"></span>
|
||||
</a>
|
||||
<div class="collapse" id="sidebarDetailing">
|
||||
<ul class="nav-second-level">
|
||||
<li>
|
||||
<a href="/detailingcontests">Contests</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/contestparameters">Parameters</a>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@if(in_array('metric_get_all', $permissions) ||
|
||||
in_array('injestion_mapping_get_all', $permissions) ||
|
||||
in_array('metric_view_get_all', $permissions) )
|
||||
|
|
|
|||
|
|
@ -37,6 +37,9 @@ use App\Http\Controllers\FormdataController;
|
|||
use App\Http\Controllers\FormsubmissionController;
|
||||
use App\Http\Controllers\FormexportController;
|
||||
use App\Http\Controllers\PositionController;
|
||||
|
||||
use App\Http\Controllers\DetailingcontestController;
|
||||
use App\Http\Controllers\ContestparameterController;
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Web Routes
|
||||
|
|
@ -98,6 +101,9 @@ $modules = ['user' => UserController::class,
|
|||
'formsubmission' => FormsubmissionController::class,
|
||||
'formexport' => FormexportController::class,
|
||||
'position' => PositionController::class,
|
||||
|
||||
'detailingcontest' => DetailingcontestController::class,
|
||||
'contestparameter' => ContestparameterController::class,
|
||||
];
|
||||
foreach ($modules as $mod => $class) {
|
||||
Route::get('/'.$mod.'s', [$class, 'list'])->name($mod.'-list');
|
||||
|
|
|
|||
Loading…
Reference in New Issue