539 lines
28 KiB
PHP
539 lines
28 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>User Listing</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta content="A fully featured admin theme which can be used to build CRM, CMS, etc." name="description" />
|
|
<meta content="Coderthemes" name="author" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<!-- App favicon -->
|
|
<link rel="shortcut icon" href="<?php echo base_url(); ?>assets/images/favicon.ico">
|
|
|
|
<!-- third party css -->
|
|
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
|
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
|
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
|
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-select-bs4/css//select.bootstrap4.min.css" rel="stylesheet" type="text/css" />
|
|
<!-- third party css end -->
|
|
|
|
<!-- App css -->
|
|
<link href="<?php echo base_url(); ?>assets/css/bootstrap-creative.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" />
|
|
<link href="<?php echo base_url(); ?>assets/css/app-creative.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" />
|
|
|
|
<link href="<?php echo base_url(); ?>assets/css/bootstrap-creative-dark.min.css" rel="stylesheet" type="text/css" id="bs-dark-stylesheet" />
|
|
<link href="<?php echo base_url(); ?>assets/css/app-creative-dark.min.css" rel="stylesheet" type="text/css" id="app-dark-stylesheet" />
|
|
|
|
<!-- icons -->
|
|
<link href="<?php echo base_url(); ?>assets/css/icons.min.css" rel="stylesheet" type="text/css" />
|
|
|
|
<style>
|
|
.mb25{
|
|
margin-bottom: 25px;
|
|
}
|
|
.required{
|
|
color: red;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body class="loading" data-layout-mode="horizontal" data-layout='{"mode": "light", "width": "fluid", "menuPosition": "fixed", "topbar": {"color": "dark"}, "showRightSidebarOnPageLoad": true}'>
|
|
|
|
<!-- Begin page -->
|
|
<div id="wrapper">
|
|
|
|
<?php include('includes/top_nav.php'); ?>
|
|
|
|
<!-- ============================================================== -->
|
|
<!-- Start Page Content here -->
|
|
<!-- ============================================================== -->
|
|
|
|
<div class="content-page">
|
|
<div class="content">
|
|
|
|
<!-- Start Content-->
|
|
<div class="container-fluid">
|
|
|
|
<!-- start page title -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="page-title-box page-title-box-alt">
|
|
<h4 class="page-title">User Listing</h4>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- end page title -->
|
|
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-10"></div>
|
|
<div class="col-md-2">
|
|
<button style="float:right" type="button" class="btn btn-primary waves-effect waves-light" data-toggle='modal' data-target="#add_modal">Add User</button>
|
|
</div>
|
|
</div>
|
|
<!--
|
|
<h4 class="header-title">Scroll - Horizontal</h4>
|
|
<p class="text-muted font-13 mb-4">
|
|
DataTables has the ability to show tables with horizontal scrolling, which is very useful for when you have a wide
|
|
table, but want to constrain it to a limited horizontal display area.
|
|
</p>
|
|
-->
|
|
|
|
<table id="datatable" class="table w-100 nowrap">
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Email</th>
|
|
<th>Mobile</th>
|
|
<th>Company</th>
|
|
<th>Action</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody></tbody>
|
|
</table>
|
|
|
|
</div> <!-- end card body-->
|
|
</div> <!-- end card -->
|
|
</div><!-- end col-->
|
|
</div>
|
|
<!-- end row-->
|
|
|
|
</div> <!-- container -->
|
|
|
|
</div> <!-- content -->
|
|
|
|
<?php include('includes/footer.php'); ?>
|
|
|
|
</div>
|
|
|
|
<!-- ============================================================== -->
|
|
<!-- End Page content -->
|
|
<!-- ============================================================== -->
|
|
|
|
<div id="add_modal" class="modal fade" role="dialog">
|
|
<div class="modal-dialog">
|
|
|
|
<!-- Modal content-->
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Add User Details</h4>
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
</div>
|
|
<form id="usrforma" class="form-horizontal editform" style="padding:10px;">
|
|
<div class="modal-body">
|
|
|
|
<div class="form-body">
|
|
<div class="form-group">
|
|
<!-- <div class="row"> -->
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 mb25">
|
|
<label>Name<span class="required">*</span></label>
|
|
<input onkeyup="this.value = this.value.toUpperCase();" required type="text" name="usr[u_name]" id="add_u_name" class="form-control"/>
|
|
</div>
|
|
<div class="col-md-6 mb25">
|
|
<label>Email<span class="required">*</span></label>
|
|
<input type="text" name="usr[u_email]" id="add_u_email" class="form-control" required/>
|
|
</div>
|
|
<div class="col-md-6 mb25">
|
|
<label>Password<span class="required">*</span></label>
|
|
<input type="password" name="usr[u_password]" id="add_u_password" class="form-control" required/>
|
|
</div>
|
|
<div class="col-md-6 mb25">
|
|
<label>Confirm Password<span class="required">*</span></label>
|
|
<input type="password" id="add_cnf_u_password" class="form-control" required/>
|
|
</div>
|
|
|
|
<div class="col-md-6 mb25">
|
|
<label>Mobile</label>
|
|
<input type="text" oninput="this.setCustomValidity('')" oninvalid="this.setCustomValidity('Valid format : 10 digit number')" pattern="[0-9]{10}" name="usr[u_number]" id="add_u_number" class="form-control"/>
|
|
</div>
|
|
<div class="col-md-6 mb25"><label>Role<span class="required">*</span></label>
|
|
<select class="form-control" name="usr[u_role]" id="add_u_role" required>
|
|
<option value="">--Select--</option>
|
|
<!-- <option value="internal">Internal</option> -->
|
|
<option value="corporate">Corporate</option>
|
|
<option value="tmc">TMC</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div id="add_corp_div" style="display:none" class="col-md-6">
|
|
<label>Corporate<span class="required">*</span></label>
|
|
<select required class="form-control" name="usr[u_corporateid]" id="add_u_corporateid">
|
|
<option value="">--Select--</option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label>Modules<span class="required">*</span></label> <br/>
|
|
<label class="radio-inline">
|
|
<input type="radio" name="usr[u_isactive]" id="add_u_isactive_1" value="1" required> Active
|
|
</label>
|
|
<label class="radio-inline">
|
|
<input type="radio" name="usr[u_isactive]" id="add_u_isactive_0" value="0"> Deactive
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- </div> -->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="submit" class="btn btn-primary">Submit</button>
|
|
<button type="button" id="addclose" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="edit_modal" class="modal fade" role="dialog">
|
|
<div class="modal-dialog">
|
|
|
|
<!-- Modal content-->
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Edit User Details</h4>
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
</div>
|
|
<form id="usrforme" class="form-horizontal editform" style="padding:10px;">
|
|
<div class="modal-body">
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<div class="row">
|
|
<div class="col-md-6 mb25">
|
|
<input type="hidden" name="u_id" id="e_u_id" class="form-control"/>
|
|
<label>Name</label>
|
|
<input onkeyup="this.value = this.value.toUpperCase();" required type="text" name="usr[u_name]" id="e_u_name" class="form-control"/>
|
|
</div>
|
|
<div class="col-md-6 mb25">
|
|
<label>Email</label>
|
|
<input type="text" name="usr[u_email]" id="e_u_email" class="form-control" required/>
|
|
</div>
|
|
<div class="col-md-6 mb25">
|
|
<label>Password</label>
|
|
<input type="password" name="usr[u_password]" id="e_u_password" class="form-control" />
|
|
</div>
|
|
<div class="col-md-6 mb25">
|
|
<label>Confirm Password</label>
|
|
<input type="password" id="e_cnf_u_password" class="form-control"/>
|
|
</div>
|
|
|
|
<div class="col-md-6 mb25">
|
|
<label>Mobile</label>
|
|
<input type="text" oninput="this.setCustomValidity('')" oninvalid="this.setCustomValidity('Valid format : 10 digit number')" pattern="[0-9]{10}" name="usr[u_number]" id="e_u_number" class="form-control"/>
|
|
</div>
|
|
<div class="col-md-6 mb25"><label>Role</label>
|
|
<select class="form-control" name="usr[u_role]" id="e_u_role" required>
|
|
<option value="">--Select--</option>
|
|
<!-- <option value="internal">Internal</option> -->
|
|
<option value="corporate">Corporate</option>
|
|
<option value="tmc">TMC</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="col-md-6 mb25" id="e_corp_div" style="display:none">
|
|
<label>Company Name</label>
|
|
<select class="form-control" name="usr[u_corporateid]" id="e_u_corporateid">
|
|
<option value="">--Select--</option>
|
|
<?php
|
|
foreach($corp_info->result() as $cinfo){
|
|
echo '<option value="'.$cinfo->c_id.'">'.$cinfo->c_name.'</option>';
|
|
}
|
|
?>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label>Status</label> <br/>
|
|
<label class="radio-inline">
|
|
<input type="radio" name="usr[u_isactive]" id="e_u_isactive_1" value="1" required> Active
|
|
</label>
|
|
<label class="radio-inline">
|
|
<input type="radio" name="usr[u_isactive]" id="e_u_isactive_0" value="0"> Deactive
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- </div> -->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="submit" class="btn btn-primary">Submit</button>
|
|
<button type="button" id="editclose" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<button style="display:none" id="editref" type="button" class="btn btn-primary" data-toggle='modal' data-target="#edit_modal">edit ref</button>
|
|
<!-- END wrapper -->
|
|
|
|
<!-- Vendor js -->
|
|
<script src="<?php echo base_url(); ?>assets/js/vendor.min.js"></script>
|
|
|
|
<!-- third party js -->
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/pdfmake/build/pdfmake.min.js"></script>
|
|
<script src="<?php echo base_url(); ?>assets/libs/pdfmake/build/vfs_fonts.js"></script>
|
|
<!-- third party js ends -->
|
|
|
|
<!-- Datatables init -->
|
|
<!-- <script src="<?php echo base_url(); ?>assets/js/pages/datatables.init.js"></script>-->
|
|
|
|
<script>
|
|
|
|
$("#usrforme").submit(function(e) {
|
|
e.preventDefault(); // avoid to execute the actual submit of the form.
|
|
if($('#e_u_password').val() !='' || $('#e_cnf_u_password').val() != ''){
|
|
if($('#e_u_password').val() != $('#e_cnf_u_password').val()){
|
|
alert('Password and confirm password mismatch');
|
|
return false;
|
|
}
|
|
}
|
|
var form = $(this);
|
|
console.log('322',form);
|
|
$.ajax({
|
|
type: "POST",
|
|
url: '<?php echo base_url('admin/upd_usrdetail'); ?>',
|
|
data: form.serialize(), // serializes the form's elements.
|
|
success: function(data)
|
|
{
|
|
if(data == 1){
|
|
$('#editclose').trigger('click');
|
|
usrforme.reset();
|
|
alert('User details updated successfully.');
|
|
getusrlisting();
|
|
}
|
|
else if(data == 2){
|
|
alert('Error. Email ID already taken.');
|
|
}
|
|
else{
|
|
alert('Request failed. Kindly try after sometime');
|
|
}
|
|
},
|
|
error:function(){
|
|
alert('Request failed. Kindly try after sometime');
|
|
}
|
|
});
|
|
});
|
|
|
|
$("#usrforma").submit(function(e) {
|
|
e.preventDefault(); // avoid to execute the actual submit of the form.
|
|
if($('#add_u_password').val() != $('#add_cnf_u_password').val()){
|
|
alert('Password and confirm password mismatch');
|
|
return false;
|
|
}
|
|
var form = $(this);
|
|
console.log('355',form);
|
|
$.ajax({
|
|
type: "POST",
|
|
url: '<?php echo base_url('admin/add_usrdetail'); ?>',
|
|
data: form.serialize(), // serializes the form's elements.
|
|
success: function(data)
|
|
{
|
|
if(data == 1){
|
|
$('#addclose').trigger('click');
|
|
usrforma.reset();
|
|
alert('User details added successfully.');
|
|
getusrlisting();
|
|
}
|
|
else if(data == 2){
|
|
alert('Error. Email ID already taken.');
|
|
}
|
|
else{
|
|
alert('Request failed. Kindly try after sometime');
|
|
}
|
|
},
|
|
error:function(){
|
|
alert('Request failed. Kindly try after sometime');
|
|
}
|
|
});
|
|
});
|
|
|
|
function editfn(u_id){
|
|
$('#e_u_id').val(u_id);
|
|
var htmlData = '';
|
|
$.ajax({
|
|
url : '<?php echo base_url('admin/get_usrdetail') ?>',
|
|
data: {u_id:u_id},
|
|
type:'POST',
|
|
success:function(data){
|
|
var pdata = JSON.parse(data);
|
|
var pd = pdata.data;
|
|
$('#e_u_name').val(pd[0].u_name);
|
|
$('#e_u_email').val(pd[0].u_email);
|
|
$('#e_u_number').val(pd[0].u_number);
|
|
$('#e_u_corporateid').val(pd[0].u_corporateid);
|
|
$('#e_u_role').val(pd[0].u_role);
|
|
|
|
if($('#e_u_role').val() == 'corporate' || $('#e_u_role').val() == 'tmc')
|
|
{
|
|
$('#e_corp_div').show();
|
|
$("#e_u_corporateid").prop('required',true);
|
|
}else{
|
|
$('#e_corp_div').hide();
|
|
$("#e_u_corporateid").prop('required',false);
|
|
}
|
|
|
|
$.each(pd[0],function(k,v){
|
|
if(k == 'u_isactive')
|
|
{
|
|
console.log(v);
|
|
if((v == '0') || (v == '1')){
|
|
$('#e_'+k+'_'+v).prop('checked', true);
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
},
|
|
error:function(){
|
|
alert('Request failed. Kindly try after sometime.');
|
|
}
|
|
});
|
|
$('#editref').trigger('click');
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
oTable = $('#datatable').DataTable({
|
|
|
|
dom: '<"top"Bf>rt<"bottom"ip><"clear">',
|
|
// dom:'B',
|
|
'lengthChange' : false,
|
|
"columnDefs": [
|
|
{
|
|
"targets": 4,
|
|
"width": "12%",
|
|
"render": function ( data, type, full, meta ) {
|
|
return '<a onclick="editfn('+data+')" href="javascript:void(0)" style="font-size:16px;"><i class="fa fa-edit" title="Edit"></i></a> <a href="javascript:void(0)" onclick="delfn('+data+')" style="font-size:16px;display:none;"><i class="fa fa-trash" title="Delete"></i> </a>';
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// <a href='' style="font-size:16px;"><i class="fa fa-trash"></i> </a>
|
|
],
|
|
// order : [[ 4, "asc" ]],
|
|
columns : [
|
|
{ data : "u_name"},
|
|
{ data : "u_email"},
|
|
{ data : "u_number"},
|
|
{ data : "refrole"},
|
|
{ data : "u_id"}
|
|
],
|
|
buttons: ['excel']
|
|
// buttons: ['copy', 'excel', 'pdf']
|
|
});
|
|
getusrlisting();
|
|
} );
|
|
|
|
function getusrlisting(){
|
|
var url = "<?php echo site_url('admin/get_usr'); ?>"; // the script where you handle the form input.
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
data: $("#idForm").serialize(), // serializes the form's elements.
|
|
success: function(data)
|
|
{
|
|
oTable.clear();
|
|
var jsonData = JSON.parse(data);
|
|
var jd = jsonData.data;
|
|
var htmlData = '';
|
|
var i=0;
|
|
$.each(jd,function(kk,vv){
|
|
$.each(vv,function(k,v){
|
|
// console.log(k,v);
|
|
htmlData += '<input type="text" id="'+jd[i].d_id+'_'+k+'" name="'+k+'" value="'+v+'" />';
|
|
});
|
|
i++;
|
|
// console.log(v);
|
|
});
|
|
$('#tempdata').html(htmlData);
|
|
var rowNode = oTable
|
|
.rows.add( jsonData.data )
|
|
.draw();
|
|
$('#wait').hide();
|
|
// $('#example1_filter').hide();
|
|
// $('#dtableid').show();
|
|
// get_all_pnr_counts();
|
|
}
|
|
});
|
|
}
|
|
|
|
$('#e_u_role').on('change',function(){
|
|
var utype = this.value;
|
|
if(utype == 'corporate' || utype == 'tmc'){
|
|
$('#e_u_corporateid').prop('disabled',false);
|
|
$('#e_corp_div').show();
|
|
}
|
|
else{
|
|
$('#e_u_corporateid').prop('disabled',true);
|
|
$('#e_corp_div').hide();
|
|
}
|
|
})
|
|
|
|
$('#add_u_role').on('change',function(){
|
|
var utype = this.value;
|
|
var htmlData = '<option value="">--Select--</option>';
|
|
// var htmlData = '<vadd_u_corporateid'
|
|
if(utype == 'corporate' || utype == 'tmc'){
|
|
$.ajax({
|
|
url:'<?php echo base_url('admin/get_corp'); ?>',
|
|
type:'POST',
|
|
success:function(data){
|
|
var pdata = JSON.parse(data);
|
|
$.each(pdata.data,function(k,v){
|
|
htmlData += '<option value="'+v.c_id+'">'+v.c_name+'</option>';
|
|
});
|
|
$('#add_u_corporateid').html(htmlData);
|
|
$('#add_u_corporateid').prop('disabled',false);
|
|
$('#add_corp_div').show();
|
|
|
|
},
|
|
error:function(){
|
|
alert('Request failed. Kindly try after sometime.');
|
|
}
|
|
})
|
|
}
|
|
else{
|
|
$('#add_u_corporateid').prop('disabled',true);
|
|
$('#add_corp_div').hide();
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<!-- App js -->
|
|
<script src="<?php echo base_url(); ?>assets/js/app.min.js"></script>
|
|
|
|
</body>
|
|
</html>
|