Merge remote-tracking branch 'refs/remotes/origin/release-v1.9.2'

# Conflicts:
#	app/Console/Kernel.php
#	app/FaveoStorage/Controllers/SettingsController.php
#	app/Http/Controllers/Admin/helpdesk/TemplateController.php
This commit is contained in:
Manish Verma
2017-01-05 19:09:35 +05:30
59 changed files with 3240 additions and 1546 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
--
-- Dumping data for table `template_types`
--
INSERT INTO `template_types` (`id`, `name`, `created_at`, `updated_at`) VALUES
(14, 'merge-ticket-notification', '2017-01-02 05:50:11', '2017-01-02 05:50:11');
--
-- Dumping data for table `templates`
--
INSERT INTO `templates` (`name`, `variable`, `type`, `subject`, `message`, `description`, `set_id`, `created_at`, `updated_at`)
SELECT 'This template is to notify users when their tickets are merged.', '1', 14, 'Your tickets have been merged.', '<p>Hello {!!$user!!},<br />&nbsp;</p><p>Your ticket(s) with ticket number {!!$merged_ticket_numbers!!} have been closed and&nbsp;merged with <a href="{!!$ticket_link!!}">{!!$ticket_number!!}</a>.&nbsp;</p><p>Possible reasons for merging tickets</p><ul><li>Tickets are duplicate</li<li>Tickets state&nbsp;the same issue</li><li>Another member from your organization has created a ticket for the same issue</li></ul><p><a href="{!!$system_link!!}">Click here</a> to login to your account and check your tickets.</p><p>Regards,</p><p>{!!$system_from!!}</p>', '', id, '2017-01-02 05:50:12', '2017-01-02 06:01:50'
FROM `template_sets`;

View File

@@ -1,9 +1,24 @@
@extends('themes.default1.admin.layout.admin') @extends('themes.default1.admin.layout.admin')
@section('content')
<section class="content-header">
<h1> {{Lang::get('storage::lang.settings')}} </h1>
</section> @section('Settings')
active
@stop
@section('settings-bar')
active
@stop
@section('storage')
class="active"
@stop
@section('PageHeader')
<h1>{{ Lang::get('storage::lang.storage')}}</h1>
@stop
@section('HeadInclude')
@stop
@section('content')
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">

View File

@@ -85,7 +85,7 @@ class HelptopicController extends Controller
$departments = $department->get(); $departments = $department->get();
$topics = $topic->get(); $topics = $topic->get();
$forms = $form->get(); $forms = $form->get();
$agents = $agent->where('role', '=', 'agent')->get(); $agents = $agent->where('role', '!=', 'user')->where('active', '=', 1)->orderBy('first_name')->get();
$slas = $sla->get(); $slas = $sla->get();
$priority = Ticket_Priority::where('status', '=', 1)->get(); $priority = Ticket_Priority::where('status', '=', 1)->get();
@@ -143,7 +143,7 @@ class HelptopicController extends Controller
public function edit($id, Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, Sla_plan $sla) public function edit($id, Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, Sla_plan $sla)
{ {
try { try {
$agents = User::where('role', '=', 'agent')->get(); $agents = User::where('role', '!=', 'user')->where('active', '=', 1)->orderBy('first_name')->get();
$departments = $department->get(); $departments = $department->get();
$topics = $topic->whereId($id)->first(); $topics = $topic->whereId($id)->first();
$forms = $form->get(); $forms = $form->get();

View File

@@ -122,6 +122,7 @@ class LanguageController extends Controller
*/ */
public function postForm() public function postForm()
{ {
try {
// getting all of the post data // getting all of the post data
$file = [ $file = [
'File' => Input::file('File'), 'File' => Input::file('File'),
@@ -196,6 +197,10 @@ class LanguageController extends Controller
} }
} }
} }
} catch (\Exception $e) {
Session::flash('fails', $e->getMessage());
Redirect::back()->withInput();
}
} }
/** /**
@@ -205,7 +210,8 @@ class LanguageController extends Controller
*/ */
public function download() public function download()
{ {
$file_path = base_path('public/downloads/en.zip'); $path = 'downloads'.DIRECTORY_SEPARATOR.'en.zip';
$file_path = public_path($path);
return response()->download($file_path); return response()->download($file_path);
} }

View File

@@ -68,7 +68,7 @@ class TeamController extends Controller
public function create(User $user) public function create(User $user)
{ {
try { try {
$user = $user->where('role', '<>', 'user')->where('active', '=', 1)->get(); $user = $user->where('role', '<>', 'user')->where('active', '=', 1)->orderBy('first_name')->get();
return view('themes.default1.admin.helpdesk.agent.teams.create', compact('user')); return view('themes.default1.admin.helpdesk.agent.teams.create', compact('user'));
} catch (Exception $e) { } catch (Exception $e) {
@@ -86,15 +86,23 @@ class TeamController extends Controller
*/ */
public function store(Teams $team, TeamRequest $request) public function store(Teams $team, TeamRequest $request)
{ {
if ($request->team_lead) {
$team_lead = $request->team_lead;
} else {
$team_lead = null;
}
$team->team_lead = $team_lead;
try { try {
/* Check whether function success or not */ /* Check whether function success or not */
$team->fill($request->except('team_lead'))->save(); $team->fill($request->except('team_lead'))->save();
$team_update = Teams::find($team->id);
if ($request->team_lead) {
$team_lead = $request->team_lead;
$team_update->update([
'team_lead' => $team_lead,
]);
Assign_team_agent::create([
'team_id' => $team_update->id,
'agent_id' => $team_lead,
]);
} else {
$team_lead = null;
}
/* redirect to Index page with Success Message */ /* redirect to Index page with Success Message */
return redirect('teams')->with('success', Lang::get('lang.teams_created_successfully')); return redirect('teams')->with('success', Lang::get('lang.teams_created_successfully'));
} catch (Exception $e) { } catch (Exception $e) {
@@ -202,11 +210,16 @@ $users = DB::table('team_assign_agent')->select('team_assign_agent.id', 'team_as
public function edit($id, User $user, Assign_team_agent $assign_team_agent, Teams $team) public function edit($id, User $user, Assign_team_agent $assign_team_agent, Teams $team)
{ {
try { try {
$user = $user->where('role', '<>', 'user')->where('active', '=', 1)->get(); $a_id = [];
$teams = $team->whereId($id)->first(); $teams = $team->whereId($id)->first();
$agent_team = $assign_team_agent->where('team_id', $id)->get(); $agent_team = $assign_team_agent->where('team_id', $id)->get();
$agent_id = $agent_team->lists('agent_id', 'agent_id'); $agent_id = $agent_team->lists('agent_id', 'agent_id');
foreach ($agent_id as $value) {
array_push($a_id, $value);
}
// dd($a_id);
$user = $user->whereIn('id', $a_id)->where('active', '=', 1)->orderBy('first_name')->get();
// dd($user);
return view('themes.default1.admin.helpdesk.agent.teams.edit', compact('agent_id', 'user', 'teams', 'allagents')); return view('themes.default1.admin.helpdesk.agent.teams.edit', compact('agent_id', 'user', 'teams', 'allagents'));
} catch (Exception $e) { } catch (Exception $e) {
return redirect()->back()->with('fails', $e->getMessage()); return redirect()->back()->with('fails', $e->getMessage());

View File

@@ -132,7 +132,7 @@ class FilterController extends Controller
$join->on('ticket_status.id', '=', 'tickets.status'); $join->on('ticket_status.id', '=', 'tickets.status');
}) })
->where('tickets.status', '=', 1) ->where('tickets.status', '=', 1)
// ->where('tickets.isanswered', '=', 0) ->where('tickets.isanswered', '=', 0)
->whereNotNull('tickets.duedate') ->whereNotNull('tickets.duedate')
->where('tickets.duedate', '!=', '00-00-00 00:00:00') ->where('tickets.duedate', '!=', '00-00-00 00:00:00')
@@ -196,6 +196,7 @@ class FilterController extends Controller
->leftJoin('ticket_status', function ($join) { ->leftJoin('ticket_status', function ($join) {
$join->on('ticket_status.id', '=', 'tickets.status'); $join->on('ticket_status.id', '=', 'tickets.status');
}) })
->where('isanswered', '=', 0)
->where('tickets.status', '=', 1); ->where('tickets.status', '=', 1);
case '/duetoday': case '/duetoday':
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
@@ -238,7 +239,7 @@ class FilterController extends Controller
->whereNotNull('title') ->whereNotNull('title')
->where('ticket_thread.is_internal', '<>', 1); ->where('ticket_thread.is_internal', '<>', 1);
}) })
->leftJoin('ticket_thread as ticket_thread2', 'ticket_thread2.ticket_id', '=', 'tickets.id')
->Join('ticket_source', 'ticket_source.id', '=', 'tickets.source') ->Join('ticket_source', 'ticket_source.id', '=', 'tickets.source')
->leftJoin('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id') ->leftJoin('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->leftJoin('users as u', 'u.id', '=', 'tickets.user_id') ->leftJoin('users as u', 'u.id', '=', 'tickets.user_id')
@@ -255,17 +256,17 @@ class FilterController extends Controller
'u1.user_name as assign_user_name', 'u1.user_name as assign_user_name',
\DB::raw('max(ticket_thread.updated_at) as updated_at'), \DB::raw('max(ticket_thread.updated_at) as updated_at'),
\DB::raw('min(ticket_thread.updated_at) as created_at'), \DB::raw('min(ticket_thread.updated_at) as created_at'),
'tickets.priority_id', 'tickets.assigned_to',
DB::raw('COUNT(ticket_thread.updated_at) as countthread'),
'ticket_priority.priority_color',
'u.first_name as first_name', 'u.first_name as first_name',
'u.last_name as last_name', 'u.last_name as last_name',
'u1.first_name as assign_first_name', 'u1.first_name as assign_first_name',
'u1.last_name as assign_last_name', 'u1.last_name as assign_last_name',
'tickets.status', 'ticket_priority.priority_color',
'tickets.user_id', DB::raw('COUNT(DISTINCT ticket_thread2.id) as countthread'),
DB::raw('COUNT(ticket_attachment.thread_id) as countattachment'), DB::raw('COUNT(ticket_attachment.thread_id) as countattachment'),
DB::raw('COUNT(ticket_collaborator.ticket_id) as countcollaborator'), DB::raw('COUNT(ticket_collaborator.ticket_id) as countcollaborator'),
'tickets.status',
'tickets.user_id',
'tickets.priority_id', 'tickets.assigned_to',
'ticket_status.name as tickets_status', 'ticket_status.name as tickets_status',
'ticket_source.css_class as css', 'ticket_source.css_class as css',
DB::raw('substring_index(group_concat(ticket_thread.poster order by ticket_thread.id desc) , ",", 1) as last_replier'), DB::raw('substring_index(group_concat(ticket_thread.poster order by ticket_thread.id desc) , ",", 1) as last_replier'),

View File

@@ -2218,6 +2218,9 @@ class TicketController extends Controller
if ($count === 1) { if ($count === 1) {
$user_id = $user->id; $user_id = $user->id;
$ticket = Tickets::where('id', '=', $id)->first(); $ticket = Tickets::where('id', '=', $id)->first();
if ($user_id === (int) $ticket->user_id) {
return 400;
}
$ticket_number = $ticket->ticket_number; $ticket_number = $ticket->ticket_number;
$ticket->user_id = $user_id; $ticket->user_id = $user_id;
$ticket->save(); $ticket->save();
@@ -2422,6 +2425,7 @@ class TicketController extends Controller
$success = 0; $success = 0;
} }
} }
$this->sendMergeNotification($p_id, $t_id);
return $success; return $success;
} }
@@ -2896,4 +2900,32 @@ class TicketController extends Controller
return $base64; return $base64;
} }
/**
*@category function to send notification of ticket merging to the owners
*
*@param srting array $t_id, $p_id
*
*@return null
*/
public function sendMergeNotification($p_id, $t_id)
{
try {
$ticket_details = Tickets::select('ticket_number', 'user_id', 'dept_id')->where('id', '=', $p_id)->first();
$user_detail = User::where('id', '=', $ticket_details->user_id)->first();
if ($user_detail->count() > 0) {
if ($user_detail->email !== null || $user_detail->email !== '') {
$meged_ticket_details = Tickets::select('ticket_number')->whereIn('id', $t_id)->get();
$child_ticket_numbers = [];
foreach ($meged_ticket_details as $value) {
array_push($child_ticket_numbers, $value->ticket_number);
}
// dd(implode(", ",$child_ticket_numbers), $ticket_details->ticket_number);
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('0', $ticket_details->dept_id), $to = ['user' => $user_detail->full_name, 'email' => $user_detail->email], $message = ['subject' => '', 'body' => '', 'scenario' => 'merge-ticket-notification'], $template_variables = ['user' => $user_detail->full_name, 'ticket_number' => $ticket_details->ticket_number, 'ticket_link' => route('ticket.thread', $p_id), 'merged_ticket_numbers' => implode(', ', $child_ticket_numbers)]);
}
}
} catch (\Exception $e) {
//catch the exception
}
}
} }

