MINI Sh3ll
@extends('layouts.main')
@section('title', 'Support and Portal admin')
@section('content')
<!--begin::Portlet-->
<div class="m-portlet m-portlet--tab">
<div class="m-portlet__head">
<div class="m-portlet__head-caption">
<div class="m-portlet__head-title">
<span class="m-portlet__head-icon m--hide">
<i class="la la-gear"></i>
</span>
<h3 class="m-portlet__head-text">
Support and Portal admin
</h3>
</div>
</div>
<div class="m-portlet__head-tools">
<a href="{{ route('support.index') }}" class="btn btn-sm btn-accent m-btn m-btn--custom m-btn--icon m-btn--air">
<span>
<i class="la la-arrow-left"></i>
<span>
Back
</span>
</span>
</a>
</div>
</div>
<form action="{{ route('support.store') }}" class="m-form m-form--fit m-form--label-align-right" autocomplete="off" id="addSCPLUser" method="POST" role="form" data-parsley-validate="parsley">
{{ csrf_field() }}
<div class="m-portlet__body">
<div class="row">
<div class="col-md-6">
<div class="m-form__group form-group">
<label for="">
Role : <span class="text-danger">*</span>
</label>
{!! Form::select('role_id', $role, null,['class' => 'form-control select2 getPermission',"data-parsley-required"=>"alphanum", "data-parsley-required-message"=>"Select user role."]) !!}
{!! $errors->first('role_id', '<p class="help-block">:message</p>') !!}
<span class="m-form__help">
</span>
</div>
</div>
<div class="col-md-6">
<div class="form-group m-form__group">
<label class="">
Company: <span class="text-danger">*</span>
</label>
{!! Form::select('company_id', $company, null,['id'=>'company','class' => 'form-control select2',"data-parsley-required"=>"alphanum", "data-parsley-required-message"=>"Please select the company."],$companyAttribute) !!}
{!! $errors->first('company_id', '<p class="help-block">:message</p>') !!}
<span class="m-form__help">
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group m-form__group">
<label for="exampleInputEmail1">
First Name <span class="text-danger">*</span>
</label>
<input type="text" class="form-control m-input" name="first_name" placeholder="Name"
value="{{ old('first_name') }}"
required = 'required'
data-parsley-required-message = 'First name is required'
data-parsley-trigger = 'change focusout'
data-parsley-pattern = '/^[a-zA-Z]*$/'
data-parsley-minlength = '3'
data-parsley-maxlength = '32'
autocomplete="false">
<span class="m-form__help">
</span>
</div>
</div>
<div class="col-md-6">
<div class="form-group m-form__group">
<label class="">
Middle Name
</label>
<input type="text" class="form-control m-input" name="middle_name" placeholder="Middle Name" value="{{ old('middle_name') }}"
data-parsley-trigger = 'change focusout'
data-parsley-pattern = '/^[a-zA-Z]*$/'
data-parsley-minlength = '1'
autocomplete="false">
<span class="m-form__help">
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group m-form__group">
<label for="exampleInputEmail1">
Last Name <span class="text-danger">*</span>
</label>
<input type="text" class="form-control m-input" name="last_name" placeholder="Last Name" value="{{ old('last_name') }}"
required = 'required'
data-parsley-required-message = 'Last name is required'
data-parsley-trigger = 'change focusout'
data-parsley-pattern = '/^[a-zA-Z]*$/'
data-parsley-minlength = '3'
data-parsley-maxlength = '32'
autocomplete="false">
<span class="m-form__help">
</span>
</div>
</div>
<div class="col-md-6">
<div class="form-group m-form__group">
<label class="">
Email address <span class="text-danger">*</span>
</label>
<input type="email" class="form-control m-input" id="email" name="email" value="{{ old('email') }}"
placeholder = '[email protected]'
required = 'required'
data-parsley-doamin=""
data-parsley-required-message = 'Email address is required'
data-parsley-trigger = 'change focusout'
data-parsley-checkemail=""
autocomplete="false">
<span class="m-form__help">
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group m-form__group">
<label for="exampleInputEmail1">
Mobile Number <span class="text-danger">*</span>
</label>
<input type="text" class="form-control m-input" name="mobile" value="{{ old('mobile') }}"
placeholder = 'xxxxxxxx'
required = 'required'
data-parsley-required-message = 'Mobile number is required'
data-parsley-pattern = '^[789]\d{9}$'
data-parsley-pattern-message = 'please enter valid number'
data-parsley-minlength = '10'
data-parsley-maxlength = '10'
data-parsley-checknumber=""
data-parsley-trigger = 'change focusout'
autocomplete="false">
<span class="m-form__help">
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="m-form__group form-group">
<label> Access Level <span class="text-danger">*</span></label>
<div id="element"></div>
<div class="m-checkbox-list access-level">
<?php
$notPermitted = array('RAPI','APAN','SCPL','COM');
foreach($modules as $module) {
if(!in_array($module->module_code,$notPermitted)) {
if($module->parent_id == 0) {
?>
<label class="m-checkbox m-checkbox--bold m-checkbox--state-success parent-module">
<input type="checkbox" id ="{{$module->module_code}}" class="parent default_permission-{{$module->module_code}}" name="module_id[]" value="{{$module->id}}"
autocomplete="false"
data-parsley-errors-container="#element"
data-parsley-multiple="checkbox"
data-parsley-mincheck="1"
data-parsley-required data-parsley-error-message="Please choose at least 1 access level"
/>
{{$module->module_name}}
<span></span>
</label>
<?php foreach($module->children as $children) {
?>
<label class="m-checkbox m-checkbox--bold m-checkbox--state-brand child-module ">
<input type="checkbox" id = "child" class="default_permission-{{$module->module_code}}" name="module_id[]" value="{{$children->id}}"
autocomplete="false"
data-parsley-errors-container="#element"
data-parsley-multiple="checkbox"
data-parsley-mincheck="1"
data-parsley-required data-parsley-error-message="Please choose at least 1 access level"
onClick = "childClicked('parent-{{$module->module_code}}');"/>
{{$children->module_name}}
<span></span>
</label>
<?php }
}
}
}?>
</div>
</div>
</div>
</div>
</div>
<div class="m-portlet__foot m-portlet__foot--fit">
<div class="m-form__actions">
<button type="submit" class="btn btn-primary">
Submit
</button>
<button type="reset" class="btn btn-secondary">
Cancel
</button>
</div>
</div>
</form>
</div>
<!--end::Portlet-->
@endsection
@section('script')
<script type="text/javascript">
window.Parsley.addValidator('doamin', {
validateString: function(value) {
var domain = $('option:selected','#company').attr("data-comapny-domain");
var subdomain = domain.split(',');
var email = $('#email').val();
var usermail = email.split('@')[1];
for (var i = 0; i < subdomain.length; i++) {
var maindomain = subdomain[i];
if(maindomain == usermail){
return true;
}
}
return false;
},
messages: {
en: 'Please enter email address with valid domain '
}
});
$(document).ready(function(){
window.Parsley.addValidator('checkemail', {
validateString: function(value) {
var email = value;
var token = '{{ csrf_token() }}' ;
var url = '{{ route("checkEmail") }}';
var response = checkEmail(email,token,url);
return response;
},
messages: {
en: 'Email address has already been taken'
}
});
window.Parsley.addValidator('checknumber', {
validateString: function(value) {
var number = value;
var token = '{{ csrf_token() }}' ;
var url = '{{ route("checkNumber") }}';
var response = checkNumber(number,token,url);
return response;
},
messages: {
en: 'Mobile number is already registered'
}
});
});
</script>
<script type="text/javascript">
$('.parent').on('click', function(){
if($(this).is(':checked')) {
$( '.access-level input:checkbox[class="default_permission-' + $(this).attr('id') + '"]' ).prop('checked',true);
} else {
$( '.access-level input:checkbox[class="default_permission-' + $(this).attr('id') + '"]' ).prop('checked',false);
}
});
function childClicked(cls) {
var temp = cls.split( '-' );
var parentId = temp[1];
alert(parentId);
if ( $('.'+cls).is(':checked')) {
$('#'+parentId).prop('checked',true);
}
else {
var atLeastOneEnabled = false;
$( '.access-level input:checkbox[class="'+cls+'"]' ).each( function() {
if ( $('.'+cls).is(':checked')) {
atLeastOneEnabled = true;
}
});
if ( !atLeastOneEnabled ) {
$('#'+parentId).prop('checked',false);
}
}
}
$(document).on('change','.getPermission',function(){
var role = $(this).val();
$('input:checkbox').prop('checked',false);
$.ajax({
data: {'role': role},
type: 'get',
url: "{{route('getUserPermission')}}",
dataType: "json",
success: function (response) {
$.each(response, function (index, Obj) {
$('.default_permission-'+Obj.module_code).prop('checked',true);
});
}
});
})
</script>
@endsection
OHA YOOOO