update v1.0.6

This commit is contained in:
sujitprasad
2016-02-16 22:42:08 +05:30
parent e6b579d67b
commit 073a49a8af
587 changed files with 21487 additions and 22766 deletions

View File

@@ -1,13 +1,14 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controller
use App\Http\Controllers\Controller;
use App\Http\Controllers\Common\SettingsController;
use App\Http\Controllers\Common\PhpMailController;
// request
use App\Http\Requests\helpdesk\AgentRequest;
use App\Http\Requests\helpdesk\AgentUpdate;
// model
use App\User;
use App\Model\helpdesk\Agent\Assign_team_agent;
@@ -16,7 +17,8 @@ use App\Model\helpdesk\Agent\Groups;
use App\Model\helpdesk\Agent\Teams;
use App\Model\helpdesk\Utility\Timezones;
use App\Model\helpdesk\Settings\Company;
use App\Model\helpdesk\Settings\Email;
use App\Model\helpdesk\Email\Emails;
// classes
use DB;
use Mail;
@@ -33,216 +35,222 @@ use Exception;
*/
class AgentController extends Controller {
/**
* Create a new controller instance.
* constructor to check
* 1. authentication
* 2. user roles
* 3. roles must be agent
* @return void
*/
public function __construct(PhpMailController $PhpMailController) {
$this->PhpMailController = $PhpMailController;
SettingsController::smtp();
// checking authentication
$this->middleware('auth');
// checking admin roles
$this->middleware('roles');
}
/**
* Create a new controller instance.
* constructor to check
* 1. authentication
* 2. user roles
* 3. roles must be agent
* @return void
*/
public function __construct() {
SettingsController::smtp();
// checking authentication
$this->middleware('auth');
// checking admin roles
$this->middleware('roles');
}
/**
* Get all agent list page
* @param type User $user
* @return type Response
*/
public function index() {
try {
return view('themes.default1.admin.helpdesk.agent.agents.index');
} catch (Exception $e) {
return view('404');
}
}
/**
* Get all agent list page
* @param type User $user
* @return type Response
*/
public function index() {
try {
return view('themes.default1.admin.helpdesk.agent.agents.index');
} catch (Exception $e) {
return view('404');
}
}
/**
* creating a new agent
* @param type Assign_team_agent $team_assign_agent
* @param type Timezones $timezone
* @param type Groups $group
* @param type Department $department
* @param type Teams $team
* @return type view
*/
public function create(Assign_team_agent $team_assign_agent, Timezones $timezone, Groups $group, Department $department, Teams $team) {
try {
$team = $team->get();
$timezones = $timezone->get();
$groups = $group->get();
$departments = $department->get();
$teams = $team->lists('id', 'name');
return view('themes.default1.admin.helpdesk.agent.agents.create', compact('assign', 'teams', 'agents', 'timezones', 'groups', 'departments', 'team'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* creating a new agent
* @param type Assign_team_agent $team_assign_agent
* @param type Timezones $timezone
* @param type Groups $group
* @param type Department $department
* @param type Teams $team
* @return type view
*/
public function create(Assign_team_agent $team_assign_agent, Timezones $timezone, Groups $group, Department $department, Teams $team) {
try {
$team = $team->get();
$timezones = $timezone->get();
$groups = $group->get();
$departments = $department->get();
$teams = $team->lists('id', 'name');
return view('themes.default1.admin.helpdesk.agent.agents.create', compact('assign', 'teams', 'agents', 'timezones', 'groups', 'departments', 'team'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* store a new agent
* @param type User $user
* @param type AgentRequest $request
* @param type Assign_team_agent $team_assign_agent
* @return type Response
*/
public function store(User $user, AgentRequest $request, Assign_team_agent $team_assign_agent) {
/**
* store a new agent
* @param type User $user
* @param type AgentRequest $request
* @param type Assign_team_agent $team_assign_agent
* @return type Response
*/
public function store(User $user, AgentRequest $request, Assign_team_agent $team_assign_agent) {
/* Insert to user table */
$user->role = 'agent';
$user->fill($request->input())->save();
$password = $this->generateRandomString();
$user->password = Hash::make($password);
$requests = $request->input('team_id');
$id = $user->id;
// insert team
foreach ($requests as $req) {
DB::insert('insert into team_assign_agent (team_id, agent_id) values (?,?)', [$req, $id]);
}
/* Succes And Failure condition */
if ($user->save() == true) {
$name = $user->user_name;
$email = $user->email;
$from = $this->company();
// send mail on registration
try{
Mail::send('emails.pass', ['name' => $name, 'password' => $password, 'from' => $from, 'emailadd' => $email], function ($message) use ($email, $name) {
$message->to($email, $name)->subject('[password]');
});
} catch (Exception $e) {
return redirect('agents')->with('fails', 'Some error occuren while sending mail to the agent. Please check email settings'.'<li>'.$e->errorInfo[2].'</li>');
}
return redirect('agents')->with('success', 'Agent Created sucessfully');
} else {
return redirect('agents')->with('fails', 'Agent can not Create');
}
}
// dd($this->system_mail());
/**
* Editing a selected agent
* @param type int $id
* @param type User $user
* @param type Assign_team_agent $team_assign_agent
* @param type Timezones $timezone
* @param type Groups $group
* @param type Department $department
* @param type Teams $team
* @return type Response
*/
public function edit($id, User $user, Assign_team_agent $team_assign_agent, Timezones $timezone, Groups $group, Department $department, Teams $team) {
try {
$user = $user->whereId($id)->first();
$team = $team->get();
$teams1 = $team->lists('name', 'id');
$timezones = $timezone->get();
$groups = $group->get();
$departments = $department->get();
$table = $team_assign_agent->where('agent_id', $id)->first();
$teams = $team->lists('id', 'name');
$assign = $team_assign_agent->where('agent_id', $id)->lists('team_id');
return view('themes.default1.admin.helpdesk.agent.agents.edit', compact('teams', 'assign', 'table', 'teams1', 'selectedTeams', 'user', 'timezones', 'groups', 'departments', 'team', 'exp', 'counted'));
} catch (Exception $e) {
return redirect('agents')->with('fail', 'No such file');
}
}
/* Insert to user table */
$user->role = 'agent';
$user->fill($request->input())->save();
$password = $this->generateRandomString();
$user->password = Hash::make($password);
$requests = $request->input('team_id');
$id = $user->id;
// insert team
foreach ($requests as $req) {
// DB::insert('insert into team_assign_agent (team_id, agent_id) values (?,?)', [$req, $id]);
}
/* Succes And Failure condition */
if ($user->save() == true) {
$name = $user->user_name;
$email = $user->email;
$system_from = $this->company();
try {
// send mail on registration
$this->PhpMailController->sendmail($from = $this->PhpMailController->mailfrom('1', '0'), $to = ['name' => $name, 'email' => $email], $message = ['subject' => 'Password', 'scenario' => 'registration-notification'], $template_variables = ['user' => $name, 'email_address' => $email, 'user_password' => $password]);
} catch (Exception $e) {
return redirect('agents')->with('fails', 'Some error occured while sending mail to the agent. Please check email settings and try again');
}
return redirect('agents')->with('success', 'Agent Created sucessfully');
} else {
return redirect('agents')->with('fails', 'Agent can not Create');
}
}
/**
* Update the specified agent in storage.
* @param type int $id
* @param type User $user
* @param type AgentUpdate $request
* @param type Assign_team_agent $team_assign_agent
* @return type Response
*/
public function update($id, User $user, AgentUpdate $request, Assign_team_agent $team_assign_agent) {
/**
* Editing a selected agent
* @param type int $id
* @param type User $user
* @param type Assign_team_agent $team_assign_agent
* @param type Timezones $timezone
* @param type Groups $group
* @param type Department $department
* @param type Teams $team
* @return type Response
*/
public function edit($id, User $user, Assign_team_agent $team_assign_agent, Timezones $timezone, Groups $group, Department $department, Teams $team) {
try {
$user = $user->whereId($id)->first();
$team = $team->get();
$teams1 = $team->lists('name', 'id');
$timezones = $timezone->get();
$groups = $group->get();
$departments = $department->get();
$table = $team_assign_agent->where('agent_id', $id)->first();
$teams = $team->lists('id', 'name');
$assign = $team_assign_agent->where('agent_id', $id)->lists('team_id');
return view('themes.default1.admin.helpdesk.agent.agents.edit', compact('teams', 'assign', 'table', 'teams1', 'selectedTeams', 'user', 'timezones', 'groups', 'departments', 'team', 'exp', 'counted'));
} catch (Exception $e) {
return redirect('agents')->with('fail', 'No such file');
}
}
// storing all the details
$user = $user->whereId($id)->first();
$daylight_save = $request->input('daylight_save');
$limit_access = $request->input('limit_access');
$directory_listing = $request->input('directory_listing');
$vocation_mode = $request->input('vocation_mode');
//==============================================
$table = $team_assign_agent->where('agent_id', $id);
$table->delete();
$requests = $request->input('team_id');
// inserting team details
foreach ($requests as $req) {
DB::insert('insert into team_assign_agent (team_id, agent_id) values (?,?)', [$req, $id]);
}
//Todo For success and failure conditions
try {
$user->fill($request->except('daylight_save', 'limit_access', 'directory_listing', 'vocation_mode', 'assign_team'))->save();
return redirect('agents')->with('success', 'Agent Updated sucessfully');
} catch (Exception $e) {
return redirect('agents')->with('fails', 'Agent did not update'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Update the specified agent in storage.
* @param type int $id
* @param type User $user
* @param type AgentUpdate $request
* @param type Assign_team_agent $team_assign_agent
* @return type Response
*/
public function update($id, User $user, AgentUpdate $request, Assign_team_agent $team_assign_agent) {
/**
* Remove the specified agent from storage.
* @param type int $id
* @param type User $user
* @param type Assign_team_agent $team_assign_agent
* @return type Response
*/
public function destroy($id, User $user, Assign_team_agent $team_assign_agent) {
/* Becouse of foreign key we delete team_assign_agent first */
error_reporting(E_ALL & ~E_NOTICE);
$team_assign_agent = $team_assign_agent->where('agent_id', $id);
$team_assign_agent->delete();
$user = $user->whereId($id)->first();
try {
$error = 'This staff is related to some tickets';
$user->id;
$user->delete();
throw new \Exception($error);
return redirect('agents')->with('success', 'Agent Deleted sucessfully');
} catch (\Exception $e) {
dd($e->errorInfo);
return redirect('agents')->with('fails', $error);
}
}
// storing all the details
$user = $user->whereId($id)->first();
$daylight_save = $request->input('daylight_save');
$limit_access = $request->input('limit_access');
$directory_listing = $request->input('directory_listing');
$vocation_mode = $request->input('vocation_mode');
//==============================================
$table = $team_assign_agent->where('agent_id', $id);
$table->delete();
$requests = $request->input('team_id');
// inserting team details
foreach ($requests as $req) {
DB::insert('insert into team_assign_agent (team_id, agent_id) values (?,?)', [$req, $id]);
}
//Todo For success and failure conditions
try {
$user->fill($request->except('daylight_save', 'limit_access', 'directory_listing', 'vocation_mode', 'assign_team'))->save();
return redirect('agents')->with('success', 'Agent Updated sucessfully');
} catch (Exception $e) {
return redirect('agents')->with('fails', 'Agent did not update' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Remove the specified agent from storage.
* @param type int $id
* @param type User $user
* @param type Assign_team_agent $team_assign_agent
* @return type Response
*/
public function destroy($id, User $user, Assign_team_agent $team_assign_agent) {
/* Becouse of foreign key we delete team_assign_agent first */
error_reporting(E_ALL & ~E_NOTICE);
$team_assign_agent = $team_assign_agent->where('agent_id', $id);
$team_assign_agent->delete();
$user = $user->whereId($id)->first();
try {
$error = 'This staff is related to some tickets';
$user->id;
$user->delete();
throw new \Exception($error);
return redirect('agents')->with('success', 'Agent Deleted sucessfully');
} catch (\Exception $e) {
dd($e->errorInfo);
return redirect('agents')->with('fails', $error);
}
}
/**
* Generate a random string for password
* @param type $length
* @return type string
*/
public function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
/**
* Generate a random string for password
* @param type $length
* @return type string
*/
public function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
/**
* Fetching comapny name to send mail
* @return type
*/
public function company() {
$company = Company::Where('id','=','1')->first();
if($company->company_name == null){
$company = "Support Center";
}else{
$company = $company->company_name;
}
return $company;
}
// public function agent_profile($id) {
// $agent = User::where('id','=',$id)->first();
// return \View::make('themes.default1.admin.helpdesk.agent.agents.agent-profile',compact('agent'));
// }
/**
* Fetching comapny name to send mail
* @return type
*/
public function company() {
$company = Company::Where('id', '=', '1')->first();
if ($company->company_name == null) {
$company = "Support Center";
} else {
$company = $company->company_name;
}
return $company;
}
/**
* System default email
*/
// public function system_mail() {
// $emails = Emails::all();
// $count_emails = $emails->count();
// if($count_emails > 1) {
// dd($emails);
// }
// $email = Email::where('id', '=', '1')->first();
// return $email->sys_email;
// }
}

View File

@@ -1,15 +1,15 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controller
use App\Http\Controllers\Controller;
// request
use App\Http\Requests\helpdesk\BanlistRequest;
use App\Http\Requests\helpdesk\BanRequest;
// model
use App\User;
use App\Model\helpdesk\Email\Banlist;
//classes
use Exception;
@@ -22,142 +22,142 @@ use Exception;
*/
class BanlistController extends Controller {
/**
* Create a new controller instance.
* constructor to check
* 1. authentication
* 2. user roles
* 3. roles must be agent
* @return void
*/
public function __construct() {
// checking authentication
$this->middleware('auth');
// checking admin roles
$this->middleware('roles');
}
/**
* Create a new controller instance.
* constructor to check
* 1. authentication
* 2. user roles
* 3. roles must be agent
* @return void
*/
public function __construct() {
// checking authentication
$this->middleware('auth');
// checking admin roles
$this->middleware('roles');
}
/**
* Display a listing of the resource.
* @param type Banlist $ban
* @return type Response
*/
public function index() {
try {
$bans = User::where('ban','=',1)->get();
return view('themes.default1.admin.helpdesk.emails.banlist.index', compact('bans'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Display a listing of the resource.
* @param type Banlist $ban
* @return type Response
*/
public function index() {
try {
$bans = User::where('ban', '=', 1)->get();
return view('themes.default1.admin.helpdesk.emails.banlist.index', compact('bans'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @return type Response
*/
public function create() {
try {
return view('themes.default1.admin.helpdesk.emails.banlist.create');
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @return type Response
*/
public function create() {
try {
return view('themes.default1.admin.helpdesk.emails.banlist.create');
} catch (Exception $e) {
return view('404');
}
}
/**
* Store a newly created resource in storage.
* @param type banlist $ban
* @param type BanRequest $request
* @param type User $user
* @return type Response
*/
public function store(BanRequest $request, User $user) {
// dd($request);
try {
//adding field to user whether it is banned or not
$adban = $request->input('email');
$use = $user->where('email', $adban)->first();
if ($use != null) {
$use->ban = $request->input('ban');
$use->internal_note = $request->input('internal_note');
$use->save();
// $user->create($request->input())->save();
return redirect('banlist')->with('success', 'Email Banned sucessfully');
} else {
$user = new User;
$user->email = $adban;
$user->ban = $request->input('ban');
$user->internal_note = $request->input('internal_note');
$user->save();
return redirect('banlist')->with('success', 'Email Banned sucessfully');
}
} catch (Exception $e) {
return redirect('banlist')->with('fails', 'Email can not Ban');
}
}
/**
* Store a newly created resource in storage.
* @param type banlist $ban
* @param type BanRequest $request
* @param type User $user
* @return type Response
*/
public function store(BanRequest $request, User $user) {
// dd($request);
try {
//adding field to user whether it is banned or not
$adban = $request->input('email');
$use = $user->where('email', $adban)->first();
if ($use != null) {
$use->ban = $request->input('ban');
$use->internal_note = $request->input('internal_note');
$use->save();
// $user->create($request->input())->save();
return redirect('banlist')->with('success', 'Email Banned sucessfully');
} else {
$user = new User;
$user->email = $adban;
$user->ban = $request->input('ban');
$user->internal_note = $request->input('internal_note');
$user->save();
return redirect('banlist')->with('success', 'Email Banned sucessfully');
}
} catch (Exception $e) {
return redirect('banlist')->with('fails', 'Email can not Ban');
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id) {
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id) {
//
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Banlist $ban
* @return type Response
*/
public function edit($id, User $ban) {
try {
$bans = $ban->whereId($id)->first();
return view('themes.default1.admin.helpdesk.emails.banlist.edit', compact('bans'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Banlist $ban
* @return type Response
*/
public function edit($id, User $ban) {
try {
$bans = $ban->whereId($id)->first();
return view('themes.default1.admin.helpdesk.emails.banlist.edit', compact('bans'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Banlist $ban
* @param type BanlistRequest $request
* @return type Response
*/
public function update($id, User $ban, BanlistRequest $request) {
try {
$bans = $ban->whereId($id)->first();
$bans->internal_note = $request->input('internal_note');
$bans->ban = $request->input('ban');
// dd($request->input('ban'));
if ($bans->save()) {
return redirect('banlist')->with('success', 'Banned Email Updated sucessfully');
} else {
return redirect('banlist')->with('fails', 'Banned Email not Updated');
}
} catch (Exception $e) {
return redirect('banlist')->with('fails', 'Banned Email not Updated');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Banlist $ban
* @param type BanlistRequest $request
* @return type Response
*/
public function update($id, User $ban, BanlistRequest $request) {
try {
$bans = $ban->whereId($id)->first();
$bans->internal_note = $request->input('internal_note');
$bans->ban = $request->input('ban');
// dd($request->input('ban'));
if ($bans->save()) {
return redirect('banlist')->with('success', 'Banned Email Updated sucessfully');
} else {
return redirect('banlist')->with('fails', 'Banned Email not Updated');
}
} catch (Exception $e) {
return redirect('banlist')->with('fails', 'Banned Email not Updated');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Banlist $ban
* @return type Response
*/
// public function destroy($id, Banlist $ban) {
// $bans = $ban->whereId($id)->first();
// dd($bans);
// /* Success and Falure condition */
// try{
// $bans->delete();
// return redirect('banlist')->with('success', 'Banned Email Deleted sucessfully');
// } catch (Exception $e) {
// return redirect('banlist')->with('fails', 'Banned Email can not Delete'.'<li>'.$e->errorInfo[2].'</li>');
// }
// }
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Banlist $ban
* @return type Response
*/
// public function destroy($id, Banlist $ban) {
// $bans = $ban->whereId($id)->first();
// dd($bans);
// /* Success and Falure condition */
// try{
// $bans->delete();
// return redirect('banlist')->with('success', 'Banned Email Deleted sucessfully');
// } catch (Exception $e) {
// return redirect('banlist')->with('fails', 'Banned Email can not Delete'.'<li>'.$e->errorInfo[2].'</li>');
// }
// }
}

View File

@@ -1,4 +1,7 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controller
use App\Http\Controllers\Controller;
// request
@@ -29,214 +32,213 @@ use Exception;
*/
class DepartmentController extends Controller {
/**
* Create a new controller instance.
* @return void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Get index page
* @param type Department $department
* @return type Response
*/
public function index(Department $department) {
try {
$departments = $department->get();
return view('themes.default1.admin.helpdesk.agent.departments.index', compact('departments'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Get index page
* @param type Department $department
* @return type Response
*/
public function index(Department $department) {
try {
$departments = $department->get();
return view('themes.default1.admin.helpdesk.agent.departments.index', compact('departments'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type User $user
* @param type Group_assign_department $group_assign_department
* @param type Department $department
* @param type Sla_plan $sla
* @param type Template $template
* @param type Emails $email
* @param type Groups $group
* @return type Response
*/
public function create(User $user, Group_assign_department $group_assign_department, Department $department, Sla_plan $sla, Template $template, Emails $email, Groups $group) {
try {
$slas = $sla->get();
$user = $user->where('role', 'agent')->get();
$emails = $email->get();
$templates = $template->get();
$department = $department->get();
$groups = $group->lists('id', 'name');
return view('themes.default1.admin.helpdesk.agent.departments.create', compact('department', 'templates', 'slas', 'user', 'emails', 'groups'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type User $user
* @param type Group_assign_department $group_assign_department
* @param type Department $department
* @param type Sla_plan $sla
* @param type Template $template
* @param type Emails $email
* @param type Groups $group
* @return type Response
*/
public function create(User $user, Group_assign_department $group_assign_department, Department $department, Sla_plan $sla, Template $template, Emails $email, Groups $group) {
try {
$slas = $sla->get();
$user = $user->where('role', 'agent')->get();
$emails = $email->get();
$templates = $template->get();
$department = $department->get();
$groups = $group->lists('id', 'name');
return view('themes.default1.admin.helpdesk.agent.departments.create', compact('department', 'templates', 'slas', 'user', 'emails', 'groups'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Store a newly created resource in storage.
* @param type Department $department
* @param type DepartmentRequest $request
* @return type Response
*/
public function store(Department $department, DepartmentRequest $request) {
try {
$department->fill($request->except('group_id','manager'))->save();
$requests = $request->input('group_id');
$id = $department->id;
if($request->manager) {
$department->manager = $request->input('manager');
} else {
$department->manager = null;
}
// foreach ($requests as $req) {
// DB::insert('insert into group_assign_department(group_id, department_id) values (?,?)', [$req, $id]);
// }
/* Succes And Failure condition */
/* Check Whether the function Success or Fail */
if ($department->save() == true) {
return redirect('departments')->with('success', 'Department Created sucessfully');
} else {
return redirect('departments')->with('fails', 'Department can not Create');
}
} catch (Exception $e) {
return redirect('departments')->with('fails', 'Department can not Create');
}
}
/**
* Store a newly created resource in storage.
* @param type Department $department
* @param type DepartmentRequest $request
* @return type Response
*/
public function store(Department $department, DepartmentRequest $request) {
try {
$department->fill($request->except('group_id', 'manager'))->save();
$requests = $request->input('group_id');
$id = $department->id;
if ($request->manager) {
$department->manager = $request->input('manager');
} else {
$department->manager = null;
}
// foreach ($requests as $req) {
// DB::insert('insert into group_assign_department(group_id, department_id) values (?,?)', [$req, $id]);
// }
/* Succes And Failure condition */
/* Check Whether the function Success or Fail */
if ($department->save() == true) {
return redirect('departments')->with('success', 'Department Created sucessfully');
} else {
return redirect('departments')->with('fails', 'Department can not Create');
}
} catch (Exception $e) {
return redirect('departments')->with('fails', 'Department can not Create');
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type User $user
* @param type Group_assign_department $group_assign_department
* @param type Template $template
* @param type Teams $team
* @param type Department $department
* @param type Sla_plan $sla
* @param type Emails $email
* @param type Groups $group
* @return type Response
*/
public function edit($id, User $user, Group_assign_department $group_assign_department, Template $template, Teams $team, Department $department, Sla_plan $sla, Emails $email, Groups $group) {
try {
$slas = $sla->get();
$user = $user->where('role', 'agent')->get();
$emails = $email->get();
$templates = $template->get();
$departments = $department->whereId($id)->first();
$groups = $group->lists('id', 'name');
$assign = $group_assign_department->where('department_id', $id)->lists('group_id');
return view('themes.default1.admin.helpdesk.agent.departments.edit', compact('assign', 'team', 'templates', 'departments', 'slas', 'user', 'emails', 'groups'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type User $user
* @param type Group_assign_department $group_assign_department
* @param type Template $template
* @param type Teams $team
* @param type Department $department
* @param type Sla_plan $sla
* @param type Emails $email
* @param type Groups $group
* @return type Response
*/
public function edit($id, User $user, Group_assign_department $group_assign_department, Template $template, Teams $team, Department $department, Sla_plan $sla, Emails $email, Groups $group) {
try {
$slas = $sla->get();
$user = $user->where('role', 'agent')->get();
$emails = $email->get();
$templates = $template->get();
$departments = $department->whereId($id)->first();
$groups = $group->lists('id', 'name');
$assign = $group_assign_department->where('department_id', $id)->lists('group_id');
return view('themes.default1.admin.helpdesk.agent.departments.edit', compact('assign', 'team', 'templates', 'departments', 'slas', 'user', 'emails', 'groups'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Group_assign_department $group_assign_department
* @param type Department $department
* @param type DepartmentUpdate $request
* @return type Response
*/
public function update($id, Group_assign_department $group_assign_department, Department $department, DepartmentUpdate $request) {
// dd($id);
try {
$table = $group_assign_department->where('department_id', $id);
$table->delete();
$requests = $request->input('group_id');
// foreach ($requests as $req) {
// DB::insert('insert into group_assign_department (group_id, department_id) values (?,?)', [$req, $id]);
// }
$departments = $department->whereId($id)->first();
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Group_assign_department $group_assign_department
* @param type Department $department
* @param type DepartmentUpdate $request
* @return type Response
*/
public function update($id, Group_assign_department $group_assign_department, Department $department, DepartmentUpdate $request) {
// dd($id);
try {
$table = $group_assign_department->where('department_id', $id);
$table->delete();
$requests = $request->input('group_id');
// foreach ($requests as $req) {
// DB::insert('insert into group_assign_department (group_id, department_id) values (?,?)', [$req, $id]);
// }
$departments = $department->whereId($id)->first();
if($request->manager) {
$departments->manager = $request->input('manager');
} else {
$departments->manager = null;
}
$departments->save();
if ($request->manager) {
$departments->manager = $request->input('manager');
} else {
$departments->manager = null;
}
$departments->save();
if ($departments->fill($request->except('group_access','manager'))->save()) {
return redirect('departments')->with('success', 'Department Updated sucessfully');
} else {
return redirect('departments')->with('fails', 'Department not Updated');
}
} catch (Exception $e) {
return redirect('departments')->with('fails', 'Department not Updated');
}
}
if ($departments->fill($request->except('group_access', 'manager'))->save()) {
return redirect('departments')->with('success', 'Department Updated sucessfully');
} else {
return redirect('departments')->with('fails', 'Department not Updated');
}
} catch (Exception $e) {
return redirect('departments')->with('fails', 'Department not Updated');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Department $department
* @param type Group_assign_department $group_assign_department
* @return type Response
*/
public function destroy($id, Department $department, Group_assign_department $group_assign_department, System $system, Tickets $tickets) {
// try {
$system = $system->where('id','=','1')->first();
if($system->department == $id) {
return redirect('departments')->with('fails', 'You cannot delete default department');
} else {
$tickets = DB::table('tickets')->where('dept_id','=',$id)->update(['dept_id' => $system->department]);
if($tickets > 0){
if($tickets > 1){
$text_tickets = "Tickets";
} else {
$text_tickets = "Ticket";
}
$ticket = '<li>'.$tickets.' '.$text_tickets.' have been moved to default department</li>';
} else {
$ticket = "";
}
$users = DB::table('users')->where('primary_dpt','=',$id)->update(['primary_dpt' => $system->department]);
if($users > 0){
if($users > 1){
$text_user = "Users";
} else {
$text_user = "User";
}
$user = '<li>'.$users.' '.$text_user.' have been moved to default department</li>';
} else {
$user = "";
}
$emails = DB::table('emails')->where('department','=',$id)->update(['department' => $system->department]);
if($emails > 0){
if($emails > 1){
$text_emails = "Emails";
} else {
$text_emails = "Email";
}
$email = '<li>'.$emails.' System '.$text_emails.' have been moved to default department</li>';
} else {
$email = "";
}
$helptopic = DB::table('help_topic')->where('department','=',$id)->update(['department' => null],['status' => '1']);
if($helptopic > 0){
$helptopic = '<li>The associated helptopic has been deactivated</li>';
} else {
$helptopic = "";
}
$message = $ticket.$user.$email.$helptopic;
/* Becouse of foreign key we delete group_assign_department first */
$group_assign_department = $group_assign_department->where('department_id', $id);
$group_assign_department->delete();
$departments = $department->whereId($id)->first();
/* Check the function is Success or Fail */
if ($departments->delete() == true) {
return redirect('departments')->with('success', 'Department Deleted sucessfully'.$message);
} else {
return redirect('departments')->with('fails', 'Department can not Delete');
}
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Department $department
* @param type Group_assign_department $group_assign_department
* @return type Response
*/
public function destroy($id, Department $department, Group_assign_department $group_assign_department, System $system, Tickets $tickets) {
// try {
$system = $system->where('id', '=', '1')->first();
if ($system->department == $id) {
return redirect('departments')->with('fails', 'You cannot delete default department');
} else {
$tickets = DB::table('tickets')->where('dept_id', '=', $id)->update(['dept_id' => $system->department]);
if ($tickets > 0) {
if ($tickets > 1) {
$text_tickets = "Tickets";
} else {
$text_tickets = "Ticket";
}
$ticket = '<li>' . $tickets . ' ' . $text_tickets . ' have been moved to default department</li>';
} else {
$ticket = "";
}
$users = DB::table('users')->where('primary_dpt', '=', $id)->update(['primary_dpt' => $system->department]);
if ($users > 0) {
if ($users > 1) {
$text_user = "Users";
} else {
$text_user = "User";
}
$user = '<li>' . $users . ' ' . $text_user . ' have been moved to default department</li>';
} else {
$user = "";
}
$emails = DB::table('emails')->where('department', '=', $id)->update(['department' => $system->department]);
if ($emails > 0) {
if ($emails > 1) {
$text_emails = "Emails";
} else {
$text_emails = "Email";
}
$email = '<li>' . $emails . ' System ' . $text_emails . ' have been moved to default department</li>';
} else {
$email = "";
}
$helptopic = DB::table('help_topic')->where('department', '=', $id)->update(['department' => null], ['status' => '1']);
if ($helptopic > 0) {
$helptopic = '<li>The associated helptopic has been deactivated</li>';
} else {
$helptopic = "";
}
$message = $ticket . $user . $email . $helptopic;
/* Becouse of foreign key we delete group_assign_department first */
$group_assign_department = $group_assign_department->where('department_id', $id);
$group_assign_department->delete();
$departments = $department->whereId($id)->first();
/* Check the function is Success or Fail */
if ($departments->delete() == true) {
return redirect('departments')->with('success', 'Department Deleted sucessfully' . $message);
} else {
return redirect('departments')->with('fails', 'Department can not Delete');
}
}
}
}

View File

@@ -1,4 +1,7 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// request
@@ -10,6 +13,7 @@ use App\Model\helpdesk\Email\Emails;
use App\Model\helpdesk\Manage\Help_topic;
use App\Model\helpdesk\Utility\MailboxProtocol;
use App\Model\helpdesk\Ticket\Ticket_Priority;
use App\Model\helpdesk\Settings\Email;
// classes
use Crypt;
use Exception;
@@ -23,143 +27,187 @@ use Exception;
*/
class EmailsController extends Controller {
/**
* Create a new controller instance.
* @return type
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return type
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Display a listing of the resource.
* @param type Emails $emails
* @return type Response
*/
public function index(Emails $emails) {
try {
$emails = $emails->get();
return view('themes.default1.admin.helpdesk.emails.emails.index', compact('emails'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Display a listing of the resource.
* @param type Emails $emails
* @return type Response
*/
public function index(Emails $emails) {
try {
$emails = $emails->get();
return view('themes.default1.admin.helpdesk.emails.emails.index', compact('emails'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type Department $department
* @param type Help_topic $help
* @param type Priority $priority
* @param type MailboxProtocol $mailbox_protocol
* @return type Response
*/
public function create(Department $department, Help_topic $help, Ticket_Priority $priority, MailboxProtocol $mailbox_protocol) {
try {
$departments = $department->get();
$helps = $help->get();
$priority = $priority->get();
$mailbox_protocols = $mailbox_protocol->get();
return view('themes.default1.admin.helpdesk.emails.emails.create', compact('mailbox_protocols', 'priority', 'departments', 'helps'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type Department $department
* @param type Help_topic $help
* @param type Priority $priority
* @param type MailboxProtocol $mailbox_protocol
* @return type Response
*/
public function create(Department $department, Help_topic $help, Ticket_Priority $priority, MailboxProtocol $mailbox_protocol) {
try {
$departments = $department->get();
$helps = $help->get();
$priority = $priority->get();
$mailbox_protocols = $mailbox_protocol->get();
return view('themes.default1.admin.helpdesk.emails.emails.create', compact('mailbox_protocols', 'priority', 'departments', 'helps'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Store a newly created resource in storage.
* @param type Emails $email
* @param type EmailsRequest $request
* @return type Response
*/
public function store(Emails $email, EmailsRequest $request) {
try {
$password = $request->input('password');
$encrypted = Crypt::encrypt($password);
$email->password = $encrypted;
if ($email->fill($request->except('password'))->save() == true) {
return redirect('emails')->with('success', 'Email Created sucessfully');
} else {
return redirect('emails')->with('fails', 'Email can not Create');
}
} catch (Exception $e) {
return redirect('emails')->with('fails', 'Email can not Create');
}
}
/**
* Store a newly created resource in storage.
* @param type Emails $email
* @param type EmailsRequest $request
* @return type Response
*/
public function store(Emails $email, EmailsRequest $request) {
try {
$password = $request->input('password');
$encrypted = Crypt::encrypt($password);
$department = $request->input('department');
$priority = $request->input('priority');
$help_topic = $request->input('help_topic');
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id) {
//
}
if ($email->fill($request->except('password', 'department', 'priority', 'help_topic'))->save() == true) {
if ($request->input('department')) {
$email->department = $request->input('department');
} else {
$email->department = null;
}
if ($request->input('priority')) {
$email->priority = $request->input('priority');
} else {
$email->priority = null;
}
if ($request->input('help_topic')) {
$email->help_topic = $request->input('help_topic');
} else {
$email->help_topic = null;
}
$email->password = $encrypted;
$email->save();
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Department $department
* @param type Help_topic $help
* @param type Emails $email
* @param type Priority $priority
* @param type MailboxProtocol $mailbox_protocol
* @return type Response
*/
public function edit($id, Department $department, Help_topic $help, Emails $email, Ticket_Priority $priority, MailboxProtocol $mailbox_protocol) {
try {
$emails = $email->whereId($id)->first();
$departments = $department->get();
$helps = $help->get();
$priority = $priority->get();
$mailbox_protocols = $mailbox_protocol->get();
return view('themes.default1.admin.helpdesk.emails.emails.edit', compact('mailbox_protocols', 'priority', 'departments', 'helps', 'emails'));
} catch (Exception $e) {
return view('404');
}
}
return redirect('emails')->with('success', 'Email Created sucessfully');
} else {
return redirect('emails')->with('fails', 'Email can not Create');
}
} catch (Exception $e) {
return redirect('emails')->with('fails', 'Email can not Create');
}
}
/**
* Update the specified resource in storage.
* @param type $id
* @param type Emails $email
* @param type EmailsEditRequest $request
* @return type Response
*/
public function update($id, Emails $email, EmailsEditRequest $request) {
$password = $request->input('password');
$encrypted = Crypt::encrypt($password);
//echo $encrypted;
//$value = Crypt::decrypt($encrypted);
//echo $value;
try {
$emails = $email->whereId($id)->first();
$emails->password = $encrypted;
$emails->fill($request->except('password'))->save();
return redirect('emails')->with('success', 'Email Updated sucessfully');
} catch (Exception $e) {
return redirect('emails')->with('fails', 'Email not updated');
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id) {
//
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Emails $email
* @return type Response
*/
public function destroy($id, Emails $email) {
try {
$emails = $email->whereId($id)->first();
if ($emails->delete() == true) {
return redirect('emails')->with('success', 'Email Deleted sucessfully');
} else {
return redirect('emails')->with('fails', 'Email can not Delete ');
}
} catch (Exception $e) {
return redirect('emails')->with('fails', 'Email can not Delete ');
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Department $department
* @param type Help_topic $help
* @param type Emails $email
* @param type Priority $priority
* @param type MailboxProtocol $mailbox_protocol
* @return type Response
*/
public function edit($id, Department $department, Help_topic $help, Emails $email, Ticket_Priority $priority, MailboxProtocol $mailbox_protocol) {
try {
$emails = $email->whereId($id)->first();
$departments = $department->get();
$helps = $help->get();
$priority = $priority->get();
$mailbox_protocols = $mailbox_protocol->get();
return view('themes.default1.admin.helpdesk.emails.emails.edit', compact('mailbox_protocols', 'priority', 'departments', 'helps', 'emails'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Update the specified resource in storage.
* @param type $id
* @param type Emails $email
* @param type EmailsEditRequest $request
* @return type Response
*/
public function update($id, Emails $email, EmailsEditRequest $request) {
$password = $request->input('password');
$encrypted = Crypt::encrypt($password);
//echo $encrypted;
//$value = Crypt::decrypt($encrypted);
//echo $value;
try {
$emails = $email->whereId($id)->first();
// $emails->password = $encrypted;
$emails->fill($request->except('password', 'department', 'priority', 'help_topic'))->save();
if ($request->input('department')) {
$emails->department = $request->input('department');
} else {
$emails->department = null;
}
if ($request->input('priority')) {
$emails->priority = $request->input('priority');
} else {
$emails->priority = null;
}
if ($request->input('help_topic')) {
$emails->help_topic = $request->input('help_topic');
} else {
$emails->help_topic = null;
}
$emails->password = $encrypted;
$emails->save();
return redirect('emails')->with('success', 'Email Updated sucessfully');
} catch (Exception $e) {
return redirect('emails')->with('fails', 'Email not updated');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Emails $email
* @return type Response
*/
public function destroy($id, Emails $email) {
$default_system_email = Email::where('id', '=', '1')->first();
if ($default_system_email->id) {
if ($id == $default_system_email->id) {
return redirect('emails')->with('fails', 'You cannot delete system default Email');
}
}
try {
$emails = $email->whereId($id)->first();
if ($emails->delete() == true) {
return redirect('emails')->with('success', 'Email Deleted sucessfully');
} else {
return redirect('emails')->with('fails', 'Email can not Delete ');
}
} catch (Exception $e) {
return redirect('emails')->with('fails', 'Email can not Delete ');
}
}
}

View File

@@ -1,16 +1,15 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// Controller
use App\Http\Controllers\Controller;
// Model
use App\Model\helpdesk\Form\Fields;
use App\Model\helpdesk\Form\Forms;
use App\Model\helpdesk\Manage\Help_topic;
// Request
use Illuminate\Http\Request;
// Class
use Input;
use Redirect;
@@ -25,21 +24,21 @@ use Exception;
* @author Ladybird <info@ladybirdweb.com>
*/
class FormController extends Controller {
private $fields;
private $fields;
private $forms;
public function __construct(Fields $fields,Forms $forms) {
public function __construct(Fields $fields, Forms $forms) {
$this->fields = $fields;
$this->forms = $forms;
// $this->middleware('auth');
// $this->middleware('auth');
}
/**
* home
* @return type
*/
public function home() {
public function home() {
return view('forms.home');
}
@@ -49,7 +48,7 @@ class FormController extends Controller {
* @return Response
*/
public function index(Forms $forms) {
return view('themes.default1.admin.helpdesk.manage.form.index',compact('forms'));
return view('themes.default1.admin.helpdesk.manage.form.index', compact('forms'));
}
/**
@@ -61,70 +60,64 @@ class FormController extends Controller {
}
/**
* Display the specified resource.
* @param int $id
* @return Response
*/
* Display the specified resource.
* @param int $id
* @return Response
*/
public function show($id) {
return view('themes.default1.admin.helpdesk.manage.form.preview',compact('id'));
return view('themes.default1.admin.helpdesk.manage.form.preview', compact('id'));
}
/**
* Store a newly created resource in storage.
*
* @return Response
*/
public function store(Forms $forms) {
if(!Input::get('formname')) {
return Redirect::back()->with('fails','Please fill Form name');
public function store(Forms $forms) {
if (!Input::get('formname')) {
return Redirect::back()->with('fails', 'Please fill Form name');
}
$required = Input::get('required');
$count = count($required);
$require = array();
for ($i = 2; $i < $count + 2; $i++) {
for ($j = 0; $j < 1; $j++) {
array_push($require, $required[$i][$j]);
}
}
$required = Input::get('required');
$count = count($required);
$require = array();
for($i=2;$i<$count+2;$i++) {
for($j=0;$j<1;$j++) {
array_push($require,$required[$i][$j]);
}
}
$forms->formname = Input::get('formname');
$forms->save();
$count = count(Input::get('name'));
$count = count(Input::get('name'));
$fields = array();
for($i=0; $i<=$count; $i++) {
if(!empty(Input::get('name')[$i])) {
array_push($fields, array(
'forms_id' => $forms->id,
'label' => Input::get('label')[$i],
'name' => Input::get('name')[$i],
'type' => Input::get('type')[$i],
'value' => Input::get('value')[$i],
'required'=>$require[$i],
));
}
}
for ($i = 0; $i <= $count; $i++) {
if (!empty(Input::get('name')[$i])) {
array_push($fields, array(
'forms_id' => $forms->id,
'label' => Input::get('label')[$i],
'name' => Input::get('name')[$i],
'type' => Input::get('type')[$i],
'value' => Input::get('value')[$i],
'required' => $require[$i],
));
}
}
Fields::insert($fields);
return Redirect::back()->with('success','Successfully created Form');
return Redirect::back()->with('success', 'Successfully created Form');
}
public function delete($id,Forms $forms, Fields $field, Help_topic $help_topic) {
$fields = $field->where('forms_id',$id)->get();
$help_topics = $help_topic->where('custom_form','=',$id)->get();
foreach($help_topics as $help_topic) {
public function delete($id, Forms $forms, Fields $field, Help_topic $help_topic) {
$fields = $field->where('forms_id', $id)->get();
$help_topics = $help_topic->where('custom_form', '=', $id)->get();
foreach ($help_topics as $help_topic) {
$help_topic->custom_form = null;
$help_topic->save();
}
foreach($fields as $field) {
foreach ($fields as $field) {
$field->delete();
}
$forms = $forms->where('id',$id)->first();
$forms = $forms->where('id', $id)->first();
$forms->delete();
return redirect()->back()->with('success', 'Deleted Successfully');
}
}
}

View File

@@ -1,4 +1,7 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
@@ -12,6 +15,7 @@ use App\User;
// classes
use Illuminate\Support\Facades\Input;
use Exception;
/**
* GroupController
*
@@ -21,161 +25,162 @@ use Exception;
*/
class GroupController extends Controller {
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Display a listing of the resource.
* @param type Groups $group
* @param type Department $department
* @param type Group_assign_department $group_assign_department
* @return type Response
*/
public function index(Groups $group, Department $department, Group_assign_department $group_assign_department) {
try {
$groups = $group->get();
$departments = $department->lists('id');
return view('themes.default1.admin.helpdesk.agent.groups.index', compact('departments', 'group_assign_department', 'groups'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Display a listing of the resource.
* @param type Groups $group
* @param type Department $department
* @param type Group_assign_department $group_assign_department
* @return type Response
*/
public function index(Groups $group, Department $department, Group_assign_department $group_assign_department) {
try {
$groups = $group->get();
$departments = $department->lists('id');
return view('themes.default1.admin.helpdesk.agent.groups.index', compact('departments', 'group_assign_department', 'groups'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @return type Response
*/
public function create() {
try {
return view('themes.default1.admin.helpdesk.agent.groups.create');
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @return type Response
*/
public function create() {
try {
return view('themes.default1.admin.helpdesk.agent.groups.create');
} catch (Exception $e) {
return view('404');
}
}
/**
* Store a newly created resource in storage.
* @param type Groups $group
* @param type GroupRequest $request
* @return type Response
*/
public function store(Groups $group, GroupRequest $request) {
try {
/* Check Whether function success or not */
$group->fill($request->input())->save();
return redirect('groups')->with('success', 'Group Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('groups')->with('fails', 'Groups can not Create'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Store a newly created resource in storage.
* @param type Groups $group
* @param type GroupRequest $request
* @return type Response
*/
public function store(Groups $group, GroupRequest $request) {
try {
/* Check Whether function success or not */
$group->fill($request->input())->save();
return redirect('groups')->with('success', 'Group Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('groups')->with('fails', 'Groups can not Create' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Groups $group
* @return type Response
*/
public function edit($id, Groups $group) {
try {
$groups = $group->whereId($id)->first();
return view('themes.default1.admin.helpdesk.agent.groups.edit', compact('groups'));
} catch (Exception $e) {
return redirect('groups')->with('fails', 'Groups can not Create'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Groups $group
* @return type Response
*/
public function edit($id, Groups $group) {
try {
$groups = $group->whereId($id)->first();
return view('themes.default1.admin.helpdesk.agent.groups.edit', compact('groups'));
} catch (Exception $e) {
return redirect('groups')->with('fails', 'Groups can not Create' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Groups $group
* @param type Request $request
* @return type Response
*/
public function update($id, Groups $group, Request $request) {
$var = $group->whereId($id)->first();
//Updating Status
$status = $request->Input('group_status');
$var->group_status = $status;
//Updating can_create_ticket field
$createTicket = $request->Input('can_create_ticket');
$var->can_create_ticket = $createTicket;
//Updating can_edit_ticket field
$editTicket = $request->Input('can_edit_ticket');
$var->can_edit_ticket = $editTicket;
//Updating can_post_ticket field
$postTicket = $request->Input('can_post_ticket');
$var->can_post_ticket = $postTicket;
//Updating can_close_ticket field
$closeTicket = $request->Input('can_close_ticket');
$var->can_close_ticket = $closeTicket;
//Updating can_assign_ticket field
$assignTicket = $request->Input('can_assign_ticket');
$var->can_assign_ticket = $assignTicket;
//Updating can_trasfer_ticket field
$trasferTicket = $request->Input('can_trasfer_ticket');
$var->can_trasfer_ticket = $trasferTicket;
//Updating can_delete_ticket field
$deleteTicket = $request->Input('can_delete_ticket');
$var->can_delete_ticket = $deleteTicket;
//Updating can_ban_email field
$banEmail = $request->Input('can_ban_email');
$var->can_ban_email = $banEmail;
//Updating can_manage_canned field
$manageCanned = $request->Input('can_manage_canned');
$var->can_manage_canned = $manageCanned;
//Updating can_manage_faq field
$manageFaq = $request->Input('can_manage_faq');
$var->can_manage_faq = $manageFaq;
//Updating can_view_agent_stats field
$viewAgentStats = $request->Input('can_view_agent_stats');
$var->can_view_agent_stats = $viewAgentStats;
//Updating department_access field
$departmentAccess = $request->Input('department_access');
$var->department_access = $departmentAccess;
//Updating admin_notes field
$adminNotes = $request->Input('admin_notes');
$var->admin_notes = $adminNotes;
/* Check whether function success or not */
try {
$var->save();
/* redirect to Index page with Success Message */
return redirect('groups')->with('success', 'Group Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('groups')->with('fails', 'Groups can not Create'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Groups $group
* @param type Request $request
* @return type Response
*/
public function update($id, Groups $group, Request $request) {
$var = $group->whereId($id)->first();
//Updating Status
$status = $request->Input('group_status');
$var->group_status = $status;
//Updating can_create_ticket field
$createTicket = $request->Input('can_create_ticket');
$var->can_create_ticket = $createTicket;
//Updating can_edit_ticket field
$editTicket = $request->Input('can_edit_ticket');
$var->can_edit_ticket = $editTicket;
//Updating can_post_ticket field
$postTicket = $request->Input('can_post_ticket');
$var->can_post_ticket = $postTicket;
//Updating can_close_ticket field
$closeTicket = $request->Input('can_close_ticket');
$var->can_close_ticket = $closeTicket;
//Updating can_assign_ticket field
$assignTicket = $request->Input('can_assign_ticket');
$var->can_assign_ticket = $assignTicket;
//Updating can_trasfer_ticket field
$trasferTicket = $request->Input('can_trasfer_ticket');
$var->can_trasfer_ticket = $trasferTicket;
//Updating can_delete_ticket field
$deleteTicket = $request->Input('can_delete_ticket');
$var->can_delete_ticket = $deleteTicket;
//Updating can_ban_email field
$banEmail = $request->Input('can_ban_email');
$var->can_ban_email = $banEmail;
//Updating can_manage_canned field
$manageCanned = $request->Input('can_manage_canned');
$var->can_manage_canned = $manageCanned;
//Updating can_manage_faq field
$manageFaq = $request->Input('can_manage_faq');
$var->can_manage_faq = $manageFaq;
//Updating can_view_agent_stats field
$viewAgentStats = $request->Input('can_view_agent_stats');
$var->can_view_agent_stats = $viewAgentStats;
//Updating department_access field
$departmentAccess = $request->Input('department_access');
$var->department_access = $departmentAccess;
//Updating admin_notes field
$adminNotes = $request->Input('admin_notes');
$var->admin_notes = $adminNotes;
/* Check whether function success or not */
try {
$var->save();
/* redirect to Index page with Success Message */
return redirect('groups')->with('success', 'Group Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('groups')->with('fails', 'Groups can not Create' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Groups $group
* @param type Group_assign_department $group_assign_department
* @return type Response
*/
public function destroy($id, Groups $group, Group_assign_department $group_assign_department) {
$users = User::where('assign_group', '=', $id)->first();
if ($users) {
$user = '<li>There are agents assigned to this group. Please unassign them from this group to delete</li>';
return redirect('groups')->with('fails', 'Group cannot Delete ' . $user);
}
$group_assign_department->where('group_id', $id)->delete();
$groups = $group->whereId($id)->first();
/* Check whether function success or not */
try {
$groups->delete();
/* redirect to Index page with Success Message */
return redirect('groups')->with('success', 'Group Deleted Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('groups')->with('fails', 'Groups cannot Create' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Groups $group
* @param type Group_assign_department $group_assign_department
* @return type Response
*/
public function destroy($id, Groups $group, Group_assign_department $group_assign_department) {
$users = User::where('assign_group', '=', $id)->first();
if($users){
$user = '<li>There are agents assigned to this group. Please unassign them from this group to delete</li>';
return redirect('groups')->with('fails', 'Group cannot Delete ' . $user);
}
$group_assign_department->where('group_id', $id)->delete();
$groups = $group->whereId($id)->first();
/* Check whether function success or not */
try {
$groups->delete();
/* redirect to Index page with Success Message */
return redirect('groups')->with('success', 'Group Deleted Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('groups')->with('fails', 'Groups cannot Create'.'<li>'.$e->errorInfo[2].'</li>');
}
}
}

View File

@@ -1,4 +1,7 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
@@ -26,201 +29,202 @@ use Exception;
*/
class HelptopicController extends Controller {
/**
* Create a new controller instance.
* @return type vodi
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return type vodi
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Display a listing of the resource.
* @param type Help_topic $topic
* @return type Response
*/
public function index(Help_topic $topic) {
try {
$topics = $topic->get();
return view('themes.default1.admin.helpdesk.manage.helptopic.index', compact('topics'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Display a listing of the resource.
* @param type Help_topic $topic
* @return type Response
*/
public function index(Help_topic $topic) {
try {
$topics = $topic->get();
return view('themes.default1.admin.helpdesk.manage.helptopic.index', compact('topics'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type Priority $priority
* @param type Department $department
* @param type Help_topic $topic
* @param type Form_name $form
* @param type Agents $agent
* @param type Sla_plan $sla
* @return type Response
*/
/*
================================================
| Route to Create view file passing Model Values
| 1.Department Model
| 2.Help_topic Model
| 3.Agents Model
| 4.Sla_plan Model
| 5.Forms Model
================================================
*/
public function create(Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, User $agent, Sla_plan $sla) {
try {
$departments = $department->get();
$topics = $topic->get();
$forms = $form->get();
$agents = $agent->where('role','=','agent')->get();
$slas = $sla->get();
$priority = $priority->get();
return view('themes.default1.admin.helpdesk.manage.helptopic.create', compact('priority', 'departments', 'topics', 'forms', 'agents', 'slas'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type Priority $priority
* @param type Department $department
* @param type Help_topic $topic
* @param type Form_name $form
* @param type Agents $agent
* @param type Sla_plan $sla
* @return type Response
*/
/*
================================================
| Route to Create view file passing Model Values
| 1.Department Model
| 2.Help_topic Model
| 3.Agents Model
| 4.Sla_plan Model
| 5.Forms Model
================================================
*/
public function create(Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, User $agent, Sla_plan $sla) {
try {
$departments = $department->get();
$topics = $topic->get();
$forms = $form->get();
$agents = $agent->where('role', '=', 'agent')->get();
$slas = $sla->get();
$priority = $priority->get();
return view('themes.default1.admin.helpdesk.manage.helptopic.create', compact('priority', 'departments', 'topics', 'forms', 'agents', 'slas'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Store a newly created resource in storage.
* @param type Help_topic $topic
* @param type HelptopicRequest $request
* @return type Response
*/
public function store(Help_topic $topic, HelptopicRequest $request) {
try {
if($request->custom_form){
$custom_form = $request->custom_form;
} else {
$custom_form = null;
}
if($request->auto_assign){
$auto_assign = $request->auto_assign;
} else {
$auto_assign = null;
}
/* Check whether function success or not */
$topic->fill($request->except('custom_form','auto_assign'))->save();
// $topics->fill($request->except('custom_form','auto_assign'))->save();
/* redirect to Index page with Success Message */
return redirect('helptopic')->with('success', 'Helptopic Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('helptopic')->with('fails', 'Helptopic can not Create'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Store a newly created resource in storage.
* @param type Help_topic $topic
* @param type HelptopicRequest $request
* @return type Response
*/
public function store(Help_topic $topic, HelptopicRequest $request) {
try {
if ($request->custom_form) {
$custom_form = $request->custom_form;
} else {
$custom_form = null;
}
if ($request->auto_assign) {
$auto_assign = $request->auto_assign;
} else {
$auto_assign = null;
}
/* Check whether function success or not */
$topic->fill($request->except('custom_form', 'auto_assign'))->save();
// $topics->fill($request->except('custom_form','auto_assign'))->save();
/* redirect to Index page with Success Message */
return redirect('helptopic')->with('success', 'Helptopic Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('helptopic')->with('fails', 'Helptopic can not Create' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Show the form for editing the specified resource.
* @param type $id
* @param type Priority $priority
* @param type Department $department
* @param type Help_topic $topic
* @param type Form_name $form
* @param type Agents $agent
* @param type Sla_plan $sla
* @return type Response
*/
public function edit($id, Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, Sla_plan $sla) {
try {
$agents = User::where('role','=','agent')->get();
$departments = $department->get();
$topics = $topic->whereId($id)->first();
$forms = $form->get();
$slas = $sla->get();
$priority = $priority->get();
return view('themes.default1.admin.helpdesk.manage.helptopic.edit', compact('priority', 'departments', 'topics', 'forms', 'agents', 'slas'));
} catch (Exception $e) {
return redirect('helptopic')->with('fails', '<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Show the form for editing the specified resource.
* @param type $id
* @param type Priority $priority
* @param type Department $department
* @param type Help_topic $topic
* @param type Form_name $form
* @param type Agents $agent
* @param type Sla_plan $sla
* @return type Response
*/
public function edit($id, Ticket_Priority $priority, Department $department, Help_topic $topic, Forms $form, Sla_plan $sla) {
try {
$agents = User::where('role', '=', 'agent')->get();
$departments = $department->get();
$topics = $topic->whereId($id)->first();
$forms = $form->get();
$slas = $sla->get();
$priority = $priority->get();
return view('themes.default1.admin.helpdesk.manage.helptopic.edit', compact('priority', 'departments', 'topics', 'forms', 'agents', 'slas'));
} catch (Exception $e) {
return redirect('helptopic')->with('fails', '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Update the specified resource in storage.
* @param type $id
* @param type Help_topic $topic
* @param type HelptopicUpdate $request
* @return type Response
*/
public function update($id, Help_topic $topic, HelptopicUpdate $request) {
// dd($request);
try {
$topics = $topic->whereId($id)->first();
if($request->custom_form){
$custom_form = $request->custom_form;
} else {
$custom_form = null;
}
if($request->auto_assign){
$auto_assign = $request->auto_assign;
} else {
$auto_assign = null;
}
/* Check whether function success or not */
$topics->fill($request->except('custom_form','auto_assign'))->save();
$topics->custom_form = $custom_form;
$topics->auto_assign = $auto_assign;
$topics->save();
/* redirect to Index page with Success Message */
return redirect('helptopic')->with('success', 'Helptopic Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('helptopic')->with('fails', 'Helptopic can not Update'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Update the specified resource in storage.
* @param type $id
* @param type Help_topic $topic
* @param type HelptopicUpdate $request
* @return type Response
*/
public function update($id, Help_topic $topic, HelptopicUpdate $request) {
// dd($request);
try {
$topics = $topic->whereId($id)->first();
if ($request->custom_form) {
$custom_form = $request->custom_form;
} else {
$custom_form = null;
}
if ($request->auto_assign) {
$auto_assign = $request->auto_assign;
} else {
$auto_assign = null;
}
/* Check whether function success or not */
$topics->fill($request->except('custom_form', 'auto_assign'))->save();
$topics->custom_form = $custom_form;
$topics->auto_assign = $auto_assign;
$topics->save();
/* redirect to Index page with Success Message */
return redirect('helptopic')->with('success', 'Helptopic Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('helptopic')->with('fails', 'Helptopic can not Update' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Help_topic $topic
* @return type Response
*/
public function destroy($id, Help_topic $topic, Ticket $ticket_setting) {
$ticket_settings = $ticket_setting->where('id','=','1')->first();
if($ticket_settings->help_topic == $id) {
return redirect('departments')->with('fails', 'You cannot delete default department');
} else {
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Help_topic $topic
* @return type Response
*/
public function destroy($id, Help_topic $topic, Ticket $ticket_setting) {
$ticket_settings = $ticket_setting->where('id', '=', '1')->first();
if ($ticket_settings->help_topic == $id) {
return redirect('departments')->with('fails', 'You cannot delete default department');
} else {
$tickets = DB::table('tickets')->where('help_topic_id','=',$id)->update(['help_topic_id' => $ticket_settings->help_topic]);
$tickets = DB::table('tickets')->where('help_topic_id', '=', $id)->update(['help_topic_id' => $ticket_settings->help_topic]);
if($tickets > 0){
if($tickets > 1){
$text_tickets = "Tickets";
} else {
$text_tickets = "Ticket";
}
$ticket = '<li>'.$tickets.' '.$text_tickets.' have been moved to default Help Topic</li>';
} else {
$ticket = "";
}
if ($tickets > 0) {
if ($tickets > 1) {
$text_tickets = "Tickets";
} else {
$text_tickets = "Ticket";
}
$ticket = '<li>' . $tickets . ' ' . $text_tickets . ' have been moved to default Help Topic</li>';
} else {
$ticket = "";
}
$emails = DB::table('emails')->where('help_topic','=',$id)->update(['help_topic' => $ticket_settings->help_topic]);
$emails = DB::table('emails')->where('help_topic', '=', $id)->update(['help_topic' => $ticket_settings->help_topic]);
if($emails > 0){
if($emails > 1){
$text_emails = "Emails";
} else {
$text_emails = "Email";
}
$email = '<li>'.$emails.' System '.$text_emails.' have been moved to default Help Topic</li>';
} else {
$email = "";
}
if ($emails > 0) {
if ($emails > 1) {
$text_emails = "Emails";
} else {
$text_emails = "Email";
}
$email = '<li>' . $emails . ' System ' . $text_emails . ' have been moved to default Help Topic</li>';
} else {
$email = "";
}
$message = $ticket.$email;
$message = $ticket . $email;
$topics = $topic->whereId($id)->first();
/* Check whether function success or not */
try {
$topics->delete();
/* redirect to Index page with Success Message */
return redirect('helptopic')->with('success', 'Helptopic Deleted Successfully' . $message);
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('helptopic')->with('fails', 'Helptopic can not Delete' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
}
$topics = $topic->whereId($id)->first();
/* Check whether function success or not */
try{
$topics->delete();
/* redirect to Index page with Success Message */
return redirect('helptopic')->with('success', 'Helptopic Deleted Successfully'.$message);
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('helptopic')->with('fails', 'Helptopic can not Delete'.'<li>'.$e->errorInfo[2].'</li>');
}
}
}
}

View File

@@ -1,4 +1,6 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
/**
* -----------------------------------------------
@@ -14,21 +16,21 @@
*/
class HomeController extends Controller {
/**
* Create a new controller instance.
* @return void
*/
public function __construct() {
$this->middleware('auth');
}
/**
* Create a new controller instance.
* @return void
*/
public function __construct() {
$this->middleware('auth');
}
/**
* Show the application dashboard to the user.
*
* @return Response
*/
public function index() {
return view('themes/default1/admin/dashboard');
}
/**
* Show the application dashboard to the user.
*
* @return Response
*/
public function index() {
return view('themes/default1/admin/dashboard');
}
}

View File

@@ -1,4 +1,7 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
@@ -43,156 +46,142 @@ class LanguageController extends Controller {
* @return type response
*/
public function switchLanguage($lang) {
//if(Cache::has('language'))
//{
// return Cache::get('language');
//} else return 'false';
// Cache::put('language',$)
$path = '../resources/lang';// Path to check available language packages
if(array_key_exists($lang, Config::get('languages')) && in_array($lang, scandir($path))) {
// dd(array_key_exists($lang, Config::get('languages')));
// app()->setLocale($lang);
//if(Cache::has('language'))
//{
// return Cache::get('language');
//} else return 'false';
// Cache::put('language',$)
$path = '../resources/lang'; // Path to check available language packages
if (array_key_exists($lang, Config::get('languages')) && in_array($lang, scandir($path))) {
// dd(array_key_exists($lang, Config::get('languages')));
// app()->setLocale($lang);
Cache::forever('language', $lang);
// dd(Cache::get('language'));
// dd()
} else {
return Redirect::back()->with('fails', Lang::get("lang.language-error"));
}
return Redirect::back();
Cache::forever('language', $lang);
// dd(Cache::get('language'));
// dd()
} else {
return Redirect::back()->with('fails', Lang::get("lang.language-error"));
}
return Redirect::back();
}
/**
*Shows language page
*@return type response
* Shows language page
* @return type response
*/
public function index(){
public function index() {
return view('themes.default1.admin.helpdesk.language.index');
}
/**
*Shows Language upload form
*@return type response
* Shows Language upload form
* @return type response
*/
public function getForm(){
public function getForm() {
return view('themes.default1.admin.helpdesk.language.create');
}
/**
*Provide language datatable to language page
*@return type
* Provide language datatable to language page
* @return type
*/
public function getLanguages()
{
public function getLanguages() {
$path = '../resources/lang';
$values = scandir($path); //Extracts names of directories present in lang directory
$values = array_slice($values, 2); // skips array element $value[0] = '.' & $value[1] = '..'
return \Datatable::collection(new Collection($values))
->addColumn('language', function($model){
return Config::get('languages.'.$model);
})
->addColumn('id', function($model){
return $model;
})
->addColumn('status',function($model){
if(Lang::getLocale()===$model){return "<span style='color:green'>".Lang::trans("lang.active")."</span>"; } else return "<span style='color:red'>".Lang::trans("lang.inactive")."</span>";
})
->addColumn('Action', function($model){
if(Lang::getLocale()===$model){
return "<a href='change-language/".$model."'><input type='button' class='btn btn-info btn-xs btn-flat' disabled value='". Lang::trans("lang.disable")."'/></a>
<a href='change-language/".$model."' class='btn btn-danger btn-xs btn-flat' disabled><i class='fa fa-trash' style='color:black;'> </i> ". Lang::trans("lang.delete")."</a>";
} else {
return "<a href='change-language/".$model."'><input type='button' class='btn btn-info btn-xs btn-flat' value='". Lang::trans("lang.enable")."'/></a>
<a href='delete-language/".$model."' class='btn btn-danger btn-xs btn-flat'><i class='fa fa-trash' style='color:black;'> </i> ". Lang::trans("lang.delete")."</a>";
}
})
->searchColumns('language','id')
->make();
->addColumn('language', function($model) {
return Config::get('languages.' . $model);
})
->addColumn('id', function($model) {
return $model;
})
->addColumn('status', function($model) {
if (Lang::getLocale() === $model) {
return "<span style='color:green'>" . Lang::trans("lang.active") . "</span>";
} else
return "<span style='color:red'>" . Lang::trans("lang.inactive") . "</span>";
})
->addColumn('Action', function($model) {
if (Lang::getLocale() === $model) {
return "<a href='change-language/" . $model . "'><input type='button' class='btn btn-info btn-xs btn-flat' disabled value='" . Lang::trans("lang.disable") . "'/></a>
<a href='change-language/" . $model . "' class='btn btn-danger btn-xs btn-flat' disabled><i class='fa fa-trash' style='color:black;'> </i> " . Lang::trans("lang.delete") . "</a>";
} else {
return "<a href='change-language/" . $model . "'><input type='button' class='btn btn-info btn-xs btn-flat' value='" . Lang::trans("lang.enable") . "'/></a>
<a href='delete-language/" . $model . "' class='btn btn-danger btn-xs btn-flat'><i class='fa fa-trash' style='color:black;'> </i> " . Lang::trans("lang.delete") . "</a>";
}
})
->searchColumns('language', 'id')
->make();
}
/**
*handle language file uploading
*@return response
* handle language file uploading
* @return response
*/
public function postForm() {
// getting all of the post data
$file = array(
'File' => Input::file('File'),
'language-name' => Input::input('language-name'),
'iso-code' => Input::input('iso-code')
);
'File' => Input::file('File'),
'language-name' => Input::input('language-name'),
'iso-code' => Input::input('iso-code')
);
// setting up rules
$rules = array(
'File' => 'required|mimes:zip|max:30000',
'language-name' => 'required',
'iso-code' => 'required|max:2'
); // and for max size
$rules = array(
'File' => 'required|mimes:zip|max:30000',
'language-name' => 'required',
'iso-code' => 'required|max:2'
); // and for max size
// doing the validation, passing post data, rules and the messages
$validator = Validator::make($file, $rules);
if ($validator->fails()) {
// send back to the page with the input data and errors
return Redirect::back()->withInput()->withErrors($validator);
} else {
//Checking if package already exists or not in lang folder
$path = '../resources/lang';
if (in_array(strtolower(Input::get('iso-code')), scandir($path))) {
//sending back with error message
Session::flash('fails', Lang::get('lang.package_exist'));
Session::flash('link',"change-language/".strtolower(Input::get('iso-code')));
Session::flash('link', "change-language/" . strtolower(Input::get('iso-code')));
return Redirect::back()->withInput();
} elseif (!array_key_exists(strtolower(Input::get('iso-code')), Config::get('languages'))){//Checking Valid ISO code form Languages.php
} elseif (!array_key_exists(strtolower(Input::get('iso-code')), Config::get('languages'))) {//Checking Valid ISO code form Languages.php
//sending back with error message
Session::flash('fails', Lang::get('lang.iso-code-error'));
return Redirect::back()->withInput();
} else {
// checking file is valid.
if (Input::file('File')->isValid()) {
$name = Input::file('File')->getClientOriginalName(); //uploaded file's original name
$destinationPath = '../public/uploads/'; // defining uploading path
$extractpath = '../resources/lang/'.strtolower(Input::get('iso-code'));//defining extracting path
$extractpath = '../resources/lang/' . strtolower(Input::get('iso-code')); //defining extracting path
mkdir($extractpath); //creating directroy for extracting uploadd file
//mkdir($destinationPath);
Input::file('File')->move($destinationPath, $name); // uploading file to given path
\Zipper::make($destinationPath.'/'.$name)->extractTo($extractpath);//extracting file to give path
\Zipper::make($destinationPath . '/' . $name)->extractTo($extractpath); //extracting file to give path
//check if Zip extract foldercontains any subfolder
$directories = File::directories($extractpath);
//$directories = glob($extractpath. '/*' , GLOB_ONLYDIR);
if(!empty($directories)){ //if extract folder contains subfolder
if (!empty($directories)) { //if extract folder contains subfolder
$success = File::deleteDirectory($extractpath); //remove extracted folder and it's subfolder from lang
//$success2 = File::delete($destinationPath.'/'.$name);
if($success){
if ($success) {
//sending back with error message
Session::flash('fails', Lang::get('lang.zipp-error'));
Session::flash('link2',"http://www.ladybirdweb.com/support/show/how-to-translate-faveo-into-multiple-languages");
return Redirect::back()->withInput();
}
Session::flash('link2', "http://www.ladybirdweb.com/support/show/how-to-translate-faveo-into-multiple-languages");
return Redirect::back()->withInput();
}
} else {
// sending back with success message
Session::flash('success', Lang::get("lang.upload-success"));
Session::flash('link',"change-language/".strtolower(Input::get('iso-code')));
return Redirect::route('LanguageController');
// sending back with success message
Session::flash('success', Lang::get("lang.upload-success"));
Session::flash('link', "change-language/" . strtolower(Input::get('iso-code')));
return Redirect::route('LanguageController');
}
} else {
// sending back with error message.
@@ -204,8 +193,8 @@ class LanguageController extends Controller {
}
/**
*allow user to download language template file
*@return type
* allow user to download language template file
* @return type
*/
Public function download() {
return response()->download('../public/downloads/en.zip');
@@ -216,23 +205,24 @@ class LanguageController extends Controller {
* @param type $lang
* @return type response
*/
public function deleteLanguage($lang){
if($lang !== App::getLocale()){
$deletePath = '../resources/lang/'.$lang; //define file path to delete
public function deleteLanguage($lang) {
if ($lang !== App::getLocale()) {
$deletePath = '../resources/lang/' . $lang; //define file path to delete
$success = File::deleteDirectory($deletePath); //remove extracted folder and it's subfolder from lang
if($success) {
if ($success) {
//sending back with success message
Session::flash('success', Lang::get('lang.delete-success'));
return Redirect::back();
return Redirect::back();
} else {
//sending back with error message
Session::flash('fails', Lang::get('lang.lang-doesnot-exist'));
return Redirect::back();
return Redirect::back();
}
} else {
//sending back with error message
Session::flash('fails', Lang::get('lang.active-lang-error'));
return redirect('languages');
return redirect('languages');
}
}
}

View File

@@ -1,4 +1,7 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
@@ -21,103 +24,104 @@ use Exception;
*/
class ProfileController extends Controller {
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Get profile page
* @return type Response
*/
public function getProfile() {
try {
$user = Auth::user();
if ($user) {
return view('themes.default1.agent.helpdesk.user.profile', compact('user'));
} else {
return redirect('404');
}
} catch (Exception $e) {
return redirect('404');
}
}
/**
* Get profile page
* @return type Response
*/
public function getProfile() {
try {
$user = Auth::user();
if ($user) {
return view('themes.default1.agent.helpdesk.user.profile', compact('user'));
} else {
return redirect('404');
}
} catch (Exception $e) {
return redirect('404');
}
}
/**
* Get profile Edit page
* @return type Response
*/
public function getProfileedit() {
try {
$user = Auth::user();
if ($user) {
return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user'));
} else {
return redirect('404');
}
} catch (Exception $e) {
return redirect('404');
}
}
/**
* Get profile Edit page
* @return type Response
*/
public function getProfileedit() {
try {
$user = Auth::user();
if ($user) {
return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user'));
} else {
return redirect('404');
}
} catch (Exception $e) {
return redirect('404');
}
}
/**
* Post profile page
* @param type int $id
* @param type ProfileRequest $request
* @return type Response
*/
public function postProfile($id, ProfileRequest $request) {
$user = Auth::user();
$user->gender = $request->input('gender');
$user->save();
if ($user->profile_pic == 'avatar5.png' || $user->profile_pic == 'avatar2.png') {
if ($request->input('gender') == 1) {
$name = 'avatar5.png';
$destinationPath = 'lb-faveo/profilepic';
$user->profile_pic = $name;
} elseif ($request->input('gender') == 0) {
$name = 'avatar2.png';
$destinationPath = 'lb-faveo/profilepic';
$user->profile_pic = $name;
}
}
if (Input::file('profile_pic')) {
//$extension = Input::file('profile_pic')->getClientOriginalExtension();
$name = Input::file('profile_pic')->getClientOriginalName();
$destinationPath = 'lb-faveo/profilepic';
$fileName = rand(0000, 9999) . '.' . $name;
//echo $fileName;
Input::file('profile_pic')->move($destinationPath, $fileName);
$user->profile_pic = $fileName;
} else {
$user->fill($request->except('profile_pic', 'gender'))->save();
return redirect('guest')->with('success', 'Profile Updated sucessfully');
}
if ($user->fill($request->except('profile_pic'))->save()) {
return redirect('guest')->with('success', 'Profile Updated sucessfully');
}
}
/**
* Post profile page
* @param type int $id
* @param type ProfileRequest $request
* @return type Response
*/
public function postProfile($id, ProfileRequest $request) {
$user = Auth::user();
$user->gender = $request->input('gender');
$user->save();
if ($user->profile_pic == 'avatar5.png' || $user->profile_pic == 'avatar2.png') {
if ($request->input('gender') == 1) {
$name = 'avatar5.png';
$destinationPath = 'lb-faveo/profilepic';
$user->profile_pic = $name;
} elseif ($request->input('gender') == 0) {
$name = 'avatar2.png';
$destinationPath = 'lb-faveo/profilepic';
$user->profile_pic = $name;
}
}
if (Input::file('profile_pic')) {
//$extension = Input::file('profile_pic')->getClientOriginalExtension();
$name = Input::file('profile_pic')->getClientOriginalName();
$destinationPath = 'lb-faveo/profilepic';
$fileName = rand(0000, 9999) . '.' . $name;
//echo $fileName;
Input::file('profile_pic')->move($destinationPath, $fileName);
$user->profile_pic = $fileName;
} else {
$user->fill($request->except('profile_pic', 'gender'))->save();
return redirect('guest')->with('success', 'Profile Updated sucessfully');
}
if ($user->fill($request->except('profile_pic'))->save()) {
return redirect('guest')->with('success', 'Profile Updated sucessfully');
}
}
/**
* Post Profile password page
* @param type int $id
* @param type User $user
* @param type ProfilePassword $request
* @return type Response
*/
public function postProfilePassword($id, User $user, ProfilePassword $request) {
$user = Auth::user();
//echo $user->password;
if (Hash::check($request->input('old_password'), $user->getAuthPassword())) {
$user->password = Hash::make($request->input('new_password'));
$user->save();
return redirect('guest')->with('success', 'Password Updated sucessfully');
} else {
return redirect('guest')->with('fails', 'Password was not Updated');
}
}
/**
* Post Profile password page
* @param type int $id
* @param type User $user
* @param type ProfilePassword $request
* @return type Response
*/
public function postProfilePassword($id, User $user, ProfilePassword $request) {
$user = Auth::user();
//echo $user->password;
if (Hash::check($request->input('old_password'), $user->getAuthPassword())) {
$user->password = Hash::make($request->input('new_password'));
$user->save();
return redirect('guest')->with('success', 'Password Updated sucessfully');
} else {
return redirect('guest')->with('fails', 'Password was not Updated');
}
}
}

View File

@@ -1,4 +1,7 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
@@ -27,7 +30,6 @@ use App\Model\helpdesk\Utility\Time_format;
use Illuminate\Http\Request;
use Input;
use Exception;
use DB;
/**
* SettingsController
@@ -38,415 +40,428 @@ use DB;
*/
class SettingsController extends Controller {
/**
* Create a new controller instance.
* @return void
*/
public function __construct() {
// $this->smtp();
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return void
*/
public function __construct() {
// $this->smtp();
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Main Settings Page
* @return type view
*/
/**
* Main Settings Page
* @return type view
*/
public function settings() {
return view('themes.default1.admin.helpdesk.setting');
}
public function RatingSettings() {
$ratings = DB::table('settings_ratings')->get();
return view('themes.default1.admin.helpdesk.settings.ratings',compact('ratings'));
}
public function PostRatingSettings($slug) {
$name = Input::get('rating_name');
$publish = Input::get('publish');
$modify = Input::get('modify');
DB::table('settings_ratings')->whereSlug($slug)->update(array('rating_name' => $name,'publish' => $publish, 'modify' => $modify));
return redirect()->back()->with('success', 'Successfully updated');
}
public function RatingDelete($slug) {
DB::table('settings_ratings')->whereSlug($slug)->delete();
return redirect()->back()->with('success', 'Successfully Deleted');
}
/**
* @param int $id
* @return Response
* @param $compant instance of company table
*
* get the form for company setting page
*/
public function getcompany(Company $company) {
try {
/* fetch the values of company from company table */
$companys = $company->whereId('1')->first();
/* Direct to Company Settings Page */
return view('themes.default1.admin.helpdesk.settings.company', compact('companys'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
return view('themes.default1.admin.helpdesk.setting');
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Company $company
* @param type CompanyRequest $request
* @return Response
*/
public function postcompany($id, Company $company, CompanyRequest $request) {
/* fetch the values of company request */
$companys = $company->whereId('1')->first();
if (Input::file('logo')) {
$name = Input::file('logo')->getClientOriginalName();
$destinationPath = 'lb-faveo/media/company/';
$fileName = rand(0000, 9999) . '.' . $name;
Input::file('logo')->move($destinationPath, $fileName);
$companys->logo = $fileName;
}
if($request->input('use_logo')==null) {
$companys->use_logo = '0';
}
/* Check whether function success or not */
try {
$companys->fill($request->except('logo'))->save();
/* redirect to Index page with Success Message */
return redirect('getcompany')->with('success', 'Company Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getcompany')->with('fails', 'Company can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* @param int $id
* @return Response
* @param $compant instance of company table
*
* get the form for company setting page
*/
public function getcompany(Company $company) {
try {
/* fetch the values of company from company table */
$companys = $company->whereId('1')->first();
/* Direct to Company Settings Page */
return view('themes.default1.admin.helpdesk.settings.company', compact('companys'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* get the form for System setting page
* @param type System $system
* @param type Department $department
* @param type Timezones $timezone
* @param type Date_format $date
* @param type Date_time_format $date_time
* @param type Time_format $time
* @return type Response
*/
public function getsystem(System $system, Department $department, Timezones $timezone, Date_format $date, Date_time_format $date_time, Time_format $time) {
try {
/* fetch the values of system from system table */
$systems = $system->whereId('1')->first();
/* Fetch the values from Department table */
$departments = $department->get();
/* Fetch the values from Timezones table */
$timezones = $timezone->get();
/* Direct to System Settings Page */
return view('themes.default1.admin.helpdesk.settings.system', compact('systems', 'departments', 'timezones', 'time', 'date', 'date_time'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Company $company
* @param type CompanyRequest $request
* @return Response
*/
public function postcompany($id, Company $company, CompanyRequest $request) {
/* fetch the values of company request */
$companys = $company->whereId('1')->first();
if (Input::file('logo')) {
$name = Input::file('logo')->getClientOriginalName();
$destinationPath = 'lb-faveo/media/company/';
$fileName = rand(0000, 9999) . '.' . $name;
Input::file('logo')->move($destinationPath, $fileName);
$companys->logo = $fileName;
}
if ($request->input('use_logo') == null) {
$companys->use_logo = '0';
}
/* Check whether function success or not */
try {
$companys->fill($request->except('logo'))->save();
/* redirect to Index page with Success Message */
return redirect('getcompany')->with('success', 'Company Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getcompany')->with('fails', 'Company can not Updated' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type System $system
* @param type SystemRequest $request
* @return type Response
*/
public function postsystem($id, System $system, SystemRequest $request) {
try {
// dd($request);
/* fetch the values of system request */
$systems = $system->whereId('1')->first();
/* fill the values to coompany table */
/* Check whether function success or not */
$systems->fill($request->input())->save();
/* redirect to Index page with Success Message */
return redirect('getsystem')->with('success', 'System Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getsystem')->with('fails', 'System can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* get the form for System setting page
* @param type System $system
* @param type Department $department
* @param type Timezones $timezone
* @param type Date_format $date
* @param type Date_time_format $date_time
* @param type Time_format $time
* @return type Response
*/
public function getsystem(System $system, Department $department, Timezones $timezone, Date_format $date, Date_time_format $date_time, Time_format $time) {
try {
/* fetch the values of system from system table */
$systems = $system->whereId('1')->first();
/* Fetch the values from Department table */
$departments = $department->get();
/* Fetch the values from Timezones table */
$timezones = $timezone->get();
/* Direct to System Settings Page */
return view('themes.default1.admin.helpdesk.settings.system', compact('systems', 'departments', 'timezones', 'time', 'date', 'date_time'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* get the form for Ticket setting page
* @param type Ticket $ticket
* @param type Sla_plan $sla
* @param type Help_topic $topic
* @param type Priority $priority
* @return type Response
*/
public function getticket(Ticket $ticket, Sla_plan $sla, Help_topic $topic, Ticket_Priority $priority) {
try {
/* fetch the values of ticket from ticket table */
$tickets = $ticket->whereId('1')->first();
/* Fetch the values from SLA Plan table */
$slas = $sla->get();
/* Fetch the values from Help_topic table */
$topics = $topic->get();
/* Direct to Ticket Settings Page */
return view('themes.default1.admin.helpdesk.settings.ticket', compact('tickets', 'slas', 'topics', 'priority'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type System $system
* @param type SystemRequest $request
* @return type Response
*/
public function postsystem($id, System $system, SystemRequest $request) {
try {
// dd($request);
/* fetch the values of system request */
$systems = $system->whereId('1')->first();
/* fill the values to coompany table */
/* Check whether function success or not */
$systems->fill($request->input())->save();
/* redirect to Index page with Success Message */
return redirect('getsystem')->with('success', 'System Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getsystem')->with('fails', 'System can not Updated' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Ticket $ticket
* @param type Request $request
* @return type Response
*/
public function postticket($id, Ticket $ticket, Request $request) {
try {
/* fetch the values of ticket request */
$tickets = $ticket->whereId('1')->first();
/* fill the values to coompany table */
$tickets->fill($request->except('captcha', 'claim_response', 'assigned_ticket', 'answered_ticket', 'agent_mask', 'html', 'client_update'))->save();
/* insert checkbox to Database */
$tickets->captcha = $request->input('captcha');
$tickets->claim_response = $request->input('claim_response');
$tickets->assigned_ticket = $request->input('assigned_ticket');
$tickets->answered_ticket = $request->input('answered_ticket');
$tickets->agent_mask = $request->input('agent_mask');
$tickets->html = $request->input('html');
$tickets->client_update = $request->input('client_update');
/* Check whether function success or not */
$tickets->save();
/* redirect to Index page with Success Message */
return redirect('getticket')->with('success', 'Ticket Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getticket')->with('fails', 'Ticket can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* get the form for Ticket setting page
* @param type Ticket $ticket
* @param type Sla_plan $sla
* @param type Help_topic $topic
* @param type Priority $priority
* @return type Response
*/
public function getticket(Ticket $ticket, Sla_plan $sla, Help_topic $topic, Ticket_Priority $priority) {
try {
/* fetch the values of ticket from ticket table */
$tickets = $ticket->whereId('1')->first();
/* Fetch the values from SLA Plan table */
$slas = $sla->get();
/* Fetch the values from Help_topic table */
$topics = $topic->get();
/* Direct to Ticket Settings Page */
return view('themes.default1.admin.helpdesk.settings.ticket', compact('tickets', 'slas', 'topics', 'priority'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* get the form for Email setting page
* @param type Email $email
* @param type Template $template
* @param type Emails $email1
* @return type Response
*/
public function getemail(Email $email, Template $template, Emails $email1) {
try {
/* fetch the values of email from Email table */
$emails = $email->whereId('1')->first();
/* Fetch the values from Template table */
$templates = $template->get();
/* Fetch the values from Emails table */
$emails1 = $email1->get();
/* Direct to Email Settings Page */
return view('themes.default1.admin.helpdesk.settings.email', compact('emails', 'templates', 'emails1'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Ticket $ticket
* @param type Request $request
* @return type Response
*/
public function postticket($id, Ticket $ticket, Request $request) {
try {
/* fetch the values of ticket request */
$tickets = $ticket->whereId('1')->first();
/* fill the values to coompany table */
$tickets->fill($request->except('captcha', 'claim_response', 'assigned_ticket', 'answered_ticket', 'agent_mask', 'html', 'client_update'))->save();
/* insert checkbox to Database */
$tickets->captcha = $request->input('captcha');
$tickets->claim_response = $request->input('claim_response');
$tickets->assigned_ticket = $request->input('assigned_ticket');
$tickets->answered_ticket = $request->input('answered_ticket');
$tickets->agent_mask = $request->input('agent_mask');
$tickets->html = $request->input('html');
$tickets->client_update = $request->input('client_update');
$tickets->collision_avoid = $request->input('collision_avoid');
/* Check whether function success or not */
$tickets->save();
/* redirect to Index page with Success Message */
return redirect('getticket')->with('success', 'Ticket Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getticket')->with('fails', 'Ticket can not Updated' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Email $email
* @param type EmailRequest $request
* @return type Response
*/
public function postemail($id, Email $email, EmailRequest $request) {
try {
/* fetch the values of email request */
$emails = $email->whereId('1')->first();
/* fill the values to email table */
$emails->fill($request->except('email_fetching', 'all_emails', 'email_collaborator', 'strip', 'attachment'))->save();
/* insert checkboxes to database */
$emails->email_fetching = $request->input('email_fetching');
$emails->notification_cron = $request->input('notification_cron');
$emails->all_emails = $request->input('all_emails');
$emails->email_collaborator = $request->input('email_collaborator');
$emails->strip = $request->input('strip');
$emails->attachment = $request->input('attachment');
/* Check whether function success or not */
$emails->save();
/* redirect to Index page with Success Message */
return redirect('getemail')->with('success', 'Email Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getemail')->with('fails', 'Email can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* get the form for Email setting page
* @param type Email $email
* @param type Template $template
* @param type Emails $email1
* @return type Response
*/
public function getemail(Email $email, Template $template, Emails $email1) {
try {
/* fetch the values of email from Email table */
$emails = $email->whereId('1')->first();
/* Fetch the values from Template table */
$templates = $template->get();
/* Fetch the values from Emails table */
$emails1 = $email1->get();
/* Direct to Email Settings Page */
return view('themes.default1.admin.helpdesk.settings.email', compact('emails', 'templates', 'emails1'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* get the form for Access setting page
* @param type Access $access
* @return type Response
*/
// public function getaccess(Access $access) {
// try {
// /* fetch the values of access from access table */
// $accesses = $access->whereId('1')->first();
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Email $email
* @param type EmailRequest $request
* @return type Response
*/
public function postemail($id, Email $email, EmailRequest $request) {
try {
/* fetch the values of email request */
$emails = $email->whereId('1')->first();
/* fill the values to email table */
$emails->fill($request->except('email_fetching', 'all_emails', 'email_collaborator', 'strip', 'attachment'))->save();
/* insert checkboxes to database */
$emails->email_fetching = $request->input('email_fetching');
$emails->notification_cron = $request->input('notification_cron');
$emails->all_emails = $request->input('all_emails');
$emails->email_collaborator = $request->input('email_collaborator');
$emails->strip = $request->input('strip');
$emails->attachment = $request->input('attachment');
/* Check whether function success or not */
$emails->save();
/* redirect to Index page with Success Message */
return redirect('getemail')->with('success', 'Email Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getemail')->with('fails', 'Email can not Updated' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* get the form for Access setting page
* @param type Access $access
* @return type Response
*/
// public function getaccess(Access $access) {
// try {
// /* fetch the values of access from access table */
// $accesses = $access->whereId('1')->first();
// // Direct to Access Settings Page
// return view('themes.default1.admin.helpdesk.settings.access', compact('accesses'));
// } catch (Exception $e) {
// return view('404');
// }
// }
// return view('themes.default1.admin.helpdesk.settings.access', compact('accesses'));
// } catch (Exception $e) {
// return view('404');
// }
// }
/**
* Update the specified resource in storage.
* @param type Access $access
* @param type Request $request
* @return type Response
*/
// public function postaccess(Access $access, Request $request) {
// try {
// /* fetch the values of access request */
// $accesses = $access->whereId('1')->first();
// /* fill the values to access table */
// $accesses->fill($request->except('password_reset', 'bind_agent_ip', 'reg_require', 'quick_access'))->save();
// /* insert checkbox value to DB */
// $accesses->password_reset = $request->input('password_reset');
// $accesses->bind_agent_ip = $request->input('bind_agent_ip');
// $accesses->reg_require = $request->input('reg_require');
// $accesses->quick_access = $request->input('quick_access');
// /* Check whether function success or not */
// if ($accesses->save() == true) {
// /* redirect to Index page with Success Message */
// return redirect('getaccess')->with('success', 'Access Updated Successfully');
// } else {
// /* redirect to Index page with Fails Message */
// return redirect('getaccess')->with('fails', 'Access can not Updated');
// }
// } catch (Exception $e) {
// /* redirect to Index page with Fails Message */
// return redirect('getaccess')->with('fails', 'Access can not Updated');
// }
// }
/**
* Update the specified resource in storage.
* @param type Access $access
* @param type Request $request
* @return type Response
*/
// public function postaccess(Access $access, Request $request) {
// try {
// /* fetch the values of access request */
// $accesses = $access->whereId('1')->first();
// /* fill the values to access table */
// $accesses->fill($request->except('password_reset', 'bind_agent_ip', 'reg_require', 'quick_access'))->save();
// /* insert checkbox value to DB */
// $accesses->password_reset = $request->input('password_reset');
// $accesses->bind_agent_ip = $request->input('bind_agent_ip');
// $accesses->reg_require = $request->input('reg_require');
// $accesses->quick_access = $request->input('quick_access');
// /* Check whether function success or not */
// if ($accesses->save() == true) {
// /* redirect to Index page with Success Message */
// return redirect('getaccess')->with('success', 'Access Updated Successfully');
// } else {
// /* redirect to Index page with Fails Message */
// return redirect('getaccess')->with('fails', 'Access can not Updated');
// }
// } catch (Exception $e) {
// /* redirect to Index page with Fails Message */
// return redirect('getaccess')->with('fails', 'Access can not Updated');
// }
// }
/**
* get the form for Responder setting page
* @param type Responder $responder
* @return type Response
*/
public function getresponder(Responder $responder) {
try {
/* fetch the values of responder from responder table */
$responders = $responder->whereId('1')->first();
/* Direct to Responder Settings Page */
return view('themes.default1.admin.helpdesk.settings.responder', compact('responders'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* get the form for Responder setting page
* @param type Responder $responder
* @return type Response
*/
public function getresponder(Responder $responder) {
try {
/* fetch the values of responder from responder table */
$responders = $responder->whereId('1')->first();
/* Direct to Responder Settings Page */
return view('themes.default1.admin.helpdesk.settings.responder', compact('responders'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* Update the specified resource in storage.
* @param type Responder $responder
* @param type Request $request
* @return type
*/
public function postresponder(Responder $responder, Request $request) {
try {
/* fetch the values of responder request */
$responders = $responder->whereId('1')->first();
/* insert Checkbox value to DB */
$responders->new_ticket = $request->input('new_ticket');
$responders->agent_new_ticket = $request->input('agent_new_ticket');
$responders->submitter = $request->input('submitter');
$responders->participants = $request->input('participants');
$responders->overlimit = $request->input('overlimit');
/* fill the values to coompany table */
/* Check whether function success or not */
$responders->save();
/* redirect to Index page with Success Message */
return redirect('getresponder')->with('success', 'Responder Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getresponder')->with('fails', 'Responder can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Update the specified resource in storage.
* @param type Responder $responder
* @param type Request $request
* @return type
*/
public function postresponder(Responder $responder, Request $request) {
try {
/* fetch the values of responder request */
$responders = $responder->whereId('1')->first();
/* insert Checkbox value to DB */
$responders->new_ticket = $request->input('new_ticket');
$responders->agent_new_ticket = $request->input('agent_new_ticket');
$responders->submitter = $request->input('submitter');
$responders->participants = $request->input('participants');
$responders->overlimit = $request->input('overlimit');
/* fill the values to coompany table */
/* Check whether function success or not */
$responders->save();
/* redirect to Index page with Success Message */
return redirect('getresponder')->with('success', 'Responder Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getresponder')->with('fails', 'Responder can not Updated' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* get the form for Alert setting page
* @param type Alert $alert
* @return type Response
*/
public function getalert(Alert $alert) {
try {
/* fetch the values of alert from alert table */
$alerts = $alert->whereId('1')->first();
/* Direct to Alert Settings Page */
return view('themes.default1.admin.helpdesk.settings.alert', compact('alerts'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* get the form for Alert setting page
* @param type Alert $alert
* @return type Response
*/
public function getalert(Alert $alert) {
try {
/* fetch the values of alert from alert table */
$alerts = $alert->whereId('1')->first();
/* Direct to Alert Settings Page */
return view('themes.default1.admin.helpdesk.settings.alert', compact('alerts'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* Update the specified resource in storage.
* @param type $id
* @param type Alert $alert
* @param type Request $request
* @return type Response
*/
public function postalert($id, Alert $alert, Request $request) {
try {
/* fetch the values of alert request */
$alerts = $alert->whereId('1')->first();
/* Insert Checkbox to DB */
$alerts->assignment_status = $request->input('assignment_status');
$alerts->ticket_status = $request->input('ticket_status');
$alerts->overdue_department_member = $request->input('overdue_department_member');
$alerts->sql_error = $request->input('sql_error');
$alerts->excessive_failure = $request->input('excessive_failure');
$alerts->overdue_status = $request->input('overdue_status');
$alerts->overdue_assigned_agent = $request->input('overdue_assigned_agent');
$alerts->overdue_department_manager = $request->input('overdue_department_manager');
$alerts->internal_status = $request->input('internal_status');
$alerts->internal_last_responder = $request->input('internal_last_responder');
$alerts->internal_assigned_agent = $request->input('internal_assigned_agent');
$alerts->internal_department_manager = $request->input('internal_department_manager');
$alerts->assignment_assigned_agent = $request->input('assignment_assigned_agent');
$alerts->assignment_team_leader = $request->input('assignment_team_leader');
$alerts->assignment_team_member = $request->input('assignment_team_member');
$alerts->system_error = $request->input('system_error');
$alerts->transfer_department_member = $request->input('transfer_department_member');
$alerts->transfer_department_manager = $request->input('transfer_department_manager');
$alerts->transfer_assigned_agent = $request->input('transfer_assigned_agent');
$alerts->transfer_status = $request->input('transfer_status');
$alerts->message_organization_accmanager = $request->input('message_organization_accmanager');
$alerts->message_department_manager = $request->input('message_department_manager');
$alerts->message_assigned_agent = $request->input('message_assigned_agent');
$alerts->message_last_responder = $request->input('message_last_responder');
$alerts->message_status = $request->input('message_status');
$alerts->ticket_organization_accmanager = $request->input('ticket_organization_accmanager');
$alerts->ticket_department_manager = $request->input('ticket_department_manager');
$alerts->ticket_department_member = $request->input('ticket_department_member');
$alerts->ticket_admin_email = $request->input('ticket_admin_email');
/**
* Update the specified resource in storage.
* @param type $id
* @param type Alert $alert
* @param type Request $request
* @return type Response
*/
public function postalert($id, Alert $alert, Request $request) {
try {
/* fetch the values of alert request */
$alerts = $alert->whereId('1')->first();
/* Insert Checkbox to DB */
$alerts->assignment_status = $request->input('assignment_status');
$alerts->ticket_status = $request->input('ticket_status');
$alerts->overdue_department_member = $request->input('overdue_department_member');
$alerts->sql_error = $request->input('sql_error');
$alerts->excessive_failure = $request->input('excessive_failure');
$alerts->overdue_status = $request->input('overdue_status');
$alerts->overdue_assigned_agent = $request->input('overdue_assigned_agent');
$alerts->overdue_department_manager = $request->input('overdue_department_manager');
$alerts->internal_status = $request->input('internal_status');
$alerts->internal_last_responder = $request->input('internal_last_responder');
$alerts->internal_assigned_agent = $request->input('internal_assigned_agent');
$alerts->internal_department_manager = $request->input('internal_department_manager');
$alerts->assignment_assigned_agent = $request->input('assignment_assigned_agent');
$alerts->assignment_team_leader = $request->input('assignment_team_leader');
$alerts->assignment_team_member = $request->input('assignment_team_member');
$alerts->system_error = $request->input('system_error');
$alerts->transfer_department_member = $request->input('transfer_department_member');
$alerts->transfer_department_manager = $request->input('transfer_department_manager');
$alerts->transfer_assigned_agent = $request->input('transfer_assigned_agent');
$alerts->transfer_status = $request->input('transfer_status');
$alerts->message_organization_accmanager = $request->input('message_organization_accmanager');
$alerts->message_department_manager = $request->input('message_department_manager');
$alerts->message_assigned_agent = $request->input('message_assigned_agent');
$alerts->message_last_responder = $request->input('message_last_responder');
$alerts->message_status = $request->input('message_status');
$alerts->ticket_organization_accmanager = $request->input('ticket_organization_accmanager');
$alerts->ticket_department_manager = $request->input('ticket_department_manager');
$alerts->ticket_department_member = $request->input('ticket_department_member');
$alerts->ticket_admin_email = $request->input('ticket_admin_email');
if($request->input('system_error') == null){
$str = '%0%';
$path = app_path('../config/app.php');
$content = \File::get($path);
$content = str_replace('%1%', $str, $content);
\File::put($path, $content);
} else {
$str = '%1%';
$path = app_path('../config/app.php');
$content = \File::get($path);
$content = str_replace('%0%', $str, $content);
\File::put($path, $content);
}
/* fill the values to coompany table */
/* Check whether function success or not */
$alerts->save();
/* redirect to Index page with Success Message */
return redirect('getalert')->with('success', 'Alert Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getalert')->with('fails', 'Alert can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
}
}
if ($request->input('system_error') == null) {
$str = '%0%';
$path = app_path('../config/app.php');
$content = \File::get($path);
$content = str_replace('%1%', $str, $content);
\File::put($path, $content);
} else {
$str = '%1%';
$path = app_path('../config/app.php');
$content = \File::get($path);
$content = str_replace('%0%', $str, $content);
\File::put($path, $content);
}
/* fill the values to coompany table */
/* Check whether function success or not */
$alerts->save();
/* redirect to Index page with Success Message */
return redirect('getalert')->with('success', 'Alert Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('getalert')->with('fails', 'Alert can not Updated' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* To display the list of ratings in the system
* @return type View
*/
public function RatingSettings() {
$ratings = DB::table('settings_ratings')->get();
return view('themes.default1.admin.helpdesk.settings.ratings', compact('ratings'));
}
/**
* To store rating data
* @return type Redirect
*/
public function PostRatingSettings($slug) {
$name = Input::get('rating_name');
$publish = Input::get('publish');
$modify = Input::get('modify');
DB::table('settings_ratings')->whereSlug($slug)->update(array('rating_name' => $name, 'publish' => $publish, 'modify' => $modify));
return redirect()->back()->with('success', 'Successfully updated');
}
/**
* To delete a type of rating
* @return type Redirect
*/
public function RatingDelete($slug) {
DB::table('settings_ratings')->whereSlug($slug)->delete();
return redirect()->back()->with('success', 'Successfully Deleted');
}
}

View File

@@ -1,16 +1,15 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
use App\Http\Requests\helpdesk\SlaRequest;
use App\Http\Requests\helpdesk\SlaUpdate;
// models
use App\Model\helpdesk\Manage\Sla_plan;
use App\Model\helpdesk\Settings\Ticket;
//classes
use DB;
use Exception;
@@ -24,163 +23,163 @@ use Exception;
*/
class SlaController extends Controller {
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Display a listing of the resource.
* @param type Sla_plan $sla
* @return type Response
*/
public function index(Sla_plan $sla) {
try {
/* Declare a Variable $slas to store all Values From Sla_plan Table */
$slas = $sla->get();
/* Listing the values From Sla_plan Table */
return view('themes.default1.admin.helpdesk.manage.sla.index', compact('slas'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* Display a listing of the resource.
* @param type Sla_plan $sla
* @return type Response
*/
public function index(Sla_plan $sla) {
try {
/* Declare a Variable $slas to store all Values From Sla_plan Table */
$slas = $sla->get();
/* Listing the values From Sla_plan Table */
return view('themes.default1.admin.helpdesk.manage.sla.index', compact('slas'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* Show the form for creating a new resource.
* @return type Response
*/
public function create() {
try {
/* Direct to Create Page */
return view('themes.default1.admin.helpdesk.manage.sla.create');
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* Show the form for creating a new resource.
* @return type Response
*/
public function create() {
try {
/* Direct to Create Page */
return view('themes.default1.admin.helpdesk.manage.sla.create');
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* Store a newly created resource in storage.
* @param type Sla_plan $sla
* @param type SlaRequest $request
* @return type Response
*/
public function store(Sla_plan $sla, SlaRequest $request) {
try {
/* Fill the request values to Sla_plan Table */
/* Check whether function success or not */
$sla->fill($request->input())->save();
/* redirect to Index page with Success Message */
return redirect('sla')->with('success', 'SLA Plan Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('sla')->with('fails', 'SLA Plan can not Create'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Store a newly created resource in storage.
* @param type Sla_plan $sla
* @param type SlaRequest $request
* @return type Response
*/
public function store(Sla_plan $sla, SlaRequest $request) {
try {
/* Fill the request values to Sla_plan Table */
/* Check whether function success or not */
$sla->fill($request->input())->save();
/* redirect to Index page with Success Message */
return redirect('sla')->with('success', 'SLA Plan Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('sla')->with('fails', 'SLA Plan can not Create' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Sla_plan $sla
* @return type Response
*/
public function edit($id, Sla_plan $sla) {
try {
/* Direct to edit page along values of perticular field using Id */
$slas = $sla->whereId($id)->first();
$slas->get();
return view('themes.default1.admin.helpdesk.manage.sla.edit', compact('slas'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* Show the form for editing the specified resource.
* @param type int $id
* @param type Sla_plan $sla
* @return type Response
*/
public function edit($id, Sla_plan $sla) {
try {
/* Direct to edit page along values of perticular field using Id */
$slas = $sla->whereId($id)->first();
$slas->get();
return view('themes.default1.admin.helpdesk.manage.sla.edit', compact('slas'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Sla_plan $sla
* @param type SlaUpdate $request
* @return type Response
*/
public function update($id, Sla_plan $sla, SlaUpdate $request) {
try {
/* Fill values to selected field using Id except Check box */
$slas = $sla->whereId($id)->first();
$slas->fill($request->except('transient', 'ticket_overdue'))->save();
/* Update transient checkox field */
$slas->transient = $request->input('transient');
/* Update ticket_overdue checkox field */
$slas->ticket_overdue = $request->input('ticket_overdue');
/* Check whether function success or not */
$slas->save();
/* redirect to Index page with Success Message */
return redirect('sla')->with('success', 'SLA Plan Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('sla')->with('fails', 'SLA Plan can not Update'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Sla_plan $sla
* @param type SlaUpdate $request
* @return type Response
*/
public function update($id, Sla_plan $sla, SlaUpdate $request) {
try {
/* Fill values to selected field using Id except Check box */
$slas = $sla->whereId($id)->first();
$slas->fill($request->except('transient', 'ticket_overdue'))->save();
/* Update transient checkox field */
$slas->transient = $request->input('transient');
/* Update ticket_overdue checkox field */
$slas->ticket_overdue = $request->input('ticket_overdue');
/* Check whether function success or not */
$slas->save();
/* redirect to Index page with Success Message */
return redirect('sla')->with('success', 'SLA Plan Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('sla')->with('fails', 'SLA Plan can not Update' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Sla_plan $sla
* @return type Response
*/
public function destroy($id, Sla_plan $sla) {
$default_sla = Ticket::where('id','=','1')->first();
if($default_sla->sla == $id) {
return redirect('departments')->with('fails', 'You cannot delete default department');
} else {
$tickets = DB::table('tickets')->where('sla','=',$id)->update(['sla' => $default_sla->sla]);
if($tickets > 0) {
if($tickets > 1) {
$text_tickets = "Tickets";
} else {
$text_tickets = "Ticket";
}
$ticket = '<li>'.$tickets.' '.$text_tickets.' have been moved to default SLA</li>';
} else {
$ticket = "";
}
$dept = DB::table('department')->where('sla','=',$id)->update(['sla' => $default_sla->sla]);
if($dept > 0){
if($dept > 1){
$text_dept = "Emails";
} else {
$text_dept = "Email";
}
$dept = '<li>Associated department have been moved to default SLA</li>';
} else {
$dept = "";
}
$topic = DB::table('help_topic')->where('sla_plan','=',$id)->update(['sla_plan' => $default_sla->sla]);
if($topic > 0){
if($topic > 1){
$text_topic = "Emails";
} else {
$text_topic = "Email";
}
$topic = '<li>Associated Help Topic have been moved to default SLA</li>';
} else {
$topic = "";
}
$message = $ticket.$dept.$topic;
/* Delete a perticular field from the database by delete() using Id */
$slas = $sla->whereId($id)->first();
/* Check whether function success or not */
try{
$slas->delete();
/* redirect to Index page with Success Message */
return redirect('sla')->with('success', 'SLA Plan Deleted Successfully'.$message);
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('sla')->with('fails', 'SLA Plan can not Delete'.'<li>'.$e->errorInfo[2].'</li>');
}
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Sla_plan $sla
* @return type Response
*/
public function destroy($id, Sla_plan $sla) {
$default_sla = Ticket::where('id', '=', '1')->first();
if ($default_sla->sla == $id) {
return redirect('departments')->with('fails', 'You cannot delete default department');
} else {
$tickets = DB::table('tickets')->where('sla', '=', $id)->update(['sla' => $default_sla->sla]);
if ($tickets > 0) {
if ($tickets > 1) {
$text_tickets = "Tickets";
} else {
$text_tickets = "Ticket";
}
$ticket = '<li>' . $tickets . ' ' . $text_tickets . ' have been moved to default SLA</li>';
} else {
$ticket = "";
}
$dept = DB::table('department')->where('sla', '=', $id)->update(['sla' => $default_sla->sla]);
if ($dept > 0) {
if ($dept > 1) {
$text_dept = "Emails";
} else {
$text_dept = "Email";
}
$dept = '<li>Associated department have been moved to default SLA</li>';
} else {
$dept = "";
}
$topic = DB::table('help_topic')->where('sla_plan', '=', $id)->update(['sla_plan' => $default_sla->sla]);
if ($topic > 0) {
if ($topic > 1) {
$text_topic = "Emails";
} else {
$text_topic = "Email";
}
$topic = '<li>Associated Help Topic have been moved to default SLA</li>';
} else {
$topic = "";
}
$message = $ticket . $dept . $topic;
/* Delete a perticular field from the database by delete() using Id */
$slas = $sla->whereId($id)->first();
/* Check whether function success or not */
try {
$slas->delete();
/* redirect to Index page with Success Message */
return redirect('sla')->with('success', 'SLA Plan Deleted Successfully' . $message);
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('sla')->with('fails', 'SLA Plan can not Delete' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
}
}

View File

@@ -1,17 +1,16 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// requests
use App\Http\Requests\helpdesk\TeamRequest;
use App\Http\Requests\helpdesk\TeamUpdate;
// models
use App\Model\helpdesk\Agent\Assign_team_agent;
use App\Model\helpdesk\Agent\Teams;
use App\User;
// classes
use DB;
use Exception;
@@ -25,145 +24,146 @@ use Exception;
*/
class TeamController extends Controller {
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
$this->middleware('auth');
$this->middleware('roles');
}
/**
* get Index page
* @param type Teams $team
* @param type Assign_team_agent $assign_team_agent
* @return type Response
*/
public function index(Teams $team, Assign_team_agent $assign_team_agent) {
try {
$teams = $team->get();
/* find out the Number of Members in the Team */
$id = $teams->lists('id');
$assign_team_agent = $assign_team_agent->get();
return view('themes.default1.admin.helpdesk.agent.teams.index', compact('assign_team_agent', 'teams'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* get Index page
* @param type Teams $team
* @param type Assign_team_agent $assign_team_agent
* @return type Response
*/
public function index(Teams $team, Assign_team_agent $assign_team_agent) {
try {
$teams = $team->get();
/* find out the Number of Members in the Team */
$id = $teams->lists('id');
$assign_team_agent = $assign_team_agent->get();
return view('themes.default1.admin.helpdesk.agent.teams.index', compact('assign_team_agent', 'teams'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* Show the form for creating a new resource.
* @param type User $user
* @return type Response
*/
public function create(User $user) {
try {
$user = $user->get();
return view('themes.default1.admin.helpdesk.agent.teams.create', compact('user'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
/**
* Show the form for creating a new resource.
* @param type User $user
* @return type Response
*/
public function create(User $user) {
try {
$user = $user->get();
return view('themes.default1.admin.helpdesk.agent.teams.create', compact('user'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
/**
* Store a newly created resource in storage.
* @param type Teams $team
* @param type TeamRequest $request
* @return type Response
*/
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 {
/* Check whether function success or not */
$team->fill($request->except('team_lead'))->save();
/* redirect to Index page with Success Message */
return redirect('teams')->with('success', 'Teams Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('teams')->with('fails', 'Teams can not Create'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Store a newly created resource in storage.
* @param type Teams $team
* @param type TeamRequest $request
* @return type Response
*/
public function store(Teams $team, TeamRequest $request) {
/**
* Show the form for editing the specified resource.
* @param type $id
* @param type User $user
* @param type Assign_team_agent $assign_team_agent
* @param type Teams $team
* @return type Response
*/
public function edit($id, User $user, Assign_team_agent $assign_team_agent, Teams $team) {
try {
$user = $user->whereId($id)->first();
$teams = $team->whereId($id)->first();
$agent_team = $assign_team_agent->where('team_id', $id)->get();
$agent_id = $agent_team->lists('agent_id', 'agent_id');
return view('themes.default1.admin.helpdesk.agent.teams.edit', compact('agent_id', 'user', 'teams', 'allagents'));
} catch (Exception $e) {
return redirect()->back()->with('fails',$e->errorInfo[2]);
}
}
if ($request->team_lead) {
$team_lead = $request->team_lead;
} else {
$team_lead = null;
}
$team->team_lead = $team_lead;
try {
/* Check whether function success or not */
$team->fill($request->except('team_lead'))->save();
/* redirect to Index page with Success Message */
return redirect('teams')->with('success', 'Teams Created Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('teams')->with('fails', 'Teams can not Create' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Teams $team
* @param type TeamUpdate $request
* @return type Response
*/
public function update($id, Teams $team, TeamUpdate $request) {
$teams = $team->whereId($id)->first();
//updating check box
if($request->team_lead){
$team_lead = $request->team_lead;
} else {
$team_lead = null;
}
$teams->team_lead = $team_lead;
$teams->save();
/**
* Show the form for editing the specified resource.
* @param type $id
* @param type User $user
* @param type Assign_team_agent $assign_team_agent
* @param type Teams $team
* @return type Response
*/
public function edit($id, User $user, Assign_team_agent $assign_team_agent, Teams $team) {
try {
$user = $user->whereId($id)->first();
$teams = $team->whereId($id)->first();
$agent_team = $assign_team_agent->where('team_id', $id)->get();
$agent_id = $agent_team->lists('agent_id', 'agent_id');
return view('themes.default1.admin.helpdesk.agent.teams.edit', compact('agent_id', 'user', 'teams', 'allagents'));
} catch (Exception $e) {
return redirect()->back()->with('fails', $e->errorInfo[2]);
}
}
$alert = $request->input('assign_alert');
$teams->assign_alert = $alert;
$teams->save(); //saving check box
//updating whole field
/* Check whether function success or not */
try {
$teams->fill($request->except('team_lead'))->save();
/* redirect to Index page with Success Message */
return redirect('teams')->with('success', 'Teams Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('teams')->with('fails', 'Teams can not Update'.'<li>'.$e->errorInfo[2].'</li>');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Teams $team
* @param type TeamUpdate $request
* @return type Response
*/
public function update($id, Teams $team, TeamUpdate $request) {
$teams = $team->whereId($id)->first();
//updating check box
if ($request->team_lead) {
$team_lead = $request->team_lead;
} else {
$team_lead = null;
}
$teams->team_lead = $team_lead;
$teams->save();
$alert = $request->input('assign_alert');
$teams->assign_alert = $alert;
$teams->save(); //saving check box
//updating whole field
/* Check whether function success or not */
try {
$teams->fill($request->except('team_lead'))->save();
/* redirect to Index page with Success Message */
return redirect('teams')->with('success', 'Teams Updated Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('teams')->with('fails', 'Teams can not Update' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Teams $team
* @param type Assign_team_agent $assign_team_agent
* @return type Response
*/
public function destroy($id, Teams $team, Assign_team_agent $assign_team_agent) {
try {
$assign_team_agent->where('team_id', $id)->delete();
$teams = $team->whereId($id)->first();
$tickets = DB::table('tickets')->where('team_id', '=', $id)->update(['team_id' => null]);
/* Check whether function success or not */
$teams->delete();
/* redirect to Index page with Success Message */
return redirect('teams')->with('success', 'Teams Deleted Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('teams')->with('fails', 'Teams can not Delete' . '<li>' . $e->errorInfo[2] . '</li>');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Teams $team
* @param type Assign_team_agent $assign_team_agent
* @return type Response
*/
public function destroy($id, Teams $team, Assign_team_agent $assign_team_agent) {
try {
$assign_team_agent->where('team_id', $id)->delete();
$teams = $team->whereId($id)->first();
$tickets = DB::table('tickets')->where('team_id','=',$id)->update(['team_id' => null]);
/* Check whether function success or not */
$teams->delete();
/* redirect to Index page with Success Message */
return redirect('teams')->with('success', 'Teams Deleted Successfully');
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('teams')->with('fails', 'Teams can not Delete'.'<li>'.$e->errorInfo[2].'</li>');
}
}
}

View File

@@ -1,7 +1,11 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
use App\Http\Controllers\Common\SettingsController;
use App\Http\Controllers\Common\PhpMailController;
// requests
use App\Http\Requests\helpdesk\TemplateRequest;
use App\Http\Requests\helpdesk\TemplateUdate;
@@ -24,230 +28,260 @@ use Input;
*/
class TemplateController extends Controller {
/**
* Create a new controller instance.
* @return type void
*/
public function __construct() {
SettingsController::smtp();
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Create a new controller instance.
* @return type void
*/
public function __construct(PhpMailController $PhpMailController) {
$this->PhpMailController = $PhpMailController;
SettingsController::smtp();
$this->middleware('auth');
$this->middleware('roles');
}
/**
* Display a listing of the resource.
* @param type Template $template
* @return type Response
*/
public function index(Template $template) {
try {
$templates = $template->get();
return view('themes.default1.admin.helpdesk.emails.template.index', compact('templates'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Display a listing of the resource.
* @param type Template $template
* @return type Response
*/
public function index(Template $template) {
try {
$templates = $template->get();
return view('themes.default1.admin.helpdesk.emails.template.index', compact('templates'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type Languages $language
* @param type Template $template
* @return type Response
*/
public function create(Languages $language, Template $template) {
try {
$templates = $template->get();
$languages = $language->get();
return view('themes.default1.admin.helpdesk.emails.template.create', compact('languages', 'templates'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Show the form for creating a new resource.
* @param type Languages $language
* @param type Template $template
* @return type Response
*/
public function create(Languages $language, Template $template) {
try {
$templates = $template->get();
$languages = $language->get();
return view('themes.default1.admin.helpdesk.emails.template.create', compact('languages', 'templates'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Store a newly created resource in storage.
* @param type Template $template
* @param type TemplateRequest $request
* @return type Response
*/
public function store(Template $template, TemplateRequest $request) {
try {
/* Check whether function success or not */
if ($template->fill($request->input())->save() == true) {
/* redirect to Index page with Success Message */
return redirect('template')->with('success', 'Teams Created Successfully');
} else {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Create');
}
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Create');
}
}
/**
* Display the specified resource.
* @param int $id
* @return Response
*/
public function show($id) {
//
}
/**
* Show the form for editing the specified resource.
* @param type $id
* @param type Template $template
* @param type Languages $language
* @return type Response
*/
public function listtemplates() {
$path = '../resources/views/emails/';
$templates = scandir($path);
$directory = str_replace('/', '-', $path);
return view('themes.default1.admin.helpdesk.emails.template.listtemplates', compact('templates','directory'));
}
public function readtemplate($template,$path) {
$directory = str_replace('-', '/', $path);
$directory2 = $directory.$template;
if (is_dir($directory2)) {
$templates = scandir($directory2);
$directory = str_replace('/', '-', $directory2.'/');
return view('themes.default1.admin.helpdesk.emails.template.listtemplates', compact('templates','directory'));
/**
* Store a newly created resource in storage.
* @param type Template $template
* @param type TemplateRequest $request
* @return type Response
*/
public function store(Template $template, TemplateRequest $request) {
try {
/* Check whether function success or not */
if ($template->fill($request->input())->save() == true) {
/* redirect to Index page with Success Message */
return redirect('template')->with('success', 'Teams Created Successfully');
} else {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Create');
}
else {
$handle = fopen($directory.$template, "r");
$contents = fread($handle, filesize($directory.$template));
fclose($handle);
}
return view('themes.default1.admin.helpdesk.emails.template.readtemplates', compact('contents','template','path'));
}
public function createtemplate() {
$directory = '../resources/views/emails/';
$fname = Input::get('folder_name');
$filename = $directory.$fname;
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Create');
}
}
/**
* Display the specified resource.
* @param int $id
* @return Response
*/
public function show($id) {
//
}
/**
* Show the form for editing the specified resource.
* @param type $id
* @param type Template $template
* @param type Languages $language
* @return type Response
*/
public function listdirectories() {
$path = '../resources/views/emails/';
$directories = scandir($path);
$directory = str_replace('/', '-', $path);
return view('themes.default1.admin.helpdesk.emails.template.listdirectories', compact('directories', 'directory'));
}
public function listtemplates($template, $path) {
$paths = str_replace('-', '/', $path);
$directory2 = $paths . $template;
$templates = scandir($directory2);
$directory = str_replace('/', '-', $directory2 . '/');
return view('themes.default1.admin.helpdesk.emails.template.listtemplates', compact('templates', 'directory'));
}
public function readtemplate($template, $path) {
$directory = str_replace('-', '/', $path);
$handle = fopen($directory . $template, "r");
$contents = fread($handle, filesize($directory . $template));
fclose($handle);
return view('themes.default1.admin.helpdesk.emails.template.readtemplates', compact('contents', 'template', 'path'));
}
public function createtemplate() {
$directory = '../resources/views/emails/';
$fname = Input::get('folder_name');
$filename = $directory . $fname;
// images folder creation using php
// $mydir = dirname( __FILE__ )."/html/images";
// if(!is_dir($mydir)){
// mkdir("html/images");
// }
// Move all images files
// Move all images files
if (!file_exists($filename)) {
mkdir($filename, 0777);
}
$files = array_filter(scandir($directory . 'default'));
foreach ($files as $file) {
if ($file === '.' or $file === '..')
continue;
if (!is_dir($file)) {
// $file_to_go = str_replace("code/resources/views/emails/",'code/resources/views/emails/'.$fname,$file);
$destination = $directory . $fname . '/';
copy($directory . 'default/' . $file, $destination . $file);
}
}
return \Redirect::back()->with('success', 'Successfully copied');
}
public function writetemplate($template, $path) {
$directory = str_replace('-', '/', $path);
$b = Input::get('templatedata');
file_put_contents($directory . $template, print_r($b, true));
return \Redirect::back()->with('success', 'Successfully updated');
}
public function deletetemplate($template, $path) {
$directory = str_replace('-', '/', $path);
$dir = $directory . $template;
$status = \DB::table('settings_email')->first();
if ($template == 'default' or $template == $status->template) {
return \Redirect::back()->with('fails', 'You cannot delete a default or active directory!');
}
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
unlink($dir . "/" . $object);
}
}
rmdir($dir);
} else {
rmdir($dir);
}
return \Redirect::back()->with('success', 'Successfully Deleted');
}
public function activateset($setname) {
\DB::table('settings_email')->update(array('template' => $setname));
return \Redirect::back()->with('success', 'You have Successfully Activated this Set');
}
public function edit($id, Template $template, Languages $language) {
try {
$templates = $template->whereId($id)->first();
$languages = $language->get();
return view('themes.default1.admin.helpdesk.emails.template.edit', compact('templates', 'languages'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Template $template
* @param type TemplateUdate $request
* @return type Response
*/
public function update($id, Template $template, TemplateUdate $request) {
try {
//TODO validation
$templates = $template->whereId($id)->first();
/* Check whether function success or not */
if ($templates->fill($request->input())->save() == true) {
/* redirect to Index page with Success Message */
return redirect('template')->with('success', 'Teams Updated Successfully');
} else {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Update');
}
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Update');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Template $template
* @return type Response
*/
public function destroy($id, Template $template) {
try {
$templates = $template->whereId($id)->first();
/* Check whether function success or not */
if ($templates->delete() == true) {
/* redirect to Index page with Success Message */
return redirect('template')->with('success', 'Teams Deleted Successfully');
} else {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Delete');
}
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Delete');
}
}
/**
* Form for Email connection checking.
* @param type Emails $email
* @return type Response
*/
public function formDiagno(Emails $email) {
try {
$emails = $email->get();
return view('themes.default1.admin.helpdesk.emails.template.formDiagno', compact('emails'));
} catch (Exception $e) {
return view('404');
}
}
/**
* function to send emails
* @param type Request $request
* @return type
*/
public function postDiagno(Request $request) {
$email = $request->input('to');
if ($email == null) {
return redirect('getdiagno')->with('fails', 'Please provide E-mail address !');
}
// sending mail via php mailer
$mail = $this->PhpMailController->sendmail($from = 1, $to = ['email' => $email], $message = ['subject' => 'Checking the connection', 'scenario' => 'error-report', 'content' => 'Email Received Successfully'], $template_variables = ['system_error' => 'hello']);
return redirect('getdiagno')->with('success', 'Please check your mail. An E-mail has been sent to your E-mail address');
}
if(!file_exists($filename)) {
mkdir($filename,0777);
}
$files = array_filter(scandir($directory.'default'));
foreach($files as $file){
if ($file === '.' or $file === '..') continue;
if(!is_dir($file)) {
// $file_to_go = str_replace("code/resources/views/emails/",'code/resources/views/emails/'.$fname,$file);
$destination = $directory.$fname.'/';
copy($directory.'default/'.$file, $destination.$file);
}
}
return \Redirect::back()->with('success', 'Successfully copied');
}
public function writetemplate($template,$path) {
$directory = str_replace('-', '/', $path);
$b = Input::get('templatedata');
file_put_contents($directory.$template, print_r($b, true));
return \Redirect::back()->with('success', 'Successfully updated');
}
public function edit($id, Template $template, Languages $language) {
try {
$templates = $template->whereId($id)->first();
$languages = $language->get();
return view('themes.default1.admin.helpdesk.emails.template.edit', compact('templates', 'languages'));
} catch (Exception $e) {
return view('404');
}
}
/**
* Update the specified resource in storage.
* @param type int $id
* @param type Template $template
* @param type TemplateUdate $request
* @return type Response
*/
public function update($id, Template $template, TemplateUdate $request) {
try {
//TODO validation
$templates = $template->whereId($id)->first();
/* Check whether function success or not */
if ($templates->fill($request->input())->save() == true) {
/* redirect to Index page with Success Message */
return redirect('template')->with('success', 'Teams Updated Successfully');
} else {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Update');
}
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Update');
}
}
/**
* Remove the specified resource from storage.
* @param type int $id
* @param type Template $template
* @return type Response
*/
public function destroy($id, Template $template) {
try {
$templates = $template->whereId($id)->first();
/* Check whether function success or not */
if ($templates->delete() == true) {
/* redirect to Index page with Success Message */
return redirect('template')->with('success', 'Teams Deleted Successfully');
} else {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Delete');
}
} catch (Exception $e) {
/* redirect to Index page with Fails Message */
return redirect('template')->with('fails', 'Teams can not Delete');
}
}
/**
* Form for Email connection checking.
* @param type Emails $email
* @return type Response
*/
public function formDiagno(Emails $email) {
try {
$emails = $email->get();
return view('themes.default1.admin.helpdesk.emails.template.formDiagno', compact('emails'));
} catch (Exception $e) {
return view('404');
}
}
/**
* function to send emails
* @param type Request $request
* @return type
*/
public function postDiagno(Request $request) {
$email = $request->input('to');
if($email == null)
{
return redirect('getdiagno')->with('fails', 'Please provide E-mail address !');
}
$mail = Mail::send('themes.default1.admin.helpdesk.emails.template.connection', array('link' => url('getmail'), 'username' => $email), function ($message) use ($email) {
$message->to($email)->subject('Checking the connection');
});
return redirect('getdiagno')->with('success', 'Please check your mail. An E-mail has been sent to your E-mail address');
}
}

View File

@@ -1,14 +1,15 @@
<?php namespace App\Http\Controllers\Admin\helpdesk;
<?php
namespace App\Http\Controllers\Admin\helpdesk;
// controllers
use App\Http\Controllers\Controller;
// models
use App\Model\helpdesk\Priority;
use App\Model\helpdesk\Ticket_thread;
// classes
use Exception;
/**
* ThreadController
*
@@ -18,22 +19,23 @@ use Exception;
*/
class ThreadController extends Controller {
/**
* get the values from ticket_thread Table and direct to view page
* @param type Ticket_thread $thread
* @param type Priority $priority
* @return type Response
*/
public function getTickets(Ticket_thread $thread, Priority $priority) {
try {
/* get the values of Ticket_thread from Ticket_thread Table */
$threads = $thread->get();
/* get the values of priority from Priority Table */
$priorities = $priority->get();
/* Direct to view page */
return view('themes.default1.admin.helpdesk.tickets.ticket', compact('threads', 'priorities'));
} catch (Exception $e) {
return view('404');
}
}
/**
* get the values from ticket_thread Table and direct to view page
* @param type Ticket_thread $thread
* @param type Priority $priority
* @return type Response
*/
public function getTickets(Ticket_thread $thread, Priority $priority) {
try {
/* get the values of Ticket_thread from Ticket_thread Table */
$threads = $thread->get();
/* get the values of priority from Priority Table */
$priorities = $priority->get();
/* Direct to view page */
return view('themes.default1.admin.helpdesk.tickets.ticket', compact('threads', 'priorities'));
} catch (Exception $e) {
return view('404');
}
}
}