Bootstrap4 :: User module updates

This commit is contained in:
Sakthi002
2020-12-28 18:33:17 +05:30
committed by Manish Verma
parent b78e03e349
commit fddad53e60
15 changed files with 1699 additions and 14347 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,266 +1,14 @@
var scripts = document.getElementsByTagName("script"),
file_path = scripts[scripts.length-1].src;
var pos = file_path.search("plugins");
var path = file_path.substring(0,pos);
//var i = file_path.indexOf("plugins");
$.fn.dataTable.ext.errMode = 'throw';
/* Set the defaults for DataTables initialisation */
$.extend( true, $.fn.dataTable.defaults, {
"sDom":
"<'row'<'col-xs-6'l><'col-xs-6'f>r>"+
"t"+
"<'row'<'col-xs-6'i><'col-xs-6'p>>",
"oLanguage": {
"sLengthMenu": "_MENU_ Records per page",
"sSearch" : "Search: ",
"sProcessing": '<img id="blur-bg" class="backgroundfadein" style="top:40%;left:50%; width: 50px; height:50 px; display: block; position: fixed;" src="'+path+'/media/images/gifloader3.gif">'
},
"fnDrawCallback": function( oSettings ) {
$(".box-body").css({"opacity": "1"});
$('#blur-bg').css({"opacity": "1", "z-index": "99999"});
},
"fnPreDrawCallback": function(oSettings, json) {
$(".box-body").css({"opacity":"0.3"});
}
});
/* Default class modification */
$.extend( $.fn.dataTableExt.oStdClasses, {
"sWrapper": "dataTables_wrapper form-inline",
"sFilterInput": "form-control input-xs",
"sLengthSelect": "form-control input-xs"
} );
// In 1.10 we use the pagination renderers to draw the Bootstrap paging,
// rather than custom plug-in
if ( $.fn.dataTable.Api ) {
$.fn.dataTable.defaults.renderer = 'bootstrap';
$.fn.dataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
var api = new $.fn.dataTable.Api( settings );
var classes = settings.oClasses;
var lang = settings.oLanguage.oPaginate;
var btnDisplay, btnClass;
var attach = function( container, buttons ) {
var i, ien, node, button;
var clickHandler = function ( e ) {
e.preventDefault();
if ( e.data.action !== 'ellipsis' ) {
api.page( e.data.action ).draw( false );
}
};
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
button = buttons[i];
if ( $.isArray( button ) ) {
attach( container, button );
}
else {
btnDisplay = '';
btnClass = '';
switch ( button ) {
case 'ellipsis':
btnDisplay = '&hellip;';
btnClass = 'disabled';
break;
case 'first':
btnDisplay = lang.sFirst;
btnClass = button + (page > 0 ?
'' : ' disabled');
break;
case 'previous':
btnDisplay = lang.sPrevious;
btnClass = button + (page > 0 ?
'' : ' disabled');
break;
case 'next':
btnDisplay = lang.sNext;
btnClass = button + (page < pages-1 ?
'' : ' disabled');
break;
case 'last':
btnDisplay = lang.sLast;
btnClass = button + (page < pages-1 ?
'' : ' disabled');
break;
default:
btnDisplay = button + 1;
btnClass = page === button ?
'active' : '';
break;
}
if ( btnDisplay ) {
node = $('<li>', {
'class': classes.sPageButton+' '+btnClass,
'aria-controls': settings.sTableId,
'tabindex': settings.iTabIndex,
'id': idx === 0 && typeof button === 'string' ?
settings.sTableId +'_'+ button :
null
} )
.append( $('<a>', {
'href': '#'
} )
.html( btnDisplay )
)
.appendTo( container );
settings.oApi._fnBindAction(
node, {action: button}, clickHandler
);
}
}
}
};
attach(
$(host).empty().html('<ul class="pagination"/>').children('ul'),
buttons
);
}
}
else {
// Integration for 1.9-
$.fn.dataTable.defaults.sPaginationType = 'bootstrap';
/* API method to get paging information */
$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
{
return {
"iStart": oSettings._iDisplayStart,
"iEnd": oSettings.fnDisplayEnd(),
"iLength": oSettings._iDisplayLength,
"iTotal": oSettings.fnRecordsTotal(),
"iFilteredTotal": oSettings.fnRecordsDisplay(),
"iPage": oSettings._iDisplayLength === -1 ?
0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
"iTotalPages": oSettings._iDisplayLength === -1 ?
0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
};
};
/* Bootstrap style pagination control */
$.extend( $.fn.dataTableExt.oPagination, {
"bootstrap": {
"fnInit": function( oSettings, nPaging, fnDraw ) {
var oLang = oSettings.oLanguage.oPaginate;
var fnClickHandler = function ( e ) {
e.preventDefault();
if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
fnDraw( oSettings );
}
};
$(nPaging).append(
'<ul class="pagination">'+
'<li class="prev disabled"><a href="#">&larr; '+oLang.sPrevious+'</a></li>'+
'<li class="next disabled"><a href="#">'+oLang.sNext+' &rarr; </a></li>'+
'</ul>'
);
var els = $('a', nPaging);
$(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
$(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
},
"fnUpdate": function ( oSettings, fnDraw ) {
var iListLength = 5;
var oPaging = oSettings.oInstance.fnPagingInfo();
var an = oSettings.aanFeatures.p;
var i, ien, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);
if ( oPaging.iTotalPages < iListLength) {
iStart = 1;
iEnd = oPaging.iTotalPages;
}
else if ( oPaging.iPage <= iHalf ) {
iStart = 1;
iEnd = iListLength;
} else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
iStart = oPaging.iTotalPages - iListLength + 1;
iEnd = oPaging.iTotalPages;
} else {
iStart = oPaging.iPage - iHalf + 1;
iEnd = iStart + iListLength - 1;
}
for ( i=0, ien=an.length ; i<ien ; i++ ) {
// Remove the middle elements
$('li:gt(0)', an[i]).filter(':not(:last)').remove();
// Add the new list items and their event handlers
for ( j=iStart ; j<=iEnd ; j++ ) {
sClass = (j==oPaging.iPage+1) ? 'class="active"' : '';
$('<li '+sClass+'><a href="#">'+j+'</a></li>')
.insertBefore( $('li:last', an[i])[0] )
.bind('click', function (e) {
e.preventDefault();
oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
fnDraw( oSettings );
} );
}
// Add / remove disabled classes from the static elements
if ( oPaging.iPage === 0 ) {
$('li:first', an[i]).addClass('disabled');
} else {
$('li:first', an[i]).removeClass('disabled');
}
if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
$('li:last', an[i]).addClass('disabled');
} else {
$('li:last', an[i]).removeClass('disabled');
}
}
}
}
} );
}
/*
* TableTools Bootstrap compatibility
* Required TableTools 2.1+
*/
if ( $.fn.DataTable.TableTools ) {
// Set the classes that TableTools uses to something suitable for Bootstrap
$.extend( true, $.fn.DataTable.TableTools.classes, {
"container": "DTTT btn-group",
"buttons": {
"normal": "btn btn-default",
"disabled": "disabled"
},
"collection": {
"container": "DTTT_dropdown dropdown-menu",
"buttons": {
"normal": "",
"disabled": "disabled"
}
},
"print": {
"info": "DTTT_print_info modal"
},
"select": {
"row": "active"
}
} );
// Have the collection use a bootstrap compatible dropdown
$.extend( true, $.fn.DataTable.TableTools.DEFAULTS.oTags, {
"collection": {
"container": "ul",
"button": "li",
"liner": "a"
}
} );
}
/*!
DataTables Bootstrap 4 integration
©2011-2017 SpryMedia Ltd - datatables.net/license
*/
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var e=a.length,d=0;d<e;d++){var f=a[d];if(b.call(c,f,d,a))return{i:d,v:f}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1;
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};$jscomp.getGlobal=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(a,b){var c=$jscomp.propertyToPolyfillSymbol[b];if(null==c)return a[b];c=a[c];return void 0!==c?c:a[b]};
$jscomp.polyfill=function(a,b,c,e){b&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(a,b,c,e):$jscomp.polyfillUnisolated(a,b,c,e))};$jscomp.polyfillUnisolated=function(a,b,c,e){c=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var d=a[e];if(!(d in c))return;c=c[d]}a=a[a.length-1];e=c[a];b=b(e);b!=e&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})};
$jscomp.polyfillIsolated=function(a,b,c,e){var d=a.split(".");a=1===d.length;e=d[0];e=!a&&e in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var f=0;f<d.length-1;f++){var l=d[f];if(!(l in e))return;e=e[l]}d=d[d.length-1];c=$jscomp.IS_SYMBOL_NATIVE&&"es6"===c?e[d]:null;b=b(c);null!=b&&(a?$jscomp.defineProperty($jscomp.polyfills,d,{configurable:!0,writable:!0,value:b}):b!==c&&($jscomp.propertyToPolyfillSymbol[d]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(d):$jscomp.POLYFILL_PREFIX+d,d=
$jscomp.propertyToPolyfillSymbol[d],$jscomp.defineProperty(e,d,{configurable:!0,writable:!0,value:b})))};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(b,c){return $jscomp.findInternal(this,b,c).v}},"es6","es3");
(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(b){return a(b,window,document)}):"object"===typeof exports?module.exports=function(b,c){b||(b=window);c&&c.fn.dataTable||(c=require("datatables.net")(b,c).$);return a(c,b,b.document)}:a(jQuery,window,document)})(function(a,b,c,e){var d=a.fn.dataTable;a.extend(!0,d.defaults,{dom:"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
renderer:"bootstrap"});a.extend(d.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"custom-select custom-select-sm form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});d.ext.renderer.pageButton.bootstrap=function(f,l,A,B,m,t){var u=new d.Api(f),C=f.oClasses,n=f.oLanguage.oPaginate,D=f.oLanguage.oAria.paginate||{},h,k,v=0,y=function(q,w){var x,E=function(p){p.preventDefault();
a(p.currentTarget).hasClass("disabled")||u.page()==p.data.action||u.page(p.data.action).draw("page")};var r=0;for(x=w.length;r<x;r++){var g=w[r];if(Array.isArray(g))y(q,g);else{k=h="";switch(g){case "ellipsis":h="&#x2026;";k="disabled";break;case "first":h=n.sFirst;k=g+(0<m?"":" disabled");break;case "previous":h=n.sPrevious;k=g+(0<m?"":" disabled");break;case "next":h=n.sNext;k=g+(m<t-1?"":" disabled");break;case "last":h=n.sLast;k=g+(m<t-1?"":" disabled");break;default:h=g+1,k=m===g?"active":""}if(h){var F=
a("<li>",{"class":C.sPageButton+" "+k,id:0===A&&"string"===typeof g?f.sTableId+"_"+g:null}).append(a("<a>",{href:"#","aria-controls":f.sTableId,"aria-label":D[g],"data-dt-idx":v,tabindex:f.iTabIndex,"class":"page-link"}).html(h)).appendTo(q);f.oApi._fnBindAction(F,{action:g},E);v++}}}};try{var z=a(l).find(c.activeElement).data("dt-idx")}catch(q){}y(a(l).empty().html('<ul class="pagination"/>').children("ul"),B);z!==e&&a(l).find("[data-dt-idx="+z+"]").trigger("focus")};return d});

