MINI Sh3ll
@extends('layouts.main')
@section('title', 'SCPL Users')
@section('content')
<div class="m-content">
<div class="row">
<div class="m-portlet m-portlet--mobile filter_row">
<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">
Admin & SCPL User
</h3>
</div>
</div>
<div class="m-portlet__head-tools">
<a href="{{ route('user.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::model($user,array('route' => ['user.update', $user->id],'method'=>'PATCH','id'=>'editForm', 'data-parsley-validate'=>'true', 'class'=>'m-form m-form--fit m-form--label-align-right' ,'autocomplete' => "off")) !!}
@csrf
@method('PATCH')
<div class="m-portlet__body">
<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="First Name" value="{{$user->first_name}}"
data-parsley-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'
data-parsley-minlength-message= 'You need to enter at least a 3 characters'
data-parsley-maxlength-message= 'You need to enter maximum 32 characters'
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="{{$user->middle_name}}"
data-parsley-trigger = 'change focusout'
data-parsley-pattern = '/^[a-zA-Z. ]*$/'
data-parsley-minlength = '1'
data-parsley-maxlength = '32'
data-parsley-minlength-message= 'You need to enter at least a 1 characters'
data-parsley-maxlength-message= 'You need to enter maximum 32 characters'
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="{{$user->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'
data-parsley-minlength-message= 'You need to enter at least a 3 characters'
data-parsley-maxlength-message= 'You need to enter maximum 32 characters'
autocomplete="false">
<span class="m-form__help">
</span>
</div>
</div>
<?php
$defaultUser = config('constants.superAdmin');
$readonly = 'readonly';
if(\Auth::user()->email == $defaultUser['email'] ){
$readonly = '';
}
?>
<div class="col-md-6">
<div class="form-group m-form__group">
<label class="">
Email address <span class="text-danger">*</span>
</label>
<input type="text" class="form-control m-input" name="email" value="{{$user->email}}"
placeholder = '[email protected]'
required = 'required'
data-parsley-required-message = 'Email address is required'
data-parsley-trigger = 'change focusout'
data-parsley-type = "email"
data-parsley-type-message = "Enter valid email address"
autocomplete="false" {{$readonly}}>
<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="{{$user->mobile}}"
placeholder = 'xxxxxxxx'
required = 'required'
data-parsley-required-message = 'Mobile number is required'
data-parsley-minlength = '10'
data-parsley-maxlength = '10'
data-parsley-trigger = 'change focusout'
data-parsley-pattern = '^[789]\d{9}$'
data-parsley-pattern-message = 'please enter valid number'
autocomplete="false" {{$readonly}}>
<span class="m-form__help"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group m-form__group">
<label class="">
User Group: <span class="text-danger">*</span>
</label>
{!! Form::select('role_id', $role, $user->role_id,['class' => 'form-control select2',"data-parsley-required"=>"alphanum", "data-parsley-required-message"=>"Select user role.", "autocomplete" => "false"]) !!}
{!! $errors->first('role_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">
Status
</label>
<select class="form-control" name="status" id="status">
<option value="">Select Status</option>
<option value="1">Active</option>
<option value="0">InActive</option>
</select>
<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" class="checkbox-error"></div>
<div class="m-checkbox-list access-level">
<?php
$ids = $user->modules()->pluck('module_id')->toArray();
foreach($modules as $module) {
if($module->parent_id == 0) {
$checked = "";
if(in_array($module->id, $ids)) {
$checked = "checked='checked'";
}
?>
<label class="m-checkbox m-checkbox--bold m-checkbox--state-success parent-module">
<input type="checkbox" class="parent" id ="{{$module->id}}"
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"
{{$checked}}
/>
{{$module->module_name}}
<span></span>
</label>
<?php foreach($module->children as $children) {
$checked = "";
if(in_array($children->id, $ids)) {
$checked = "checked='checked'";
}
?>
<label class="m-checkbox m-checkbox--bold m-checkbox--state-brand child-module">
<input type="checkbox" name="module_id[]"
class="parent-{{$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"
{{$checked}}
onClick = "childClicked('parent-{{$module->id}}');"/>
{{$children->module_name}}
<span></span>
</label>
<?php }
}
}?>
</div>
</div>
</div>
</div>
{{-- <div class="row">
<div class="col-md-12">
<h5 class="box-title">Access Level</h5>
<div id="element" class="checkbox-error"></div>
<div class="m-checkbox-list">
@if(count($user->modules()->get())>0)
@foreach($modules as $module)
@if($module->parent_id == 0)
<label class="m-checkbox m-checkbox--state-success parent-module">
@foreach($user->modules()->get() as $m)
<input {{($m->id == $module->id) ? 'checked' : ''}} type="checkbox" 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">
@endforeach
{{$module->module_name}}
<span></span>
</label>
@endif
@foreach($module->children as $children)
<label class="m-checkbox m-checkbox--state-warning child-module">
@foreach($user->modules()->get() as $m)
<input {{($m->id == $children->id) ? 'checked' : ''}} type="checkbox" name="module_id[]" value="{{$children->id}}" data-parsley-multiple="checkbox" data-parsley-mincheck="1" data-parsley-required data-parsley-error-message="Please choose at least 1 access level">
@endforeach
{{$children->module_name}}
<span></span>
</label>
@endforeach
@endforeach
@endif
</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">
Update
</button>
<button type="reset" class="btn btn-secondary">
Cancel
</button>
</div>
</div>
</form>
</div>
</div>
</div>
<!--begin::Portlet-->
<!--end::Portlet-->
@endsection
@section('script')
<script>
$("#status option").each(function () {
if ($(this).val() == "{{ $user->status }}")
$(this).attr("selected", "selected");
});
</script>
<script type="text/javascript">
$('.parent').on('click', function(){
if($(this).is(':checked')) {
$( '.access-level input:checkbox[class="parent-' + $(this).attr('id') + '"]' ).prop('checked',true);
} else {
$( '.access-level input:checkbox[class="parent-' + $(this).attr('id') + '"]' ).prop('checked',false);
}
});
function childClicked(cls) {
var temp = cls.split( '-' );
var parentId = temp[1];
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);
}
}
}
</script>
@endsection
OHA YOOOO