EVOLUTION-NINJA
Edit File: access_controls.php
<?php echo view('includes/header');?> <script src="<?php echo base_url('public/assets/js/jquery-ui.js'); ?>" type="text/javascript"></script> <section class="content-header"> <h1>Access controls </h1> </section> <!--- section 1 --> <section class="content"> <!-- Button trigger modal --> <button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#access_modal"> Add access </button> <!-- Modal --> <div class="modal fade" id="access_modal" role="dialog"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Add access controls / Employee</h4> </div> <div class="modal-body"> <form id="land_owner" class="form-inline access_control_form" enctype="multipart/form-data"> <div class="row" style="padding-bottom:20px; padding-top:10px;"> <!-- <div class="col-sm-0 col-md-2"></div> --> <div class="col-sm-12 col-md-12"> <?php foreach($user_types as $value) { ?> <label class="radio-inline"><input type="radio" value="<?php echo $value->user_type_id;?>" id="account_type" name="account_type"><?php echo $value->user_type;?></label> <?php } ?> </div> <div class="col-sm-0 col-md-3"></div> </div> <!-- row 1----> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-4" id="executives_div"> <!-- <label class="col-sm-4 ">Broker</label> <select class="form-control"> <option></option> </select> --> </div> </div> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Username</label> <input type="text" class="form-control col-sm-8" name="username" pattern="^[a-zA-Z\s]*$" required="required"> </div> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Mail Id</label> <input type="email" class="form-control col-sm-8" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" required="required"> </div> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Login Password</label> <input type="text" class="form-control col-sm-8" name="password" required="required"> </div> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Mail Password</label> <input type="text" class="form-control col-sm-8" name="mail_password" required="required"> </div> </div> </div> <!-- row 2--> <div class="row land_owner_a "> <div class="form-group col-sm-12" style="margin-bottom:10px;"> <label class="col-sm-1">Signature</label> <div class="col-sm-11"> <textarea type="text" class="form-control length ckeditor signature" name="signature"></textarea> </div> </div> <div class="form-group roles"> </div> </div> <!-- row 2--> <div class="row land_owner_a"> <div class="col-sm-4 col-md-4"></div> <div class="col-sm-4 col-md-4"> <button type="submit" class="btn btn-primary center-block submit">Submit</button> </div> <div class="col-sm-4 col-md-4"></div> </div> <!-- row 3--> </form> </div> </div> </div> </div> <div class="row" style=""> <div class="col-md-1"></div> <div class="col-md-10"> <div id = "jaytab3" style="margin-top:3%;margin-left: -28px;" class="col-sm-10 grid"> <div class="grid_div"></div> <table id="list3"></table> <div id="pager3"></div> <div id="dialogSelectRow3" title="Warning" style="display:none"> <p>Please select row</p> </div> </div> </div> </div> <?php ?> </div> <!--- col-sm-8 --> --> <div class="col-sm-0 col-md-1"></div> <!-- Modal --> <div class="modal fade" id="edit_modal" role="dialog"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Update access controls</h4> </div> <div class="modal-body"> <form id="land_owner" class="form-inline update_form" enctype="multipart/form-data"> <input type="hidden" class="form-control col-sm-8 user_id_pk" name="user_id" required="required"> <input type="hidden" class="form-control col-sm-8 executive_id_pk" name="executive_id_pk"> <input type="hidden" class="form-control col-sm-8 landowner_id_pk" name="landowner_id_pk"> <div class="row" style="padding-bottom:20px; padding-top:10px;"> <div class="col-sm-12 col-md-12"> <?php foreach($user_types as $value) { ?> <label class="radio-inline"><input type="radio" value="<?php echo $value->user_type_id;?>" name="type"><?php echo $value->user_type;?></label> <?php } ?> </div> <div class="col-sm-0 col-md-3"></div> </div> <!-- row 1----> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-4" id="edit_executives_div"> <!-- <label class="col-sm-4 ">Broker</label> <select class="form-control"> <option></option> </select> --> </div> </div> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Username</label> <input type="text" class="form-control col-sm-8 username" name="username" pattern="^[a-zA-Z\s]*$" required="required"> </div> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Mail Id</label> <input type="email" class="form-control col-sm-8 email" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" required="required"> </div> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Login Password</label> <input type="text" class="form-control col-sm-8 password" name="password" required="required"> </div> <div class="row land_owner_a"> <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Mail Password</label> <input type="text" class="form-control col-sm-8 mail_password" name="mail_password" required="required"> </div> </div> </div> <!-- row 2--> <div class="row land_owner_a"> <!-- <div class="form-group col-sm-12 col-md-4"> <label class="col-sm-4 ">Signature</label> <input type="file" class="form-control col-sm-8 " name="signature"> </div>--> <div class="form-group col-sm-12" style="margin-bottom:10px;"> <label class="col-sm-1">Signature</label> <div class="col-sm-11"> <textarea type="text" class="form-control col-sm-8 length ckeditor edit_signature" name="edit_signature"></textarea> </div> </div> <br> <div class="form-group edit_roles"> </div> </div> <!-- row 2--> <div class="row land_owner_a"> <div class="col-sm-4 col-md-4"></div> <div class="col-sm-4 col-md-4"> <button type="submit" class="btn btn-primary center-block submit update">Update</button> </div> <div class="col-sm-4 col-md-4"></div> </div> <!-- row 3--> </form> </div> </div> </div> </div> </section> <!--- section 2 --> <style type="text/css"> .content-wrapper, .right-side { //min-height:900px !important; } a { color: inherit; } .form-control:focus, input[type="Submit"]:focus, input[type="button"]:focus { border-color: #FF0000; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6); } #FrmGrid_list2 { width: 100% !important; } .ui-jqdialog .ui-jqdialog-titlebar { height: 29px !important; background-color: #001a00; color: white; padding-left: 10px; } .fm-button { height: 21px !important; padding: 1px; margin-right: 10px !important; height: 21px !important; width: 50%; margin-top: -7px !important; } .ui-jqdialog-content td.navButton { padding-top: 12px !important; } .ui-jqgrid .ui-jqgrid-titlebar { height: 27px !important; background:#AF0100 !important; color:white !important; } .ui-jqgrid-bdiv { height: 232px !important; } .ui-widget-overlay { z-index:0 !important; } .ui-widget-header { background: #1e7ad7 !important; } .ui-jqgrid-hdiv ui-state-default { width: 873px !important; cursor: default!important } ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #fed22f; background: #ffe45c; } .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { font-weight: bold; color: black; } .ui-jqgrid .ui-jqgrid-bdiv { overflow-y: scroll; //overflow-x: hidden; } .agr_appr { font-weight:bold !important; color:#AF0100; cursor: pointer; } </style> <script type="text/ecmascript" src="<?php echo base_url('public/jqgrid/js/jquery.jqGrid.min.js'); ?>"></script> <script type="text/ecmascript" src="<?php echo base_url('public/jqgrid/js/i18n/grid.locale-en.js'); ?>"></script> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('public/assets/css/jquery-ui.css'); ?>" /> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('public/jqgrid/css/ui.jqgrid.css'); ?>" /> <script src="ckeditor/ckeditor.js"></script> <script type="text/javascript"> $(document).ready(function (){ $("input[name=account_type]").change(function(){ var val = $(this).val(); if(val == 7) { $.ajax({ url:"<?php echo base_url('get-executives-list');?>?department="+val, type : "GET", success:function(response) { // response=jQuery.parseJSON(data); console.log(response); var content = ''; if(response.result == 1) { content += '<label class="col-sm-4 ">Broker</label>'; content += '<select class="form-control" name="executive_id" required>'; content += '<option value="">Select</option>'; $.each(response.data,function(key,val){ content += '<option value="'+val.broker_id+'">'+val.associate_name+'</option>'; }); content += '</select>'; $("#executives_div").html(content); } else { $("#executives_div").html(content); } } }); } else if(val == 30) { $("#executives_div").empty(); $.ajax({ url:"<?php echo base_url('get-landowners-list');?>?department="+val, type : "GET", success:function(response) { // response=jQuery.parseJSON(data); console.log(response); var content = ''; if(response.result == 1) { content += '<label class="col-sm-4 ">Land Owner</label>'; content += '<select class="form-control" name="land_owner_id" required>'; content += '<option value="">Select</option>'; $.each(response.data,function(key,val){ content += '<option value="'+val.owner_id+'">'+val.name+'</option>'; }); content += '</select>'; $("#executives_div").html(content); } else { $("#executives_div").html(content); } } }); } else { $("#executives_div").empty(); } }); $("input[name=type]").change(function(){ var val = $(this).val(); if(val == 7) { $.ajax({ url:"<?//php echo base_url('get-executives-list');?>?department="+val, type : "GET", success:function(response) { // response=jQuery.parseJSON(data); console.log(response); var content = ''; if(response.result == 1) { content += '<label class="col-sm-4 ">Broker</label>'; content += '<select class="form-control" name="executive_id" required>'; content += '<option value="">Select</option>'; $.each(response.data,function(key,val){ if($(".executive_id_pk").val() == val.broker_id) { content += '<option value="'+val.broker_id+'" selected>'+val.associate_name+'</option>'; } else { content += '<option value="'+val.broker_id+'">'+val.associate_name+'</option>'; } }); content += '</select>'; $("#edit_executives_div").html(content); } else { $("#edit_executives_div").html(content); } } }); } else if(val == 30) { $("#edit_executives_div").empty(); $.ajax({ url:"<?//php echo base_url('get-landowners-list');?>?department="+val, type : "GET", success:function(response) { // response=jQuery.parseJSON(data); console.log(response); var content = ''; if(response.result == 1) { content += '<label class="col-sm-4 ">Land Owner</label>'; content += '<select class="form-control" name="land_owner_id" required>'; content += '<option value="">Select</option>'; $.each(response.data,function(key,val){ if($(".landowner_id_pk").val() == val.owner_id) { content += '<option value="'+val.owner_id+'" selected>'+val.name+'</option>'; } else { content += '<option value="'+val.owner_id+'">'+val.name+'</option>'; } }); content += '</select>'; $("#edit_executives_div").html(content); } else { $("#edit_executives_div").html(content); } } }); } else { $("#edit_executives_div").empty(); } }); jQuery("#list3").jqGrid({ url:"<?php echo site_url('get-all-controls')?>", mtype : "post", datatype: "json", colNames:['SI','User type','Username','Email','Login Password','Mail Password','Signature','Roles','Edit','Delete'], colModel:[ {name:'user_id',index:'user_id', width:50, hidden:true,editable:false,key:true}, {name:'user_type',index:'user_type', width:150, editable:false}, {name:'username',index:'username', width:125, editable:false}, {name:'email',index:'email', width:150, editable:false}, {name:'password',index:'password', width:149, editable:false}, {name:'mail_password',index:'mail_password', width:149, editable:false}, {name:'signature',index:'signature', width:149, editable:false}, {name:'roles',index:'roles', width:149, editable:false}, {name:' ',index:' ',editable:false,align: "center",editrules:{required: true}, width:120,cellattr: function (rowId, tv, rawObject, cm, rdata) { return ' onclick="reg_fun($(this))" '; },formatter:function (cellvalue, options, rowObject) { return "<input type='button' value='EDIT' \>"; }}, {name:'delete',index:'delete',align: "center",editable:false,editrules:{required: true}, width:120,cellattr: function (rowId, tv, rawObject, cm, rdata) { return ' onclick="fun_delete($(this))" '; },formatter:function (cellvalue, options, rowObject) { return "<input type='button' value='DELETE' \>"; }}, ], rowNum:20, rowTotal: 2000, rowList : [10,20,30,50,100,500,1000], rownumbers: true, rownumWidth: 40, pager:"#pager3", sortname:'owner_id', viewrecords: true, gridview: true, autowidth: true, sortorder:"asc", shrinkToFit: false, emptyrecords: 'No records to display', // multiselect: true, // multiboxonly: true, loadonce:true, caption:" Access Control List", }); $("#list3").jqGrid("setLabel", "rn", "SL"); $("#list3").jqGrid('filterToolbar',{searchOperators : false}); //for multisearch code,remove if not required $("#list3").jqGrid('navGrid','#pager3', {edit:true,add:false,del:false,search:true,refreshstate:"current"}, { }, { }, { }, { sopt:['eq', 'ne', 'lt', 'gt', 'cn', 'bw', 'ew'], closeOnEscape: true, multipleSearch: true, closeAfterSearch: true } ); }); function reg_fun(rowId) { var user_id = rowId.closest('tr').attr('id'); var app = $("#list3").jqGrid('getRowData',user_id); $.ajax({ type : 'post', url : '<?php echo site_url("edit-access-control")?>', data : {user_id:user_id}, success:function(response) { // response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { $(".user_id_pk").val(response.user_details.user_id); $(".executive_id_pk").val(response.user_details.executive_id); $(".landowner_id_pk").val(response.user_details.land_owner_id); $(".username").val(response.user_details.username); $(".email").val(response.user_details.email); $(".password").val(response.user_details.password); $(".mail_password").val(response.user_details.mail_password); $("input[name=type][value=" + response.user_details.user_type_id + "]").prop('checked', true); if(response.user_details.user_type_id == 20) { $('.edit_roles').empty(); var content = ""; content += "<label class='col-sm-4'>Roles</label>"; content += "<input type='text' class='form-control col-sm-8 up_roles' name='edit_roles'/>"; $('.edit_roles').append(content); } $(".up_roles").val(response.user_details.roles); CKEDITOR.instances['edit_signature'].setData(response.user_details.signature); var executive_id = response.user_details.executive_id; var land_owner_id = response.user_details.land_owner_id; if(response.user_details.user_type_id == 7) { $.ajax({ url:"<?php echo base_url('get-executives-list');?>?department="+response.user_details.user_type_id, type : "GET", success:function(data) { response=jQuery.parseJSON(data); console.log(response); var content = ''; if(response.result == 1) { content += '<label class="col-sm-4 ">Broker</label>'; content += '<select class="form-control" name="executive_id" required>'; content += '<option value="">Select</option>'; $.each(response.data,function(key,val){ if(executive_id == val.broker_id) { content += '<option value="'+val.broker_id+'" selected>'+val.associate_name+'</option>'; } else { if(executive_id == 0) { content += '<option value="'+val.broker_id+'">'+val.associate_name+'</option>'; } else { content += '<option value="'+val.broker_id+'" disabled>'+val.associate_name+'</option>'; } } }); content += '</select>'; $("#edit_executives_div").html(content); } else { $("#edit_executives_div").html(content); } } }); } else if(response.user_details.user_type_id == 30) { $.ajax({ url:"<?php echo base_url('get-landowners-list');?>?department="+response.user_details.user_type_id, type : "GET", success:function(data) { response=jQuery.parseJSON(data); console.log(response); var content = ''; if(response.result == 1) { content += '<label class="col-sm-4 ">Broker</label>'; content += '<select class="form-control" name="land_owner_id" required>'; content += '<option value="">Select</option>'; $.each(response.data,function(key,val){ if(land_owner_id == val.owner_id) { content += '<option value="'+val.owner_id+'" selected>'+val.name+'</option>'; } else { if(land_owner_id == 0) { content += '<option value="'+val.owner_id+'">'+val.name+'</option>'; } else { content += '<option value="'+val.owner_id+'" disabled>'+val.name+'</option>'; } } }); content += '</select>'; $("#edit_executives_div").html(content); } else { $("#edit_executives_div").html(content); } } }); } else { $("#edit_executives_div").empty(); } $("#edit_modal").modal("show"); } } }); } function fun_delete(rowId) { var user_id = rowId.closest('tr').attr('id'); swal({ title: "Are you sure?", text: "You will not be able to recover this data!", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes, delete it!", cancelButtonText: "No, cancel plz!", closeOnConfirm: false, closeOnCancel: false }, function(isConfirm){ if (isConfirm) { $(".sweet-alert").hide(); $(".sweet-overlay").hide(); // test.attr('disabled', 'disabled'); // test.text("Deleting..."); $.ajax({ type : 'post', url : '<?php echo site_url("delete-access")?>', data : {user_id:user_id}, success:function(response) { // response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { toastr["success"](response.message); $("#list3").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid'); location.reload(); } } }); } else { $(".sweet-alert").hide(); $(".sweet-overlay").hide(); } }); } $('.access_control_form').submit(function(e){ e.preventDefault(); for (let instance in CKEDITOR.instances) { if (CKEDITOR.instances[instance]) { CKEDITOR.instances[instance].updateElement(); } } formdata = new FormData($(this)[0]); $(".submit").attr('disabled', 'disabled'); $(".submit").text("Submitting..."); var radio = $("input[type='radio']"); if(radio.is(":checked")) { $.ajax({ type : 'post', url : '<?php echo site_url("add-access-controls")?>', data : formdata, contentType: false, processData: false, success:function(response){ // response=jQuery.parseJSON(response); console.log(response); if(response.result==1) { $("#access_modal").modal("hide"); $("#executives_div").empty(); toastr["success"](response.message); $('.access_control_form')[0].reset(); $(".submit").text("Submit"); $(".submit").removeAttr('disabled'); $("#list3").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid'); } else if(response.result==2) { toastr["error"](response.message); $(".submit").text("Submit"); $(".submit").removeAttr('disabled'); } else { toastr["error"](response.message); $(".submit").text("Submit"); $(".submit").removeAttr('disabled'); } } }); } else { $(".submit").text("Submit"); toastr["error"]("Select atleast one account type"); $(".submit").removeAttr('disabled'); } }); $('.update_form').submit(function(e){ e.preventDefault(); for ( instance in CKEDITOR.instances ) CKEDITOR.instances[instance].updateElement(); formdata = new FormData($(this)[0]); $(".update").attr('disabled', 'disabled'); $(".update").text("Updating..."); $.ajax({ type : 'post', url : '<?php echo site_url("update-access")?>', data : formdata, contentType: false, processData: false, success:function(response){ // response=jQuery.parseJSON(response); console.log(response); if(response.result==1) { $("#edit_modal").modal("hide"); $("#list3").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid'); toastr["success"](response.message); $('.update_form')[0].reset(); $(".update").text("Update"); $(".update").removeAttr('disabled'); } else { toastr["error"](response.message); $(".update").text("Update"); $(".update").removeAttr('disabled'); } } }); }); $('input[type=radio][name=account_type]').change(function() { if(this.value == '20') { $('.roles').empty(); var content = ""; content += "<label class='col-sm-4'>Roles</label>"; content += "<input type='text' class='form-control col-sm-8' name='roles'/>"; $('.roles').append(content); } }); </script> <?php echo view('includes/footer');?> <style> .cke_editable p { line-height: 0.3 !important; } </style>