File diff suppressed because it is too large Load Diff

View File

@@ -21,7 +21,7 @@ class="nav-item d-none d-sm-inline-block active"
{{-- Success message --}}
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
<i class="fa fa-check-circle"></i>
<i class="fas fa-check-circle"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
</div>
@@ -29,103 +29,134 @@ class="nav-item d-none d-sm-inline-block active"
{{-- failure message --}}
@if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i>
<i class="fas fa-ban"></i>
<b>{!! Lang::get('lang.alert') !!}!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
</div>
@endif
<link type="text/css" href="{{asset("lb-faveo/css/bootstrap-datetimepicker4.7.14.min.css")}}" rel="stylesheet">
{{-- <script src="{{asset("lb-faveo/dist/js/bootstrap-datetimepicker4.7.14.min.js")}}" type="text/javascript"></script> --}}
<div class="row">
<!-- <div class="col-md-3 col-sm-6 col-xs-12"> -->
<div class="col-md-2" style="width:20%;">
<a href="{!! route('inbox.ticket') !!}">
<div class="col-md-3" style="max-width: 20%;">
<a href="{!! route('inbox.ticket') !!}" class="text-dark" style="cursor: pointer;">
<div class="info-box">
<span class="info-box-icon bg-aqua"><i class="fa fa-envelope-o"></i></span>
<span class="info-box-icon bg-info"><i class="far fa-envelope"></i></span>
<div class="info-box-content">
<span class="info-box-text">{!! Lang::get('lang.inbox') !!}</span>
<span class="info-box-number"><?php echo $tickets->count() ?> <small> {!! Lang::get('lang.tickets') !!}</small></span>
</div><!-- /.info-box-content -->
</div><!-- /.info-box -->
<span class="info-box-number"><?php echo $tickets->count() ?></span>
</div>
</div>
</a>
</div><!-- /.col -->
<!-- <div class="col-md-3 col-sm-6 col-xs-12"> -->
<div class="col-md-2" style="width:20%;">
<a href="{!! route('unassigned') !!}">
</div>
<div class="col-md-3" style="max-width: 20%;">
<a href="{!! route('unassigned') !!}" class="text-dark" style="cursor: pointer;">
<div class="info-box">
<span class="info-box-icon bg-orange"><i class="fa fa-user-times"></i></span>
<span class="info-box-icon bg-orange"><i class="fas fa-user-times text-white"></i></span>
<div class="info-box-content">
<span class="info-box-text">{!! Lang::get('lang.unassigned') !!}</span>
<span class="info-box-number">{{$unassigned->count() }} <small> {!! Lang::get('lang.tickets') !!}</small></span>
</div><!-- /.info-box-content -->
</div><!-- /.info-box -->
<span class="info-box-number">{{$unassigned->count() }} </span>
</div>
</div>
</a>
</div><!-- /.col -->
</div>
<!-- fix for small devices only -->
<div class="clearfix visible-sm-block"></div>
<div class="col-md-3" style="max-width: 20%;">
<a href="{!! route('overdue.ticket') !!}" class="text-dark" style="cursor: pointer;">
<!-- <div class="col-md-3 col-sm-6 col-xs-12"> -->
<div class="col-md-2" style="width:20%;">
<a href="{!! route('overdue.ticket') !!}">
<div class="info-box">
<span class="info-box-icon bg-red"><i class="fa fa-calendar-times-o"></i></span>
<span class="info-box-icon bg-danger"><i class="fas fa-calendar-times"></i></span>
<div class="info-box-content">
<span class="info-box-text">{!! Lang::get('lang.overdue') !!}</span>
<span class="info-box-number">{{ $overdues->count() }} <small> Tickets</small></span>
</div><!-- /.info-box-content -->
</div><!-- /.info-box -->
<span class="info-box-number">{{ $overdues->count() }}</span>
</div>
</div>
</a>
</div><!-- /.col -->
<!-- <div class="col-md-3 col-sm-6 col-xs-12"> -->
<div class="col-md-2" style="width:20%;">
<a href="{!! route('myticket.ticket') !!}">
</div>
<div class="col-md-3" style="max-width: 20%;">
<a href="{!! route('myticket.ticket') !!}" class="text-dark" style="cursor: pointer;">
<div class="info-box">
<span class="info-box-icon bg-yellow"><i class="fa fa-user"></i></span>
<span class="info-box-icon bg-warning"><i class="fas fa-user text-white"></i></span>
<div class="info-box-content">
<span class="info-box-text">{!! Lang::get('lang.my_tickets') !!}</span>
<span class="info-box-number">{{$myticket->count() }} <small> Tickets</small></span>
</div><!-- /.info-box-content -->
</div><!-- /.info-box -->
<span class="info-box-number">{{ $myticket->count() }}</span>
</div>
</div>
</a>
</div><!-- /.col -->
</div>
<div class="col-md-3" style="max-width: 20%;">
<div class="col-md-2" style="width:20%;">
<?php
if (Auth::user()->role == 'admin') {
$todaytickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->whereDate('tickets.duedate','=', \Carbon\Carbon::now()->format('Y-m-d'))->count();
} else {
}else {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$todaytickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->whereDate('tickets.duedate','=', \Carbon\Carbon::now()->format('Y-m-d'))->where('dept_id', '=', $dept->id)->count();
}
?>
<a href="{!! route('ticket.duetoday') !!}">
<a href="{!! route('ticket.duetoday') !!}" class="text-dark" style="cursor: pointer;">
<div class="info-box">
<span class="info-box-icon bg-red"><i class="glyphicon glyphicon-eye-open"></i></span>
<span class="info-box-icon bg-danger"><i class="fas fa-eye"></i></span>
<div class="info-box-content">
<span class="info-box-text">{!! Lang::get('lang.duetoday') !!}</span>
<span class="info-box-number">{{ $todaytickets }} <small> Tickets</small></span>
</div><!-- /.info-box-content -->
</div><!-- /.info-box -->
<span class="info-box-number">{{ $todaytickets }}</span>
</div>
</div>
</a>
<!-- /.info-box -->
</div>
</div>
<div class="card card-light">
<div class="card-header">
<h3 class="card-title">{!! Lang::get('lang.report') !!}</h3>
</div>
</div>
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.report') !!}</h3>
</div>
<div class="box-body">
<div class="card-body">
<form id="foo">
<div class="form-group">
<div class="row">
<div class='col-sm-2'>
{!! Form::label('date', 'Start Date:',['class' => 'lead']) !!}
{!! Form::label('date', 'Start Date:') !!}
{!! Form::text('start_date',null,['class'=>'form-control','id'=>'datepicker4'])!!}
</div>
<?php
$start_date = App\Model\helpdesk\Ticket\Tickets::where('id', '=', '1')->first();
if ($start_date != null) {
@@ -137,6 +168,7 @@ class="nav-item d-none d-sm-inline-block active"
$start_date = date("m/d/Y", strtotime(date("m/d/Y") . ' -1 months'));
}
?>
<script type="text/javascript">
$(function () {
var timestring1 = "{!! $start_date !!}";
@@ -149,10 +181,13 @@ class="nav-item d-none d-sm-inline-block active"
// $('#datepicker').datepicker()
});
</script>
<div class='col-sm-2'>
{!! Form::label('start_time', 'End Date:' ,['class' => 'lead']) !!}
{!! Form::label('start_time', 'End Date:') !!}
{!! Form::text('end_date',null,['class'=>'form-control','id'=>'datetimepicker3'])!!}
</div>
<script type="text/javascript">
$(function () {
var timestring1 = "{!! $start_date !!}";
@@ -164,36 +199,51 @@ class="nav-item d-none d-sm-inline-block active"
});
});
</script>
<div class='col-sm-1'>
{!! Form::label('filter', 'Filter:',['class' => 'lead']) !!}<br>
{!! Form::label('filter', 'Filter:',['style' => 'visibility:hidden;']) !!}<br>
<input type="submit" class="btn btn-primary">
</div>
</div>
<div class="row">
<div class="col-sm-1"></div>
<div class="col-sm-2" style="margin-bottom:-20px;">
<label class="lead">{!! Lang::get('lang.Legend') !!}:</label>
</div>
<div class="row mt-2">
<style>
#legend-holder { border: 1px solid #ccc; float: left; width: 25px; height: 25px; margin: 1px; }
</style>
<div class="col-md-3"><span id="legend-holder" style="background-color: #6C96DF;"></span>&nbsp; <span class="lead"> <span id="total-created-tickets" ></span> {!! Lang::get('lang.tickets') !!} {!! Lang::get('lang.created') !!}</span></div>
<div class="col-md-3"><span id="legend-holder" style="background-color: #6DC5B2;"></span>&nbsp; <span class="lead"> <span id="total-reopen-tickets" class="lead"></span> {!! Lang::get('lang.tickets') !!} {!! Lang::get('lang.reopen') !!}</span></div>
<div class="col-md-3"><span id="legend-holder" style="background-color: #E3B870;"></span>&nbsp; <span class="lead"> <span id="total-closed-tickets" class="lead"></span> {!! Lang::get('lang.tickets') !!} {!! Lang::get('lang.closed') !!}</span></div>
<div class="col-md-4">
<span id="legend-holder" style="background-color: #6C96DF;"></span>&nbsp;
<span class="lead"> <span id="total-created-tickets" ></span> {!! Lang::get('lang.tickets') !!} {!! Lang::get('lang.created') !!}</span>
</div>
<div class="col-md-4">
<span id="legend-holder" style="background-color: #6DC5B2;"></span>&nbsp;
<span class="lead"> <span id="total-reopen-tickets" class="lead"></span> {!! Lang::get('lang.tickets') !!} {!! Lang::get('lang.reopen') !!}</span>
</div>
<div class="col-md-4">
<span id="legend-holder" style="background-color: #E3B870;"></span>&nbsp;
<span class="lead"> <span id="total-closed-tickets" class="lead"></span> {!! Lang::get('lang.tickets') !!} {!! Lang::get('lang.closed') !!}</span>
</div>
</div>
</div>
</form>
<!--<div id="legendDiv"></div>-->
<div class="chart">
<canvas class="chart-data" id="tickets-graph" width="1000" height="250"></canvas>
</div>
</div><!-- /.box-body -->
</div><!-- /.box -->
<div class="box">
<div class="box-header with-border ">
<h1 class="box-title">{!! Lang::get('lang.statistics') !!}</h1>
</div>
<div class="box-body">
</div>
<div class="card card-light">
<div class="card-header">
<h3 class="card-title">{!! Lang::get('lang.statistics') !!}</h3>
</div>
<div class="card-body">
<table class="table table-hover table-bordered">
<?php
// dd($department);
@@ -228,10 +278,11 @@ class="nav-item d-none d-sm-inline-block active"
</table>
</div>
</div>
<div id="refresh">
<script src="{{asset("lb-faveo/plugins/chartjs/Chart.min.js")}}" type="text/javascript"></script>
</div>
<script src="{{asset("lb-faveo/plugins/chartjs/Chart.min.js")}}" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$.getJSON("agen", function (result) {
@@ -514,6 +565,4 @@ class="nav-item d-none d-sm-inline-block active"
});
});
</script>
<script src="{{asset("lb-faveo/plugins/moment-develop/moment.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/js/bootstrap-datetimepicker4.7.14.min.js")}}" type="text/javascript"></script>
@stop

