#update-patch
# multiple assignment option in inbox
This commit is contained in:
@@ -1464,62 +1464,65 @@ class TicketController extends Controller
|
||||
*/
|
||||
public function assign($id)
|
||||
{
|
||||
$ticket_array = [];
|
||||
if(strpos($id, ',') !== false) {
|
||||
$ticket_array = explode(',', $id);
|
||||
} else {
|
||||
array_push($ticket_array, $id);
|
||||
}
|
||||
$UserEmail = Input::get('assign_to');
|
||||
$assign_to = explode('_', $UserEmail);
|
||||
$ticket = Tickets::where('id', '=', $id)->first();
|
||||
$user_detail = null;
|
||||
foreach ($ticket_array as $id) {
|
||||
$ticket = Tickets::where('id', '=', $id)->first();
|
||||
if ($assign_to[0] == 'team') {
|
||||
$ticket->team_id = $assign_to[1];
|
||||
$team_detail = Teams::where('id', '=', $assign_to[1])->first();
|
||||
$assignee = $team_detail->name;
|
||||
$ticket_number = $ticket->ticket_number;
|
||||
$ticket->save();
|
||||
$ticket_thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
|
||||
$ticket_subject = $ticket_thread->title;
|
||||
$thread = new Ticket_Thread();
|
||||
$thread->ticket_id = $ticket->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = 'This Ticket has been assigned to '.$assignee;
|
||||
$thread->save();
|
||||
} elseif ($assign_to[0] == 'user') {
|
||||
$ticket->assigned_to = $assign_to[1];
|
||||
if( $user_detail === null) {
|
||||
$user_detail = User::where('id', '=', $assign_to[1])->first();
|
||||
$assignee = $user_detail->first_name.' '.$user_detail->last_name;
|
||||
}
|
||||
$company = $this->company();
|
||||
$system = $this->system();
|
||||
$ticket_number = $ticket->ticket_number;
|
||||
$ticket->save();
|
||||
$data = [
|
||||
'id' => $id,
|
||||
];
|
||||
\Event::fire('ticket-assignment', [$data]);
|
||||
$ticket_thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
|
||||
$ticket_subject = $ticket_thread->title;
|
||||
$thread = new Ticket_Thread();
|
||||
$thread->ticket_id = $ticket->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = 'This Ticket has been assigned to '.$assignee;
|
||||
$thread->save();
|
||||
|
||||
if ($assign_to[0] == 'team') {
|
||||
$ticket->team_id = $assign_to[1];
|
||||
$team_detail = Teams::where('id', '=', $assign_to[1])->first();
|
||||
$assignee = $team_detail->name;
|
||||
|
||||
$ticket_number = $ticket->ticket_number;
|
||||
$ticket->save();
|
||||
|
||||
$ticket_thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
|
||||
$ticket_subject = $ticket_thread->title;
|
||||
|
||||
$thread = new Ticket_Thread();
|
||||
$thread->ticket_id = $ticket->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = 'This Ticket has been assigned to '.$assignee;
|
||||
$thread->save();
|
||||
} elseif ($assign_to[0] == 'user') {
|
||||
$ticket->assigned_to = $assign_to[1];
|
||||
$user_detail = User::where('id', '=', $assign_to[1])->first();
|
||||
$assignee = $user_detail->first_name.' '.$user_detail->last_name;
|
||||
|
||||
$company = $this->company();
|
||||
$system = $this->system();
|
||||
|
||||
$ticket_number = $ticket->ticket_number;
|
||||
$ticket->save();
|
||||
$data = [
|
||||
'id' => $id,
|
||||
];
|
||||
\Event::fire('ticket-assignment', [$data]);
|
||||
$ticket_thread = Ticket_Thread::where('ticket_id', '=', $id)->first();
|
||||
$ticket_subject = $ticket_thread->title;
|
||||
|
||||
$thread = new Ticket_Thread();
|
||||
$thread->ticket_id = $ticket->id;
|
||||
$thread->user_id = Auth::user()->id;
|
||||
$thread->is_internal = 1;
|
||||
$thread->body = 'This Ticket has been assigned to '.$assignee;
|
||||
$thread->save();
|
||||
|
||||
$agent = $user_detail->first_name;
|
||||
$agent_email = $user_detail->email;
|
||||
$ticket_link = route('ticket.thread', $id);
|
||||
$master = Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
try {
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticket->dept_id), $to = ['name' => $agent, 'email' => $agent_email], $message = ['subject' => $ticket_subject.'[#'.$ticket_number.']', 'scenario' => 'assign-ticket'], $template_variables = ['ticket_agent_name' => $agent, 'ticket_number' => $ticket_number, 'ticket_assigner' => $master, 'ticket_link' => $ticket_link]);
|
||||
} catch (\Exception $e) {
|
||||
return 0;
|
||||
$agent = $user_detail->first_name;
|
||||
$agent_email = $user_detail->email;
|
||||
$ticket_link = route('ticket.thread', $id);
|
||||
$master = Auth::user()->first_name.' '.Auth::user()->last_name;
|
||||
try {
|
||||
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticket->dept_id), $to = ['name' => $agent, 'email' => $agent_email], $message = ['subject' => $ticket_subject.'[#'.$ticket_number.']', 'scenario' => 'assign-ticket'], $template_variables = ['ticket_agent_name' => $agent, 'ticket_number' => $ticket_number, 'ticket_assigner' => $master, 'ticket_link' => $ticket_link]);
|
||||
} catch (\Exception $e) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@@ -1003,4 +1003,14 @@ class UserController extends Controller
|
||||
return $message;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public function getAgentDetails()
|
||||
{
|
||||
$users = User::where('role', '<>', 'user')->where('active', '=', 1)->get();
|
||||
foreach ($users as $user) {
|
||||
echo "<option value='user_$user->id'>".$user->full_name.'</option>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -724,6 +724,8 @@ Route::group(['middleware' => ['web']], function () {
|
||||
// route to get the data on change
|
||||
Route::post('help-topic-report/{date1}/{date2}/{id}', ['as' => 'report.helptopic', 'uses' => 'Agent\helpdesk\ReportController@chartdataHelptopic']); /* To show dashboard pages */
|
||||
Route::post('help-topic-pdf', ['as' => 'help.topic.pdf', 'uses' => 'Agent\helpdesk\ReportController@helptopicPdf']);
|
||||
// Route to get details of agents
|
||||
Route::post('get-agents', ['as' => 'get-agents', 'uses' => 'Agent\helpdesk\UserController@getAgentDetails']);
|
||||
});
|
||||
|
||||
/*
|
||||
|
@@ -1549,5 +1549,5 @@ return [
|
||||
/*********** Updated 3-12-2016 **********/
|
||||
'activate' => 'Activate',
|
||||
'system-email-not-configured' => 'We are unable to process email request as the system has no configured email for sending mails. Please contact and report system admin.',
|
||||
|
||||
'assign-ticket' => 'Assign tickets',
|
||||
];
|
||||
|
@@ -58,6 +58,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') !!}">
|
||||
{{--@endif--}}
|
||||
<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>
|
||||
<button type="button" class="btn btn-sm btn-default" id="assign_Ticket" data-toggle="modal" data-target="#AssignTickets" style="display: none;"><i class="fa fa-hand-o-right"> </i> {!! Lang::get('lang.assign') !!}</button>
|
||||
<!--</div>-->
|
||||
<p><p/>
|
||||
<div class="mailbox-messages" id="refresh">
|
||||
@@ -166,6 +167,42 @@ if (Auth::user()->role == 'agent') {
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal -->
|
||||
|
||||
<!-- Assign ticket model-->
|
||||
<div class="modal fade" id="AssignTickets">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" id="assign-close" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">{!! Lang::get('lang.assign-ticket') !!} </h4>
|
||||
</div><!-- /.modal-header-->
|
||||
<div class ="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
</div>
|
||||
<div class="col-md-6" id="assign_loader" style="display:none;">
|
||||
<img src="{{asset("lb-faveo/media/images/gifloader.gif")}}"><br/><br/><br/>
|
||||
</div><!-- /.merge-loader -->
|
||||
</div>
|
||||
<div id="assign_body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{!! Form::open(['id'=>'assign-form','method' => 'PATCH'] )!!}
|
||||
<label>{!! Lang::get('lang.whome_do_you_want_to_assign_ticket') !!}</label>
|
||||
<select class="form-control" id="select-assign-agent" name="assign_to" data-placeholder="{!! Lang::get('lang.select_agent') !!}" style="width: 100%;"><option value=""></option></select>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- mereg-body-form -->
|
||||
</div><!-- merge-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 -->
|
||||
<!-- Assign ticket model-->
|
||||
|
||||
<!-- 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">
|
||||
@@ -199,10 +236,12 @@ if (Auth::user()->role == 'agent') {
|
||||
//Uncheck all checkboxes
|
||||
$(".mailbox-messages input[type='checkbox']").iCheck("uncheck");
|
||||
$(".fa", this).removeClass("fa-check-square-o").addClass('fa-square-o');
|
||||
$('#assign_Ticket').css('display', 'none');
|
||||
} else {
|
||||
//Check all checkboxes
|
||||
$(".mailbox-messages input[type='checkbox']").iCheck("check");
|
||||
$(".fa", this).removeClass("fa-square-o").addClass('fa-check-square-o');
|
||||
$('#assign_Ticket').css('display', 'inline');
|
||||
}
|
||||
$(this).data("clicks", !clicks);
|
||||
});
|
||||
@@ -405,6 +444,53 @@ if (Auth::user()->role == 'agent') {
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#AssignTickets').on('show.bs.modal', function() {
|
||||
alert(t_id);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{{route('get-agents')}}",
|
||||
dataType: "html",
|
||||
beforeSend: function() {
|
||||
$("#assign_body").hide();
|
||||
$("#assign_loader").show();
|
||||
},
|
||||
success: function(data) {
|
||||
$("#assign_loader").hide();
|
||||
$("#assign_body").show();
|
||||
$('#select-assign-agent').html(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Assign a ticket
|
||||
$('#assign-form').on('submit', function() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "../ticket/assign/"+t_id,
|
||||
dataType: "html",
|
||||
data: $(this).serialize(),
|
||||
beforeSend: function() {
|
||||
$("#assign_body").hide();
|
||||
$("#assign_loader").show();
|
||||
},
|
||||
success: function(response) {
|
||||
if (response == 1)
|
||||
{
|
||||
location.reload();
|
||||
var message = "Success!";
|
||||
$("#alert11").show();
|
||||
$('#message-success1').html(message);
|
||||
setInterval(function(){$("#dismiss11").trigger("click"); }, 2000);
|
||||
}
|
||||
$("#assign_body").show();
|
||||
$("#assign_loader").hide();
|
||||
$("#dismis4").trigger("click");
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function someFunction(id) {
|
||||
@@ -423,6 +509,11 @@ if (Auth::user()->role == 'agent') {
|
||||
t_id.splice(index, 1);
|
||||
// alert(t_id);
|
||||
}
|
||||
if (t_id.length >= 1) {
|
||||
$('#assign_Ticket').css('display', 'inline');
|
||||
} else {
|
||||
$('#assign_Ticket').css('display', 'none');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@stop
|
Reference in New Issue
Block a user