Update v1.0.6.10

This commit is contained in:
sujitprasad
2016-04-01 11:23:10 +05:30
parent ba8ccf7646
commit d9c68260cb
26 changed files with 1123 additions and 490 deletions

View File

@@ -18,9 +18,11 @@ return [
| Error
|--------------------------------------
*/
'success' => 'Success',
'fails' => 'Fails',
'alert' => 'Alert',
'success' => 'Success',
'fails' => 'Fails',
'alert' => 'Alert',
'required-error' => 'Please fill all required feilds',
'invalid' => 'Incorrect User id or password',
/*
|--------------------------------------
| Login Page
@@ -115,6 +117,7 @@ return [
'from_name' => 'From Name',
'add_an_email' => 'Add an Email',
'edit_an_email' => 'Edit an Email',
'disable_for_this_email_address' => 'Disable for this Email address',
/*
|--------------------------------------
| Ban Emails Create Page

View File

@@ -14,28 +14,27 @@
<div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"> </i> <b> {!! Lang::get('lang.alert') !!}! </b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
@if(Session::has('error'))
<li>{!! Session::get('error') !!}</li>
@else
<li>Please fill all required feilds.</li>
@endif
</div>
@endif
@if(Session::has('error'))
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
<li>{!! Session::get('error') !!}</li>
</div>
@endif
<!-- form open -->
{!! Form::open(['action'=>'Auth\AuthController@postLogin', 'method'=>'post']) !!}
<!-- Email -->
<div class="form-group has-feedback {{ $errors->has('email') ? 'has-error' : '' }}">
{!! Form::text('email',null,['placeholder'=> Lang::get("lang.email") ,'class' => 'form-control']) !!}
{!! $errors->first('email', '<spam class="help-block">:message</spam>') !!}
<!-- {!! $errors->first('email', '<spam class="help-block">:message</spam>') !!} -->
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<!-- Password -->
<div class="form-group has-feedback {{ $errors->has('password') ? 'has-error' : '' }}">
{!! Form::password('password',['placeholder'=>Lang::get("lang.password"),'class' => 'form-control']) !!}
{!! $errors->first('password', '<spam class="help-block">:message</spam>') !!}
<!-- {!! $errors->first('password', '<spam class="help-block">:message</spam>') !!} -->
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">

View File

@@ -1 +1 @@
<div><span>Hello {!!$user!!}<br><br><br></span><span>Thank you for contacting us. This is an automated response confirming the receipt of your ticket. Our team will get back to you as soon as possible. When replying, please make sure that the ticket ID is kept in the subject so that we can track your replies.<br><br></span><span>Ticket ID: {!!$ticket_number!!}&nbsp;<br></span><span>{!!$department_sign!!}<br></span>You can check the status of or update this ticket online at: {!!$system_link!!}</div>
<div><span>Hello {!!$user!!}<br><br></span><span>Thank you for contacting us. This is an automated response confirming the receipt of your ticket. Our team will get back to you as soon as possible. When replying, please make sure that the ticket ID is kept in the subject so that we can track your replies.<br><br></span><span>Ticket ID: {!!$ticket_number!!}&nbsp;<br></span><span>{!!$department_sign!!}<br></span>You can check the status of or update this ticket online at: {!!$system_link!!}</div>

View File

@@ -1 +1 @@
<div>{!!$content!!}</div><div><br></div><div>{!!$agent_sign!!}</div><div><br></div><div>Ticket Details</div><div>Ticket ID: {!!$ticket_number!!}</div>
<div>Hello {!!$ticket_agent_name!!},<b><br></b>A reply been made to ticket {!!$ticket_number!!}<b><br></b>From<br>Name: {!!$ticket_client_name!!}<br>E-mail: {!!$ticket_client_email!!}<b><br></b>{!!$content!!}<b><br></b>Kind Regards,<br>{!!$system_from!!}</div>

View File

@@ -1 +1 @@
<span><p>{!!$content!!} &nbsp;&nbsp;<br></p><p>{!!$agent_signature!!}&nbsp;</p><p>Ticket Details</p><p>Ticket ID: {!!$ticket_number!!} &nbsp;&nbsp;&nbsp;&nbsp;</p><div><br></div></span>
<span><div><span><p>{!!$content!!} &nbsp;&nbsp;<br></p><p>{!!$agent_sign!!}&nbsp;</p><p>Ticket Details</p><p>Ticket ID: {!!$ticket_number!!} &nbsp;&nbsp;&nbsp;&nbsp;</p><div><br></div></span><br></div><div><br></div></span>

View File

@@ -78,7 +78,7 @@ class="active"
{!! Form::radio('status','1',true) !!} {{Lang::get('lang.active')}}
</div>
<div class="col-xs-2">
{!! Form::radio('status','0',null) !!} {{Lang::get('lang.disabled')}}
{!! Form::radio('status','0',null) !!} {{Lang::get('lang.inactive')}}
</div>
</div>

View File

@@ -76,7 +76,7 @@ class="active"
{!! Form::radio('status','1',true) !!} {{Lang::get('lang.active')}}
</div>
<div class="col-xs-2">
{!! Form::radio('status','0',null) !!} {{Lang::get('lang.disabled')}}
{!! Form::radio('status','0',null) !!} {{Lang::get('lang.inactive')}}
</div>
</div>

View File

@@ -87,6 +87,14 @@ class="active"
{!! $errors->first('help_topic', '<spam class="help-block">:message</spam>') !!}
{!!Form::select('help_topic', [''=>'--System Default--','Help Topics'=>$helps->lists('topic','id')],null,['class' => 'form-control select', 'id' => 'help_topic']) !!}
</div>
<!-- status -->
<div class="col-xs-2 form-group">
{!! Form::label('auto_response',Lang::get('lang.auto_response')) !!}
</div>
<div class="col-xs-3 form-group">
<input type="checkbox" name="auto_response" id="auto_response"> {{Lang::get('lang.disable_for_this_email_address')}}
</div>
</div>
</div>
<div class="box-header with-border">

View File

@@ -98,6 +98,16 @@ class="active"
{!!Form::select('help_topic', [''=>'--System Default--','Help Topics'=>$helps->lists('topic','id')],null,['class' => 'form-control select']) !!}
</div>
<!-- status -->
<div class="col-xs-2 form-group">
{!! Form::label('auto_response', Lang::get('lang.auto_response')) !!}
</div>
<div class="col-xs-3 form-group">
<input type="checkbox" name="auto_response" id="auto_response" <?php if ($emails->auto_response == 1) {
echo "checked='checked'";
} ?>> {!!Lang::get('lang.disable_for_this_email_address')!!}
</div>
</div>
</div>
<div class="box-header with-border">

View File

@@ -51,7 +51,7 @@ class="active"
<i class="fa fa-check-circle"></i>
<b>Success!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
{!!Session::get('success')!!}
</div>
@endif
<!-- failure message -->
@@ -60,7 +60,7 @@ class="active"
<i class="fa fa-ban"></i>
<b>Fail!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
{!!Session::get('fails')!!}
</div>
@endif

View File

@@ -46,7 +46,7 @@ class="active"
<i class="fa fa-check-circle"></i>
<b>Success!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
{!!Session::get('success')!!}
</div>
@endif
<!-- failure message -->
@@ -55,7 +55,7 @@ class="active"
<i class="fa fa-ban"></i>
<b>Fail!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
{!!Session::get('fails')!!}
</div>
@endif

View File

@@ -11,7 +11,7 @@
<i class="fa fa-info-circle"></i>
<b>Info!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('info')}}
{!!Session::get('info')!!}
</div>
@endif
<div class="box-body">

View File

@@ -47,7 +47,7 @@ class="active"
<i class="fa fa-check-circle"></i>
<b>Success!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
{!!Session::get('success')!!}
</div>
@endif
<!-- failure message -->
@@ -56,7 +56,7 @@ class="active"
<i class="fa fa-ban"></i>
<b>Fail!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
{!!Session::get('fails')!!}
</div>
@endif

View File

@@ -44,7 +44,7 @@ class="active"
<i class="fa fa-check-circle"></i>
<b>Success!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
{!!Session::get('success')!!}
</div>
@endif
<!-- failure message -->
@@ -53,7 +53,7 @@ class="active"
<i class="fa fa-ban"></i>
<b>Fail!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
{!!Session::get('fails')!!}
</div>
@endif
<div class="box-body table-responsive"style="overflow:hidden;">

View File

@@ -79,7 +79,7 @@ class="active"
<i class="fa fa-check-circle"></i>
<b>Success!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
{!!Session::get('success')!!}
</div>
@endif
<!-- failure message -->
@@ -88,7 +88,7 @@ class="active"
<i class="fa fa-ban"></i>
<b>Alert!</b> Failed.
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
{!!Session::get('fails')!!}
</div>
@endif

View File

@@ -50,7 +50,7 @@ class="active"
<i class="fa fa-check-circle"></i>
<b>Success!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
{!!Session::get('success')!!}
</div>
@endif
<!-- failure message -->
@@ -59,7 +59,7 @@ class="active"
<i class="fa fa-ban"></i>
<b>Fail!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
{!!Session::get('fails')!!}
</div>
@endif

View File

@@ -48,7 +48,7 @@ class="active"
<i class="fa fa-check-circle"></i>
<b>Success!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}}
{!!Session::get('success')!!}
</div>
@endif
<!-- failure message -->
@@ -57,7 +57,7 @@ class="active"
<i class="fa fa-ban"></i>
<b>Fail!</b>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}}
{!!Session::get('fails')!!}
</div>
@endif

View File

@@ -25,7 +25,12 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
<!-- Main content -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Inbox </h3> <small>{!! $tickets->total() !!} tickets</small>
<h3 class="box-title">{!! Lang::get('lang.open') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small>
<div class="box-tools pull-right">
<div class="has-feedback">
</div>
</div>
</div><!-- /.box-header -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
@@ -44,192 +49,375 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
{{Session::get('fails')}}
</div>
@endif
<div class="box-body no-padding ">
{!! Form::open(['route'=>'select_all','method'=>'post']) !!}
<div class="box-body">
{!! Form::open(['id'=>'modalpopup', 'route'=>'select_all','method'=>'post']) !!}
<div class="mailbox-controls">
<h3 class="pull-right" style="margin-top:0;margin-bottom:0;"> {!! $tickets->count().'-'.$tickets->total(); !!}</h3>
<!-- Check all button -->
<a class="btn btn-default btn-sm checkbox-toggle"><i class="fa fa-square-o"></i></a>
<a class="btn btn-default btn-sm" id="click"><i class="fa fa-refresh"></i></a>
<input type="submit" class="btn btn-default text-orange btn-sm" name="submit" value="Delete">
<input type="submit" class="btn btn-default text-yellow btn-sm" name="submit" value="Close">
<input type="submit" class="submit btn btn-default text-orange btn-sm" id="delete" name="submit" value="{!! Lang::get('lang.delete') !!}">
<input type="submit" class="submit btn btn-default text-blue btn-sm" id="close" name="submit" value="{!! Lang::get('lang.open') !!}">
<button type="button" class="btn btn-sm btn-default text-green" id="Edit_Ticket" data-toggle="modal" data-target="#MergeTickets"><i class="fa fa-code-fork"> </i> {!! Lang::get('lang.merge') !!}</button>
</div>
<div class=" table-responsive mailbox-messages" id="refresh">
<p style="display:none;text-align:center; position:fixed; margin-left:40%;margin-top:-70px;" id="show" class="text-red"><b>Loading...</b></p>
<div class="mailbox-messages" id="refresh">
<p style="display:none;text-align:center; position:fixed; margin-left:40%;margin-top:-70px;" id="show" class="text-red"><b>{!! Lang::get('lang.loading') !!}...</b></p>
<!-- table -->
<table class="table table-hover table-striped">
<thead>
<th>
</th>
<th>Subject</th>
<th>Ticket ID</th>
<th>Priority</th>
<th>From</th>
<th>Last Replier</th>
<th>Assigned To</th>
<th>Last Activity</th>
</thead>
<tbody id="hello">
@foreach ($tickets as $ticket)
<?php
// title
{!! Datatable::table()
->addColumn(
"",
Lang::get('lang.subject'),
Lang::get('lang.ticket_id'),
Lang::get('lang.priority'),
Lang::get('lang.from'),
Lang::get('lang.last_replier'),
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.dept.close', $dept->id))
->setOrder(array(7=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->render();!!}
$title = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->first();
$string = strip_tags($title->title);
if($title)
if($title == null){
} else {
?>
<tr <?php if ($ticket->seen_by == null) {?> style="color:green;" <?php } ?> >
<td ><input type="checkbox" class="icheckbox_flat-blue" name="select_all[]" value="{{$ticket->id}}"/></td>
<?php
// collaborators
$collaborators = App\Model\helpdesk\Ticket\Ticket_Collaborator::where('ticket_id','=',$ticket->id)->get();
$collab = count($collaborators);
// check atatchments
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id','=',$title->id)->first();
$attach = count($attachments);
if (strlen($string) > 40) {
$stringCut = substr($string, 0, 40);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
$TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
$LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
if($LastResponse->role == "user") {
$rep = "#F39C12";
$username = $LastResponse->user_name;
} else { $rep = "#000"; $username = $LastResponse->first_name ." ". $LastResponse->last_name;
if($LastResponse->first_name==null || $LastResponse->last_name==null) {
$username = $LastResponse->user_name;
}}
$titles = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->get();
$count = count($titles);
foreach($titles as $title)
{
$title = $title;
}
$assigned_to = App\User::where('id','=',$ticket->assigned_to)->first();
if($assigned_to == null)
{
$assigned = "Unassigned";
}
else
{
$assigned = $assigned_to->first_name ." ". $assigned_to->last_name;
}
?>
<td class="mailbox-name"><a href="{!! route('ticket.thread',[$ticket->id]) !!}" title="{!! $title->title !!}">{{$string}} </a> ({!! $count!!}) <i class="fa fa-comment"></i>
@if($collab > 0)&nbsp;<i class="fa fa-users"></i>@endif
@if($attach > 0)&nbsp;<i class="fa fa-paperclip"></i>@endif</td>
<td class="mailbox-Id"><a href="{!! route('ticket.thread',[$ticket->id]) !!}" title="{!! $title->title !!}">#{!! $ticket->ticket_number !!}</a></td>
<?php $priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('priority_id', '=', $ticket->priority_id)->first();?>
<td class="mailbox-priority"><spam class="btn btn-{{$priority->priority_color}} btn-xs">{{$priority->priority_desc}}</spam></td>
<?php $from = App\User::where('id','=',$ticket->user_id)->first(); ?>
@if($from->role == "user")
<td class="mailbox-from" >{!! $from->user_name !!}</td>
@else
<td class="mailbox-from" >{!! $from->first_name." ".$from->last_name !!}</td>
@endif
<td class="mailbox-last-reply" style="color:{!! $rep !!}">{!! $username !!}</td>
<td>{!! $assigned !!}</td>
<td class="mailbox-last-activity">{!! UTC::usertimezone($title->updated_at) !!}</td>
</tr>
<?php } ?>
@endforeach
</tbody>
</table><!-- /.table -->
<div class="pull-right">
<?php echo $tickets->setPath(url('/ticket/inbox'))->render();?>&nbsp;
</div>
</div><!-- /.mail-box-messages -->
{!! Form::close() !!}
</div><!-- /.box-body -->
</div><!-- /. box -->
<!-- merge tickets modal -->
<div class="modal fade" id="MergeTickets">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" id="merge-close" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">{!! Lang::get('lang.merge-ticket') !!} </h4>
</div><!-- /.modal-header-->
<div class ="modal-body">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-6" id="merge_loader" style="display:none;">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
</div><!-- /.merge-loader -->
</div>
<div id="merge_body">
<div id="merge-body-alert">
<div class="row">
<div class="col-md-12">
<div id="merge-succ-alert" class="alert alert-success alert-dismissable" style="display:none;" >
<!--<button id="dismiss-merge" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>-->
<h4><i class="icon fa fa-check"></i>Alert!</h4>
<div id="message-merge-succ"></div>
</div>
<div id="merge-err-alert" class="alert alert-danger alert-dismissable" style="display:none;">
<!--<button id="dismiss-merge2" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>-->
<h4><i class="icon fa fa-ban"></i>Alert!</h4>
<div id="message-merge-err"></div>
</div>
</div>
</div>
</div><!-- /.merge-alert -->
<div id="merge-body-form">
<div class="row">
<div class="col-md-6">
{!! Form::open(['id'=>'merge-form','method' => 'PATCH'] )!!}
<label>{!! Lang::get('lang.title') !!}</label>
<input type="text" name='title' class="form-control" value="" placeholder="Optional" />
</div>
<div class="col-md-6">
<label>{!! Lang::get('lang.select-pparent-ticket') !!}</label>
<select class="form-control" id="select-merge-parent" name='p_id' data-placeholder="{!! Lang::get('lang.select_tickets') !!}" style="width: 100%;"><option value=""></option></select>
</div>
</div>
<div class="row">
<div class="col-md-8">
<label>{!! Lang::get('lang.merge-reason') !!}</label>
<textarea name="reason" class="form-control"></textarea>
</div>
</div>
</div><!-- mereg-body-form -->
</div><!-- merge-body -->
</div><!-- /.modal-body -->
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">{!! Lang::get('lang.close') !!}</button>
<input type="submit" id="merge-btn" class="btn btn-primary pull-right" value="{!! Lang::get('lang.merge') !!}"></input>
{!! Form::close() !!}
</div><!-- /.modal-footer -->
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- Modal -->
<div class="modal fade in" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" style="display: none; padding-right: 15px;background-color: rgba(0, 0, 0, 0.7);">
<div class="modal-dialog" role="document">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close closemodal" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<div class="modal-body" id="custom-alert-body" >
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary pull-left yes" data-dismiss="modal">{{Lang::get('lang.ok')}}</button>
<button type="button" class="btn btn-default no">{{Lang::get('lang.cancel')}}</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
var t_id =[];
$(function () {
//Enable check and uncheck all functionality
$(".checkbox-toggle").click(function () {
var clicks = $(this).data('clicks');
if (clicks) {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
} else {
//Check all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("check");
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
}
$(this).data("clicks", !clicks);
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
} else {
//Check all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("check");
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
}
$(this).data("clicks", !clicks);
});
});
$(function() {
// Enable check and uncheck all functionality
$(".checkbox-toggle").click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("uncheck");
// alert($("input[type='checkbox']").val());
t_id = $('.selectval').map(function() {
return $(this).val();
}).get();
// alert(checkboxValues);
} else {
//Check all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("check");
// alert('Hallo');
t_id = [];
}
$(this).data("clicks", !clicks);
});
});
$(document).ready(function() { /// Wait till page is loaded
$('#click').click(function() {
$('#refresh').load('open #refresh');
$('#refresh').load('inbox #refresh');
$('#title_refresh').load('inbox #title_refresh');
$('#count_refresh').load('inbox #count_refresh');
$("#show").show();
});
$(".select2").select2();
$('#delete').on('click', function(){
option = 0;
$('#myModalLabel').html("{{Lang::get('lang.delete-tickets')}}");
});
$('#close').on('click', function(){
option = 1;
$('#myModalLabel').html("{{Lang::get('lang.close-tickets')}}");
});
$("#modalpopup").on('submit', function(e){
e.preventDefault();
var msg ="{{Lang::get('lang.confirm')}}";
var values = getValues();
if(values == ""){
msg = "{{Lang::get('lang.select-ticket')}}";
$('.yes').html("{{Lang::get('lang.ok')}}");
$('#myModalLabel').html("{{Lang::get('lang.alert')}}");
} else {
$('.yes').html("Yes");
}
$('#custom-alert-body').html(msg);
$("#myModal").css("display", "block");
});
$(".closemodal, .no").click(function(){
$("#myModal").css("display", "none");
});
$('.yes').click(function(){
var values = getValues();
if(values == ""){
$("#myModal").css("display", "none");
} else {
$("#myModal").css("display", "none");
$("#modalpopup").unbind('submit');
if (option == 0) {
//alert('delete');
$('#delete').click();
} else {
//alert('close');
$('#close').click();
}
}
});
function getValues(){
var values = $('.selectval:checked').map(function() {
return $(this).val();
}).get();
return values;
}
//checking merging tickets
$('#MergeTickets').on('show.bs.modal', function () {
// alert("hi");
$.ajax({
type: "GET",
url: "{{route('check.merge.tickets',0)}}",
dataType: "html",
data:{data1: t_id},
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.select-tickets-to merge')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else if(response == 2) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.different-users')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-body-alert").hide();
$("#merge-body-form").show();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', false);
$("#merge_loader").hide();
$.ajax({
url: "{{ route('get.merge.tickets',0) }}",
dataType: "html",
data:{data1: t_id},
success: function(data) {
$('#select-merge-parent').html(data);
}
// return false;
});
}
}
});
});
//submit merging form
$('#merge-form').on('submit', function(){
$.ajax({
type: "POST",
url: "{!! url('merge-tickets/') !!}/"+t_id,
dataType: "json",
data: $(this).serialize(),
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-error')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-err-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-success')}}";
$("#merge-succ-alert").show();
$('#message-merge-succ').html(message);
setInterval(function(){
$("#alert11").hide();
setTimeout(function() {
var link = document.querySelector('#load-open');
if(link) {
link.click();
}
}, 500);
},2000);
}
}
})
return false;
});
});
// check box get data
// jQuery(function($) {
// $("form input[id='check_all']").click(function() { // triggred check
// var inputs = $("form input[type='checkbox']"); // get the checkbox
// for(var i = 0; i < inputs.length; i++) { // count input tag in the form
// var type = inputs[i].getAttribute("type"); // get the type attribute
// if(type == "checkbox") {
// if(this.checked) {
// inputs[i].checked = true; // checked
// } else {
// inputs[i].checked = false; // unchecked
// }
// }
// }
// });
function someFunction(id){
if(document.getElementById(id).checked) {
t_id.push(id);
// alert(t_id);
} else {
var index = t_id.indexOf(id);
t_id.splice(index, 1);
// alert(t_id);
}
// $("form input[id='submit']").click(function() { // triggred submit
// thisid.push(id);
// alert(thisid);
// document.getElementById("demo").innerHTML = thisid;
// var count_checked = $("[name='data[]']:checked").length; // count the checked
// if(count_checked == 0) {
// alert("Please select a product(s) to delete.");
// return false;
// }
// if(count_checked == 1) {
// return confirm("Are you sure you want to delete these product?");
// } else {
// return confirm("Are you sure you want to delete these products?");
// }
// });
// }); // jquery end
// push.thisid;
// alert(thisid);
// document.getElementByID('demo').innerHTML = thisid;
}
</script>
@stop

View File

@@ -13,19 +13,25 @@ class="active"
@stop
@section('content')
<?php
$dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
if(Auth::user()->role == 'agent') {
<?php
$dept = App\Model\helpdesk\Agent\Department::where('name', '=', $id)->first();
if (Auth::user()->role == 'agent') {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('assigned_to','>', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
} else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('assigned_to','>', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
}
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', '1')->where('assigned_to', '>', 0)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->paginate(20);
} else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', '1')->where('assigned_to', '>', 0)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->paginate(20);
}
?>
<!-- Main content -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Inbox </h3> <small>{!! $tickets->total() !!} tickets</small>
<h3 class="box-title">{!! Lang::get('lang.open') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small>
<div class="box-tools pull-right">
<div class="has-feedback">
</div>
</div>
</div><!-- /.box-header -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
@@ -44,192 +50,375 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
{{Session::get('fails')}}
</div>
@endif
<div class="box-body no-padding ">
{!! Form::open(['route'=>'select_all','method'=>'post']) !!}
<div class="box-body">
{!! Form::open(['id'=>'modalpopup', 'route'=>'select_all','method'=>'post']) !!}
<div class="mailbox-controls">
<h3 class="pull-right" style="margin-top:0;margin-bottom:0;"> {!! $tickets->count().'-'.$tickets->total(); !!}</h3>
<!-- Check all button -->
<a class="btn btn-default btn-sm checkbox-toggle"><i class="fa fa-square-o"></i></a>
<a class="btn btn-default btn-sm" id="click"><i class="fa fa-refresh"></i></a>
<input type="submit" class="btn btn-default text-orange btn-sm" name="submit" value="Delete">
<input type="submit" class="btn btn-default text-yellow btn-sm" name="submit" value="Close">
<input type="submit" class="submit btn btn-default text-orange btn-sm" id="delete" name="submit" value="{!! Lang::get('lang.delete') !!}">
<input type="submit" class="submit btn btn-default text-yellow btn-sm" id="close" name="submit" value="{!! Lang::get('lang.close') !!}">
<button type="button" class="btn btn-sm btn-default text-green" id="Edit_Ticket" data-toggle="modal" data-target="#MergeTickets"><i class="fa fa-code-fork"> </i> {!! Lang::get('lang.merge') !!}</button>
</div>
<div class=" table-responsive mailbox-messages" id="refresh">
<p style="display:none;text-align:center; position:fixed; margin-left:40%;margin-top:-70px;" id="show" class="text-red"><b>Loading...</b></p>
<div class="mailbox-messages" id="refresh">
<p style="display:none;text-align:center; position:fixed; margin-left:40%;margin-top:-70px;" id="show" class="text-red"><b>{!! Lang::get('lang.loading') !!}...</b></p>
<!-- table -->
<table class="table table-hover table-striped">
<thead>
<th>
</th>
<th>Subject</th>
<th>Ticket ID</th>
<th>Priority</th>
<th>From</th>
<th>Last Replier</th>
<th>Assigned To</th>
<th>Last Activity</th>
</thead>
<tbody id="hello">
@foreach ($tickets as $ticket)
<?php
// title
{!! Datatable::table()
->addColumn(
"",
Lang::get('lang.subject'),
Lang::get('lang.ticket_id'),
Lang::get('lang.priority'),
Lang::get('lang.from'),
Lang::get('lang.last_replier'),
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.dept.inprocess', $dept->id))
->setOrder(array(7=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->render();!!}
$title = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->first();
$string = strip_tags($title->title);
if($title)
if($title == null){
} else {
?>
<tr <?php if ($ticket->seen_by == null) {?> style="color:green;" <?php } ?> >
<td ><input type="checkbox" class="icheckbox_flat-blue" name="select_all[]" value="{{$ticket->id}}"/></td>
<?php
// collaborators
$collaborators = App\Model\helpdesk\Ticket\Ticket_Collaborator::where('ticket_id','=',$ticket->id)->get();
$collab = count($collaborators);
// check atatchments
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id','=',$title->id)->first();
$attach = count($attachments);
if (strlen($string) > 40) {
$stringCut = substr($string, 0, 40);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
$TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
$LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
if($LastResponse->role == "user") {
$rep = "#F39C12";
$username = $LastResponse->user_name;
} else { $rep = "#000"; $username = $LastResponse->first_name ." ". $LastResponse->last_name;
if($LastResponse->first_name==null || $LastResponse->last_name==null) {
$username = $LastResponse->user_name;
}}
$titles = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->get();
$count = count($titles);
foreach($titles as $title)
{
$title = $title;
}
$assigned_to = App\User::where('id','=',$ticket->assigned_to)->first();
if($assigned_to == null)
{
$assigned = "Unassigned";
}
else
{
$assigned = $assigned_to->first_name ." ". $assigned_to->last_name;
}
?>
<td class="mailbox-name"><a href="{!! route('ticket.thread',[$ticket->id]) !!}" title="{!! $title->title !!}">{{$string}} </a> ({!! $count!!}) <i class="fa fa-comment"></i>
@if($collab > 0)&nbsp;<i class="fa fa-users"></i>@endif
@if($attach > 0)&nbsp;<i class="fa fa-paperclip"></i>@endif</td>
<td class="mailbox-Id"><a href="{!! route('ticket.thread',[$ticket->id]) !!}" title="{!! $title->title !!}">#{!! $ticket->ticket_number !!}</a></td>
<?php $priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('priority_id', '=', $ticket->priority_id)->first();?>
<td class="mailbox-priority"><spam class="btn btn-{{$priority->priority_color}} btn-xs">{{$priority->priority_desc}}</spam></td>
<?php $from = App\User::where('id','=',$ticket->user_id)->first(); ?>
@if($from->role == "user")
<td class="mailbox-from" >{!! $from->user_name !!}</td>
@else
<td class="mailbox-from" >{!! $from->first_name." ".$from->last_name !!}</td>
@endif
<td class="mailbox-last-reply" style="color:{!! $rep !!}">{!! $username !!}</td>
<td>{!! $assigned !!}</td>
<td class="mailbox-last-activity">{!! UTC::usertimezone($title->updated_at) !!}</td>
</tr>
<?php } ?>
@endforeach
</tbody>
</table><!-- /.table -->
<div class="pull-right">
<?php echo $tickets->setPath(url('/ticket/inbox'))->render();?>&nbsp;
</div>
</div><!-- /.mail-box-messages -->
{!! Form::close() !!}
</div><!-- /.box-body -->
</div><!-- /. box -->
<!-- merge tickets modal -->
<div class="modal fade" id="MergeTickets">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" id="merge-close" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">{!! Lang::get('lang.merge-ticket') !!} </h4>
</div><!-- /.modal-header-->
<div class ="modal-body">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-6" id="merge_loader" style="display:none;">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
</div><!-- /.merge-loader -->
</div>
<div id="merge_body">
<div id="merge-body-alert">
<div class="row">
<div class="col-md-12">
<div id="merge-succ-alert" class="alert alert-success alert-dismissable" style="display:none;" >
<!--<button id="dismiss-merge" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>-->
<h4><i class="icon fa fa-check"></i>Alert!</h4>
<div id="message-merge-succ"></div>
</div>
<div id="merge-err-alert" class="alert alert-danger alert-dismissable" style="display:none;">
<!--<button id="dismiss-merge2" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>-->
<h4><i class="icon fa fa-ban"></i>Alert!</h4>
<div id="message-merge-err"></div>
</div>
</div>
</div>
</div><!-- /.merge-alert -->
<div id="merge-body-form">
<div class="row">
<div class="col-md-6">
{!! Form::open(['id'=>'merge-form','method' => 'PATCH'] )!!}
<label>{!! Lang::get('lang.title') !!}</label>
<input type="text" name='title' class="form-control" value="" placeholder="Optional" />
</div>
<div class="col-md-6">
<label>{!! Lang::get('lang.select-pparent-ticket') !!}</label>
<select class="form-control" id="select-merge-parent" name='p_id' data-placeholder="{!! Lang::get('lang.select_tickets') !!}" style="width: 100%;"><option value=""></option></select>
</div>
</div>
<div class="row">
<div class="col-md-8">
<label>{!! Lang::get('lang.merge-reason') !!}</label>
<textarea name="reason" class="form-control"></textarea>
</div>
</div>
</div><!-- mereg-body-form -->
</div><!-- merge-body -->
</div><!-- /.modal-body -->
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">{!! Lang::get('lang.close') !!}</button>
<input type="submit" id="merge-btn" class="btn btn-primary pull-right" value="{!! Lang::get('lang.merge') !!}"></input>
{!! Form::close() !!}
</div><!-- /.modal-footer -->
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- Modal -->
<div class="modal fade in" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" style="display: none; padding-right: 15px;background-color: rgba(0, 0, 0, 0.7);">
<div class="modal-dialog" role="document">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close closemodal" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<div class="modal-body" id="custom-alert-body" >
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary pull-left yes" data-dismiss="modal">{{Lang::get('lang.ok')}}</button>
<button type="button" class="btn btn-default no">{{Lang::get('lang.cancel')}}</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
var t_id =[];
$(function () {
//Enable check and uncheck all functionality
$(".checkbox-toggle").click(function () {
var clicks = $(this).data('clicks');
if (clicks) {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
} else {
//Check all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("check");
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
}
$(this).data("clicks", !clicks);
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
} else {
//Check all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("check");
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
}
$(this).data("clicks", !clicks);
});
});
$(function() {
// Enable check and uncheck all functionality
$(".checkbox-toggle").click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("uncheck");
// alert($("input[type='checkbox']").val());
t_id = $('.selectval').map(function() {
return $(this).val();
}).get();
// alert(checkboxValues);
} else {
//Check all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("check");
// alert('Hallo');
t_id = [];
}
$(this).data("clicks", !clicks);
});
});
$(document).ready(function() { /// Wait till page is loaded
$('#click').click(function() {
$('#refresh').load('open #refresh');
$('#refresh').load('inbox #refresh');
$('#title_refresh').load('inbox #title_refresh');
$('#count_refresh').load('inbox #count_refresh');
$("#show").show();
});
$(".select2").select2();
$('#delete').on('click', function(){
option = 0;
$('#myModalLabel').html("{{Lang::get('lang.delete-tickets')}}");
});
$('#close').on('click', function(){
option = 1;
$('#myModalLabel').html("{{Lang::get('lang.close-tickets')}}");
});
$("#modalpopup").on('submit', function(e){
e.preventDefault();
var msg ="{{Lang::get('lang.confirm')}}";
var values = getValues();
if(values == ""){
msg = "{{Lang::get('lang.select-ticket')}}";
$('.yes').html("{{Lang::get('lang.ok')}}");
$('#myModalLabel').html("{{Lang::get('lang.alert')}}");
} else {
$('.yes').html("Yes");
}
$('#custom-alert-body').html(msg);
$("#myModal").css("display", "block");
});
$(".closemodal, .no").click(function(){
$("#myModal").css("display", "none");
});
$('.yes').click(function(){
var values = getValues();
if(values == ""){
$("#myModal").css("display", "none");
} else {
$("#myModal").css("display", "none");
$("#modalpopup").unbind('submit');
if (option == 0) {
//alert('delete');
$('#delete').click();
} else {
//alert('close');
$('#close').click();
}
}
});
function getValues(){
var values = $('.selectval:checked').map(function() {
return $(this).val();
}).get();
return values;
}
//checking merging tickets
$('#MergeTickets').on('show.bs.modal', function () {
// alert("hi");
$.ajax({
type: "GET",
url: "{{route('check.merge.tickets',0)}}",
dataType: "html",
data:{data1: t_id},
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.select-tickets-to merge')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else if(response == 2) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.different-users')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-body-alert").hide();
$("#merge-body-form").show();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', false);
$("#merge_loader").hide();
$.ajax({
url: "{{ route('get.merge.tickets',0) }}",
dataType: "html",
data:{data1: t_id},
success: function(data) {
$('#select-merge-parent').html(data);
}
// return false;
});
}
}
});
});
//submit merging form
$('#merge-form').on('submit', function(){
$.ajax({
type: "POST",
url: "{!! url('merge-tickets/') !!}/"+t_id,
dataType: "json",
data: $(this).serialize(),
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-error')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-err-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-success')}}";
$("#merge-succ-alert").show();
$('#message-merge-succ').html(message);
setInterval(function(){
$("#alert11").hide();
setTimeout(function() {
var link = document.querySelector('#load-open');
if(link) {
link.click();
}
}, 500);
},2000);
}
}
})
return false;
});
});
// check box get data
// jQuery(function($) {
// $("form input[id='check_all']").click(function() { // triggred check
// var inputs = $("form input[type='checkbox']"); // get the checkbox
// for(var i = 0; i < inputs.length; i++) { // count input tag in the form
// var type = inputs[i].getAttribute("type"); // get the type attribute
// if(type == "checkbox") {
// if(this.checked) {
// inputs[i].checked = true; // checked
// } else {
// inputs[i].checked = false; // unchecked
// }
// }
// }
// });
function someFunction(id){
if(document.getElementById(id).checked) {
t_id.push(id);
// alert(t_id);
} else {
var index = t_id.indexOf(id);
t_id.splice(index, 1);
// alert(t_id);
}
// $("form input[id='submit']").click(function() { // triggred submit
// thisid.push(id);
// alert(thisid);
// document.getElementById("demo").innerHTML = thisid;
// var count_checked = $("[name='data[]']:checked").length; // count the checked
// if(count_checked == 0) {
// alert("Please select a product(s) to delete.");
// return false;
// }
// if(count_checked == 1) {
// return confirm("Are you sure you want to delete these product?");
// } else {
// return confirm("Are you sure you want to delete these products?");
// }
// });
// }); // jquery end
// push.thisid;
// alert(thisid);
// document.getElementByID('demo').innerHTML = thisid;
}
</script>
@stop

View File

@@ -16,15 +16,20 @@ class="active"
<?php
$dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
if(Auth::user()->role == 'agent') {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('assigned_to','=', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('isanswered','=', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
} else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('assigned_to','=', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('isanswered','=', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
}
?>
<!-- Main content -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Inbox </h3> <small>{!! $tickets->total() !!} tickets</small>
<h3 class="box-title">{!! Lang::get('lang.open') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small>
<div class="box-tools pull-right">
<div class="has-feedback">
</div>
</div>
</div><!-- /.box-header -->
@if(Session::has('success'))
<div class="alert alert-success alert-dismissable">
@@ -43,192 +48,375 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
{{Session::get('fails')}}
</div>
@endif
<div class="box-body no-padding ">
{!! Form::open(['route'=>'select_all','method'=>'post']) !!}
<div class="box-body">
{!! Form::open(['id'=>'modalpopup', 'route'=>'select_all','method'=>'post']) !!}
<div class="mailbox-controls">
<h3 class="pull-right" style="margin-top:0;margin-bottom:0;"> {!! $tickets->count().'-'.$tickets->total(); !!}</h3>
<!-- Check all button -->
<a class="btn btn-default btn-sm checkbox-toggle"><i class="fa fa-square-o"></i></a>
<a class="btn btn-default btn-sm" id="click"><i class="fa fa-refresh"></i></a>
<input type="submit" class="btn btn-default text-orange btn-sm" name="submit" value="Delete">
<input type="submit" class="btn btn-default text-yellow btn-sm" name="submit" value="Close">
<input type="submit" class="submit btn btn-default text-orange btn-sm" id="delete" name="submit" value="{!! Lang::get('lang.delete') !!}">
<input type="submit" class="submit btn btn-default text-yellow btn-sm" id="close" name="submit" value="{!! Lang::get('lang.close') !!}">
<button type="button" class="btn btn-sm btn-default text-green" id="Edit_Ticket" data-toggle="modal" data-target="#MergeTickets"><i class="fa fa-code-fork"> </i> {!! Lang::get('lang.merge') !!}</button>
</div>
<div class=" table-responsive mailbox-messages" id="refresh">
<p style="display:none;text-align:center; position:fixed; margin-left:40%;margin-top:-70px;" id="show" class="text-red"><b>Loading...</b></p>
<div class="mailbox-messages" id="refresh">
<p style="display:none;text-align:center; position:fixed; margin-left:40%;margin-top:-70px;" id="show" class="text-red"><b>{!! Lang::get('lang.loading') !!}...</b></p>
<!-- table -->
<table class="table table-hover table-striped">
<thead>
<th>
</th>
<th>Subject</th>
<th>Ticket ID</th>
<th>Priority</th>
<th>From</th>
<th>Last Replier</th>
<th>Assigned To</th>
<th>Last Activity</th>
</thead>
<tbody id="hello">
@foreach ($tickets as $ticket)
<?php
// title
{!! Datatable::table()
->addColumn(
"",
Lang::get('lang.subject'),
Lang::get('lang.ticket_id'),
Lang::get('lang.priority'),
Lang::get('lang.from'),
Lang::get('lang.last_replier'),
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.dept.open', $dept->id))
->setOrder(array(7=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->render();!!}
$title = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->first();
$string = strip_tags($title->title);
if($title)
if($title == null){
} else {
?>
<tr <?php if ($ticket->seen_by == null) {?> style="color:green;" <?php } ?> >
<td ><input type="checkbox" class="icheckbox_flat-blue" name="select_all[]" value="{{$ticket->id}}"/></td>
<?php
// collaborators
$collaborators = App\Model\helpdesk\Ticket\Ticket_Collaborator::where('ticket_id','=',$ticket->id)->get();
$collab = count($collaborators);
// check atatchments
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id','=',$title->id)->first();
$attach = count($attachments);
if (strlen($string) > 40) {
$stringCut = substr($string, 0, 40);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).' ...';
}
$TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->max('id');
$TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
$LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
if($LastResponse->role == "user") {
$rep = "#F39C12";
$username = $LastResponse->user_name;
} else { $rep = "#000"; $username = $LastResponse->first_name ." ". $LastResponse->last_name;
if($LastResponse->first_name==null || $LastResponse->last_name==null) {
$username = $LastResponse->user_name;
}}
$titles = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $ticket->id)->get();
$count = count($titles);
foreach($titles as $title)
{
$title = $title;
}
$assigned_to = App\User::where('id','=',$ticket->assigned_to)->first();
if($assigned_to == null)
{
$assigned = "Unassigned";
}
else
{
$assigned = $assigned_to->first_name ." ". $assigned_to->last_name;
}
?>
<td class="mailbox-name"><a href="{!! route('ticket.thread',[$ticket->id]) !!}" title="{!! $title->title !!}">{{$string}} </a> ({!! $count!!}) <i class="fa fa-comment"></i>
@if($collab > 0)&nbsp;<i class="fa fa-users"></i>@endif
@if($attach > 0)&nbsp;<i class="fa fa-paperclip"></i>@endif</td>
<td class="mailbox-Id"><a href="{!! route('ticket.thread',[$ticket->id]) !!}" title="{!! $title->title !!}">#{!! $ticket->ticket_number !!}</a></td>
<?php $priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('priority_id', '=', $ticket->priority_id)->first();?>
<td class="mailbox-priority"><spam class="btn btn-{{$priority->priority_color}} btn-xs">{{$priority->priority_desc}}</spam></td>
<?php $from = App\User::where('id','=',$ticket->user_id)->first(); ?>
@if($from->role == "user")
<td class="mailbox-from" >{!! $from->user_name !!}</td>
@else
<td class="mailbox-from" >{!! $from->first_name." ".$from->last_name !!}</td>
@endif
<td class="mailbox-last-reply" style="color:{!! $rep !!}">{!! $username !!}</td>
<td>{!! $assigned !!}</td>
<td class="mailbox-last-activity">{!! UTC::usertimezone($title->updated_at) !!}</td>
</tr>
<?php } ?>
@endforeach
</tbody>
</table><!-- /.table -->
<div class="pull-right">
<?php echo $tickets->setPath(url('/ticket/inbox'))->render();?>&nbsp;
</div>
</div><!-- /.mail-box-messages -->
{!! Form::close() !!}
</div><!-- /.box-body -->
</div><!-- /. box -->
<!-- merge tickets modal -->
<div class="modal fade" id="MergeTickets">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" id="merge-close" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">{!! Lang::get('lang.merge-ticket') !!} </h4>
</div><!-- /.modal-header-->
<div class ="modal-body">
<div class="row">
<div class="col-md-4">
</div>
<div class="col-md-6" id="merge_loader" style="display:none;">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
</div><!-- /.merge-loader -->
</div>
<div id="merge_body">
<div id="merge-body-alert">
<div class="row">
<div class="col-md-12">
<div id="merge-succ-alert" class="alert alert-success alert-dismissable" style="display:none;" >
<!--<button id="dismiss-merge" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>-->
<h4><i class="icon fa fa-check"></i>Alert!</h4>
<div id="message-merge-succ"></div>
</div>
<div id="merge-err-alert" class="alert alert-danger alert-dismissable" style="display:none;">
<!--<button id="dismiss-merge2" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>-->
<h4><i class="icon fa fa-ban"></i>Alert!</h4>
<div id="message-merge-err"></div>
</div>
</div>
</div>
</div><!-- /.merge-alert -->
<div id="merge-body-form">
<div class="row">
<div class="col-md-6">
{!! Form::open(['id'=>'merge-form','method' => 'PATCH'] )!!}
<label>{!! Lang::get('lang.title') !!}</label>
<input type="text" name='title' class="form-control" value="" placeholder="Optional" />
</div>
<div class="col-md-6">
<label>{!! Lang::get('lang.select-pparent-ticket') !!}</label>
<select class="form-control" id="select-merge-parent" name='p_id' data-placeholder="{!! Lang::get('lang.select_tickets') !!}" style="width: 100%;"><option value=""></option></select>
</div>
</div>
<div class="row">
<div class="col-md-8">
<label>{!! Lang::get('lang.merge-reason') !!}</label>
<textarea name="reason" class="form-control"></textarea>
</div>
</div>
</div><!-- mereg-body-form -->
</div><!-- merge-body -->
</div><!-- /.modal-body -->
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">{!! Lang::get('lang.close') !!}</button>
<input type="submit" id="merge-btn" class="btn btn-primary pull-right" value="{!! Lang::get('lang.merge') !!}"></input>
{!! Form::close() !!}
</div><!-- /.modal-footer -->
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<!-- Modal -->
<div class="modal fade in" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" style="display: none; padding-right: 15px;background-color: rgba(0, 0, 0, 0.7);">
<div class="modal-dialog" role="document">
<div class="col-md-2"></div>
<div class="col-md-8">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close closemodal" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<div class="modal-body" id="custom-alert-body" >
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary pull-left yes" data-dismiss="modal">{{Lang::get('lang.ok')}}</button>
<button type="button" class="btn btn-default no">{{Lang::get('lang.cancel')}}</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
var t_id =[];
$(function () {
//Enable check and uncheck all functionality
$(".checkbox-toggle").click(function () {
var clicks = $(this).data('clicks');
if (clicks) {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
} else {
//Check all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("check");
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
}
$(this).data("clicks", !clicks);
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
} else {
//Check all checkboxes
$(".mailbox-messages input[type='checkbox']").iCheck("check");
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
}
$(this).data("clicks", !clicks);
});
});
$(function() {
// Enable check and uncheck all functionality
$(".checkbox-toggle").click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
//Uncheck all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("uncheck");
// alert($("input[type='checkbox']").val());
t_id = $('.selectval').map(function() {
return $(this).val();
}).get();
// alert(checkboxValues);
} else {
//Check all checkboxes
$("input[type='checkbox']", ".mailbox-messages").iCheck("check");
// alert('Hallo');
t_id = [];
}
$(this).data("clicks", !clicks);
});
});
$(document).ready(function() { /// Wait till page is loaded
$('#click').click(function() {
$('#refresh').load('open #refresh');
$('#refresh').load('inbox #refresh');
$('#title_refresh').load('inbox #title_refresh');
$('#count_refresh').load('inbox #count_refresh');
$("#show").show();
});
$(".select2").select2();
$('#delete').on('click', function(){
option = 0;
$('#myModalLabel').html("{{Lang::get('lang.delete-tickets')}}");
});
$('#close').on('click', function(){
option = 1;
$('#myModalLabel').html("{{Lang::get('lang.close-tickets')}}");
});
$("#modalpopup").on('submit', function(e){
e.preventDefault();
var msg ="{{Lang::get('lang.confirm')}}";
var values = getValues();
if(values == ""){
msg = "{{Lang::get('lang.select-ticket')}}";
$('.yes').html("{{Lang::get('lang.ok')}}");
$('#myModalLabel').html("{{Lang::get('lang.alert')}}");
} else {
$('.yes').html("Yes");
}
$('#custom-alert-body').html(msg);
$("#myModal").css("display", "block");
});
$(".closemodal, .no").click(function(){
$("#myModal").css("display", "none");
});
$('.yes').click(function(){
var values = getValues();
if(values == ""){
$("#myModal").css("display", "none");
} else {
$("#myModal").css("display", "none");
$("#modalpopup").unbind('submit');
if (option == 0) {
//alert('delete');
$('#delete').click();
} else {
//alert('close');
$('#close').click();
}
}
});
function getValues(){
var values = $('.selectval:checked').map(function() {
return $(this).val();
}).get();
return values;
}
//checking merging tickets
$('#MergeTickets').on('show.bs.modal', function () {
// alert("hi");
$.ajax({
type: "GET",
url: "{{route('check.merge.tickets',0)}}",
dataType: "html",
data:{data1: t_id},
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.select-tickets-to merge')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else if(response == 2) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.different-users')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-body-alert").hide();
$("#merge-body-form").show();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', false);
$("#merge_loader").hide();
$.ajax({
url: "{{ route('get.merge.tickets',0) }}",
dataType: "html",
data:{data1: t_id},
success: function(data) {
$('#select-merge-parent').html(data);
}
// return false;
});
}
}
});
});
//submit merging form
$('#merge-form').on('submit', function(){
$.ajax({
type: "POST",
url: "{!! url('merge-tickets/') !!}/"+t_id,
dataType: "json",
data: $(this).serialize(),
beforeSend: function() {
$("#merge_body").hide();
$("#merge_loader").show();
},
success: function(response) {
if(response == 0) {
$("#merge_body").show();
$("#merge-succ-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-error')}}";
$("#merge-err-alert").show();
$('#message-merge-err').html(message);
} else {
$("#merge_body").show();
$("#merge-err-alert").hide();
$("#merge-body-alert").show();
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
var message = "{{Lang::get('lang.merge-success')}}";
$("#merge-succ-alert").show();
$('#message-merge-succ').html(message);
setInterval(function(){
$("#alert11").hide();
setTimeout(function() {
var link = document.querySelector('#load-open');
if(link) {
link.click();
}
}, 500);
},2000);
}
}
})
return false;
});
});
// check box get data
// jQuery(function($) {
// $("form input[id='check_all']").click(function() { // triggred check
// var inputs = $("form input[type='checkbox']"); // get the checkbox
// for(var i = 0; i < inputs.length; i++) { // count input tag in the form
// var type = inputs[i].getAttribute("type"); // get the type attribute
// if(type == "checkbox") {
// if(this.checked) {
// inputs[i].checked = true; // checked
// } else {
// inputs[i].checked = false; // unchecked
// }
// }
// }
// });
function someFunction(id){
if(document.getElementById(id).checked) {
t_id.push(id);
// alert(t_id);
} else {
var index = t_id.indexOf(id);
t_id.splice(index, 1);
// alert(t_id);
}
// $("form input[id='submit']").click(function() { // triggred submit
// thisid.push(id);
// alert(thisid);
// document.getElementById("demo").innerHTML = thisid;
// var count_checked = $("[name='data[]']:checked").length; // count the checked
// if(count_checked == 0) {
// alert("Please select a product(s) to delete.");
// return false;
// }
// if(count_checked == 1) {
// return confirm("Are you sure you want to delete these product?");
// } else {
// return confirm("Are you sure you want to delete these products?");
// }
// });
// }); // jquery end
// push.thisid;
// alert(thisid);
// document.getElementByID('demo').innerHTML = thisid;
}
</script>
@stop

View File

@@ -381,8 +381,8 @@ class="active"
if(link) {
link.click();
}
}, 500);
},2000);
}, 100);
},1000);
}

View File

@@ -16,9 +16,9 @@ class="active"
<?php
if(Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id','=',Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('assigned_to', '=', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id','=',$dept->id)->orderBy('id', 'DESC')->paginate(20);
} else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('assigned_to', '=', 0)->orderBy('id', 'DESC')->paginate(20);
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->paginate(20);
}
?>
<!-- Main content -->

View File

@@ -8,7 +8,7 @@ class="active"
active
@stop
<?php
<?php
$user = App\User::where('id', '=', $tickets->user_id)->first();
$assignedto = App\User::where('id', '=', $tickets->assigned_to)->first();
$agent_group = Auth::user()->assign_group;
@@ -259,7 +259,6 @@ echo UTC::usertimezone(date_format($time, 'Y-m-d H:i:s'));
<div id="message-success2"></div>
</div>
<div id="alert22" class="alert alert-warning alert-dismissable" style="display:none;">
<button id="dismiss22" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-warning"></i>Alert!</h4>
<div id="message-warning2"></div>
</div>
@@ -1317,10 +1316,11 @@ jQuery(document).ready(function() {
setInterval(function(){
$("#alert11").hide();
setTimeout(function() {
var link = document.querySelector('#load-inbox');
if(link) {
link.click();
}
// var link = document.querySelector('#load-inbox');
// if(link) {
// link.click();
// }
history.go(-1);
}, 500);
},2000);
}
@@ -1347,10 +1347,11 @@ jQuery(document).ready(function() {
$('#message-success1').html(message);
setInterval(function(){$("#alert11").hide();
setTimeout(function() {
var link = document.querySelector('#load-inbox');
if(link) {
link.click();
}
// var link = document.querySelector('#load-inbox');
// if(link) {
// link.click();
// }
history.go(-1);
}, 500);
},2000);
}
@@ -1401,10 +1402,11 @@ jQuery(document).ready(function() {
$('#message-success1').html(message);
setInterval(function(){$("#alert11").hide();
setTimeout(function() {
var link = document.querySelector('#load-inbox');
if(link) {
link.click();
}
// var link = document.querySelector('#load-inbox');
// if(link) {
// link.click();
// }
history.go(-1);
}, 500);
},2000);
}
@@ -1549,6 +1551,7 @@ jQuery(document).ready(function() {
$("#dismis42").trigger("click");
// $("#RefreshAssign").load( "../thread/{{$tickets->id}} #RefreshAssign");
// $("#General").load( "../thread/{{$tickets->id}} #General");
$("#hide2").load("../thread/{{$tickets->id}} #hide2");
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
@@ -1581,6 +1584,7 @@ jQuery(document).ready(function() {
$('#add-change-loader').hide();
$('#add-change-body').show();
$("#close101").trigger("click");
$("#hide2").load("../thread/{{$tickets->id}} #hide2");
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
@@ -1876,6 +1880,7 @@ jQuery(document).ready(function() {
$("#merge-body-form").hide();
$("#merge_loader").hide();
$("#merge-btn").attr('disabled', true);
$("#hide2").load("../thread/{{$tickets->id}} #hide2");
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
@@ -1976,11 +1981,12 @@ function lockAjaxCall(locktime){
$('#message-warning2').html(message);
$('#replybtn').attr('disabled', true);
//setInterval(function(){$("#alert23").hide(); },10000);
} else {
} else if(response == 2) {
// alert(response);
// var message = "{{Lang::get('lang.access-ticket')}}"+locktime/(60*1000)
// +"{{Lang::get('lang.minutes')}}";
$("#alert22").hide();
$("#hide2").load("../thread/{{$tickets->id}} #hide2");
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
@@ -1989,6 +1995,19 @@ function lockAjaxCall(locktime){
// $('#message-success2').html(message);
$('#replybtn').attr('disabled', false);
// setInterval(function(){$("#alert21").hide(); },8000);
} else {
// alert(response);
// var message = "{{Lang::get('lang.access-ticket')}}"+locktime/(60*1000)
// +"{{Lang::get('lang.minutes')}}";
$("#alert22").hide();
$("#refresh").load("../thread/{{$tickets->id}} #refresh");
// $("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
$("#refresh3").load("../thread/{{$tickets->id}} #refresh3");
$("#t5").load("../thread/{{$tickets->id}} #t5");
// $("#alert21").show();
// $('#message-success2').html(message);
$('#replybtn').attr('disabled', false);
// setInterval(function(){$("#alert21").hide(); },8000);
}
}
})

View File

@@ -155,14 +155,14 @@ if ($company != null) {
{{-- </form> --}}
<!-- /.search form -->
<!-- sidebar menu: : style can be found in sidebar.less -->
<ul class="sidebar-menu">
<ul id="side-bar" class="sidebar-menu">
@yield('sidebar')
<li class="header">{!! Lang::get('lang.Tickets') !!}</li>
<?php
if(Auth::user()->role == 'admin') {
$inbox = App\Model\helpdesk\Ticket\Tickets::all();
$myticket = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', Auth::user()->id)->where('status','1')->get();
$unassigned = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '0')->where('status','1')->get();
$unassigned = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', null)->where('status','1')->get();
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status','1')->get();
} elseif(Auth::user()->role == 'agent') {
$inbox = App\Model\helpdesk\Ticket\Tickets::where('dept_id','',Auth::user()->primary_dpt)->get();
@@ -199,7 +199,7 @@ $i = count($tickets);
<?php
$depts = App\Model\helpdesk\Agent\Department::all();
foreach ($depts as $dept) {
$open = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('assigned_to','=', 0)->where('dept_id','=',$dept->id)->get();
$open = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('isanswered', '=', 0)->where('dept_id','=',$dept->id)->get();
$open = count($open);
$underprocess = App\Model\helpdesk\Ticket\Tickets::where('status','=','1')->where('assigned_to','>', 0)->where('dept_id','=',$dept->id)->get();
$underprocess = count($underprocess);

View File

@@ -122,21 +122,32 @@
</li>
</ul><!-- .navbar-user -->
@else
</ul>
<ul class="nav navbar-nav navbar-login">
<li <?php if($errors->first('email') || $errors->first('password')){ ?> class="sfHover" <?php } else { ?> <?php } ?> ><a href="#" data-toggle="collapse" <?php if($errors->first('email') || $errors->first('password')){ } else { ?> class="collapsed" <?php } ?> data-target="#login-form">{!! Lang::get('lang.login') !!} <i class="sub-indicator fa fa-chevron-circle-down fa-fw text-muted"></i></a></li>
</ul><!-- .navbar-login -->
<div id="login-form" <?php if($errors->first('email') || $errors->first('password')){ ?> class="login-form collapse fade clearfix in" <?php } else { ?> class="login-form collapse fade clearfix" <?php } ?> >
{!! Form::open(['action'=>'Auth\AuthController@postLogin', 'method'=>'post']) !!}
@if(Session::has('errors'))
<div class="alert alert-danger alert-dismissable">
<!-- <i class="fa fa-ban"> </i> <b> {!! Lang::get('lang.alert') !!}! </b> -->
<!-- <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> -->
@if(Session::has('error'))
{!! Session::get('error') !!}
@else
{!! Lang::get('lang.required-error') !!}
@endif
</div>
@endif
<div class="form-group has-feedback {{ $errors->has('email') ? 'has-error' : '' }}">
{!! Form::text('email',null,['placeholder'=>Lang::get('lang.e-mail'),'class' => 'form-control']) !!}
{!! $errors->first('email', '<spam class="help-block">:message</spam>') !!}
<!-- {!! $errors->first('email', '<spam class="help-block">:message</spam>') !!} -->
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback {{ $errors->has('password') ? 'has-error' : '' }}">
{!! Form::password('password',['placeholder'=>Lang::get('lang.password'),'class' => 'form-control']) !!}
{!! $errors->first('password', '<spam class="help-block">:message</spam>') !!}
<!-- {!! $errors->first('password', '<spam class="help-block">:message</spam>') !!} -->
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<ul class="list-unstyled pull-left">

View File

@@ -21,14 +21,32 @@
<body class="login-page">
<div class="login-box">
<div class="login-logo">
<b>SUPPORT</b> CENTER
<?php
$company = App\Model\helpdesk\Settings\Company::where('id', '=', '1')->first();
$system = App\Model\helpdesk\Settings\System::where('id', '=', '1')->first();
?>
@if($system->url)
<a href="{!! $system->url !!}" rel="home">
@else
<a href="{{url('/')}}" rel="home">
@endif
@if($company->use_logo == 1)
<img src="{{asset('lb-faveo/media/company')}}{{'/'}}{{$company->logo}}" alt="User Image" width="150px" height="150px"/>
@else
@if($system->name)
{!! $system->name !!}
@else
<b>SUPPORT</b> CENTER
@endif
@endif
</a>
</div><!-- /.login-logo -->
<div class="login-box-body">
@yield('body')
</div><!-- /.login-box -->
<div class="login-box-msg">
</br>
Powered by <a href="http://www.faveohelpdesk.com/">FAVEO</a>
<p class="text-muted">{!! Lang::get('lang.copyright') !!} &copy; {!! date('Y') !!} <a href="{!! $company->website !!}">{!! $company->company_name !!}</a>. {!! Lang::get('lang.all_rights_reserved') !!}. {!! Lang::get('lang.powered_by') !!} <a href="http://www.faveohelpdesk.com/" target="_blank">Faveo</a></p>
</div>
</div>