View File

@@ -2,17 +2,21 @@
@section('Users')
class="active"
class="nav-link active"
@stop
@section('user-bar')
active
class="nav-link active"
@stop
@section('user')
class="active"
@stop
@section('user-directory')
class="nav-link active"
@stop
<!-- header -->
@section('PageHeader')
<h1>{!! Lang::get('lang.edit_user') !!}</h1>
@@ -29,18 +33,10 @@ class="active"
{{Session::get('fails')}}
</div>
@endif
<!-- open a form -->
{!! Form::model($users,['url'=>'user/'.$users->id,'method'=>'PATCH']) !!}
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">
{!! Lang::get('lang.user_credentials') !!}
</h3>
</div>
<div class="box-body">
@if(Session::has('errors'))
@if(Session::has('errors'))
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i>
<i class="fas fa-ban"></i>
<b>{!! Lang::get('lang.alert') !!}!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<br/>
@@ -70,30 +66,39 @@ class="active"
@endif
</div>
@endif
<!-- open a form -->
{!! Form::model($users,['url'=>'user/'.$users->id,'method'=>'PATCH']) !!}
<div class="card card-light">
<div class="card-header">
<h3 class="card-title">
{!! Lang::get('lang.user_credentials') !!}
</h3>
</div>
<div class="card-body">
<div class="row">
<!-- First name : first name : Required -->
<div class="col-xs-4 form-group {{ $errors->has('first_name') ? 'has-error' : '' }}">
<div class="col-sm-4 form-group {{ $errors->has('first_name') ? 'has-error' : '' }}">
{!! Form::label('first_name',Lang::get('lang.first_name')) !!}<span class="text-red"> *</span>
{!! Form::text('first_name',null,['class' => 'form-control']) !!}
</div>
<!-- Last name : last name : Required -->
<div class="col-xs-4 form-group {{ $errors->has('last_name') ? 'has-error' : '' }}">
<div class="col-sm-4 form-group {{ $errors->has('last_name') ? 'has-error' : '' }}">
{!! Form::label('last_name',Lang::get('lang.last_name')) !!}
{!! Form::text('last_name',null,['class' => 'form-control']) !!}
</div>
<!-- User Name : Text : Required-->
<div class="col-xs-4 form-group {{ $errors->has('user_name') ? 'has-error' : '' }}">
<div class="col-sm-4 form-group {{ $errors->has('user_name') ? 'has-error' : '' }}">
{!! Form::label('user_name',Lang::get('lang.user_name')) !!}<span class="text-red"> *</span>
{!! Form::text('user_name',null,['class' => 'form-control']) !!}
</div>
</div>
<div class="row">
<!-- Email Address : Email : Required -->
<div class="col-xs-6 form-group {{ $errors->has('email') ? 'has-error' : '' }}">
<div class="col-sm-6 form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{!! Form::label('email',Lang::get('lang.email')) !!}<span class="text-red"> *</span>
{!! Form::email('email',null,['class' => 'form-control']) !!}
</div>
<div class="col-xs-6 form-group {{ $errors->has('organization') ? 'has-error' : '' }}">
<div class="col-sm-6 form-group {{ $errors->has('organization') ? 'has-error' : '' }}">
{!! Form::label('organization',Lang::get('lang.organization')) !!}
@@ -110,7 +115,7 @@ class="active"
</div>
</div>
<div class="row">
<div class="col-xs-1 form-group {{ Session::has('country_code_error') ? 'has-error' : '' }}">
<div class="col-sm-1 form-group {{ Session::has('country_code_error') ? 'has-error' : '' }}">
{!! Form::label('country_code',Lang::get('lang.country-code')) !!}
{!! $errors->first('country_code', '<spam class="help-block">:message</spam>') !!}
{!! Form::text('country_code',null,['class' => 'form-control', 'placeholder' => $phonecode, 'title' => Lang::get('lang.enter-country-phone-code')]) !!}
@@ -120,32 +125,32 @@ class="active"
{!! Form::label('mobile',Lang::get('lang.mobile')) !!}
{!! Form::input('number', 'mobile',null,['class' => 'form-control']) !!}
</div>
<div class="col-xs-1 form-group {{ $errors->has('ext') ? 'has-error' : '' }}">
<div class="col-sm-1 form-group {{ $errors->has('ext') ? 'has-error' : '' }}">
<label for="ext">{!! Lang::get('lang.ext') !!}</label>
{!! Form::text('ext',null,['class' => 'form-control']) !!}
</div>
<div class="col-xs-3 form-group {{ $errors->has('phone_number') ? 'has-error' : '' }}">
<div class="col-sm-3 form-group {{ $errors->has('phone_number') ? 'has-error' : '' }}">
<label for="phone_number">{!! Lang::get('lang.phone') !!}</label>
{!! Form::text('phone_number',null,['class' => 'form-control']) !!}
</div>
<div class="col-xs-2 form-group {{ $errors->has('active') ? 'has-error' : '' }}">
<div class="col-sm-2 form-group {{ $errors->has('active') ? 'has-error' : '' }}">
{!! Form::label('active',Lang::get('lang.status')) !!}
<div class="row">
<div class="col-xs-12">
<div class="col-sm-12">
{!! Form::radio('active','1',true) !!} {{Lang::get('lang.active')}}
</div>
<div class="col-xs-12">
<div class="col-sm-12">
{!! Form::radio('active','0') !!} {{Lang::get('lang.inactive')}}
</div>
</div>
</div>
<div class="col-xs-2 form-group {{ $errors->has('ban') ? 'has-error' : '' }}">
<div class="col-sm-2 form-group {{ $errors->has('ban') ? 'has-error' : '' }}">
{!! Form::label('ban',Lang::get('lang.ban')) !!}
<div class="row">
<div class="col-xs-12">
<div class="col-sm-12">
{!! Form::radio('ban','1',true) !!} {{Lang::get('lang.enable')}}
</div>
<div class="col-xs-12">
<div class="col-sm-12">
{!! Form::radio('ban','0') !!} {{Lang::get('lang.disable')}}
</div>
</div>
@@ -157,13 +162,24 @@ class="active"
{!! Form::textarea('internal_note',null,['class' => 'form-control', 'size' => '30x5']) !!}
</div>
</div>
<div class="box-footer">
{!! Form::submit(Lang::get('lang.update'),['class'=>'form-group btn btn-primary'])!!}
<div class="card-footer">
{!! Form::submit(Lang::get('lang.update'),['class'=>'btn btn-primary'])!!}
</div>
</div>
<script>
$(function() {
$("textarea").wysihtml5();
$("textarea").summernote({
height: 300,
tabsize: 2,
toolbar: [
['style', ['bold', 'italic', 'underline', 'clear']],
['font', ['strikethrough', 'superscript', 'subscript']],
['fontsize', ['fontsize']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['height', ['height']]
]
});
$('input[type="checkbox"]').iCheck({
checkboxClass: 'icheckbox_flat-blue'

View File

@@ -1,17 +1,21 @@
@extends('themes.default1.agent.layout.agent')
@section('Users')
class="active"
class="nav-link active"
@stop
@section('user-bar')
active
class="nav-link active"
@stop
@section('user')
class="active"
@stop
@section('user-directory')
class="nav-link active"
@stop
@section('HeadInclude')
@stop
<!-- header -->
@@ -28,80 +32,72 @@ class="active"
<!-- content -->
@section('content')
<!-- open a form -->
<div class="box box-primary">
<div class="box-header with-border">
<div class="row">
<div>
<div class="col-md-6">
<h3 class="box-title ">{{Lang::get('lang.user')}}</h3>
</div>
<div class="col-md-6">
<div class="col-md-5">
<div class="box-tools" style="width: 235px">
<div class="has-feedback">
<input type="text" class="form-control input-sm" id="search-text" name="search" placeholder="{{Lang::get('lang.search')}}" style="height:30px">
<span class="fa fa-search form-control-feedback"></span>
</div>
</div><!-- /.box-tools -->
</div>
<div class="col-md-7">
<div class="pull-right">
<div id="labels-div" class="btn-group">
<button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" id="labels-button"><i class="fa fa-eye" style="color:teal;">&nbsp;</i>{{Lang::get('lang.view-option')}}<span class="caret"></span>
</button>
<ul class="dropdown-menu role="menu">
<li class="active"><a href="#" class="all">{{Lang::get('lang.all-users')}}</a></li>
<li><a href="#" class="agents">{{Lang::get('lang.only-agents')}}</a></li>
<li><a href="#" class="users">{{Lang::get('lang.only-users')}}</a></li>
<li><a href="#" class="active-users">{{Lang::get('lang.active-users')}}</a></li>
<li><a href="#" class="inactive">{{Lang::get('lang.inactive-users')}}</a></li>
<li><a href="#" class="deleted">{{Lang::get('lang.deleted-users')}}</a></li>
<li><a href="#" class="banned">{{Lang::get('lang.banned-users')}}</a></li>
</ul>
</div>
<a href="{{url('user-export')}}" class="btn btn-default btn-sm ">Export</a>
<a href="{{route('user.create')}}" class="btn btn-primary btn-sm">{{Lang::get('lang.create_user')}}</a>
</div>
</div>
</div>
</div>
</div>
<div class="box-body">
<!-- check whether success or not -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
<!-- check whether success or not -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
<i class="fa fa-check-circle"></i>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
</div>
@endif
<!-- failure message -->
@if(Session::has('warning'))
<div class="alert alert-warning alert-dismissable">
</div>
@endif
<!-- failure message -->
@if(Session::has('warning'))
<div class="alert alert-warning alert-dismissable">
<i class="fa fa-ban"></i><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<b>{!! Lang::get('lang.alert') !!} !</b>
{{Session::get('warning')}}
</div>
@endif
<!-- failure message -->
@if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable">
</div>
@endif
<!-- failure message -->
@if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<b>{!! Lang::get('lang.alert') !!} !</b>
{{Session::get('fails')}}
</div>
@endif
<div class="card card-light">
<div class="card-header">
<h3 class="card-title">{{Lang::get('lang.user')}}</h3>
<div class="card-tools">
<div class="has-feedback" style="display: inline-block;">
<input type="text" class="form-control input-sm m-0" id="search-text" name="search" placeholder="{{Lang::get('lang.search')}}">
</div>
@endif
<div class="btn-group">
<button type="button" class="btn btn-tool btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<i class="fas fa-eye"> </i> {{Lang::get('lang.view-option')}}
</button>
<div class="dropdown-menu dropdown-menu-right" role="menu" style="">
<a href="#" class="dropdown-item all active">{{Lang::get('lang.all-users')}}</a>
<a href="#" class="dropdown-item agents">{{Lang::get('lang.only-agents')}}</a>
<a href="#" class="dropdown-item users">{{Lang::get('lang.only-users')}}</a>
<a href="#" class="dropdown-item active-users">{{Lang::get('lang.active-users')}}</a>
<a href="#" class="dropdown-item inactive">{{Lang::get('lang.inactive-users')}}</a>
<a href="#" class="dropdown-item deleted">{{Lang::get('lang.deleted-users')}}</a>
<a href="#" class="dropdown-item banned">{{Lang::get('lang.banned-users')}}</a>
</div>
</div>
<a href="{{url('user-export')}}" class="btn btn-tool btn-default">Export</a>
<a href="{{route('user.create')}}" class="btn btn-tool btn-default">{{Lang::get('lang.create_user')}}</a>
</div>
</div>
<div class="card-body">
{!!$table->render('vendor.Chumper.template')!!}
{!! $table->script('vendor.Chumper.user-javascript') !!}
</div>
</div>
{!! $table->script('vendor.Chumper.user-javascript') !!}
@stop
<!-- /content -->

View File

@@ -39,13 +39,10 @@
<link href="{{asset("lb-faveo/plugins/select2/select2.min.css")}}" rel="stylesheet" type="text/css" />
<link href="{{asset("css/close-button.css")}}" rel="stylesheet" type="text/css" />
<!--Daterangepicker-->
<link rel="stylesheet" href="{{asset("lb-faveo/plugins/daterangepicker/daterangepicker.css")}}" rel="stylesheet" type="text/css" />
<!--calendar -->
<link rel="stylesheet" href="{{asset("lb-faveo/css/bootstrap-datetimepicker4.7.14.min.css")}}" rel="stylesheet" type="text/css" />
<!-- fullCalendar 2.2.5-->
<link href="{{asset('lb-faveo/plugins/fullcalendar/fullcalendar.min.css')}}" rel="stylesheet" type="text/css" />
<link href="{{asset("lb-faveo/plugins/summernote/summernote-bs4.min.css")}}" rel="stylesheet" type="text/css" />
<script src="{{asset("lb-faveo/js/jquery-3.4.1.min.js")}}" type="text/javascript"></script>
@@ -58,6 +55,10 @@
.noti_User { color: #6c757d !important; }
.brand-image{float: none !important; margin-left: 0 !important;}
.table { display: block;width: 100%;overflow-x: auto; }
td{ word-break: break-all !important; }
</style>
</head>
@@ -101,22 +102,28 @@
<li class="nav-item d-none d-sm-inline-block">
<a id="dash" @yield('Dashboard') data-target="#tabA" href="{{URL::route('dashboard')}}" onclick="clickDashboard(event);"
<a id="dash" @yield('Dashboard') href="{{URL::route('dashboard')}}" onclick="clickDashboard(event);"
class="nav-link">
{!! Lang::get('lang.dashboard') !!}
</a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="#tab_user" data-toggle="tab" @yield('Users') class="nav-link">{!! Lang::get('lang.users') !!}</a>
<a href="#tab_user" data-toggle="tab" @yield('Users') class="nav-link" onclick="clickUser(event);" id="user_tab">
{!! Lang::get('lang.users') !!}
</a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="#tab_ticket" data-toggle="tab" @yield('Tickets') class="nav-link">{!! Lang::get('lang.tickets') !!}</a>
<a href="#tab_ticket" data-toggle="tab" @yield('Tickets') class="nav-link" onclick="clickTickets(event);" id="ticket_tab">
{!! Lang::get('lang.tickets') !!}
</a>
</li>
<li class="nav-item d-none d-sm-inline-block">
<a href="#tab_tools" data-toggle="tab" @yield('Tools') class="nav-link">{!! Lang::get('lang.tools') !!}</a>
<a href="#tab_tools" data-toggle="tab" @yield('Tools') class="nav-link" onclick="clickTools(event);" id="tools_tab">
{!! Lang::get('lang.tools') !!}
</a>
</li>
@if($auth_user_role == 'admin')
@@ -463,14 +470,14 @@
<div class="tab-content" style="position: fixed;z-index: 1;width: 100%;">
@if($replacetop==0)
<div class="tab-pane" id="tab_user">
<div @yield('user') class="tab-pane" id="tab_user">
<nav class="navbar navbar-expand navbar-dark navbar-lightblue">
<ul class="navbar-nav">
<li class="nav-item d-none d-sm-inline-block">
<a href="{{ url('user')}}" @yield('user') class="nav-link">{!! Lang::get('lang.user_directory') !!}</a>
<a href="{{ url('user')}}" @yield('user-directory') class="nav-link">{!! Lang::get('lang.user_directory') !!}</a>
</li>
<li class="nav-item d-none d-sm-inline-block">
@@ -606,8 +613,6 @@
</footer>
</div><!-- ./wrapper -->
<script src="{{asset("lb-faveo/js/bootstrap-datetimepicker4.7.14.min.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/js/popper.min.js")}}" type="text/javascript"></script>
<!-- Bootstrap 3.3.2 JS -->
<script src="{{asset("lb-faveo/js/bootstrap4.min.js")}}" type="text/javascript"></script>
@@ -616,11 +621,9 @@
<!-- Slimscroll -->
<script src="{{asset("lb-faveo/adminlte3/plugins/overlayScrollbars/overlayScrollbars.min.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/plugins/datatables/dataTables.bootstrap.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/plugins/datatables/jquery.dataTables.js")}}" type="text/javascript"></script>
<!-- Page Script -->
<script src="{{asset("lb-faveo/js/jquery.dataTables1.10.10.min.js")}}" type="text/javascript" ></script>
<script src="{{asset("lb-faveo/plugins/datatables/dataTables.bootstrap.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/js/jquery.rating.pack.js")}}" type="text/javascript"></script>
@@ -632,6 +635,13 @@
<script src="{{asset('lb-faveo/plugins/fullcalendar/fullcalendar.min.js')}}" type="text/javascript"></script>
<script src="{{asset('lb-faveo/plugins/daterangepicker/daterangepicker.js')}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/js/bootstrap-datetimepicker4.7.14.min.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/plugins/summernote/summernote-bs4.min.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/plugins/iCheck/icheck.min.js")}}" type="text/javascript"></script>
<script>
$(document).ready(function () {
@@ -723,6 +733,36 @@
}
}
function clickUser(e) {
$("#ticket_tab").removeClass("active");
$("#tools_tab").removeClass("active");
$("#tab_ticket").removeClass("active");
$("#tab_ticket").css('display',"none");
$("#tab_tools").removeClass("active");
$("#tab_tools").css('display',"none");
$("#tab_user").css('display',"block");
}
function clickTickets(e) {
$("#user_tab").removeClass("active");
$("#tools_tab").removeClass("active");
$("#tab_user").removeClass("active");
$("#tab_user").css('display',"none");
$("#tab_tools").removeClass("active");
$("#tab_tools").css('display',"none");
$("#tab_ticket").css('display',"block");
}
function clickTools(e) {
$("#ticket_tab").removeClass("active");
$("#user_tab").removeClass("active");
$("#tab_ticket").removeClass("active");
$("#tab_ticket").css('display',"none");
$("#tab_tools").css('display',"block");
$("#tab_user").removeClass("active");
$("#tab_user").css('display',"none");
}
function clickReport(e) {
if (e.ctrlKey === true) {
window.open('{{URL::route("report.index")}}', '_blank');

View File

@@ -7,7 +7,7 @@
<thead>
<tr>
@foreach($columns as $i => $c)
<th align="center" valign="middle" class="head{!! $i !!}">{!! $c !!}</th>
<th align="center" valign="middle" class="head{!! $i !!}" style="min-width: 100px;">{!! $c !!}</th>
@endforeach
</tr>
</thead>

View File

@@ -24,9 +24,9 @@ foreach($segments as $seg){
function myFunction()
{
return jQuery('#chumper').dataTable({
"sDom": "<'row'<'col-xs-6'l><'col-xs-6'f>r>"+
"sDom": "<'row'<'col-sm-6'l><'col-sm-6'f>r>"+
"t"+
"<'row'<'col-xs-6'i><'col-xs-6'p>>",
"<'row'<'col-sm-6'i><'col-sm-6'p>>",
"sPaginationType": "full_numbers",
"bProcessing": true,
"bServerSide": true,

View File

@@ -24,9 +24,9 @@ $path = public_path();
function myFunction()
{
return jQuery('#chumper').dataTable({
"sDom": "<'row'<'col-xs-6'l><'col-xs-6'f>r>"+
"sDom": "<'row'<'col-sm-6'l><'col-sm-6'f>r>"+
"t"+
"<'row'<'col-xs-6'i><'col-xs-6'p>>",
"<'row'<'col-sm-6'i><'col-sm-6'p>>",
"sPaginationType": "full_numbers",
"bProcessing": true,
"bServerSide": true,

View File

@@ -25,9 +25,9 @@ foreach($segments as $seg){
function myFunction()
{
return jQuery('#chumper').dataTable({
"sDom": "<'row'<'col-xs-6'l><'col-xs-6'f>r>"+
"sDom": "<'row'<'col-sm-6'l><'col-sm-6'f>r>"+
"t"+
"<'row'<'col-xs-6'i><'col-xs-6'p>>",
"<'row'<'col-sm-6'i><'col-sm-6'p>>",
"sPaginationType": "full_numbers",
"bProcessing": true,
"bServerSide": true,
@@ -75,12 +75,12 @@ foreach($segments as $seg){
last = false;
create = true;
sort = [[7, "desc"]]
$('a.toggle-vis').html('<i class="fa fa-clock-o" style="color:green;"> </i>{!!Lang::get("lang.last_activity")!!}');
$('a.toggle-vis').html('<i class="fas fa-clock" style="color:green;"> </i> {!!Lang::get("lang.last_activity")!!}');
} else {
last = true;
create = false;
sort = [[6, "desc"]]
$('a.toggle-vis').html('<i class="fa fa-plus-square-o" style="color:green;"> </i>{!!Lang::get("lang.created-at")!!}');
$('a.toggle-vis').html('<i class="fas fa-plus" style="color:green;"> </i> {!!Lang::get("lang.created-at")!!}');
}
$("#chumper").dataTable().fnDestroy();

View File

@@ -20,9 +20,9 @@ foreach($segments as $seg){
function myFunction(show)
{
return jQuery('#chumper').dataTable({
"sDom": "<'row'<'col-xs-6'l><'col-xs-6'>r>"+
"sDom": "<'row'<'col-sm-6'l><'col-sm-6'>r>"+
"t"+
"<'row'<'col-xs-6'i><'col-xs-6'p>>",
"<'row'<'col-sm-6'i><'col-sm-6'p>>",
"sPaginationType": "full_numbers",
"bProcessing": true,
"bServerSide": true,