View File

@@ -32,6 +32,7 @@ use App\Model\helpdesk\Utility\Otp;
use App\User; use App\User;
// classes // classes
use Auth; use Auth;
use Datatables;
use DateTime; use DateTime;
use DB; use DB;
use Exception; use Exception;
@@ -85,7 +86,6 @@ class UserController extends Controller
Lang::get('lang.email'), Lang::get('lang.email'),
Lang::get('lang.phone'), Lang::get('lang.phone'),
Lang::get('lang.status'), Lang::get('lang.status'),
Lang::get('lang.ban'),
Lang::get('lang.last_login'), Lang::get('lang.last_login'),
Lang::get('lang.role'), Lang::get('lang.role'),
Lang::get('lang.action')) // these are the column headings to be shown Lang::get('lang.action')) // these are the column headings to be shown
@@ -116,21 +116,42 @@ class UserController extends Controller
public function user_list(Request $request) public function user_list(Request $request)
{ {
$type = $request->input('profiletype'); $type = $request->input('profiletype');
$search = $request->input('searchTerm');
if ($type == 'active') { if ($type === 'agents') {
$users = User::where('role', '!=', 'admin')->where('is_delete', '=', 0)->get(); $users = User::where('role', '=', 'agent')->where('is_delete', '=', 0);
} elseif ($type === 'users') {
$users = User::where('role', '=', 'user')->where('is_delete', '=', 0);
} elseif ($type === 'active-users') {
$users = User::where('role', '!=', 'admin')->where('active', '=', 1);
} elseif ($type === 'inactive') {
$users = User::where('role', '!=', 'admin')->where('active', '=', 0);
} elseif ($type === 'deleted') {
$users = User::where('role', '!=', 'admin')->where('is_delete', '=', 1);
} elseif ($type === 'banned') {
$users = User::where('role', '!=', 'admin')->where('ban', '=', 1);
} else { } else {
$users = User::where('role', '!=', 'admin')->where('is_delete', '=', 1)->get(); $users = User::where('role', '!=', 'admin')->where('is_delete', '=', 0);
} }
$users = $users->select('user_name', 'email', 'mobile', 'active', 'updated_at', 'role', 'id', 'last_name', 'country_code', 'phone_number');
if ($search !== '') {
$users = $users->where(function ($query) use ($search) {
$query->where('user_name', 'LIKE', '%'.$search.'%');
$query->orWhere('email', 'LIKE', '%'.$search.'%');
$query->orWhere('first_name', 'LIKE', '%'.$search.'%');
$query->orWhere('last_name', 'LIKE', '%'.$search.'%');
$query->orWhere('mobile', 'LIKE', '%'.$search.'%');
$query->orWhere('updated_at', 'LIKE', '%'.$search.'%');
$query->orWhere('country_code', 'LIKE', '%'.$search.'%');
});
}
// displaying list of users with chumper datatables // displaying list of users with chumper datatables
// return \Datatable::collection(User::where('role', "!=", "admin")->get()) // return \Datatable::collection(User::where('role', "!=", "admin")->get())
return \Datatable::collection($users) return \Datatables::of($users)
/* searchable column username and email */
->searchColumns('user_name', 'email', 'phone')
/* order column username and email */
->orderColumns('user_name', 'email')
/* column username */ /* column username */
->removeColumn('id', 'last_name', 'country_code', 'phone_number')
->addColumn('user_name', function ($model) { ->addColumn('user_name', function ($model) {
if ($model->first_name) { if ($model->first_name) {
$string = strip_tags($model->first_name.' '.$model->last_name); $string = strip_tags($model->first_name.' '.$model->last_name);
@@ -153,7 +174,7 @@ class UserController extends Controller
return $email; return $email;
}) })
/* column phone */ /* column phone */
->addColumn('phone', function ($model) { ->addColumn('mobile', function ($model) {
$phone = ''; $phone = '';
if ($model->phone_number) { if ($model->phone_number) {
$phone = $model->ext.' '.$model->phone_number; $phone = $model->ext.' '.$model->phone_number;
@@ -167,7 +188,7 @@ class UserController extends Controller
return $phone; return $phone;
}) })
/* column account status */ /* column account status */
->addColumn('status', function ($model) { ->addColumn('active', function ($model) {
$status = $model->active; $status = $model->active;
if ($status == 1) { if ($status == 1) {
$stat = '<button class="btn btn-success btn-xs">Active</button>'; $stat = '<button class="btn btn-success btn-xs">Active</button>';
@@ -177,19 +198,8 @@ class UserController extends Controller
return $stat; return $stat;
}) })
/* column ban status */
->addColumn('ban', function ($model) {
$status = $model->ban;
if ($status == 1) {
$stat = '<button class="btn btn-danger btn-xs">Banned</button>';
} else {
$stat = '<button class="btn btn-success btn-xs">Not Banned</button>';
}
return $stat;
})
/* column last login date */ /* column last login date */
->addColumn('lastlogin', function ($model) { ->addColumn('updated_at', function ($model) {
$t = $model->updated_at; $t = $model->updated_at;
return TicketController::usertimezone($t); return TicketController::usertimezone($t);
@@ -1064,7 +1074,7 @@ class UserController extends Controller
public function getAgentDetails() public function getAgentDetails()
{ {
$users = User::where('role', '<>', 'user')->where('active', '=', 1)->get(); $users = User::where('role', '<>', 'user')->where('active', '=', 1)->orderBy('first_name')->get();
foreach ($users as $user) { foreach ($users as $user) {
echo "<option value='user_$user->id'>".$user->name().'</option>'; echo "<option value='user_$user->id'>".$user->name().'</option>';
} }

View File

@@ -185,7 +185,9 @@ class AuthController extends Controller
$sms = Plugin::select('status')->where('name', '=', 'SMS')->first(); $sms = Plugin::select('status')->where('name', '=', 'SMS')->first();
// Event for login // Event for login
\Event::fire(new \App\Events\LoginEvent($request)); \Event::fire(new \App\Events\LoginEvent($request));
if ($request->input('email') !== '') {
$var = $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $name, 'email' => $request->input('email')], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $name, 'email_address' => $request->input('email'), 'password_reset_link' => url('account/activate/'.$code)]); $var = $this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $name, 'email' => $request->input('email')], $message = ['subject' => null, 'scenario' => 'registration'], $template_variables = ['user' => $name, 'email_address' => $request->input('email'), 'password_reset_link' => url('account/activate/'.$code)]);
}
if ($settings->status == 1 || $settings->status == '1') { if ($settings->status == 1 || $settings->status == '1') {
if (count($sms) > 0) { if (count($sms) > 0) {
if ($sms->status == 1 || $sms->status == '1') { if ($sms->status == 1 || $sms->status == '1') {
@@ -194,7 +196,11 @@ class AuthController extends Controller
$message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail_sms_plugin_inactive_or_not_setup'); $message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail_sms_plugin_inactive_or_not_setup');
} }
} else { } else {
if ($request->input('email') !== '') {
$message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail'); $message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail');
} else {
$message12 = Lang::get('lang.account-created-contact-admin-as-we-were-not-able-to-send-opt');
}
} }
} else { } else {
$message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail'); $message12 = Lang::get('lang.activate_your_account_click_on_Link_that_send_to_your_mail');

View File

@@ -182,6 +182,9 @@ class FormController extends Controller
$user_priority = CommonSettings::where('option_name', '=', 'user_priority')->first(); $user_priority = CommonSettings::where('option_name', '=', 'user_priority')->first();
if (!($request->input('priority'))) { if (!($request->input('priority'))) {
$priority = $default_priority->priority_id; $priority = $default_priority->priority_id;
if ($helpTopicObj->exists() && ($helpTopicObj->value('status') == 1)) {
$priority = $helpTopicObj->value('priority');
}
} else { } else {
$priority = $request->input('priority'); $priority = $request->input('priority');
} }
@@ -189,6 +192,9 @@ class FormController extends Controller
$attachments = $request->file('attachment'); $attachments = $request->file('attachment');
$collaborator = null; $collaborator = null;
$assignto = null; $assignto = null;
if ($helpTopicObj->exists() && ($helpTopicObj->value('status') == 1)) {
$assignto = $helpTopicObj->value('auto_assign');
}
$auto_response = 0; $auto_response = 0;
$team_assign = null; $team_assign = null;
if ($phone != null || $mobile_number != null) { if ($phone != null || $mobile_number != null) {

View File

@@ -164,7 +164,7 @@ class NotificationController extends Controller
}, 'notification.model' => function ($query) { }, 'notification.model' => function ($query) {
$query->select('id', 'ticket_number'); $query->select('id', 'ticket_number');
}, },
]); ])->where('user_id', '=', \Auth::user()->id);
return $notifications; return $notifications;
} }

View File

@@ -115,7 +115,7 @@ class PhpMailController extends Controller
$department_sign = $this->checkElement('department_sign', $template_variables); $department_sign = $this->checkElement('department_sign', $template_variables);
$password_reset_link = $this->checkElement('password_reset_link', $template_variables); $password_reset_link = $this->checkElement('password_reset_link', $template_variables);
$user_password = $this->checkElement('user_password', $template_variables); $user_password = $this->checkElement('user_password', $template_variables);
$merged_ticket_numbers = $this->checkElement('merged_ticket_numbers', $template_variables);
$email_address = $this->checkElement('email_address', $template_variables); $email_address = $this->checkElement('email_address', $template_variables);
$user = $this->checkElement('user', $template_variables); $user = $this->checkElement('user', $template_variables);
@@ -145,9 +145,9 @@ class PhpMailController extends Controller
$subject = null; $subject = null;
} }
$variables = ['{!!$user!!}', '{!!$agent!!}', '{!!$ticket_number!!}', '{!!$content!!}', '{!!$from!!}', '{!!$ticket_agent_name!!}', '{!!$ticket_client_name!!}', '{!!$ticket_client_email!!}', '{!!$ticket_body!!}', '{!!$ticket_assigner!!}', '{!!$ticket_link_with_number!!}', '{!!$system_error!!}', '{!!$agent_sign!!}', '{!!$department_sign!!}', '{!!$password_reset_link!!}', '{!!$email_address!!}', '{!!$user_password!!}', '{!!$system_from!!}', '{!!$system_link!!}', '{!!$ticket_link!!}']; $variables = ['{!!$user!!}', '{!!$agent!!}', '{!!$ticket_number!!}', '{!!$content!!}', '{!!$from!!}', '{!!$ticket_agent_name!!}', '{!!$ticket_client_name!!}', '{!!$ticket_client_email!!}', '{!!$ticket_body!!}', '{!!$ticket_assigner!!}', '{!!$ticket_link_with_number!!}', '{!!$system_error!!}', '{!!$agent_sign!!}', '{!!$department_sign!!}', '{!!$password_reset_link!!}', '{!!$email_address!!}', '{!!$user_password!!}', '{!!$system_from!!}', '{!!$system_link!!}', '{!!$ticket_link!!}', '{!!$merged_ticket_numbers!!}'];
$data = [$user, $agent, $ticket_number, $content, $from, $ticket_agent_name, $ticket_client_name, $ticket_client_email, $ticket_body, $ticket_assigner, $ticket_link_with_number, $system_error, $agent_sign, $department_sign, $password_reset_link, $email_address, $user_password, $system_from, $system_link, $ticket_link]; $data = [$user, $agent, $ticket_number, $content, $from, $ticket_agent_name, $ticket_client_name, $ticket_client_email, $ticket_body, $ticket_assigner, $ticket_link_with_number, $system_error, $agent_sign, $department_sign, $password_reset_link, $email_address, $user_password, $system_from, $system_link, $ticket_link, $merged_ticket_numbers];
foreach ($variables as $key => $variable) { foreach ($variables as $key => $variable) {
$messagebody = str_replace($variables[$key], $data[$key], $contents); $messagebody = str_replace($variables[$key], $data[$key], $contents);

View File

@@ -426,10 +426,10 @@ Breadcrumbs::register('report.index', function ($breadcrumbs) {
$breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard')); $breadcrumbs->push(Lang::get('lang.dashboard'), route('dashboard'));
}); });
Breadcrumbs::register('home', function ($breadcrumbs) { Breadcrumbs::register('home', function ($breadcrumbs) {
$breadcrumbs->push('Home', route('home')); $breadcrumbs->push(Lang::get('lang.home'), route('home'));
}); });
Breadcrumbs::register('/', function ($breadcrumbs) { Breadcrumbs::register('/', function ($breadcrumbs) {
$breadcrumbs->push('Home', route('/')); $breadcrumbs->push(Lang::get('lang.home'), route('/'));
}); });
Breadcrumbs::register('form', function ($breadcrumbs) { Breadcrumbs::register('form', function ($breadcrumbs) {
$breadcrumbs->push('Create Ticket', route('form')); $breadcrumbs->push('Create Ticket', route('form'));

View File

@@ -33,7 +33,7 @@ return [
| This tells about aplication current version. | This tells about aplication current version.
| |
*/ */
'version' => 'Community 1.9.0', 'version' => 'Community 1.9.2',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Application Name | Application Name

View File

@@ -1994,6 +1994,7 @@ class DatabaseSeeder extends Seeder
TemplateType::create(['id' => '11', 'name' => 'registration']); TemplateType::create(['id' => '11', 'name' => 'registration']);
TemplateType::create(['id' => '12', 'name' => 'team_assign_ticket']); TemplateType::create(['id' => '12', 'name' => 'team_assign_ticket']);
TemplateType::create(['id' => '13', 'name' => 'reset_new_password']); TemplateType::create(['id' => '13', 'name' => 'reset_new_password']);
TemplateType::create(['id' => '14', 'name' => 'merge-ticket-notification']);
Template::create(['id' => '1', 'variable' => '0', 'name' => 'This template is for sending notice to agent when ticket is assigned to them', 'type' => '1', 'message' => '<div>Hello {!!$ticket_agent_name!!},<br /><br /><b>Ticket No:</b> {!!$ticket_number!!}<br />Has been assigned to you by {!!$ticket_assigner!!} <br/> Please check and resppond on the ticket.<br /> Link: {!!$ticket_link!!}<br /><br />Thank You<br />Kind Regards,<br /> {!!$system_from!!}</div>', 'set_id' => '1']); Template::create(['id' => '1', 'variable' => '0', 'name' => 'This template is for sending notice to agent when ticket is assigned to them', 'type' => '1', 'message' => '<div>Hello {!!$ticket_agent_name!!},<br /><br /><b>Ticket No:</b> {!!$ticket_number!!}<br />Has been assigned to you by {!!$ticket_assigner!!} <br/> Please check and resppond on the ticket.<br /> Link: {!!$ticket_link!!}<br /><br />Thank You<br />Kind Regards,<br /> {!!$system_from!!}</div>', 'set_id' => '1']);
Template::create(['id' => '2', 'variable' => '1', 'name' => 'This template is for sending notice to client with ticket link to check ticket without logging in to system', 'type' => '2', 'subject' => 'Check your Ticket', 'message' => '<div>Hello {!!$user!!},<br/><br/>Click the link below to view your requested ticket<br/> {!!$ticket_link_with_number!!}<br/><br/>Kind Regards,<br/> {!!$system_from!!}</div>', 'set_id' => '1']); Template::create(['id' => '2', 'variable' => '1', 'name' => 'This template is for sending notice to client with ticket link to check ticket without logging in to system', 'type' => '2', 'subject' => 'Check your Ticket', 'message' => '<div>Hello {!!$user!!},<br/><br/>Click the link below to view your requested ticket<br/> {!!$ticket_link_with_number!!}<br/><br/>Kind Regards,<br/> {!!$system_from!!}</div>', 'set_id' => '1']);
@@ -2008,6 +2009,7 @@ class DatabaseSeeder extends Seeder
Template::create(['id' => '11', 'variable' => '1', 'name' => 'This template is for sending notice to client about registration confirmation link', 'type' => '11', 'subject' => 'Verify your email address', 'message' => '<p>Hello {!!$user!!}, </p><p>This email is confirmation that you are now registered at our helpdesk.</p><p><b>Registered Email:</b> {!!$email_address!!}</p><p>Please click on the below link to activate your account and Login to the system {!!$password_reset_link!!}</p><p>Thank You.</p><p>Kind Regards,</p><p> {!!$system_from!!} </p>', 'set_id' => '1']); Template::create(['id' => '11', 'variable' => '1', 'name' => 'This template is for sending notice to client about registration confirmation link', 'type' => '11', 'subject' => 'Verify your email address', 'message' => '<p>Hello {!!$user!!}, </p><p>This email is confirmation that you are now registered at our helpdesk.</p><p><b>Registered Email:</b> {!!$email_address!!}</p><p>Please click on the below link to activate your account and Login to the system {!!$password_reset_link!!}</p><p>Thank You.</p><p>Kind Regards,</p><p> {!!$system_from!!} </p>', 'set_id' => '1']);
Template::create(['id' => '12', 'variable' => '1', 'name' => 'This template is for sending notice to team when ticket is assigned to team', 'type' => '12', 'message' => '<div>Hello {!!$ticket_agent_name!!},<br /><br /><b>Ticket No:</b> {!!$ticket_number!!}<br />Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} <br /><br />Thank You<br />Kind Regards,<br />{!!$system_from!!}</div>', 'set_id' => '1']); Template::create(['id' => '12', 'variable' => '1', 'name' => 'This template is for sending notice to team when ticket is assigned to team', 'type' => '12', 'message' => '<div>Hello {!!$ticket_agent_name!!},<br /><br /><b>Ticket No:</b> {!!$ticket_number!!}<br />Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} <br /><br />Thank You<br />Kind Regards,<br />{!!$system_from!!}</div>', 'set_id' => '1']);
Template::create(['id' => '13', 'variable' => '1', 'name' => 'This template is for sending notice to client when password is changed', 'type' => '13', 'subject' => 'Verify your email address', 'message' => 'Hello {!!$user!!},<br /><br />Your password is successfully changed.Your new password is : {!!$user_password!!}<br /><br />Thank You.<br /><br />Kind Regards,<br /> {!!$system_from!!}', 'set_id' => '1']); Template::create(['id' => '13', 'variable' => '1', 'name' => 'This template is for sending notice to client when password is changed', 'type' => '13', 'subject' => 'Verify your email address', 'message' => 'Hello {!!$user!!},<br /><br />Your password is successfully changed.Your new password is : {!!$user_password!!}<br /><br />Thank You.<br /><br />Kind Regards,<br /> {!!$system_from!!}', 'set_id' => '1']);
Template::create(['id' => '14', 'variable' => '1', 'name' => 'This template is to notify users when their tickets are merged.', 'type' => '14', 'subject' => 'Your tickets have been merged.', 'message' => '<p>Hello {!!$user!!},<br />&nbsp;</p><p>Your ticket(s) with ticket number {!!$merged_ticket_numbers!!} have been closed and&nbsp;merged with <a href="{!!$ticket_link!!}">{!!$ticket_number!!}</a>.&nbsp;</p><p>Possible reasons for merging tickets</p><ul><li>Tickets are duplicate</li<li>Tickets state&nbsp;the same issue</li><li>Another member from your organization has created a ticket for the same issue</li></ul><p><a href="{!!$system_link!!}">Click here</a> to login to your account and check your tickets.</p><p>Regards,</p><p>{!!$system_from!!}</p>', 'set_id' => '1']);
/* /*
* All the common settings will be listed here * All the common settings will be listed here

Binary file not shown.

View File

@@ -1,3 +1,38 @@
|======================================================
|v1.9.2
|======================================================
Bug Fixes
Corrected notification counts
Fixed canned response error
Correct message for registration
Removed routes of PRO features
Exception handling while adding language
Showing agents in alphabetical order in various drop down menus
Handling the case when agent/admin adds same owner while changing ticket's owner
Fixed priority and auto assignment while creating ticket form cleint panel
Fixed typos in english language translation
Fixed counts of tickets of every categroy
Removed duplicate option from top nav bar
Fixed empty database check while installation
Assigning team leader in a team while creating new team
Fixed #361
Enhancements
Sending email notfications to users while merging their duplicate tickets
Implemented Yajra in users table
Custom filter and search option in users table
Check if JavaScript is enabled or not while installation
Put max execution time and "mbstring" extension check while installation
|========================================================
| Upgrade giude
|========================================================
Follow this wiki article to upgrade your Faveo system
https://github.com/ladybirdweb/faveo-helpdesk/wiki/Upgrade-guide-for-v1.9.2
|======================================================= |=======================================================
| v1.9.1 | v1.9.1
|======================================================= |=======================================================

View File

@@ -1146,4 +1146,16 @@ return [
'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.', 'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.',
'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.', 'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.',
//update 18-12-2016
'account-created-contact-admin-as-we-were-not-able-to-send-opt' => 'Your account has been created successfully. Please contact admin for account activation as we were not able to send you an OPT code.',
//update 19-12-2016
'only-agents' => 'Agent users',
'only-users' => 'Clients users',
'banned-users' => 'Banned users',
'inactive-users' => 'Inactive users',
'all-users' => 'All users',
'search' => 'Search...',
//update 21-12-2016
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
]; ];

View File

@@ -106,7 +106,7 @@ return [
*/ */
'i_know_my_password' => 'I know my password', 'i_know_my_password' => 'I know my password',
'recover_passord' => 'Recover password', 'recover_passord' => 'Recover password',
'send_password_reset_link' => 'Send pasword reset link', 'send_password_reset_link' => 'Send password reset link',
'enter_email_to_reset_password' => 'Enter email/mobile number to reset password', 'enter_email_to_reset_password' => 'Enter email/mobile number to reset password',
'link' => 'Link', 'link' => 'Link',
'email_or_mobile' => 'Email or mobile', 'email_or_mobile' => 'Email or mobile',
@@ -474,7 +474,7 @@ return [
'default' => 'default', 'default' => 'default',
'language-settings' => 'Language settings', 'language-settings' => 'Language settings',
'iso-code' => 'ISO-CODE', 'iso-code' => 'ISO-CODE',
'download' => 'Downlaod', 'download' => 'Download',
'upload_file' => 'Upload file', 'upload_file' => 'Upload file',
'enter_iso-code' => 'Enter ISO code', 'enter_iso-code' => 'Enter ISO code',
'eg.' => 'Example', 'eg.' => 'Example',
@@ -493,8 +493,8 @@ return [
'delete-success' => 'Language package deleted successfully.', 'delete-success' => 'Language package deleted successfully.',
'lang-doesnot-exist' => 'Language package does not exist.', 'lang-doesnot-exist' => 'Language package does not exist.',
'active-lang-error' => 'Language package can not be deleted when it is active.', 'active-lang-error' => 'Language package can not be deleted when it is active.',
'language-error' => 'Language package not found in your lang directroy.', 'language-error' => 'Language package not found in your lang directory.',
'lang-fallback-lang' => 'Cannot delete system\'s defualt fallback language', 'lang-fallback-lang' => 'Can not delete system\'s defualt fallback language',
/* /*
|-------------------------------------- |--------------------------------------
@@ -550,7 +550,7 @@ return [
'SLA_plan' => 'SLA plan', 'SLA_plan' => 'SLA plan',
'sla-plans' => 'SLA plans', 'sla-plans' => 'SLA plans',
'auto_assign' => 'Auto assign', 'auto_assign' => 'Auto assign',
'auto_respons' => 'Auto respons', 'auto_respons' => 'Auto response',
'ticket_number_format' => 'Ticket number format', 'ticket_number_format' => 'Ticket number format',
'system_default' => 'System default', 'system_default' => 'System default',
'custom' => 'Custom', 'custom' => 'Custom',
@@ -807,7 +807,7 @@ return [
'outgoing_emails' => 'Outgoing emails', 'outgoing_emails' => 'Outgoing emails',
'outgoing_email' => 'Outgoing email', 'outgoing_email' => 'Outgoing email',
'template_set' => 'Template set', 'template_set' => 'Template set',
'auto_responding_settings' => 'Auto-Responding settigs', 'auto_responding_settings' => 'Auto-Responding settings',
'disable_for_this_department' => 'Disable for this department', 'disable_for_this_department' => 'Disable for this department',
'auto_response_email' => 'Auto-Response email', 'auto_response_email' => 'Auto-Response email',
'recipient' => 'Recipient', 'recipient' => 'Recipient',
@@ -819,14 +819,14 @@ return [
'edit_department' => 'Edit department', 'edit_department' => 'Edit department',
'select_a_sla' => 'Select a SLA', 'select_a_sla' => 'Select a SLA',
'select_a_manager' => 'Select a manager', 'select_a_manager' => 'Select a manager',
'department_created_sucessfully' => 'Department created sucessfully', 'department_created_sucessfully' => 'Department created successfully',
'failed_to_create_department' => 'Failed to create department', 'failed_to_create_department' => 'Failed to create department',
'department_updated_sucessfully' => 'Department updated sucessfully', 'department_updated_sucessfully' => 'Department updated successfully',
'department_not_updated' => 'Department not updated', 'department_not_updated' => 'Department not updated',
'you_cannot_delete_default_department' => 'You cannot delete default department', 'you_cannot_delete_default_department' => 'You cannot delete default department',
'have_been_moved_to_default_department' => 'have been moved to default department', 'have_been_moved_to_default_department' => 'have been moved to default department',
'the_associated_helptopic_has_been_deactivated' => 'The associated helptopic has been deactivated', 'the_associated_helptopic_has_been_deactivated' => 'The associated helptopic has been deactivated',
'department_deleted_sucessfully' => 'Department deleted sucessfully', 'department_deleted_sucessfully' => 'Department deleted successfully',
'department_can_not_delete' => 'Department can not be deleted', 'department_can_not_delete' => 'Department can not be deleted',
'select_a_department' => 'Select a department', 'select_a_department' => 'Select a department',
'make-default-department' => 'Make system\'s default department', 'make-default-department' => 'Make system\'s default department',
@@ -1104,7 +1104,7 @@ return [
'submit' => 'Submit', 'submit' => 'Submit',
'max' => 'Maximum file size', 'max' => 'Maximum file size',
'add_cc' => 'Add CC', 'add_cc' => 'Add CC',
'recepients' => 'Recepients', 'recepients' => 'Recipients',
'select_a_canned_response' => 'Select a canned response', 'select_a_canned_response' => 'Select a canned response',
'assign_to' => 'Assign to', 'assign_to' => 'Assign to',
'detail' => 'Detail', 'detail' => 'Detail',
@@ -1118,7 +1118,7 @@ return [
'minutes' => ' minutes', 'minutes' => ' minutes',
'in_minutes' => 'In minutes', 'in_minutes' => 'In minutes',
'add_another_owner' => 'Add another owner', 'add_another_owner' => 'Add another owner',
'user-not-found' => 'User not found. Try again or add a new user.', 'user-not-found' => 'User not found or user is inactive. Try again or add a new user.',
'change-success' => 'Success! owner has been changed for this ticket.', 'change-success' => 'Success! owner has been changed for this ticket.',
'user-exists' => 'User already exists. Try search existing user.', 'user-exists' => 'User already exists. Try search existing user.',
'valid-email' => 'Enter a valid email address.', 'valid-email' => 'Enter a valid email address.',
@@ -1137,7 +1137,7 @@ return [
'merge-success' => 'Tickets have been merged successfully.', 'merge-success' => 'Tickets have been merged successfully.',
'merge-error2' => 'Please select ticket to merge.', 'merge-error2' => 'Please select ticket to merge.',
'select-tickets-to merge' => 'Select two or more tickets to merge.', 'select-tickets-to merge' => 'Select two or more tickets to merge.',
'different-users' => 'Ticktes from different users', 'different-users' => 'Selected tickets are from different users',
'clean-up' => 'Delete forever', 'clean-up' => 'Delete forever',
'hard-delete-success-message' => 'Tickets have been deleted permanently.', 'hard-delete-success-message' => 'Tickets have been deleted permanently.',
'overdue' => 'Overdue', 'overdue' => 'Overdue',
@@ -1364,11 +1364,11 @@ return [
'Send' => 'SEND', 'Send' => 'SEND',
'no_article' => 'No article', 'no_article' => 'No article',
'profile_settings' => 'Profile settings', 'profile_settings' => 'Profile settings',
'please_fill_all_required_feilds' => 'Please fill all required feilds.', 'please_fill_all_required_feilds' => 'Please fill all required fields.',
'successfully_replied' => 'Successfully replied', 'successfully_replied' => 'Successfully replied',
'please_fill_some_data' => 'Please fill some data!', 'please_fill_some_data' => 'Please fill some data!',
'profile_updated_sucessfully' => 'Profile updated sucessfully', 'profile_updated_sucessfully' => 'Profile updated sucessfully',
'password_updated_sucessfully' => 'Password updated sucessfully', 'password_updated_sucessfully' => 'Password updated successfully',
'password_was_not_updated_incorrect_old_password' => 'Password was not updated. Incorrect old password', 'password_was_not_updated_incorrect_old_password' => 'Password was not updated. Incorrect old password',
'there_is_no_such_ticket_number' => 'There is no such ticket number', 'there_is_no_such_ticket_number' => 'There is no such ticket number',
"email_didn't_match_with_ticket_number" => "Email didn't match with ticket number", "email_didn't_match_with_ticket_number" => "Email didn't match with ticket number",
@@ -1546,9 +1546,9 @@ return [
'change_password' => 'Change password', 'change_password' => 'Change password',
'role_change' => 'Role change', 'role_change' => 'Role change',
'password_generator' => 'Password generator', 'password_generator' => 'Password generator',
'depertment' => 'Depertment', 'depertment' => 'Department',
'duetoday' => 'Due today', 'duetoday' => 'Due today',
'today-due_tickets' => 'Today\'s due ticekts', 'today-due_tickets' => 'Today\'s due tickets',
'password_change_successfully' => 'Password changed successfully', 'password_change_successfully' => 'Password changed successfully',
'role_change_successfully' => 'Role changed successfully', 'role_change_successfully' => 'Role changed successfully',
'user_delete_successfully' => 'User deleted successfully', 'user_delete_successfully' => 'User deleted successfully',
@@ -1583,4 +1583,15 @@ return [
'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.', 'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.',
'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.', 'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.',
//update 18-12-2016
'account-created-contact-admin-as-we-were-not-able-to-send-opt' => 'Your account has been created successfully. Please contact admin for account activation as we were not able to send you an OTP code.',
//update 19-12-2016
'only-agents' => 'Agent users',
'only-users' => 'Clients users',
'banned-users' => 'Banned users',
'inactive-users' => 'Inactive users',
'all-users' => 'All users',
'search' => 'Search...',
//update 21-12-2016
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
]; ];

View File

@@ -1554,4 +1554,16 @@ return [
'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.', 'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.',
'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.', 'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.',
//update 18-12-2016
'account-created-contact-admin-as-we-were-not-able-to-send-opt' => 'Your account has been created successfully. Please contact admin for account activation as we were not able to send you an OPT code.',
//update 19-12-2016
'only-agents' => 'Agent users',
'only-users' => 'Clients users',
'banned-users' => 'Banned users',
'inactive-users' => 'Inactive users',
'all-users' => 'All users',
'search' => 'Search...',
//update 21-12-2016
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
]; ];

View File

@@ -1105,4 +1105,16 @@ return [
'restore-user' => 'Restore user account', 'restore-user' => 'Restore user account',
'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.', 'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.',
'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.', 'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.',
//update 18-12-2016
'account-created-contact-admin-as-we-were-not-able-to-send-opt' => 'Your account has been created successfully. Please contact admin for account activation as we were not able to send you an OPT code.',
//update 19-12-2016
'only-agents' => 'Agent users',
'only-users' => 'Clients users',
'banned-users' => 'Banned users',
'inactive-users' => 'Inactive users',
'all-users' => 'All users',
'search' => 'Search...',
//update 21-12-2016
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
]; ];

View File

@@ -1599,4 +1599,16 @@ return [
'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.', 'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.',
'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.', 'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.',
//update 18-12-2016
'account-created-contact-admin-as-we-were-not-able-to-send-opt' => 'Your account has been created successfully. Please contact admin for account activation as we were not able to send you an OPT code.',
//update 19-12-2016
'only-agents' => 'Agent users',
'only-users' => 'Clients users',
'banned-users' => 'Banned users',
'inactive-users' => 'Inactive users',
'all-users' => 'All users',
'search' => 'Search...',
//update 21-12-2016
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
]; ];

View File

@@ -1544,4 +1544,17 @@ return [
'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.', 'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.',
'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.', 'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.',
//update 18-12-2016
'account-created-contact-admin-as-we-were-not-able-to-send-opt' => 'Your account has been created successfully. Please contact admin for account activation as we were not able to send you an OPT code.',
//update 19-12-2016
'only-agents' => 'Agent users',
'only-users' => 'Clients users',
'banned-users' => 'Banned users',
'inactive-users' => 'Inactive users',
'all-users' => 'All users',
'search' => 'Search...',
//update 21-12-2016
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
]; ];

View File

@@ -1052,4 +1052,17 @@ return [
'restore-user' => 'Restore user account', 'restore-user' => 'Restore user account',
'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.', 'delete-account-caution-info' => 'Please note this account may still have open tickets in the system.',
'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.', 'reply-can-not-be-empty' => 'Reply can not be blank. Please enter your reply.',
//update 18-12-2016
'account-created-contact-admin-as-we-were-not-able-to-send-opt' => 'Your account has been created successfully. Please contact admin for account activation as we were not able to send you an OPT code.',
//update 19-12-2016
'only-agents' => 'Agent users',
'only-users' => 'Clients users',
'banned-users' => 'Banned users',
'inactive-users' => 'Inactive users',
'all-users' => 'All users',
'search' => 'Search...',
//update 21-12-2016
'selected-user-is-already-the-owner' => 'Selected user is already the owner of this ticket.',
]; ];

View File

@@ -61,7 +61,6 @@ class="active"
<!-- team lead --> <!-- team lead -->
<div class="col-xs-6 form-group {{ $errors->has('team_lead') ? 'has-error' : '' }}"> <div class="col-xs-6 form-group {{ $errors->has('team_lead') ? 'has-error' : '' }}">
{!! Form::label('team_lead',Lang::get('lang.team_lead')) !!} {!! Form::label('team_lead',Lang::get('lang.team_lead')) !!}
<?php $user = App\User::where('role', 'admin')->orWhere('role', 'agent')->get(); ?>
{!! Form::select('team_lead',[''=>Lang::get('lang.select_a_team_lead'), Lang::get('lang.members')=>$user->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!} {!! Form::select('team_lead',[''=>Lang::get('lang.select_a_team_lead'), Lang::get('lang.members')=>$user->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!}
</div> </div>
</div> </div>

View File

@@ -60,7 +60,6 @@ class="active"
<!-- team lead --> <!-- team lead -->
<div class="col-xs-6 form-group {{ $errors->has('team_lead') ? 'has-error' : '' }}"> <div class="col-xs-6 form-group {{ $errors->has('team_lead') ? 'has-error' : '' }}">
{!! Form::label('team_lead',Lang::get('lang.team_lead')) !!} {!! Form::label('team_lead',Lang::get('lang.team_lead')) !!}
<?php $user = App\User::where('role', 'admin')->orWhere('role', 'agent')->get(); ?>
{!! Form::select('team_lead',[''=>Lang::get('lang.select_a_team_lead'), Lang::get('lang.members')=>$user->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!} {!! Form::select('team_lead',[''=>Lang::get('lang.select_a_team_lead'), Lang::get('lang.members')=>$user->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!}
</div> </div>
</div> </div>

View File

@@ -137,7 +137,7 @@ class="active"
<div class="col-md-4"> <div class="col-md-4">
<div class="form-group {{ $errors->has('auto_assign') ? 'has-error' : '' }}"> <div class="form-group {{ $errors->has('auto_assign') ? 'has-error' : '' }}">
{!! Form::label('auto_assign',Lang::get('lang.auto_assign')) !!} {!! Form::label('auto_assign',Lang::get('lang.auto_assign')) !!}
{!!Form::select('auto_assign', [''=>Lang::get('lang.select_an_agent'),Lang::get('lang.agents')=>$agents->lists('first_name','id')->toArray()],null,['class' => 'form-control']) !!} {!!Form::select('auto_assign', [''=>Lang::get('lang.select_an_agent'),Lang::get('lang.agents')=>$agents->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -135,7 +135,7 @@ class="active"
<div class="col-md-4"> <div class="col-md-4">
<div class="form-group {{ $errors->has('auto_assign') ? 'has-error' : '' }}"> <div class="form-group {{ $errors->has('auto_assign') ? 'has-error' : '' }}">
{!! Form::label('auto_assign',Lang::get('lang.auto_assign')) !!} {!! Form::label('auto_assign',Lang::get('lang.auto_assign')) !!}
{!!Form::select('auto_assign', [''=>Lang::get('lang.select_an_agent'),Lang::get('lang.agents')=>$agents->lists('first_name','id')->toArray()],null,['class' => 'form-control']) !!} {!!Form::select('auto_assign', [''=>Lang::get('lang.select_an_agent'),Lang::get('lang.agents')=>$agents->lists('full_name','id')->toArray()],null,['class' => 'form-control']) !!}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -54,6 +54,11 @@ class="active"
</div><!-- /.modal --> </div><!-- /.modal -->
</div> </div>
<div class="box-body"> <div class="box-body">
<div class="alert alert-info alert-dismissable">
<i class="fa fa-info-circle"></i>
<b>{!! Lang::get('lang.plugin-info') !!}</b><br/>
<a href="http://www.faveohelpdesk.com/plugins/" target="_blank">{!!Lang::get('lang.click-here')!!}</a>&nbsp;{!!Lang::get('lang.plugin-info-pro')!!}
</div>
@if (count($errors) > 0) @if (count($errors) > 0)
<div class="alert alert-danger alert-dismissable"> <div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i> <i class="fa fa-ban"></i>

View File

@@ -278,7 +278,6 @@
<li @yield('auto-response')><a href="{{url('getresponder')}}"><i class="fa fa-reply-all"></i>{!! Lang::get('lang.auto_response') !!}</a></li> <li @yield('auto-response')><a href="{{url('getresponder')}}"><i class="fa fa-reply-all"></i>{!! Lang::get('lang.auto_response') !!}</a></li>
<li @yield('alert')><a href="{{url('getalert')}}"><i class="fa fa-bell"></i>{!! Lang::get('lang.alert_notices') !!}</a></li> <li @yield('alert')><a href="{{url('getalert')}}"><i class="fa fa-bell"></i>{!! Lang::get('lang.alert_notices') !!}</a></li>
<li @yield('status')><a href="{{url('setting-status')}}"><i class="fa fa-plus-square-o"></i>{!! Lang::get('lang.status') !!}</a></li> <li @yield('status')><a href="{{url('setting-status')}}"><i class="fa fa-plus-square-o"></i>{!! Lang::get('lang.status') !!}</a></li>
<li @yield('labels')><a href="{{url('labels')}}"><i class="fa fa-lastfm"></i>{!! Lang::get('lang.labels') !!}</a></li>
<li @yield('ratings')><a href="{{url('getratings')}}"><i class="fa fa-star"></i>{!! Lang::get('lang.ratings') !!}</a></li> <li @yield('ratings')><a href="{{url('getratings')}}"><i class="fa fa-star"></i>{!! Lang::get('lang.ratings') !!}</a></li>
<li @yield('close-workflow')><a href="{{url('close-workflow')}}"><i class="fa fa-sitemap"></i>{!! Lang::get('lang.close-workflow') !!}</a></li> <li @yield('close-workflow')><a href="{{url('close-workflow')}}"><i class="fa fa-sitemap"></i>{!! Lang::get('lang.close-workflow') !!}</a></li>
</ul> </ul>
@@ -297,7 +296,7 @@
<li @yield('cron')><a href="{{url('job-scheduler')}}"><i class="fa fa-hourglass"></i>{!! Lang::get('lang.cron') !!}</a></li> <li @yield('cron')><a href="{{url('job-scheduler')}}"><i class="fa fa-hourglass"></i>{!! Lang::get('lang.cron') !!}</a></li>
<li @yield('security')><a href="{{url('security')}}"><i class="fa fa-lock"></i>{!! Lang::get('lang.security') !!}</a></li> <li @yield('security')><a href="{{url('security')}}"><i class="fa fa-lock"></i>{!! Lang::get('lang.security') !!}</a></li>
<li @yield('notification')><a href="{{url('settings-notification')}}"><i class="fa fa-bell"></i>{!! Lang::get('lang.notifications') !!}</a></li> <li @yield('notification')><a href="{{url('settings-notification')}}"><i class="fa fa-bell"></i>{!! Lang::get('lang.notifications') !!}</a></li>
<li @yield('Approval')><a href="{{url('approval/settings')}}"><i class="glyphicon glyphicon-repeat"></i>{!! Lang::get('lang.approval') !!}</a></li> <li @yield('storage')><a href="{{url('storage')}}"><i class="fa fa-save"></i>{!! Lang::get('storage::lang.storage') !!}</a></li>
</ul> </ul>
</li> </li>
<li class="treeview @yield('error-bugs')"> <li class="treeview @yield('error-bugs')">

View File

@@ -38,9 +38,6 @@ class="active"
<link type="text/css" href="{{asset("lb-faveo/css/bootstrap-datetimepicker4.7.14.min.css")}}" rel="stylesheet"> <link type="text/css" href="{{asset("lb-faveo/css/bootstrap-datetimepicker4.7.14.min.css")}}" rel="stylesheet">
{{-- <script src="{{asset("lb-faveo/dist/js/bootstrap-datetimepicker4.7.14.min.js")}}" type="text/javascript"></script> --}} {{-- <script src="{{asset("lb-faveo/dist/js/bootstrap-datetimepicker4.7.14.min.js")}}" type="text/javascript"></script> --}}
<div class="row"> <div class="row">
<?php
$overdue_ticket = count($overdues);
?>
<!-- <div class="col-md-3 col-sm-6 col-xs-12"> --> <!-- <div class="col-md-3 col-sm-6 col-xs-12"> -->
<div class="col-md-2" style="width:20%;"> <div class="col-md-2" style="width:20%;">
<a href="{!! route('inbox.ticket') !!}"> <a href="{!! route('inbox.ticket') !!}">
@@ -75,18 +72,8 @@ class="active"
<div class="info-box"> <div class="info-box">
<span class="info-box-icon bg-red"><i class="fa fa-calendar-times-o"></i></span> <span class="info-box-icon bg-red"><i class="fa fa-calendar-times-o"></i></span>
<div class="info-box-content"> <div class="info-box-content">
<?php
if (Auth::user()->role == 'admin') {
$overdue_ticket = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('tickets.duedate','<', \Carbon\Carbon::now())->count();
} else {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$overdue_ticket = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('tickets.duedate','<', \Carbon\Carbon::now())->where('dept_id', '=', $dept->id)->count();
}
?>
<span class="info-box-text">{!! Lang::get('lang.overdue') !!}</span> <span class="info-box-text">{!! Lang::get('lang.overdue') !!}</span>
<span class="info-box-number">{{ $overdue_ticket }} <small> Tickets</small></span> <span class="info-box-number">{{ $overdues->count() }} <small> Tickets</small></span>
</div><!-- /.info-box-content --> </div><!-- /.info-box-content -->
</div><!-- /.info-box --> </div><!-- /.info-box -->
</a> </a>

View File

@@ -45,17 +45,15 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::select('id', 'name')->where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::select('id', 'name')->where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::whereIn('status', array(1, 7))->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->paginate(20);
$dept_name = $dept->name; $dept_name = $dept->name;
} else { } else {
$dept_name = \Request::segments()[1]; $dept_name = \Request::segments()[1];
$tickets = App\Model\helpdesk\Ticket\Tickets::whereIn('status', array(1, 7))->orderBy('id', 'DESC')->paginate(20);
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{!! $dept_name !!} / {!! $status !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! $dept_name !!} / {!! $status !!} </h3>
</div><!-- /.box-header --> </div><!-- /.box-header -->
<div class="box-body "> <div class="box-body ">

View File

@@ -46,15 +46,15 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 1)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 1)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 1)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 1)->orderBy('id', 'DESC')->count();
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.answered') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! Lang::get('lang.answered') !!} </h3> <small id="title_refresh">{!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<div class="has-feedback"> <div class="has-feedback">
</div> </div>

View File

@@ -46,15 +46,15 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$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')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('assigned_to', '>', 0)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('assigned_to', '>', 0)->orderBy('id', 'DESC')->count();
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title"> {!! Lang::get('lang.assigned') !!} </h3> <small id="title_refresh"> {!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title"> {!! Lang::get('lang.assigned') !!} </h3> <small id="title_refresh"> {!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
</div><!-- /.box-header --> </div><!-- /.box-header -->
<div class="box-body"> <div class="box-body">
@if(Session::has('success')) @if(Session::has('success'))

View File

@@ -46,15 +46,15 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '>', 1)->where('dept_id', '=', $dept->id)->where('status', '<', 4)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '>', 1)->where('dept_id', '=', $dept->id)->where('status', '<', 4)->orderBy('id', 'DESC')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '>', 1)->where('status', '<', 4)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '>', 1)->where('status', '<', 4)->orderBy('id', 'DESC')->count();
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title"> {!! Lang::get('lang.closed') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title"> {!! Lang::get('lang.closed') !!} </h3> <small id="title_refresh">{!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
</div><!-- /.box-header --> </div><!-- /.box-header -->
<div class="box-body"> <div class="box-body">
@if(Session::has('success')) @if(Session::has('success'))

View File

@@ -48,23 +48,14 @@ class="active"
$todaytickets = count(App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->whereRaw('date(duedate) = ?', [date('Y-m-d')])->get()); $todaytickets = count(App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->whereRaw('date(duedate) = ?', [date('Y-m-d')])->get());
} else { } else {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$todaytickets = count(App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->whereRaw('date(duedate) = ?', [date('Y-m-d')])->where('dept_id', '=', $dept->id)->get()); $todaytickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->whereRaw('date(duedate) = ?', [date('Y-m-d')])->where('dept_id', '=', $dept->id)->count();
} }
?> ?>
<!-- //no need --> <!-- //no need -->
<?php
$date_time_format = UTC::getDateTimeFormat();
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('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->paginate(20);
} else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->paginate(20);
}
?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.open') !!} </h3> <small id="title_refresh">{!! $todaytickets !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! Lang::get('lang.duetoday') !!} </h3> <small id="title_refresh">{!! $todaytickets !!} {!! Lang::get('lang.tickets') !!}</small>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<div class="has-feedback"> <div class="has-feedback">
</div> </div>

View File

@@ -45,15 +45,15 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::whereIn('status', array(1, 7))->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::whereIn('status', array(1, 7))->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::whereIn('status', array(1, 7))->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::whereIn('status', array(1, 7))->orderBy('id', 'DESC')->count();
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.inbox') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! Lang::get('lang.inbox') !!} </h3> <small id="title_refresh">{!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
</div><!-- /.box-header --> </div><!-- /.box-header -->
<div class="box-body "> <div class="box-body ">

View File

@@ -44,15 +44,15 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('assigned_to', '=', Auth::user()->id)->orderBy('id', 'ASC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('assigned_to', '=', Auth::user()->id)->orderBy('id', 'ASC')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('assigned_to', '=', Auth::user()->id)->orderBy('id', 'ASC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('assigned_to', '=', Auth::user()->id)->orderBy('id', 'ASC')->count();
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.my_tickets') !!}</h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! Lang::get('lang.my_tickets') !!}</h3> <small id="title_refresh">{!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
</div><!-- /.box-header --> </div><!-- /.box-header -->
<div class="box-body"> <div class="box-body">

View File

@@ -46,15 +46,15 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $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('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')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->count();
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-primary"> <div class="box box-primary">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.open') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! Lang::get('lang.open') !!} </h3> <small id="title_refresh">{!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<div class="has-feedback"> <div class="has-feedback">
</div> </div>

View File

@@ -41,38 +41,20 @@ class="active"
@stop @stop
@section('content') @section('content')
<?php <?php
// $date_time_format = UTC::getDateTimeFormat();
// if (Auth::user()->role == 'agent') {
// $dept = \App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
// $overdues = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->get();
// } else {
// $overdues = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->get();
// }
// $i = count($overdues);
// if ($i == 0) {
// $overdue_ticket = 0;
// } else {
// $j = 0;
// foreach ($overdues as $overdue) {
// $sla_plan = App\Model\helpdesk\Manage\Sla_plan::where('id', '=', $overdue->sla)->first();
// $ovadate = $overdue->created_at;
// $new_date = date_add($ovadate, date_interval_create_from_date_string($sla_plan->grace_period)) . '<br/><br/>';
// if (date('Y-m-d H:i:s') > $new_date) {
// $j++;
// //$value[] = $overdue;
// }
// }
// // dd(count($value));
// if ($j > 0) {
// $overdue_ticket = $j;
// } else {
// $overdue_ticket = 0;
// }
// }
$overdue_ticket=App\Model\helpdesk\Ticket\Tickets::where('tickets.duedate','<', \Carbon\Carbon::now())->count(); $otickets = App\Model\helpdesk\Ticket\Tickets::where('tickets.status', '=', 1)
->where('tickets.isanswered', '=', 0)
->whereNotNull('tickets.duedate')
->where('tickets.duedate', '!=', '00-00-00 00:00:00')
// ->where('duedate','>',\Carbon\Carbon::now());
->where('tickets.duedate', '<', \Carbon\Carbon::now());
if (\Auth::user()->role === 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$otickets = $otickets->where('dept_id', '=', $dept->id);
}
$overdue_ticket = $otickets->count();
?> ?>
<!-- Main content --> <!-- Main content -->

View File

@@ -397,14 +397,14 @@ if ($thread->title != "") {
<label>{!! Lang::get('lang.response') !!}</label> <label>{!! Lang::get('lang.response') !!}</label>
</div> </div>
<div class="col-md-10"> <div class="col-md-10">
<select class="form-control" style="width:55%" id="select"> <select class="form-control" style="width:55%" id="select" onchange="addCannedResponse()">
<?php <?php
$canneds = App\Model\helpdesk\Agent_panel\Canned::where('user_id', '=', Auth::user()->id)->get(); $canneds = App\Model\helpdesk\Agent_panel\Canned::where('user_id', '=', Auth::user()->id)->get();
?> ?>
<option value="zzz">{!! Lang::get('lang.select_a_canned_response') !!}</option> <option value="zzz">{!! Lang::get('lang.select_a_canned_response') !!}</option>
@foreach($canneds as $canned) @foreach($canneds as $canned)
<option value="{!! $canned->id !!}" >{!! $canned->title !!}</option> <option value="{!! $canned->message !!}" >{!! $canned->title !!}</option>
@endforeach @endforeach
{{-- <option>Last Message</option> --}} {{-- <option>Last Message</option> --}}
</select> </select>
@@ -948,7 +948,7 @@ alert(h+20);
<div class="tab-pane active" id="ahah1"> <div class="tab-pane active" id="ahah1">
<div id="change_alert" class="alert alert-danger alert-dismissable" style="display:none;"> <div id="change_alert" class="alert alert-danger alert-dismissable" style="display:none;">
<button id="change_dismiss" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> <button id="change_dismiss" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i>Alert!</h4> <h4><i class="icon fa fa-exclamation-circle"></i>Alert!</h4>
<div id="message-success42"></div> <div id="message-success42"></div>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@@ -1054,7 +1054,7 @@ alert(h+20);
<p>{!! Lang::get('lang.whome_do_you_want_to_assign_ticket') !!}?</p> <p>{!! Lang::get('lang.whome_do_you_want_to_assign_ticket') !!}?</p>
<select id="asssign" class="form-control" name="assign_to"> <select id="asssign" class="form-control" name="assign_to">
<?php <?php
$assign = App\User::where('role', '!=', 'user')->where('active', '=', '1')->get(); $assign = App\User::where('role', '!=', 'user')->where('active', '=', '1')->orderBy('first_name')->get();
$count_assign = count($assign); $count_assign = count($assign);
$teams = App\Model\helpdesk\Agent\Teams::where('status', '=', '1')->get(); $teams = App\Model\helpdesk\Agent\Teams::where('status', '=', '1')->get();
$count_teams = count($teams); $count_teams = count($teams);
@@ -1645,10 +1645,12 @@ alert(h+20);
$("#change_loader").show(); $("#change_loader").show();
}, },
success: function(response) { success: function(response) {
if (response != 1) if (response != 1) {
{
// $("#assign_body").show(); // $("#assign_body").show();
var message = "{{Lang::get('lang.user-not-found')}}"; var message = "{{Lang::get('lang.user-not-found')}}";
if (response == 400) {
message = "{{Lang::get('lang.selected-user-is-already-the-owner')}}";
}
$('#change_alert').show(); $('#change_alert').show();
$('#message-success42').html(message); $('#message-success42').html(message);
setInterval(function(){$("#change_alert").hide(); }, 5000); setInterval(function(){$("#change_alert").hide(); }, 5000);
@@ -2210,5 +2212,20 @@ echo $ticket_data->title;
$(this).html($('<span />').width(Math.max(0, (Math.min(5, parseFloat($(this).html())))) * 16)); $(this).html($('<span />').width(Math.max(0, (Math.min(5, parseFloat($(this).html())))) * 16));
}); });
} }
function addCannedResponse() {
var selectedResponse = document.getElementById( "select" );
var response = selectedResponse.options[selectedResponse.selectedIndex ].value;
if (response == 'zzz') {
for ( instance in CKEDITOR.instances ){
CKEDITOR.instances[instance].updateElement();
CKEDITOR.instances[instance].setData('');
}
} else {
for ( instance in CKEDITOR.instances ) {
CKEDITOR.instances[instance].insertHtml(response);
}
}
}
</script> </script>
@stop @stop

View File

@@ -44,15 +44,15 @@ class="active"
// $date_time_format = UTC::getDateTimeFormat(); // $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 5)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 5)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 5)->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 5)->orderBy('id', 'DESC')->count();
} }
?> ?>
<!-- Main content --> <!-- Main content -->
<div class="box box-warning"> <div class="box box-warning">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{!! Lang::get('lang.trash') !!} </h3> <small id="title_refresh">{!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! Lang::get('lang.trash') !!} </h3> <small id="title_refresh">{!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
</div><!-- /.box-header --> </div><!-- /.box-header -->
<div class="box-body"> <div class="box-body">
@if(Session::has('success')) @if(Session::has('success'))

View File

@@ -44,9 +44,9 @@ class="active"
$date_time_format = UTC::getDateTimeFormat(); $date_time_format = UTC::getDateTimeFormat();
if (Auth::user()->role == 'agent') { if (Auth::user()->role == 'agent') {
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first(); $dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
$tickets = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', null)->where('dept_id', '=', $dept->id)->where('status', '1')->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', null)->where('dept_id', '=', $dept->id)->where('status', '1')->orderBy('id', 'DESC')->count();
} else { } else {
$tickets = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', null)->where('status', '1')->orderBy('id', 'DESC')->paginate(20); $tickets = App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', null)->where('status', '1')->orderBy('id', 'DESC')->count();
} }
// dd($tickets); // dd($tickets);
?> ?>
@@ -54,7 +54,7 @@ if (Auth::user()->role == 'agent') {
<div class="box box-info"> <div class="box box-info">
<div class="box-header with-border"> <div class="box-header with-border">
<?php $counted = count(App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', 0)->get()); ?> <?php $counted = count(App\Model\helpdesk\Ticket\Tickets::where('assigned_to', '=', 0)->get()); ?>
<h3 class="box-title">{!! Lang::get('lang.unassigned') !!} </h3> <small id="title_refresh"> {!! $tickets->total() !!} {!! Lang::get('lang.tickets') !!}</small> <h3 class="box-title">{!! Lang::get('lang.unassigned') !!} </h3> <small id="title_refresh"> {!! $tickets !!} {!! Lang::get('lang.tickets') !!}</small>
</div><!-- /.box-header --> </div><!-- /.box-header -->
<div class="box-body"> <div class="box-body">
@if(Session::has('success')) @if(Session::has('success'))

View File

@@ -34,20 +34,32 @@ class="active"
<div class="box-header with-border"> <div class="box-header with-border">
<div class="row"> <div class="row">
<div>
<div class="col-md-6"> <div class="col-md-6">
<h3 class="box-title ">{{Lang::get('lang.user')}}</h3> <h3 class="box-title ">{{Lang::get('lang.user')}}</h3>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<div class="col-md-3"> <div class="col-md-5">
<div class="box-tools" style="width: 235px">
<div class="has-feedback">
<input type="text" class="form-control input-sm" id="search-text" name="search" placeholder="{{Lang::get('lang.search')}}" style="height:30px">
<span class="fa fa-search form-control-feedback"></span>
</div> </div>
<div class="col-md-9"> </div><!-- /.box-tools -->
</div>
<div class="col-md-7">
<div class="pull-right"> <div class="pull-right">
<div id="labels-div" class="btn-group"> <div id="labels-div" class="btn-group">
<button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" id="labels-button"><i class="fa fa-eye" style="color:teal;"> </i>{{Lang::get('lang.view-option')}}<span class="caret"></span> <button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown" id="labels-button"><i class="fa fa-eye" style="color:teal;">&nbsp;</i>{{Lang::get('lang.view-option')}}<span class="caret"></span>
</button> </button>
<ul class="dropdown-menu pull-right" role="menu"> <ul class="dropdown-menu role="menu">
<li><a href="#" class="active">{{Lang::get('lang.active-users')}}</a></li> <li class="active"><a href="#" class="all">{{Lang::get('lang.all-users')}}</a></li>
<li><a href="#" class="inactive">{{Lang::get('lang.deleted-users')}}</a></li> <li><a href="#" class="agents">{{Lang::get('lang.only-agents')}}</a></li>
<li><a href="#" class="users">{{Lang::get('lang.only-users')}}</a></li>
<li><a href="#" class="active-users">{{Lang::get('lang.active-users')}}</a></li>
<li><a href="#" class="inactive">{{Lang::get('lang.inactive-users')}}</a></li>
<li><a href="#" class="deleted">{{Lang::get('lang.deleted-users')}}</a></li>
<li><a href="#" class="banned">{{Lang::get('lang.banned-users')}}</a></li>
</ul> </ul>
</div> </div>
<a href="{{url('user-export')}}" class="btn btn-default btn-sm ">Export</a> <a href="{{url('user-export')}}" class="btn btn-default btn-sm ">Export</a>

View File

@@ -320,7 +320,7 @@
</aside> </aside>
<?php <?php
$agent_group = $auth_user_assign_group; $agent_group = $auth_user_assign_group;
$group = App\Model\helpdesk\Agent\Groups::where('id', '=', $agent_group)->where('group_status', '=', '1')->first(); $group = App\Model\helpdesk\Agent\Groups::where('id', '=', $agent_group)->first();
?> ?>
<!-- Right side column. Contains the navbar and content of the page --> <!-- Right side column. Contains the navbar and content of the page -->
<div class="content-wrapper"> <div class="content-wrapper">
@@ -344,10 +344,6 @@ $group = App\Model\helpdesk\Agent\Groups::where('id', '=', $agent_group)->where(
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li id="bar" @yield('open')><a href="{{ url('/ticket/open')}}" id="load-open">{!! Lang::get('lang.open') !!}</a></li> <li id="bar" @yield('open')><a href="{{ url('/ticket/open')}}" id="load-open">{!! Lang::get('lang.open') !!}</a></li>
<li id="bar" @yield('answered')><a href="{{ url('/ticket/answered')}}" id="load-answered">{!! Lang::get('lang.answered') !!}</a></li> <li id="bar" @yield('answered')><a href="{{ url('/ticket/answered')}}" id="load-answered">{!! Lang::get('lang.answered') !!}</a></li>
<li id="bar" @yield('myticket')><a href="{{ url('/ticket/myticket')}}" >{!! Lang::get('lang.my_tickets') !!}</a></li>
{{-- < li id = "bar" @yield('ticket') > < a href = "{{ url('ticket') }}" >Ticket</a></li> --}}
{{-- < li id = "bar" @yield('overdue') > < a href = "{{ url('/ticket/overdue') }}" >Overdue</a></li> --}}
<li id="bar" @yield('assigned')><a href="{{ url('/ticket/assigned')}}" id="load-assigned" >{!! Lang::get('lang.assigned') !!}</a></li> <li id="bar" @yield('assigned')><a href="{{ url('/ticket/assigned')}}" id="load-assigned" >{!! Lang::get('lang.assigned') !!}</a></li>
<li id="bar" @yield('closed')><a href="{{ url('/ticket/closed')}}" >{!! Lang::get('lang.closed') !!}</a></li> <li id="bar" @yield('closed')><a href="{{ url('/ticket/closed')}}" >{!! Lang::get('lang.closed') !!}</a></li>
<?php if ($group->can_create_ticket == 1) { ?> <?php if ($group->can_create_ticket == 1) { ?>

View File

@@ -156,15 +156,7 @@ class = "active"
$helptopic = App\Model\helpdesk\Manage\Help_topic::where('status', '=', 1)->get(); $helptopic = App\Model\helpdesk\Manage\Help_topic::where('status', '=', 1)->get();
?> ?>
<select name="helptopic" class="form-control" id="selectid"> <select name="helptopic" class="form-control" id="selectid">
<?php
$system_default_department = App\Model\helpdesk\Settings\System::where('id', '=', 1)->first();
if (isset($system_default_department->department)) {
$department_relation_helptopic = App\Model\helpdesk\Manage\Help_topic::where('department', '=', $system_default_department->department)->first();
$default_helptopic = $department_relation_helptopic->id;
} else {
$default_helptopic = 0;
}
?>
@foreach($helptopic as $topic) @foreach($helptopic as $topic)
<option value="{!! $topic->id !!}">{!! $topic->topic !!}</option> <option value="{!! $topic->id !!}">{!! $topic->topic !!}</option>
@endforeach @endforeach

View File

@@ -171,9 +171,13 @@
<div class="form-group pull-left"> <div class="form-group pull-left">
<input type="checkbox" name="remember"> {!! Lang::get("lang.remember") !!} <input type="checkbox" name="remember"> {!! Lang::get("lang.remember") !!}
</div> </div>
</div>
<div class="row">
<div class="col-md-12">
<button type="submit" class="btn btn-custom .btn-sm ">{!! Lang::get('lang.login') !!}</button> <button type="submit" class="btn btn-custom .btn-sm ">{!! Lang::get('lang.login') !!}</button>
{!! Form::close() !!} {!! Form::close() !!}
</div> </div>
</div>
{{Lang::get('lang.or')}} {{Lang::get('lang.or')}}
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">

View File

@@ -9,11 +9,12 @@ active
<div class="woocommerce-message woocommerce-tracker" > <div class="woocommerce-message woocommerce-tracker" >
<center id="fail" style="font-size: 1.3em">JavaScript Disabled!</center> <center id="fail" style="font-size: 1.3em">JavaScript Disabled!</center>
<p style="font-size:1.0em">Hello, Sparky! You are just few steps away from your support system. It looks like that JavaScript is disabled in your browser or not supported by your browser. FAVEO doesn't work properly without JavaScript, and it may cause errors in installation. Please check and enable JavaScript in your browser in order to install and run FAVEO to its full extent.</p> <p style="font-size:1.0em">Hello, Sparky! You are just a few steps away from your support system. It looks like that JavaScript is disabled in your browser or not supported by your browser. FAVEO doesn't work properly without JavaScript, and it may cause errors in installation. Please check and enable JavaScript in your browser in order to install and run FAVEO to its full extent.</p>
</div>
<p class="wc-setup-actions step"> <p class="wc-setup-actions step">
<a href="{!! $url !!}"><input type="submit" id="submitme" class="button-primary button button-large button-next" value="Reload" name="accept1"></a> Have you enabled JavaScript?&nbsp;
<a href="{!! $url !!}">Click here</a> to reload the page now.
</p> </p>
</div>
</noscript> </noscript>
</div> </div>

View File

@@ -12,37 +12,7 @@ active
@section('content') @section('content')
<?php //dd(ini_get('disable_functions')); ?> <div id="form-content">
<?php
// $sets = explode(",", ini_get('disable_functions'));
// $required_functions = ['escapeshellarg'];
// foreach ($sets as $key) {
// $key = trim($key);
// foreach ($required_functions as $value) {
// if($key == $value) {
// if (strpos(ini_get('disable_functions'), $key) !== false) {
// dd("found");
// } else {
// dd("not - found");
// }
// }
// }
// }
// dd($sets);
// // foreach ( as $key => $value) {
// // # code...
// // }
// if (strpos($to_check, $statement) !== false) {
// return true;
// } else {
// return false;
// }
?>
<div id="form-content">
<center><h1>Environment Test</h1></center> <center><h1>Environment Test</h1></center>
@if (Session::has('fail_to_change')) @if (Session::has('fail_to_change'))
<div class="woocommerce-message woocommerce-tracker" > <div class="woocommerce-message woocommerce-tracker" >
@@ -208,7 +178,7 @@ function validate_zend_compatibility_mode(&$results) {
function validate_extensions(&$results) { function validate_extensions(&$results) {
$ok = true; $ok = true;
$required_extensions = array('mcrypt', 'openssl', 'pdo', 'fileinfo', 'curl', 'zip'); $required_extensions = array('mcrypt', 'openssl', 'pdo', 'fileinfo', 'curl', 'zip', 'mbstring');
foreach ($required_extensions as $required_extension) { foreach ($required_extensions as $required_extension) {
if (extension_loaded($required_extension)) { if (extension_loaded($required_extension)) {
@@ -277,6 +247,16 @@ function checkDisabledFunctions(&$results) {
return $ok; return $ok;
} }
function checkMaxExecutiontime(&$results)
{
$ok = true;
if ((int)ini_get('max_execution_time') >= 120) {
$results[] = new TestResult("Maximum execution time is as per requirement.", STATUS_OK);
} else {
$results[] = new TestResult("Maximum execution time is too low. Recommneded execution time is 120 seconds ", STATUS_WARNING);
}
return $ok;
}
// --------------------------------------------------- // ---------------------------------------------------
// Do the magic // Do the magic
// --------------------------------------------------- // ---------------------------------------------------
@@ -288,6 +268,7 @@ $memory_ok = validate_memory_limit($results);
$extensions_ok = validate_extensions($results); $extensions_ok = validate_extensions($results);
$file_permission = checkFilePermission($results); $file_permission = checkFilePermission($results);
$required_functions = checkDisabledFunctions($results); $required_functions = checkDisabledFunctions($results);
$check_execution_time = checkMaxExecutiontime($results);
?> ?>
<p class="setup-actions step"> <p class="setup-actions step">
<?php <?php
@@ -297,7 +278,7 @@ foreach ($results as $result) {
?> ?>
</p> </p>
<?php <?php
if ($php_ok && $memory_ok && $extensions_ok && $file_permission && $required_functions) { if ($php_ok && $memory_ok && $extensions_ok && $file_permission && $required_functions && $check_execution_time) {
?> ?>
</div> </div>

View File

@@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta name="viewport" content="width=device-width">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Faveo HELPDESK</title>
<link rel="shortcut icon" href="{{asset("lb-faveo/media/images/favicon.ico")}}">
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" href="{{asset("lb-faveo/css/load-styles.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/css/css.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/css/admin.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/css/wc-setup.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/css/activation.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="{{asset("lb-faveo/css/style.css")}}" type="text/css" media="all">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="{{asset("lb-faveo/css/ggpopover.css")}}" rel="stylesheet"/>
<link rel="stylesheet" href="{{asset("lb-faveo/css/prism.css")}}">
<link rel="stylesheet" href="{{asset("lb-faveo/css/chosen.css")}}">
</head>
<body class="wc-setup wp-core-ui">
<center><h1 id="wc-logo"><a href="http://www.faveohelpdesk.com">
<img src="{{asset("lb-faveo/media/installer/faveo.png")}}" alt="faveo" width="
250px"></a></h1></center>
<div class="wc-setup-content">
@yield('content')
</div>
<p style="text-align: center;"> Copyright &copy; 2015 - <?php echo date('Y')?> · Ladybird Web Solution Pvt Ltd. All Rights Reserved. Powered by <a target="_blank" href="http://www.faveohelpdesk.com">Faveo </a></p>
<script src="{{asset("lb-faveo/js/ggpopover.js")}}"></script>
<script type="text/javascript">
$('[data-toggle="popover"]').ggpopover();
</script>
<!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script> -->
<script src="{{asset("lb-faveo/js/chosen.jquery.js")}}" type="text/javascript"></script>
<script src="{{asset("lb-faveo/js/prism.js")}}" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var config = {
'.chosen-select': {},
'.chosen-select-deselect': {
allow_single_deselect: true
},
'.chosen-select-no-single': {
disable_search_threshold: 10
},
'.chosen-select-no-results': {
no_results_text: 'Oops, nothing found!'
},
'.chosen-select-width': {
width: "95%"
}
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
</script>
</body>
</html>

View File

@@ -7,8 +7,9 @@ foreach($segments as $seg){
?> ?>
<script type="text/javascript"> <script type="text/javascript">
jQuery(document).ready(function () { jQuery(document).ready(function () {
var show = 'active'; var show = 'all';
oTable = myFunction(show); var searchTerm = '';
oTable = myFunction(show, searchTerm);
$("select[name=type_of_profile]").change(function () { $("select[name=type_of_profile]").change(function () {
//alert($('select[name=type_of_profile]').val()); //alert($('select[name=type_of_profile]').val());
@@ -19,29 +20,91 @@ foreach($segments as $seg){
function myFunction(show) function myFunction(show)
{ {
return jQuery('#chumper').dataTable({ return jQuery('#chumper').dataTable({
"sDom": "<'row'<'col-xs-6'l><'col-xs-6'>r>"+
"t"+
"<'row'<'col-xs-6'i><'col-xs-6'p>>",
"sPaginationType": "full_numbers", "sPaginationType": "full_numbers",
"bProcessing": true, "bProcessing": true,
"bServerSide": true,
"ajax": { "ajax": {
url: "{{url('user-list')}}", url: "{{url('user-list')}}",
data: function (d) { data: function (d) {
d.profiletype = show; d.profiletype = show;
d.searchTerm = searchTerm;
} }
} }
}); });
} }
$('.active').on('click', function(){ $('.all').on('click', function(){
show = 'active'; show = 'all';
$("#chumper").dataTable().fnDestroy(); classname = '.'+show;
myFunction(show); filterTable(show);
toggleActiveClass(classname);
});
$('.active-users').on('click', function(){
show = 'active-users';
classname = '.'+show;
filterTable(show);
toggleActiveClass(classname);
}); });
$('.inactive').on('click', function(){ $('.inactive').on('click', function(){
show = 'inactive'; show = 'inactive';
$("#chumper").dataTable().fnDestroy(); classname = '.'+show;
myFunction(show); filterTable(show);
}); toggleActiveClass(classname);
}); });
$('.agents').on('click', function(){
show = 'agents';
classname = '.'+show;
filterTable(show);
toggleActiveClass(classname);
});
$('.users').on('click', function(){
show = 'users';
classname = '.'+show;
filterTable(show);
toggleActiveClass(classname);
});
$('.banned').on('click', function(){
show = 'banned';
classname = '.'+show;
filterTable(show);
toggleActiveClass(classname);
});
$('.deleted').on('click', function(){
show = 'deleted';
classname = '.'+show;
filterTable(show);
toggleActiveClass(classname);
});
document.getElementById('search-text').onkeypress = function(e){
if (!e) e = window.event;
var keyCode = e.keyCode || e.which;
if (keyCode == '13'){
searchTerm = $('input[name=search]').val();
$("#chumper").dataTable().fnDestroy();
myFunction(show, searchTerm);
}
}
function filterTable(show) {
$("#chumper").dataTable().fnDestroy();
myFunction(show, searchTerm);
}
function toggleActiveClass(classname) {
$('.active').removeClass('active');
$(classname).parent('li').addClass('active');
}
});
</script> </script>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long