update v1.0.7.9 R.C.

This is a Release Candidate. We are still testing.
This commit is contained in:
Sujit Prasad
2016-08-03 20:04:36 +05:30
parent 8b6b924d09
commit ffa56a43cb
3830 changed files with 181529 additions and 495353 deletions

View File

@@ -60,6 +60,7 @@ if (Auth::user()->role == 'agent') {
<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>-->
<p><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 -->
@@ -73,37 +74,7 @@ if (Auth::user()->role == 'agent') {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.answered.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {

View File

@@ -55,6 +55,7 @@ if (Auth::user()->role == 'agent') {
<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>-->
<p><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 -->
@@ -68,37 +69,7 @@ if (Auth::user()->role == 'agent') {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.assigned.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {

View File

@@ -55,6 +55,7 @@ if (Auth::user()->role == 'agent') {
<input type="submit" class="btn btn-default text-orange btn-sm" name="submit" id="delete" value="{!! Lang::get('lang.delete') !!}">
<input type="submit" class="btn btn-default text-blue btn-sm" name="submit" id="close" value="{!! Lang::get('lang.open') !!}">
<!--</div>-->
<p><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 -->
@@ -68,37 +69,7 @@ if (Auth::user()->role == 'agent') {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.closed.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {

View File

@@ -0,0 +1,18 @@
<?php
$term=$_GET["term"];
$users = app\User::where('email', 'LIKE', '%'.$term.'%')->where('active', '=', 1)->get();
$json=array();
foreach ($users as $user) {
$json[] = array(
'value'=> $user["email"],
'label'=>'Name: '.$user["first_name"] .' '.$user["last_name"].' | '.('Email: <'.$user["email"].'>'),
'email' =>$user["email"],
'user_name' =>$user["user_name"],
'first_name' =>$user["first_name"],
'last_name' =>$user["last_name"],
'country_code' =>$user["country_code"],
'mobile' =>$user["mobile"],
'phone_number' =>$user["phone_number"]
);
}
echo json_encode($json);

View File

@@ -56,6 +56,7 @@ if (Auth::user()->role == 'agent') {
<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>-->
<p><p/>
<div class="mailbox-messages" id="refresh">
<!--datatable-->
{!! Datatable::table()
@@ -68,37 +69,7 @@ if (Auth::user()->role == 'agent') {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.inbox.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnCreatedRow", 'function( nRow, aData, iDataIndex ) {

View File

@@ -56,6 +56,7 @@ if (Auth::user()->role == 'agent') {
<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>-->
<p><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 -->
@@ -69,37 +70,7 @@ if (Auth::user()->role == 'agent') {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.myticket.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {

View File

@@ -16,7 +16,10 @@ class="active"
<h1>{{Lang::get('lang.tickets')}}</h1>
@stop
@section('content')
<!-- Main content -->
{!! Form::open(['route'=>'post.newticket','method'=>'post','id'=>'form']) !!}
<div class="box box-primary">
@@ -72,19 +75,29 @@ class="active"
<div class="form-group">
<div class="row">
<div class="col-md-6">
<div class="col-md-4">
<!-- email -->
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{!! Form::label('email',Lang::get('lang.email')) !!} <span class="text-red"> *</span>
{!! Form::text('email',null,['class' => 'form-control']) !!}
<!-- {!! Form::text('email',null,['class' => 'form-control'],['id' => 'email']) !!} -->
<input type="text" name="email" id="email" class="form-control">
</div>
</div>
<div class="col-md-6">
<div class="col-md-4">
<!-- email -->
<div class="form-group {{ $errors->has('first_name') ? 'has-error' : '' }}">
{!! Form::label('email',Lang::get('lang.first_name')) !!} <span class="text-red"> *</span>
<!-- {!! Form::text('email',null,['class' => 'form-control'],['id' => 'email']) !!} -->
<input type="text" name="first_name" id="first_name" class="form-control">
</div>
</div>
<div class="col-md-4">
<!-- full name -->
<div class="form-group {{ $errors->has('fullname') ? 'has-error' : '' }}">
{!! Form::label('fullname',Lang::get('lang.full_name')) !!} <span class="text-red"> *</span>
{!! Form::text('fullname',null,['class' => 'form-control']) !!}
<div class="form-group {{ $errors->has('last_name') ? 'has-error' : '' }}">
{!! Form::label('fullname',Lang::get('lang.last_name')) !!} <span class="text-red"></span>
<input type="text" name="last_name" id="last_name" class="form-control">
</div>
</div>
</div>
@@ -92,13 +105,13 @@ class="active"
<div class="col-md-1 form-group {{ Session::has('country_code_error') ? 'has-error' : '' }}">
{!! Form::label('code',Lang::get('lang.country-code')) !!}
{!! Form::text('code',null,['class' => 'form-control', 'placeholder' => $phonecode, 'title' => Lang::get('lang.enter-country-phone-code')]) !!}
{!! Form::text('code',null,['class' => 'form-control', 'id' => 'country_code', 'placeholder' => $phonecode, 'title' => Lang::get('lang.enter-country-phone-code')]) !!}
</div>
<div class="col-md-5">
<!-- phone -->
<div class="form-group {{ $errors->has('mobile') ? 'has-error' : '' }}">
<label>{!! Lang::get('lang.mobile_number') !!}:</label>
{!! Form::input('number','mobile',null,['class' => 'form-control']) !!}
{!! Form::input('number','mobile',null,['class' => 'form-control', 'id' => 'mobile']) !!}
{!! $errors->first('mobile', '<spam class="help-block text-red">:message</spam>') !!}
</div>
</div>
@@ -106,7 +119,8 @@ class="active"
<!-- phone -->
<div class="form-group {{ $errors->has('phone') ? 'has-error' : '' }}">
<label>{!! Lang::get('lang.phone') !!}:</label>
{!! Form::input('number','phone',null,['class' => 'form-control']) !!}
<input type="text" name="phone_number" id="phone_number" class="form-control">
<!-- {!! Form::input('number','phone',null,['class' => 'form-control']) !!} -->
{!! $errors->first('phone', '<spam class="help-block text-red">:message</spam>') !!}
</div>
</div>
@@ -132,7 +146,7 @@ class="active"
<div class="form-group">
<label>{!! Lang::get('lang.help_topic') !!}:</label>
<!-- helptopic -->
<?php $helptopic = App\Model\helpdesk\Manage\Help_topic::all(); ?>
<?php $helptopic = App\Model\helpdesk\Manage\Help_topic::where('status','=',1)->get(); ?>
{!! Form::select('helptopic', ['Helptopic'=>$helptopic->lists('topic','id')->toArray()],null,['class' => 'form-control select']) !!}
</div>
</div>
@@ -221,6 +235,24 @@ class="active"
$("textarea").wysihtml5();
});
$(document).ready(function(){
$("#email").autocomplete({
source:"{!!URL::route('post.newticket.autofill')!!}",
minLength:1,
select:function(evt, ui) {
// this.form.phone_number.value = ui.item.phone_number;
// this.form.user_name.value = ui.item.user_name;
this.form.first_name.value = ui.item.first_name;
this.form.last_name.value = ui.item.last_name;
this.form.country_code.value = ui.item.country_code;
this.form.phone_number.value = ui.item.phone_number;
this.form.mobile.value = ui.item.mobile;
}
});
});
$(document).ready(function() {
$('#form').submit(function() {
var duedate = document.getElementById('datemask').value;
@@ -242,7 +274,9 @@ class="active"
$(function() {
$('#datemask').datepicker({changeMonth: true, changeYear: true}).mask('99/99/9999');
});
</script>
</script>
@stop

View File

@@ -61,6 +61,7 @@ if (Auth::user()->role == 'agent') {
<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>-->
<p><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 -->
@@ -74,37 +75,7 @@ if (Auth::user()->role == 'agent') {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.open.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {

View File

@@ -75,6 +75,7 @@ if ($i == 0) {
<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>-->
<p><p/>
<div class="mailbox-messages" id="refresh">
<!--datatable-->
{!! Datatable::table()
@@ -87,37 +88,7 @@ if ($i == 0) {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.overdue.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {

View File

@@ -2,41 +2,55 @@
<html>
<head>
<title>PDF</title>
<!-- <link href="{{asset("downloads/bootstrap.min.css")}}" rel="stylesheet" type="text/css" /> -->
<link href="{{asset("lb-faveo/aaaaaa/css/AdminLTE.min.css")}}" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
* {
font-family: "DejaVu Sans Mono", monospace;
}
</style>
</head>
<body>
<?php
$rtl = App\Model\helpdesk\Settings\CommonSettings::where('option_name', '=', 'enable_rtl')->first();
if($rtl->option_value == 1) {
echo '<body style="direction: rtl; text-align: right;">';
} else {
echo '<body>';
}
?>
<h2>
<div id="logo" class="site-logo text-center" style="font-size: 30px;">
<?php
<div id="logo" class="site-logo text-center" style="font-size: 30px;">
<?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="200px" height="200px"/>
@else
@if($system->name)
{!! $system->name !!}
@else
<b>SUPPORT</b> CENTER
@endif
@endif
</a>
</div>
$system = App\Model\helpdesk\Settings\System::where('id', '=', '1')->first();
?>
<center>
@if($system->url)
<a href="{!! $system->url !!}" rel="home">
@else
<a href="{{url('/')}}" rel="home" style="text-decoration:none;">
@endif
@if($company->use_logo == 1)
<img src="{!! public_path().'/uploads/company'.'/'.$company->logo !!}" width="100px;"/>
@else
@if($system->name)
{!! $system->name !!}
@else
<b>SUPPORT</b> CENTER
@endif
@endif
</a>
</center>
</div>
</h2>
<hr>
<h4>{{$thread->title}}</h4><br/>
<hr>
<h4>{!! $thread->title !!}</h4><br/>
<?php $ticket_source = App\Model\helpdesk\Ticket\Ticket_source::where('id','=',$tickets->source)->first();
<?php
$ticket_source = App\Model\helpdesk\Ticket\Ticket_source::where('id', '=', $tickets->source)->first();
$ticket_source = $ticket_source->value;
$user = App\User::where('id', '=', $tickets->user_id)->first(); ?>
$user = App\User::where('id', '=', $tickets->user_id)->first();
?>
<?php $response = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $tickets->id)->get(); ?>
@foreach($response as $last)
<?php $ResponseDate = $last->created_at; ?>
@@ -46,7 +60,7 @@
<?php $priority = App\Model\helpdesk\Ticket\Ticket_Priority::where('priority_id', '=', $tickets->priority_id)->first(); ?>
<?php $help_topic = App\Model\helpdesk\Manage\Help_topic::where('id', '=', $tickets->help_topic_id)->first(); ?>
<?php $help_topic = App\Model\helpdesk\Manage\Help_topic::where('id', '=', $tickets->help_topic_id)->first(); ?>
<?php $dept = App\Model\helpdesk\Agent\Department::where('id','=',$help_topic->department)->first(); ?>
<?php $dept = App\Model\helpdesk\Agent\Department::where('id', '=', $help_topic->department)->first(); ?>
<table class="table">
<tr><th></th><th></th></tr>
<tr><td><b>{!! Lang::get('lang.status') !!}:</b></td> <td>{{$status->state}}</td></tr>
@@ -58,169 +72,178 @@
<tr><td><b>{!! Lang::get('lang.help_topic') !!}:</b></td> <td>{{$help_topic->topic}}</td></tr>
</table>
<?php $conversations = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $tickets->id)->get(); ?>
<?php $conversations = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $tickets->id)->orderBy('created_at', 'desc')->paginate(10); ?>
@foreach($conversations as $conversation)
<br/><hr>
<span class="time-label">
<?php
$role = App\User::where('id','=',$conversation->user_id)->first();
?>
<?php if($conversation->is_internal) { ?>
<i class="fa fa-tag bg-purple" title="Posted by System"></i>
<?php }else{ if ($role->role == 'agent' || $role->role == 'admin') { ?>
<i class="fa fa-mail-reply-all bg-yellow" title="Posted by Support Team"></i>
<?php } elseif ($role->role == 'user') { ?>
<i class="fa fa-user bg-aqua" title="Posted by Customer"></i>
<?php } else { ?>
<i class="fa fa-mail-reply-all bg-purple" title="Posted by System"></i>
<?php } }
$attachment = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id','=',$conversation->id)->first();
if($attachment == null ) {
$body = $conversation->body;
}
else {
// dd($attachment->file);
// print $attachment->file;
// header("Content-type: image/jpeg");
// echo "<img src='".base64_decode($attachment->file)."' style='width:128px;height:128px'/> ";
$body = $conversation->body;
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id','=',$conversation->id)->orderBy('id', 'DESC')->get();
foreach($attachments as $attachment)
{
// $i++;
if ($attachment->type == 'pdf' || $attachment->type == 'PDF') {
// echo "hello";
} elseif ($attachment->type == 'docx' || $attachment->type =='DOCX') {
// echo "hello";
} elseif ($attachment->type == 'html' || $attachment->type =='HTML') {
// echo "hello";
} elseif ($attachment->type == 'zip' || $attachment->type =='ZIP') {
// echo "hello";
} else {
$image = @imagecreatefromstring($attachment->file);
ob_start();
imagejpeg($image, null, 80);
$data = ob_get_contents();
ob_end_clean();
$var = '<img width="20px" src="data:image/jpg;base64,' . base64_encode($data) . '" />';
// echo $var;
// echo $attachment->name;
// $body = explode($attachment->name, $body);
$body = str_replace($attachment->name, "data:image/jpg;base64," . base64_encode($data), $body);
@if($conversation->user_id != null)
<?php
$role = App\User::where('id', '=', $conversation->user_id)->first();
?>
<?php if ($conversation->is_internal) { ?>
<i class="fa fa-tag bg-purple" title="Posted by System"></i>
<?php
} else {
if ($role->role == 'agent' || $role->role == 'admin') {
?>
<i class="fa fa-mail-reply-all bg-yellow" title="Posted by Support Team"></i>
<?php } elseif ($role->role == 'user') { ?>
<i class="fa fa-user bg-aqua" title="Posted by Customer"></i>
<?php } else { ?>
<i class="fa fa-mail-reply-all bg-purple" title="Posted by System"></i>
<?php
}
}
?>
@endif
<?php
$attachment = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id', '=', $conversation->id)->first();
if ($attachment == null) {
$body = $conversation->body;
} else {
// dd($attachment->file);
// print $attachment->file;
// header("Content-type: image/jpeg");
// echo "<img src='".base64_decode($attachment->file)."' style='width:128px;height:128px'/> ";
$body = $conversation->body;
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id', '=', $conversation->id)->where('poster', '=', 'INLINE')->get();
$string = $body;
foreach ($attachments as $attachment) {
if ($attachment->type == 'pdf' || $attachment->type == 'PDF') {
// echo "hello";
} elseif ($attachment->type == 'docx' || $attachment->type == 'DOCX') {
// echo "hello";
} elseif ($attachment->type == 'html' || $attachment->type == 'HTML') {
// echo "hello";
} elseif ($attachment->type == 'zip' || $attachment->type == 'ZIP') {
// echo "hello";
} else {
try {
$image = @imagecreatefromstring($attachment->file);
ob_start();
imagejpeg($image, null, 80);
$data = ob_get_contents();
ob_end_clean();
$var = '<img width="20px" src="data:image/jpg;base64,' . base64_encode($data) . '" />';
// echo $var;
// echo $attachment->name;
// $body = explode($attachment->name, $body);
$body = str_replace($attachment->name, "data:image/jpg;base64," . base64_encode($data), $body);
$string = $body;
$start = "<head>";
$end = "</head>";
if(strpos($string,$start) == false || strpos($string,$start) == false)
{
}
else
{
$ini = strpos($string,$start);
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
$parsed = substr($string,$ini,$len);
$body2 = $parsed;
$body = str_replace($body2 ," " ,$body);
if (strpos($string, $start) == false || strpos($string, $start) == false) {
} else {
$ini = strpos($string, $start);
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
$parsed = substr($string, $ini, $len);
$body2 = $parsed;
$body = str_replace($body2, " ", $body);
}
} catch (\Exception $e) {
}
}
// echo $body;
}
// echo $body;
// $body = explode($attachment->file, $body);
// $body = $body[0];
// }
}
?>
// $body = explode($attachment->file, $body);
// $body = $body[0];
}
?>
<?php
$string = $body;
$start = "<head>";
$end = "</head>";
if (strpos($string, $start) == false || strpos($string, $start) == false) {
} else {
$ini = strpos($string, $start);
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
$parsed = substr($string, $ini, $len);
$body2 = $parsed;
$body = str_replace($body2, " ", $body);
}
?>
<div class="timeline-item">
<!--<span id="date" class="time" style="color:#fff;"><i class="fa fa-clock-o"> </i> {{date_format($conversation->created_at, 'd/m/Y H:i:s')}}</span>-->
<?php
$string = $body;
$start = "<head>";
$end = "</head>";
if(strpos($string,$start) == false || strpos($string,$start) == false)
{
}
else
{
$ini = strpos($string,$start);
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
$parsed = substr($string,$ini,$len);
$body2 = $parsed;
$body = str_replace($body2 ," " ,$body);
}
?>
<div class="timeline-item">
<span id="date" class="time" style="color:#fff;"><i class="fa fa-clock-o"> </i> {{date_format($conversation->created_at, 'd/m/Y H:i:s')}}</span>
<h3 class="timeline-header" style="background-color:<?php
if($conversation->is_internal)
{
$color = '#046380';
echo $color;
<h3 class="timeline-header" style="background-color:<?php
if ($conversation->is_internal) {
$color = '#046380';
echo $color;
} else {
if ($role->role == 'agent' || $role->role == 'admin') {
$color = '#FFD34E';
echo $color;
} elseif ($role->role == 'user') {
$color = '#00A388';
echo $color;
} else {
$color = '#046380';
echo $color;
}
}
?>;
">
<a href="#" style="text-decoration:none; color:#fff;"><?php
if($conversation->user_id != null) {
if ($role->role == "user") {
echo $role->user_name;
} else {
echo $role->first_name . " " . $role->last_name;
}
} else { echo Lang::get('lang.system'); } ?> </a><strong>{!! Lang::get('lang.date') !!}:</strong> {!! $thread->created_at !!}<br/></h3>
<div class="timeline-body" style="padding-left:30px;">
{!! $body !!}
</div>
<div class="timeline-footer" >
<?php
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id', '=', $conversation->id)->get();
$i = 0;
foreach ($attachments as $attachment) {
if ($attachment->poster == 'ATTACHMENT') {
$i++;
}
}
if ($i > 0) {
echo "<hr style='height:1px;color:#2D3244;background-color:#2D3244;''><h4 class='box-title'><b>" . $i . " </b> Attachments</h4>";
}
?>
<ul class='mailbox-attachments clearfix'>
<?php
foreach ($attachments as $attachment) {
if ($attachment->poster == 'ATTACHMENT') {
try {
if ($attachment->type == 'jpg' || $attachment->type == 'JPG' || $attachment->type == 'jpeg' || $attachment->type == 'JPEG' || $attachment->type == 'png' || $attachment->type == 'PNG' || $attachment->type == 'gif' || $attachment->type == 'GIF') {
$image = @imagecreatefromstring($attachment->file);
ob_start();
imagejpeg($image, null, 80);
$data = ob_get_contents();
ob_end_clean();
$var = '<a href="' . URL::route('image', array('image_id' => $attachment->id)) . '" target="_blank"><img style="max-width:200px;max-height:150px;" src="data:image/jpg;base64,' . base64_encode($data) . '"/></a>';
echo '<li><span class="mailbox-attachment-icon has-img">' . $var . '</span></li>';
} else {
$var = '<a href="' . URL::route('image', array('image_id' => $attachment->id)) . '" target="_blank">' . $attachment->name . '</a>';
echo '<li>' . $var . '</li>';
}
else
{
if ($role->role == 'agent' || $role->role == 'admin')
{
$color = '#FFD34E';
echo $color;
} elseif ($role->role == 'user')
{
$color = '#00A388';
echo $color;
} else
{
$color = '#046380';
echo $color;
}
}
?>;
">
<a href="#" style="color:#fff;"><?php if($role->role == "user") {echo $role->user_name; } else { echo $role->first_name . " " . $role->last_name; } ?> </a><strong>{!! Lang::get('lang.date') !!}:</strong> {!! $thread->created_at !!}<br/></h3>
<div class="timeline-body" style="padding-left:30px;">
{!! $body !!}
</div>
<div class="timeline-footer" >
<?php
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id','=',$conversation->id)->get();
$i = 0;
foreach($attachments as $attachment) {
if($attachment->poster == 'ATTACHMENT') {
$i++;
}
}
if($i>0)
{
echo "<hr style='height:1px;color:#2D3244;background-color:#2D3244;''><h4 class='box-title'><b>".$i." </b> Attachments</h4>";
}
?>
<ul class='mailbox-attachments clearfix'>
<?php
foreach($attachments as $attachment)
{
if($attachment->poster == 'ATTACHMENT')
{
if($attachment->type == 'jpg'||$attachment->type == 'JPG'||$attachment->type == 'jpeg'||$attachment->type == 'JPEG'||$attachment->type == 'png'||$attachment->type == 'PNG'||$attachment->type == 'gif'||$attachment->type == 'GIF')
{
$image = @imagecreatefromstring($attachment->file);
ob_start();
imagejpeg($image, null, 80);
$data = ob_get_contents();
ob_end_clean();
$var = '<a href="'.URL::route('image', array('image_id' => $attachment->id)).'" target="_blank"><img style="max-width:200px;max-height:150px;" src="data:image/jpg;base64,' . base64_encode($data) . '"/></a>';
echo '<li><span class="mailbox-attachment-icon has-img">'.$var.'</span></li>';
}
else
{
$var = '<a href="'.URL::route('image', array('image_id' => $attachment->id)).'" target="_blank">'.$attachment->name.'</a>';
echo '<li>'.$var.'</li>';
}
}
}
?>
</ul>
</div>
</div>
@endforeach
} catch (\Exception $e) {
}
}
}
?>
</ul>
</div>
</div>
@endforeach
</body>
</html>

View File

@@ -7,6 +7,7 @@ class="active"
@section('ticket-bar')
active
@stop
@section('PageHeader')
<h1>{{Lang::get('lang.ticket-details')}}</h1>
@stop
@@ -18,7 +19,6 @@ $group = App\Model\helpdesk\Agent\Groups::where('id', '=', $agent_group)->where(
?>
@section('sidebar')
<li class="header">{!! Lang::get('lang.Ticket_Information') !!} </li>
<li>
<a href="">
@@ -236,8 +236,8 @@ if ($thread->title != "") {
<div class="col-md-6">
<?php
$user_phone = App\User::where('mobile', '=', $thread->user_id)->first();
$TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $thread->ticket_id)->max('id');
$TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->first();
$TicketData = App\Model\helpdesk\Ticket\Ticket_Thread::where('ticket_id', '=', $thread->ticket_id)->where('is_internal', '=', 0)->max('id');
$TicketDatarow = App\Model\helpdesk\Ticket\Ticket_Thread::where('id', '=', $TicketData)->where('is_internal', '=', 0)->first();
$LastResponse = App\User::where('id', '=', $TicketDatarow->user_id)->first();
if ($LastResponse->role == "user") {
$rep = "#F39C12";
@@ -262,7 +262,6 @@ if ($thread->title != "") {
@if($user->mobile !=null)<tr><td><b>{!! Lang::get('lang.mobile') !!}:</b></td> <td>{{$user->ext . $user->phone_number}}</td></tr>@endif
<tr><td><b>{!! Lang::get('lang.source') !!}:</b></td> <td>{{$ticket_source}}</td></tr>
<tr><td><b>{!! Lang::get('lang.help_topic') !!}:</b></td> <?php $help_topic = App\Model\helpdesk\Manage\Help_topic::where('id', '=', $tickets->help_topic_id)->first(); ?><td title="{{$help_topic->topic}}">{{$help_topic->topic}}</td></tr>
<?php Event::fire(new App\Events\TicketDetailTable($TicketData)); ?>
<tr><td><b>{!! Lang::get('lang.last_message') !!}:</b></td> <td>{{$username}}</td></tr>
<?php Event::fire(new App\Events\TicketDetailTable($TicketData)); ?>
</div>
@@ -273,7 +272,7 @@ if ($thread->title != "") {
</div>
</div>
</div>
{{-- Event fire --}}
<?php Event::fire('ticket.timeline.marble',array($TicketData));?>
<div id="gifshow" style="display:none">
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}">
</div> <!-- added 05/05/2016-->
@@ -291,7 +290,6 @@ if ($thread->title != "") {
<div class="tab-content">
<div id="alert21" class="alert alert-success alert-dismissable" style="display:none;">
<button id="dismiss21" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i>{!! Lang::get('lang.alert') !!}!</h4>
<div id="message-success2"></div>
</div>
<div id="alert22" class="alert alert-warning alert-dismissable" style="display:none;">
@@ -300,11 +298,10 @@ if ($thread->title != "") {
</div>
<div id="alert23" class="alert alert-danger alert-dismissable" style="display:none;">
<button id="dismiss23" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i>{!! Lang::get('lang.alert') !!}!</h4>
<i class="icon fa fa-ban"></i><b>{!! Lang::get('lang.alert') !!} !</b>
<div id="message-danger2"></div>
</div>
<div class="tab-pane active" id="General">
<!-- ticket reply -->
<div id="show3" style="display:none;">
<div class="col-md-4">
@@ -321,7 +318,9 @@ if ($thread->title != "") {
</br>
</br>
</div>
{!! Form::model($tickets->id, ['id'=>'form3', 'name'=>'form3' ,'method' => 'PATCH', 'enctype'=>'multipart/form-data'] )!!}
<form id="form3">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div id="t1">
<div class="form-group">
<div class="row">
@@ -374,7 +373,7 @@ if ($thread->title != "") {
<div class="form-group">
<div class="row">
<!-- reply content -->
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}" id="reply_content_class">
<div class="col-md-2">
{!! Form::label('Reply Content', Lang::get('lang.reply_content').':') !!}<span class="text-red"> *</span>
</div>
@@ -383,9 +382,26 @@ if ($thread->title != "") {
<textarea style="width:98%;height:20%;" name="reply_content" class="form-control" id="reply_content"></textarea>
</div>
{!! $errors->first('reply_content', '<spam class="help-block text-red">:message</spam>') !!}
<br/>
<div type="file" class="btn btn-default btn-file"><i class="fa fa-paperclip"> </i> {!! Lang::get('lang.attachment') !!}<input type="file" name="attachment[]" multiple/></div><br/>
{!! Lang::get('lang.max') !!}. 10MB
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<!-- reply content -->
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}" id="reply_content_class">
<div class="col-md-2">
<label> {!! Lang::get('lang.attachment') !!}</label>
</div>
<div class="col-md-10">
<div id="reset-attachment">
<span class='btn btn-default btn-file'> <i class='fa fa-paperclip'></i> <span>{!! Lang::get('lang.upload') !!}</span><input type='file' name='attachment[]' id='attachment' multiple/></span>
<div id='file_details'></div><div id='total-size'></div>{!! Lang::get('lang.max') !!}. {!! $max_size_in_actual !!}
<div>
<a id='clear-file' onClick='clearAll()' style='display:none; cursor:pointer;'><i class='fa fa-close'></i>Clear all</a>
</div>
</div>
</div>
</div>
</div>
@@ -428,7 +444,7 @@ if ($thread->title != "") {
<div class="form-group">
<div class="row">
<!-- internal note -->
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}">
<div class="form-group {{ $errors->has('title') ? 'has-error' : '' }}" id="internal_content_class">
<div class="col-md-2">
<label>{!! Lang::get('lang.internal_note') !!}:<span class="text-red"> *</span></label>
</div>
@@ -476,6 +492,9 @@ if ($thread->title != "") {
</ul>
<div class="col-md-12" >
<link rel="stylesheet" type="text/css" href="{{asset("lb-faveo/css/faveo-css.css")}}">
<link href="{{asset("lb-faveo/css/jquery.rating.css")}}" rel="stylesheet" type="text/css" />
<!-- The time line -->
<ul class="timeline">
<!-- timeline time label -->
@@ -500,7 +519,9 @@ if ($thread->title != "") {
</span> <?php
$data = $ConvDate[0];
}
$role = App\User::where('id', '=', $conversation->user_id)->first();
if($conversation->user_id != null) {
$role = App\User::where('id', '=', $conversation->user_id)->first();
}
?>
</li>
<li>
@@ -508,13 +529,19 @@ if ($thread->title != "") {
<i class="fa fa-tag bg-purple" title="Posted by System"></i>
<?php
} else {
if ($role->role == 'agent' || $role->role == 'admin') {
if($conversation->user_id != null) {
if ($role->role == 'agent' || $role->role == 'admin') {
?>
<i class="fa fa-mail-reply-all bg-yellow" title="Posted by Support Team"></i>
<?php } elseif ($role->role == 'user') { ?>
<i class="fa fa-user bg-aqua" title="Posted by Customer"></i>
<?php } else { ?>
<i class="fa fa-mail-reply-all bg-purple" title="Posted by System"></i>
<?php
}
} else {
?>
<i class="fa fa-mail-reply-all bg-yellow" title="Posted by Support Team"></i>
<?php } elseif ($role->role == 'user') { ?>
<i class="fa fa-user bg-aqua" title="Posted by Customer"></i>
<?php } else { ?>
<i class="fa fa-mail-reply-all bg-purple" title="Posted by System"></i>
<i class="fa fa-tag bg-purple" title="Posted by System"></i>
<?php
}
}
@@ -575,21 +602,26 @@ if ($thread->title != "") {
$body2 = $parsed;
$body = str_replace($body2, " ", $body);
}
if ($conversation->is_internal) {
$color = '#A19CFF';
// echo $color;
} else {
if ($role->role == 'agent' || $role->role == 'admin') {
$color = '#F9B03B';
} elseif ($role->role == 'user') {
$color = '#38D8FF';
if($conversation->user_id != null) {
if ($conversation->is_internal) {
$color = '#A19CFF';
// echo $color;
} else {
$color = '#605CA8';
if ($role->role == 'agent' || $role->role == 'admin') {
$color = '#F9B03B';
} elseif ($role->role == 'user') {
$color = '#38D8FF';
} else {
$color = '#605CA8';
}
}
}
?>
<div class="timeline-item">
<span style="color:#fff;"><div class="pull-right"> <table><tbody>
@if($role)
@if($role->role != null)
@if($role->role != 'user' && $conversation->is_internal != 1)
@foreach($ratings as $rating)
@if($rating->rating_area == 'Comment Area')
<?php
@@ -602,32 +634,47 @@ if ($thread->title != "") {
?>
<tr>
<th><div class="ticketratingtitle" style="color:#3c8dbc;" >{!! $rating->name !!} &nbsp;</div></th>&nbsp
<td>
<td style="button:disabled;">
<?php for ($i = 1; $i <= $rating->rating_scale; $i++) { ?>
<input type="radio" class="star" id="star5" name="{!! $rating->name !!},{!! $conversation->id !!}" value="{!! $i !!}"<?php echo ($ratingval == $i) ? 'checked' : '' ?> />
<?php } ?>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<input type="radio" class="star star-rating-readonly" id="star5" name="{!! $rating->name !!},{!! $conversation->id !!}" value="{!! $i !!}"<?php echo ($ratingval == $i) ? 'checked' : '' ?> />
<?php } ?>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
@endif
@endforeach
@endif
@endforeach
@endif
@endif
</tbody></table></div>
</span>
<h3 class="timeline-header">
<?php
if ($role->role == "user") {
$usernam = $role->user_name;
if($conversation->user_id != null) {
if ($role->role == "user") {
$usernam = $role->user_name;
} else {
$usernam = $role->first_name . " " . $role->last_name;
}
} else {
$usernam = $role->first_name . " " . $role->last_name;
$usernam = Lang::get('lang.system');
}
?>
<div class="user-block" style="margin-bottom:-5px;margin-top:-2px;">
@if($role->profile_pic != null)
<img src="{{$role->profile_pic}}"class="img-circle img-bordered-sm" alt="User Image"/>
@else
<img src="{{ Gravatar::src($role->email) }}" class="img-circle img-bordered-sm" alt="img-circle img-bordered-sm">
@if($conversation->user_id != null)
@if($role->profile_pic != null)
<img src="{{$role->profile_pic}}"class="img-circle img-bordered-sm" alt="User Image"/>
@else
<img src="{{ Gravatar::src($role->email) }}" class="img-circle img-bordered-sm" alt="img-circle img-bordered-sm">
@endif
@else
<img src="{{asset('lb-faveo/media/images/avatar_1.png')}}" class="img-circle img-bordered-sm" alt="img-circle img-bordered-sm">
@endif
<span class="username" style="margin-bottom:4px;margin-top:2px;">
<a href='{!! url("/user/".$role->id) !!}'>{!! $usernam !!}</a>
@if($conversation->user_id != null)
<a href='{!! url("/user/".$role->id) !!}'>{!! $usernam !!}</a>
@else
{!! $usernam !!}
@endif
</span>
<span class="description" style="margin-bottom:4px;margin-top:4px;"><i class="fa fa-clock-o"></i> {{UTC::usertimezone($conversation->created_at)}}</span>
@@ -635,7 +682,7 @@ if ($thread->title != "") {
</h3>
<div class="timeline-body" style="padding-left:30px;margin-bottom:-20px">
{!! $body !!}
{!! nl2br($body) !!}
</div>
@if($conversation->id == $ij->id)
<?php $ticket_form_datas = App\Model\helpdesk\Ticket\Ticket_Form_Data::where('ticket_id', '=', $tickets->id)->get(); ?>
@@ -657,7 +704,9 @@ if ($thread->title != "") {
<br/><br/>
<div class="timeline-footer" style="margin-bottom:-5px">
@if(!$conversation->is_internal)
<?php Event::fire(new App\Events\Timeline($conversation, $role, $user)); ?>
@if($conversation->user_id != null)
<?php Event::fire(new App\Events\Timeline($conversation, $role, $user)); ?>
@endif
@endif
<?php
$attachments = App\Model\helpdesk\Ticket\Ticket_attachments::where('thread_id', '=', $conversation->id)->get();
@@ -709,7 +758,7 @@ if ($thread->title != "") {
<ul class="pull-right" style="padding-right:25px;padding-bottom:10px;">
<?php echo $conversations->setPath(url('/thread/' . $tickets->id))->render(); ?>
</ul>
</ul>
</ul>
</div><!-- /.col -->
</div>
</div><!-- /.row -->
@@ -720,7 +769,7 @@ if ($thread->title != "") {
<!-- page modals -->
<div>
<!-- Edit Ticket modal -->
<?php if ($group->can_edit_ticket == 1) { ?>
<?php if ($group->can_edit_ticket == 1) { ?>
<div class="modal fade" id="Edit">
<div class="modal-dialog" style="width:60%;height:70%;">
<div class="modal-content">
@@ -1034,6 +1083,7 @@ if ($thread->title != "") {
<div class="tab-pane active" id="ahah">
<div class="modal-body" id="def">
<div class="callout callout-info" id="hide1234" ><i class="icon fa fa-info"> </i>&nbsp;&nbsp;&nbsp; {!! Lang::get('lang.search_existing_users_or_add_new_users') !!}</div>
<div id="here"></div>
<div id="show7" style="display:none;">
<div class="row col-md-12">
<div class="col-xs-5">
@@ -1045,7 +1095,7 @@ if ($thread->title != "") {
</div>
</div>
</div>
<div id="here"></div>
{!! Form::model($tickets->id, ['id'=>'search-user','method' => 'PATCH'] )!!}
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<input type="text" class="form-control" name="search" id="tags" placeholder="{!! Lang::get('lang.search_by_email') !!}">
@@ -1243,7 +1293,14 @@ if ($thread->title != "") {
<!-- scripts used on page -->
<script type="text/javascript">
function clearAll() {
$("#file_details").html("");
$("#total-size").html("");
$("#attachment").val('');
$("#clear-file").hide();
$("#replybtn").removeClass('disabled');
}
$(function () {
$("#InternalContent").wysihtml5();
});
@@ -1273,12 +1330,12 @@ if ($thread->title != "") {
}
});
return false;
});
});
});
$(function() {
$("#tags, #tags2").autocomplete({
source: 'auto/<?php echo $tickets->id; ?>'
});
$("#tags, #tags2").autocomplete({
source: 'auto/<?php echo $tickets->id; ?>'
});
});
jQuery(document).ready(function() {
$("#cc_page").on('click', '.search_r', function(){
@@ -1343,10 +1400,6 @@ if ($thread->title != "") {
setInterval(function(){
$("#alert11").hide();
setTimeout(function() {
// var link = document.querySelector('#load-inbox');
// if(link) {
// link.click();
// }
window.location = document.referrer;
}, 500);
}, 2000);
@@ -1627,6 +1680,19 @@ if ($thread->title != "") {
});
// Internal Note
$('#form2').on('submit', function() {
var internal_content = document.getElementById('InternalContent').value;
if(internal_content) {
$("#internal_content_class").removeClass('has-error');
$("#alert23").hide();
} else {
var message = "<li>{!! Lang::get('lang.internal_content_is_a_required_field') !!}</li>";
$("#internal_content_class").addClass('has-error');
$("#alert23").show();
$('#message-danger2').html(message);
$("#show3").hide();
$("#t1").show();
return false;
}
$.ajax({
type: "POST",
url: "../internal/note/{{ $tickets->id }}",
@@ -1642,7 +1708,7 @@ if ($thread->title != "") {
{
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
// $("#t4").load("../thread/{{$tickets->id}} #t4");
var message = "Lang::get('lang.you_have_successfully_replied_to_your_ticket')";
var message = "{!! Lang::get('lang.you_have_successfully_replied_to_your_ticket') !!}";
$("#alert21").show();
$('#message-success2').html(message);
setInterval(function(){$("#alert21").hide(); }, 4000);
@@ -1653,6 +1719,16 @@ if ($thread->title != "") {
var div1 = document.getElementById('newtextarea1');
div1.innerHTML = div1.innerHTML + '<textarea style="width:98%;height:200px;" name="InternalContent" class="form-control" id="InternalContent"/></textarea>';
var wysihtml5Editor = $('textarea').wysihtml5().data("wysihtml5").editor;
setInterval(function(){
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= '{{asset("lb-faveo/js/jquery.rating.pack.js")}}';
head.appendChild(script);
// $('.rating-cancel').hide();
// $(".star-rating-control").attr("disabled", "disabled").off('hover');
// $(".star-rating-control").addClass("disabled")
}, 4000);
} else {
// alert('fail');
var message = "{!! Lang::get('lang.for_some_reason_your_message_was_not_posted_please_try_again_later') !!}";
@@ -1668,8 +1744,63 @@ if ($thread->title != "") {
return false;
});
// Ticket Reply
$('#attachment').change(function() {
input = document.getElementById('attachment');
if (!input) {
alert("Um, couldn't find the fileinput element.");
} else if (!input.files) {
alert("This browser doesn't seem to support the `files` property of file inputs.");
} else if (!input.files[0]) {
} else {
$("#file_details").html("");
var total_size = 0;
for(i = 0; i < input.files.length; i++) {
file = input.files[i];
var supported_size = "{!! $max_size_in_bytes !!}";
var supported_actual_size = "{!! $max_size_in_actual !!}";
if(file.size < supported_size) {
$("#file_details").append("<tr> <td> " + file.name + " </td><td> " + formatBytes(file.size) + "</td> </tr>");
} else {
$("#file_details").append("<tr style='color:red;'> <td> " + file.name + " </td><td> " + formatBytes(file.size) + "</td> </tr>");
}
total_size += parseInt(file.size);
}
if(total_size > supported_size) {
$("#total-size").append("<span style='color:red'>Your total file upload size is greater than "+ supported_actual_size +"</span>");
$("#replybtn").addClass('disabled');
$("#clear-file").show();
} else {
$("#total-size").html("");
$("#replybtn").removeClass('disabled');
$("#clear-file").show();
}
}
});
function formatBytes(bytes,decimals) {
if(bytes == 0) return '0 Byte';
var k = 1000;
var dm = decimals + 1 || 3;
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
var i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
}
$('#form3').on('submit', function() {
var fd = new FormData(document.getElementById("form3"));
var fd = new FormData(document.getElementById("form3"));
var reply_content = document.getElementById('reply_content').value;
if(reply_content) {
$("#reply_content_class").removeClass('has-error');
$("#alert23").hide();
} else {
var message = "<li>{!! Lang::get('lang.reply_content_is_a_required_field') !!}</li>";
$("#reply_content_class").addClass('has-error');
$("#alert23").show();
$('#message-danger2').html(message);
$("#show3").hide();
$("#t1").show();
return false;
}
$.ajax({
type: "POST",
url: "../thread/reply/{{ $tickets->id }}",
@@ -1679,28 +1810,40 @@ if ($thread->title != "") {
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
beforeSend: function() {
$("#t1").hide();
$("#show3").show();
},
success: function(response) {
if(response !== 1) {
if(response === "file size exceeded") {
alert(response);
}
}
if (response == 1)
{
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
// $("#t1").load("../thread/{{$tickets->id}} #t1");
var message = "{!! Lang::get('lang.you_have_successfully_replied_to_your_ticket') !!}";
$("#alert21").show();
$('#message-success2').html(message);
setInterval(function(){$("#alert21").hide(); }, 4000);
// var wysihtml5Editor = $('textarea').wysihtml5().data("wysihtml5").editor;
$("#newtextarea").empty();
var div = document.getElementById('newtextarea');
div.innerHTML = div.innerHTML + '<textarea style="width:98%;height:200px;" name="reply_content" class="form-control" id="reply_content"/></textarea>';
$("#newtextarea1").empty();
var div1 = document.getElementById('newtextarea1');
div1.innerHTML = div1.innerHTML + '<textarea style="width:98%;height:200px;" name="InternalContent" class="form-control" id="InternalContent"/></textarea>';
var wysihtml5Editor = $('textarea').wysihtml5().data("wysihtml5").editor;
$("#refresh1").load("../thread/{{$tickets->id}} #refresh1");
var message = "{{ Lang::get('lang.you_have_successfully_replied_to_your_ticket') }}";
$("#alert21").show();
$('#message-success2').html(message);
setInterval(function(){$("#alert21").hide(); }, 4000);
$("#newtextarea").empty();
var div = document.getElementById('newtextarea');
div.innerHTML = div.innerHTML + '<textarea style="width:98%;height:200px;" name="reply_content" class="form-control" id="reply_content"/></textarea>';
$("#newtextarea1").empty();
var div1 = document.getElementById('newtextarea1');
div1.innerHTML = div1.innerHTML + '<textarea style="width:98%;height:200px;" name="InternalContent" class="form-control" id="InternalContent"/></textarea>';
var wysihtml5Editor = $('textarea').wysihtml5().data("wysihtml5").editor;
setInterval(function(){
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= '{{asset("lb-faveo/js/jquery.rating.pack.js")}}';
head.appendChild(script);
// $('.rating-cancel').hide();
// $(".star-rating-control").attr("disabled", "disabled").off('hover');
// $(".star-rating-control").addClass("disabled")
}, 4000);
} else {
// alert('fail');
// $( "#dismis4" ).trigger( "click" );
@@ -1709,8 +1852,12 @@ if ($thread->title != "") {
$('#message-danger2').html(message);
setInterval(function(){$("#alert23").hide(); }, 4000);
}
$("#show3").hide();
$("#t1").show();
$("#show3").hide();
$("#t1").show();
},
error: function(response) {
$("#show3").hide();
$("#t1").show();
}
})
return false;
@@ -1753,8 +1900,9 @@ if ($thread->title != "") {
dataType: "html",
data: $(this).serialize(),
beforeSend: function() {
$('#show7').show();
$('#hide1234').hide();
$('#here').html("");
$('#show7').show();
$('#hide1234').hide();
},
success: function(response) {
$('#show7').hide();
@@ -1767,7 +1915,7 @@ if ($thread->title != "") {
// if(link) {
// link.click();
// }
$('#cc-close').trigger('click');
// $('#cc-close').trigger('click');
}, 500);
}
})
@@ -1892,7 +2040,6 @@ if ($thread->title != "") {
$("#merge-succ-alert").show();
$('#message-merge-succ').html(message);
}
}
})
return false;

View File

@@ -66,6 +66,7 @@ if (Auth::user()->role == 'agent') {
<input type="submit" class="btn btn-default text-yellow btn-sm" name="submit" id="hard-delete" value="{{Lang::get('lang.clean-up')}}" title="{{Lang::get('lang.trash-delete-title-msg')}}">
<!--</div>-->
<p><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 -->

View File

@@ -57,6 +57,7 @@ if (Auth::user()->role == 'agent') {
<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>-->
<p><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 -->
@@ -71,37 +72,7 @@ if (Auth::user()->role == 'agent') {
Lang::get('lang.assigned_to'),
Lang::get('lang.last_activity'))
->setUrl(route('get.unassigned.ticket'))
->setOptions('aoColumnDefs',array(
array(
'render' => "function ( data, type, row ) {
var t = row[6].split(/[- :,/ :,. /]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
<!-- -->
var dtf= '$date_time_format';
if(dtf==1) {
dtf = 'D/MMM/YYYY hh:mm:ss A';
} else if(dtf==2) {
dtf = 'D MMM, YYYY hh:mm:ss A';
} else if(dtf==3) {
dtf = 'D-MMM-YYYY hh:mm:ss A';
} else if(dtf==4) {
dtf = 'MMM/D/YYYY hh:mm:ss A';
} else if(dtf==5) {
dtf = 'MMM D, YYYY hh:mm:ss A';
} else if(dtf==6) {
dtf = 'MMM-D-YYYY hh:mm:ss A';
} else if(dtf==7) {
dtf = 'YYYY/MMM/D hh:mm:ss A';
} else if(dtf==8) {
dtf = 'YYYY, MMM D hh:mm:ss A';
} else if(dtf==9) {
dtf = 'YYYY-MMM-D hh:mm:ss A';
}
return moment(d).format(dtf);
<!-- //return d; -->
}",
'aTargets' => array(6))
))
->setOrder(array(6=>'desc'))
->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnRowCallback",'function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {