update v1.0.5
This commit is contained in:
9
.env
9
.env
@@ -1,18 +1,17 @@
|
||||
APP_ENV=local
|
||||
APP_DEBUG=true
|
||||
APP_KEY=SomeRandomString
|
||||
|
||||
DB_HOST=localhost
|
||||
DB_DATABASE=
|
||||
DB_USERNAME=
|
||||
DB_DATABASE=fav
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=
|
||||
|
||||
CACHE_DRIVER=file
|
||||
SESSION_DRIVER=file
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_HOST=mailtrap.io
|
||||
MAIL_PORT=2525
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
DB_TYPE=mysql
|
||||
DB_PORT=
|
||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1 +1,3 @@
|
||||
/node_modules
|
||||
/vendor
|
||||
/node_modules
|
||||
.env
|
||||
|
59
README.md
59
README.md
@@ -1,48 +1,27 @@
|
||||
<h3>About Faveo</h3>
|
||||
<p>Headquartered in Bangalore, Faveo HELPDESK provides Businesses with an automated Helpdesk system to manage customer support.
|
||||
<br/><br/>
|
||||
The word Faveo comes from Latin which means to be favourable. Which truly highlights vision and the scope as well as the functionality of the product that Faveo is. It is specifically designed to cater the needs of startups and SME<4D>s empowering them with state of art, ticket based support system. In today<61>s competitive startup scenario customer retention is one of the major challenges. Handling client query diligently is all the difference between retaining or losing a long lasting relationship. The company is driven with passion of providing tools for managing consumer queries for strategic insights and helping companies take those decisive decisions.
|
||||
<br/><br/>
|
||||
To date, Faveo has been integrated with 6 platforms and every month there is 1 to 2 update releases with new features & platform integration.
|
||||
<br/><br/>
|
||||
Faveo can also be customised according to requirement and we do undertake such request.
|
||||
<br/><br/>
|
||||
Faveo is designed & developed by <a href="http://www.ladybirdweb.com/" target="_blank">Ladybird Web Solution Pvt Ltd</a>, and launched in October 2015.</p>
|
||||
<h3>Flavors of Faveo</h3>
|
||||
<ul>
|
||||
<li>Community Edition <20> Free, Open source edition</li>
|
||||
<li>Pro Edition <20> Downloadable edition. Install it in location of our choice on premises or any hosting of your choice </li>
|
||||
<li>Cloud Edition <20> Coming soon. Get started in 5 minutes. We will take care of servers, backup etc. Always stay updated with the latest updates of Faveo</li>
|
||||
</ul>
|
||||
## Laravel PHP Framework
|
||||
|
||||
[](https://travis-ci.org/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
|
||||
<h3><a id="user-content-faveo-user-manual" href="https://github.com/ladybirdweb/faveo-helpdesk#faveo-user-manual" aria-hidden="true"></a>Faveo User Manual</h3>
|
||||
<p>Check out Faveo Knowledge Base <a href="http://www.ladybirdweb.com/support/knowledgebase" target="_blank">here</a></p>
|
||||
<h3><a id="user-content-requirements" href="https://github.com/ladybirdweb/faveo-helpdesk#requirements" aria-hidden="true"></a>Requirements</h3>
|
||||
<p>To run Faveo your host just needs a couple of things:</p>
|
||||
<ul>
|
||||
<li>PHP 5.5 or greater</li>
|
||||
<li>MySQL 5.5 or greater</li>
|
||||
<li>The mod_rewrite Apache module</li>
|
||||
</ul>
|
||||
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching.
|
||||
|
||||
<h3>Faveo Web Hosting</h3>
|
||||
<p><a href="http://www.store.ladybirdwebhost.com/" target="_blank">Ladybird Web Host</a> Offers hosting with minimum requirement to host Faveo web application. Faveo has been tested on Ladybird Web Host servers & works very well in their server environment. All web hosting packages offered by Ladybird Web Host come with 30 day money back gurantee.</p>
|
||||
<h3><a id="user-content-credits" href="https://github.com/ladybirdweb/faveo-helpdesk#credits" aria-hidden="true"></a>Credits</h3>
|
||||
<ul>
|
||||
<li>Laravel Framework</li>
|
||||
<li>Admin LTE Theme</li>
|
||||
</ul>
|
||||
Laravel is accessible, yet powerful, providing powerful tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.
|
||||
|
||||
<h3><a id="user-content-website" href="https://github.com/ladybirdweb/faveo-helpdesk#website" aria-hidden="true"></a>Website</h3>
|
||||
<p><a href="http://www.faveohelpdesk.com/" target="_blank">www.faveohelpdesk.com</a></p>
|
||||
## Official Documentation
|
||||
|
||||
<h3>YouTube Channel</h3>
|
||||
<p><a href="https://www.youtube.com/channel/UC-eqh-h241b1janp6sU7Iiw" target="_blank">Click here</a></p>
|
||||
Documentation for the framework can be found on the [Laravel website](http://laravel.com/docs).
|
||||
|
||||
## Contributing
|
||||
|
||||
<h3>Road Map for Community Edition:</h3>
|
||||
<p><a href="http://www.faveohelpdesk.com/faveo-helpdesk-road-map" target="_blank">Click here</a></p>
|
||||
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions).
|
||||
|
||||
<h3>Don't panic if you come across bugs</h3>
|
||||
<p>Faveo is very very new in the market, the product is fully working and is production worthy but it definitely will have some bugs like any software. We fully support Faveo whether free or pro edition, incase you come across any bugs, email us through the <a href="http://www.faveohelpdesk.com/contact-us/">contact form</a>. We want to make your experience of using Faveo as memorable as possible, so help us make Faveo a World, top class helpdesk application. Do check out our roadmap to stayed tuned with future releases </p>
|
||||
## Security Vulnerabilities
|
||||
|
||||
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed.
|
||||
|
||||
### License
|
||||
|
||||
The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)
|
||||
|
@@ -51,12 +51,12 @@ class Handler extends ExceptionHandler {
|
||||
// return response()->view('errors.404', []);
|
||||
// } else {
|
||||
// if(\Config::get('database.install') == 1) {
|
||||
// if(\Config::get('app.ErrorLog') == '%1%') {
|
||||
// // \App\Http\Controllers\Common\SettingsController::smtp();
|
||||
// // \Mail::send('errors.report', array('e' => $e), function ($message) {
|
||||
// // $message->to('', '')->subject('');
|
||||
// // });
|
||||
// }
|
||||
// // if(\Config::get('app.ErrorLog') == '%1%') {
|
||||
// // \App\Http\Controllers\Common\SettingsController::smtp();
|
||||
// // \Mail::send('errors.report', array('e' => $e), function ($message) {
|
||||
// // $message->to('', '')->subject('Faveo HELPDESK Pro ERROR');
|
||||
// // });
|
||||
// // }
|
||||
// }
|
||||
// return response()->view('errors.500', []);
|
||||
// }
|
||||
|
@@ -18,6 +18,7 @@ use Input;
|
||||
use Redirect;
|
||||
use Session;
|
||||
use View;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* |=======================================================================
|
||||
@@ -40,7 +41,7 @@ class InstallerApiController extends Controller {
|
||||
* @return type Json
|
||||
*/
|
||||
public function config_database(Request $request) {
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
|
||||
// Check for pre install
|
||||
if (\Config::get('database.install') == '%0%') {
|
||||
@@ -87,103 +88,90 @@ class InstallerApiController extends Controller {
|
||||
* @return type Json
|
||||
*/
|
||||
public function config_system(Request $request) {
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
// Check for pre install
|
||||
if (\Config::get('database.install') == '%0%') {
|
||||
$firstname = $request->firstname;
|
||||
$lastname = $request->lastname;
|
||||
$email = $request->email;
|
||||
$username = $request->username;
|
||||
$password = $request->password;
|
||||
$timezone = $request->timezone;
|
||||
$datetime = $request->datetime;
|
||||
|
||||
try{
|
||||
\DB::connection()->getDatabaseName();
|
||||
// Migrate database
|
||||
Artisan::call('migrate', array('--force' => true));
|
||||
Artisan::call('db:seed', array('--force' => true));
|
||||
|
||||
// check for database connection
|
||||
if(\DB::connection()->getDatabaseName()) {
|
||||
echo "Connected sucessfully to database ".\DB::connection()->getDatabaseName().".";
|
||||
// Creating minum settings
|
||||
$system = System::where('id','=','1')->first();
|
||||
$system->time_zone = $timezone;
|
||||
$system->date_time_format = $datetime;
|
||||
$system->save();
|
||||
|
||||
// Creating default form field
|
||||
$form1 = new Form_details;
|
||||
$form1->label = 'Name';
|
||||
$form1->type = 'text';
|
||||
$form1->form_name_id = '1';
|
||||
$form1->save();
|
||||
|
||||
$form2 = new Form_details;
|
||||
$form2->label = 'Phone';
|
||||
$form2->type = 'number';
|
||||
$form2->form_name_id = '1';
|
||||
$form2->save();
|
||||
|
||||
$form3 = new Form_details;
|
||||
$form3->label = 'Email';
|
||||
$form3->type = 'text';
|
||||
$form3->form_name_id = '1';
|
||||
$form3->save();
|
||||
|
||||
$form4 = new Form_details;
|
||||
$form4->label = 'Subject';
|
||||
$form4->type = 'text';
|
||||
$form4->form_name_id = '1';
|
||||
$form4->save();
|
||||
|
||||
$form5 = new Form_details;
|
||||
$form5->label = 'Details';
|
||||
$form5->type = 'textarea';
|
||||
$form5->form_name_id = '1';
|
||||
$form5->save();
|
||||
|
||||
// Creating user
|
||||
$user = User::create(array(
|
||||
'first_name' => $firstname,
|
||||
'last_name' => $lastname,
|
||||
'email' => $email,
|
||||
'user_name' => $username,
|
||||
'password' => Hash::make($password),
|
||||
'active' => 1,
|
||||
'role' => 'admin',
|
||||
'assign_group' => 'group A',
|
||||
'primary_dpt' => 'support',
|
||||
));
|
||||
|
||||
// Setting database installed status
|
||||
$value = '1';
|
||||
$install = app_path('../config/database.php');
|
||||
$datacontent = File::get($install);
|
||||
$datacontent = str_replace('%0%', $value, $datacontent);
|
||||
File::put($install, $datacontent);
|
||||
|
||||
// Applying email configuration on route
|
||||
$smtpfilepath = "\App\Http\Controllers\Common\SettingsController::smtp()";
|
||||
$path22 = app_path('Http/routes.php');
|
||||
$content23 = File::get($path22);
|
||||
$content23 = str_replace('"%smtplink%"', $smtpfilepath, $content23);
|
||||
File::put($path22, $content23);
|
||||
|
||||
// If user created return success
|
||||
if($user){
|
||||
return ['response'=>'success','status'=>'1'];
|
||||
}
|
||||
|
||||
// Check for pre install
|
||||
if (\Config::get('database.install') == '%0%') {
|
||||
$firstname = $request->firstname;
|
||||
$lastname = $request->lastname;
|
||||
$email = $request->email;
|
||||
$username = $request->username;
|
||||
$password = $request->password;
|
||||
$timezone = $request->timezone;
|
||||
$datetime = $request->datetime;
|
||||
|
||||
// Migrate database
|
||||
Artisan::call('migrate', array('--force' => true));
|
||||
Artisan::call('db:seed', array('--force' => true));
|
||||
|
||||
// Creating minum settings
|
||||
$system = System::where('id','=','1')->first();
|
||||
$system->time_zone = $timezone;
|
||||
$system->date_time_format = $datetime;
|
||||
$system->save();
|
||||
|
||||
// Creating default form field
|
||||
$form1 = new Form_details;
|
||||
$form1->label = 'Name';
|
||||
$form1->type = 'text';
|
||||
$form1->form_name_id = '1';
|
||||
$form1->save();
|
||||
|
||||
$form2 = new Form_details;
|
||||
$form2->label = 'Phone';
|
||||
$form2->type = 'number';
|
||||
$form2->form_name_id = '1';
|
||||
$form2->save();
|
||||
|
||||
$form3 = new Form_details;
|
||||
$form3->label = 'Email';
|
||||
$form3->type = 'text';
|
||||
$form3->form_name_id = '1';
|
||||
$form3->save();
|
||||
|
||||
$form4 = new Form_details;
|
||||
$form4->label = 'Subject';
|
||||
$form4->type = 'text';
|
||||
$form4->form_name_id = '1';
|
||||
$form4->save();
|
||||
|
||||
$form5 = new Form_details;
|
||||
$form5->label = 'Details';
|
||||
$form5->type = 'textarea';
|
||||
$form5->form_name_id = '1';
|
||||
$form5->save();
|
||||
|
||||
// Creating user
|
||||
$user = User::create(array(
|
||||
'first_name' => $firstname,
|
||||
'last_name' => $lastname,
|
||||
'email' => $email,
|
||||
'user_name' => $username,
|
||||
'password' => Hash::make($password),
|
||||
'active' => 1,
|
||||
'role' => 'admin',
|
||||
'assign_group' => 'group A',
|
||||
'primary_dpt' => 'support',
|
||||
));
|
||||
|
||||
// Setting database installed status
|
||||
$value = '1';
|
||||
$install = app_path('../config/database.php');
|
||||
$datacontent = File::get($install);
|
||||
$datacontent = str_replace('%0%', $value, $datacontent);
|
||||
File::put($install, $datacontent);
|
||||
|
||||
// Applying email configuration on route
|
||||
$smtpfilepath = "\App\Http\Controllers\Common\SettingsController::smtp()";
|
||||
$path22 = app_path('Http/routes.php');
|
||||
$content23 = File::get($path22);
|
||||
$content23 = str_replace('"%smtplink%"', $smtpfilepath, $content23);
|
||||
File::put($path22, $content23);
|
||||
|
||||
// If user created return success
|
||||
if($user){
|
||||
return ['response'=>'success','status'=>'1'];
|
||||
}
|
||||
} else {
|
||||
return ['response'=>'fail','reason'=>'this system is already installed','status'=>'0'];
|
||||
}
|
||||
}catch(\Exception $e){
|
||||
return $e->getMessage();
|
||||
} else {
|
||||
return ['response'=>'fail','reason'=>'this system is already installed','status'=>'0'];
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,10 +1,13 @@
|
||||
<?php namespace App\Http\Controllers\Admin\helpdesk;
|
||||
|
||||
// controller
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Common\SettingsController;
|
||||
|
||||
// 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;
|
||||
@@ -13,13 +16,16 @@ use App\Model\helpdesk\Agent\Groups;
|
||||
use App\Model\helpdesk\Agent\Teams;
|
||||
use App\Model\helpdesk\Utility\Timezones;
|
||||
use App\Model\helpdesk\Settings\Company;
|
||||
|
||||
// classes
|
||||
use DB;
|
||||
use Mail;
|
||||
use Hash;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* AgentController
|
||||
* This controller is used to CRUD category
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
@@ -27,18 +33,25 @@ use Hash;
|
||||
*/
|
||||
class AgentController extends Controller {
|
||||
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
* @return Response
|
||||
* 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 index page
|
||||
* Get all agent list page
|
||||
* @param type User $user
|
||||
* @return type Response
|
||||
*/
|
||||
@@ -51,13 +64,13 @@ class AgentController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* 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 Response
|
||||
* @return type view
|
||||
*/
|
||||
public function create(Assign_team_agent $team_assign_agent, Timezones $timezone, Groups $group, Department $department, Teams $team) {
|
||||
try {
|
||||
@@ -68,19 +81,19 @@ class AgentController extends Controller {
|
||||
$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 view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* 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) {
|
||||
try {
|
||||
|
||||
/* Insert to user table */
|
||||
$user->role = 'agent';
|
||||
$user->fill($request->input())->save();
|
||||
@@ -88,6 +101,7 @@ class AgentController extends Controller {
|
||||
$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]);
|
||||
}
|
||||
@@ -96,29 +110,22 @@ class AgentController extends Controller {
|
||||
$name = $user->user_name;
|
||||
$email = $user->email;
|
||||
$from = $this->company();
|
||||
Mail::send('emails.pass', ['name' => $name, 'password' => $password, 'from' => $from, 'emailadd' => $email], function ($message) use ($email, $name) {
|
||||
$message->to($email, $name)->subject('[password]');
|
||||
});
|
||||
// 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');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return redirect('agents')->with('fails', 'Agent can not Create');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id) {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* Editing a selected agent
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @param type Assign_team_agent $team_assign_agent
|
||||
@@ -146,7 +153,7 @@ class AgentController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update the specified agent in storage.
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @param type AgentUpdate $request
|
||||
@@ -154,53 +161,53 @@ class AgentController extends Controller {
|
||||
* @return type Response
|
||||
*/
|
||||
public function update($id, User $user, AgentUpdate $request, Assign_team_agent $team_assign_agent) {
|
||||
try {
|
||||
|
||||
// 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');
|
||||
//==============================================
|
||||
$user->daylight_save = $daylight_save;
|
||||
$user->limit_access = $limit_access;
|
||||
$user->directory_listing = $directory_listing;
|
||||
$user->vocation_mode = $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
|
||||
$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');
|
||||
}
|
||||
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 resource from storage.
|
||||
* 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) {
|
||||
try {
|
||||
/* 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();
|
||||
if ($user->delete()) {
|
||||
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');
|
||||
} else {
|
||||
return redirect('agents')->with('fails', 'Agent can not Delete ');
|
||||
} catch (\Exception $e) {
|
||||
dd($e->errorInfo);
|
||||
return redirect('agents')->with('fails', $error);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return redirect('agents')->with('fails', 'Agent can not Delete if the team Excist');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -220,11 +227,10 @@ class AgentController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* company
|
||||
* Fetching comapny name to send mail
|
||||
* @return type
|
||||
*/
|
||||
public function company()
|
||||
{
|
||||
public function company() {
|
||||
$company = Company::Where('id','=','1')->first();
|
||||
if($company->company_name == null){
|
||||
$company = "Support Center";
|
||||
@@ -234,11 +240,9 @@ class AgentController extends Controller {
|
||||
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'));
|
||||
}
|
||||
// public function agent_profile($id) {
|
||||
// $agent = User::where('id','=',$id)->first();
|
||||
// return \View::make('themes.default1.admin.helpdesk.agent.agents.agent-profile',compact('agent'));
|
||||
// }
|
||||
|
||||
}
|
||||
|
@@ -1,27 +1,39 @@
|
||||
<?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;
|
||||
|
||||
/**
|
||||
* BanlistController
|
||||
*
|
||||
* In this controller in the CRUD function for all the banned emails
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
*/
|
||||
class BanlistController extends Controller {
|
||||
|
||||
/**
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
* @return type void
|
||||
* 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');
|
||||
}
|
||||
|
||||
@@ -59,27 +71,28 @@ class BanlistController extends Controller {
|
||||
* @return type Response
|
||||
*/
|
||||
public function store(BanRequest $request, User $user) {
|
||||
// try {
|
||||
// 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_status');
|
||||
$use->ban = $request->input('ban');
|
||||
$use->internal_note = $request->input('internal_note');
|
||||
$use->save();
|
||||
// $user->create($request->input())->save();
|
||||
return redirect()->back()->with('success', 'Email Banned sucessfully');
|
||||
return redirect('banlist')->with('success', 'Email Banned sucessfully');
|
||||
} else {
|
||||
$user = new User;
|
||||
$user->email = $adban;
|
||||
$user->ban = $request->input('ban_status');
|
||||
$user->ban = $request->input('ban');
|
||||
$user->internal_note = $request->input('internal_note');
|
||||
$user->save();
|
||||
return redirect()->back()->with('success', 'Email Banned sucessfully');
|
||||
return redirect('banlist')->with('success', 'Email Banned sucessfully');
|
||||
}
|
||||
// } catch (Exception $e) {
|
||||
// return redirect('banlist')->with('fails', 'Email can not Ban');
|
||||
// }
|
||||
} catch (Exception $e) {
|
||||
return redirect('banlist')->with('fails', 'Email can not Ban');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -136,17 +149,15 @@ class BanlistController extends Controller {
|
||||
* @param type Banlist $ban
|
||||
* @return type Response
|
||||
*/
|
||||
public function destroy($id, Banlist $ban) {
|
||||
try {
|
||||
$bans = $ban->whereId($id)->first();
|
||||
/* Success and Falure condition */
|
||||
if ($bans->delete() == true) {
|
||||
return redirect('banlist')->with('success', 'Banned Email Deleted sucessfully');
|
||||
} else {
|
||||
return redirect('banlist')->with('fails', 'Banned Email can not Delete');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return redirect('banlist')->with('fails', 'Banned Email can not Delete');
|
||||
}
|
||||
}
|
||||
// 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>');
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
@@ -12,9 +12,13 @@ use App\Model\helpdesk\Agent\Teams;
|
||||
use App\Model\helpdesk\Email\Emails;
|
||||
use App\Model\helpdesk\Email\Template;
|
||||
use App\Model\helpdesk\Manage\Sla_plan;
|
||||
use App\Model\helpdesk\Settings\System;
|
||||
use App\Model\helpdesk\Ticket\Tickets;
|
||||
use App\Model\helpdesk\Manage\Help_topic;
|
||||
use App\User;
|
||||
// classes
|
||||
use DB;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* DepartmentController
|
||||
@@ -81,9 +85,14 @@ class DepartmentController extends Controller {
|
||||
*/
|
||||
public function store(Department $department, DepartmentRequest $request) {
|
||||
try {
|
||||
$department->fill($request->except('group_id'))->save();
|
||||
$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]);
|
||||
// }
|
||||
@@ -99,16 +108,6 @@ class DepartmentController extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
@@ -146,6 +145,7 @@ class DepartmentController extends Controller {
|
||||
* @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();
|
||||
@@ -154,7 +154,15 @@ class DepartmentController extends Controller {
|
||||
// DB::insert('insert into group_assign_department (group_id, department_id) values (?,?)', [$req, $id]);
|
||||
// }
|
||||
$departments = $department->whereId($id)->first();
|
||||
if ($departments->fill($request->except('group_access'))->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');
|
||||
@@ -171,21 +179,64 @@ class DepartmentController extends Controller {
|
||||
* @param type Group_assign_department $group_assign_department
|
||||
* @return type Response
|
||||
*/
|
||||
public function destroy($id, Department $department, Group_assign_department $group_assign_department) {
|
||||
try {
|
||||
/* 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');
|
||||
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 {
|
||||
return redirect('departments')->with('fails', 'Department can not Delete');
|
||||
$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');
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
return redirect('departments')->with('fails', 'Department can not Delete');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@ use App\Model\helpdesk\Utility\MailboxProtocol;
|
||||
use App\Model\helpdesk\Ticket\Ticket_Priority;
|
||||
// classes
|
||||
use Crypt;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* EmailsController
|
||||
|
@@ -1,12 +1,29 @@
|
||||
<?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 Illuminate\Http\Request;
|
||||
use Input;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Redirect;
|
||||
use App\Model\helpdesk\Manage\Help_topic;
|
||||
|
||||
// Request
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
// Class
|
||||
use Input;
|
||||
use Redirect;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* FormController
|
||||
* This controller is used to CRUD Custom Forms
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
*/
|
||||
class FormController extends Controller {
|
||||
private $fields;
|
||||
private $forms;
|
||||
@@ -91,8 +108,13 @@ class FormController extends Controller {
|
||||
|
||||
|
||||
|
||||
public function delete($id,Forms $forms, Fields $field) {
|
||||
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) {
|
||||
$field->delete();
|
||||
}
|
||||
|
@@ -8,9 +8,10 @@ use Illuminate\Http\Request;
|
||||
use App\Model\helpdesk\Agent\Department;
|
||||
use App\Model\helpdesk\Agent\Groups;
|
||||
use App\Model\helpdesk\Agent\Group_assign_department;
|
||||
use App\User;
|
||||
// classes
|
||||
use Illuminate\Support\Facades\Input;
|
||||
|
||||
use Exception;
|
||||
/**
|
||||
* GroupController
|
||||
*
|
||||
@@ -67,29 +68,14 @@ class GroupController extends Controller {
|
||||
public function store(Groups $group, GroupRequest $request) {
|
||||
try {
|
||||
/* Check Whether function success or not */
|
||||
if ($group->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('groups')->with('success', 'Groups Created Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('groups')->with('fails', 'Groups can not Create');
|
||||
}
|
||||
$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');
|
||||
return redirect('groups')->with('fails', 'Groups can not Create'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id, Groups $group, Request $request) {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* @param type int $id
|
||||
@@ -101,7 +87,7 @@ class GroupController extends Controller {
|
||||
$groups = $group->whereId($id)->first();
|
||||
return view('themes.default1.admin.helpdesk.agent.groups.edit', compact('groups'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect('groups')->with('fails', 'Groups can not Create'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +99,6 @@ class GroupController extends Controller {
|
||||
* @return type Response
|
||||
*/
|
||||
public function update($id, Groups $group, Request $request) {
|
||||
try {
|
||||
$var = $group->whereId($id)->first();
|
||||
//Updating Status
|
||||
$status = $request->Input('group_status');
|
||||
@@ -158,17 +143,14 @@ class GroupController extends Controller {
|
||||
$adminNotes = $request->Input('admin_notes');
|
||||
$var->admin_notes = $adminNotes;
|
||||
/* Check whether function success or not */
|
||||
if ($var->save() == true) {
|
||||
try {
|
||||
$var->save();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('groups')->with('success', 'Group Updated Successfully');
|
||||
} else {
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('groups')->with('fails', 'Group can not Update');
|
||||
return redirect('groups')->with('fails', 'Groups can not Create'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('groups')->with('fails', 'Groups can not Create');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -178,21 +160,22 @@ class GroupController extends Controller {
|
||||
* @param type Group_assign_department $group_assign_department
|
||||
* @return type Response
|
||||
*/
|
||||
public function destroy($id, Groups $group, Group_assign_department $group_assign_department) {
|
||||
try {
|
||||
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 */
|
||||
if ($groups->delete() == true) {
|
||||
try {
|
||||
$groups->delete();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('groups')->with('success', 'Group Deleted Successfully');
|
||||
} else {
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('groups')->with('fails', 'Group can not Delete');
|
||||
return redirect('groups')->with('fails', 'Groups cannot Create'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('groups')->with('fails', 'Groups can not Create');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -11,7 +11,11 @@ use App\Model\helpdesk\Form\Forms;
|
||||
use App\Model\helpdesk\Manage\Help_topic;
|
||||
use App\Model\helpdesk\Manage\Sla_plan;
|
||||
use App\Model\helpdesk\Ticket\Ticket_Priority;
|
||||
use App\Model\helpdesk\Settings\Ticket;
|
||||
use App\User;
|
||||
// classes
|
||||
use DB;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* HelptopicController
|
||||
@@ -88,29 +92,15 @@ class HelptopicController extends Controller {
|
||||
public function store(Help_topic $topic, HelptopicRequest $request) {
|
||||
try {
|
||||
/* Check whether function success or not */
|
||||
if ($topic->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('helptopic')->with('success', 'Helptopic Created Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('helptopic')->with('fails', 'Helptopic can not Create');
|
||||
}
|
||||
$topic->fill($request->input())->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');
|
||||
return redirect('helptopic')->with('fails', 'Helptopic can not Create'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id) {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* @param type $id
|
||||
@@ -132,7 +122,7 @@ class HelptopicController extends Controller {
|
||||
$priority = $priority->get();
|
||||
return view('themes.default1.admin.helpdesk.manage.helptopic.edit', compact('priority', 'departments', 'topics', 'forms', 'agents', 'slas'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect('helptopic')->with('fails', '<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,19 +134,29 @@ class HelptopicController extends Controller {
|
||||
* @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 */
|
||||
if ($topics->fill($request->input())->save() == true) {
|
||||
$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');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('helptopic')->with('fails', 'Helptopic can not Updated');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('helptopic')->with('fails', 'Helptopic can not Create');
|
||||
return redirect('helptopic')->with('fails', 'Helptopic can not Update'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,20 +166,50 @@ class HelptopicController extends Controller {
|
||||
* @param type Help_topic $topic
|
||||
* @return type Response
|
||||
*/
|
||||
public function destroy($id, Help_topic $topic) {
|
||||
try {
|
||||
$topics = $topic->whereId($id)->first();
|
||||
/* Check whether function success or not */
|
||||
if ($topics->delete() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('helptopic')->with('success', 'Helptopic Deleted Successfully');
|
||||
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 {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('helptopic')->with('fails', 'Helptopic can not Delete');
|
||||
|
||||
$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 = "";
|
||||
}
|
||||
|
||||
$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 = "";
|
||||
}
|
||||
|
||||
$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>');
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('helptopic')->with('fails', 'Helptopic can not Create');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -17,6 +17,7 @@ use App;
|
||||
use Lang;
|
||||
use Cache;
|
||||
use File;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* SlaController
|
||||
|
@@ -10,6 +10,7 @@ use App\User;
|
||||
use Auth;
|
||||
use Hash;
|
||||
use Input;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* ProfileController
|
||||
|
@@ -20,13 +20,13 @@ use App\Model\helpdesk\Settings\System;
|
||||
use App\Model\helpdesk\Settings\Ticket;
|
||||
use App\Model\helpdesk\Utility\Date_format;
|
||||
use App\Model\helpdesk\Utility\Date_time_format;
|
||||
use App\Model\helpdesk\Utility\Logs;
|
||||
use App\Model\helpdesk\Ticket\Ticket_Priority;
|
||||
use App\Model\helpdesk\Utility\Timezones;
|
||||
use App\Model\helpdesk\Utility\Time_format;
|
||||
// classes
|
||||
use Illuminate\Http\Request;
|
||||
use Input;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* SettingsController
|
||||
@@ -69,7 +69,7 @@ class SettingsController extends Controller {
|
||||
/* Direct to Company Settings Page */
|
||||
return view('themes.default1.admin.helpdesk.settings.company', compact('companys'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class SettingsController extends Controller {
|
||||
* @return Response
|
||||
*/
|
||||
public function postcompany($id, Company $company, CompanyRequest $request) {
|
||||
try {
|
||||
|
||||
/* fetch the values of company request */
|
||||
$companys = $company->whereId('1')->first();
|
||||
if (Input::file('logo')) {
|
||||
@@ -96,17 +96,14 @@ class SettingsController extends Controller {
|
||||
$companys->use_logo = '0';
|
||||
}
|
||||
/* Check whether function success or not */
|
||||
if ($companys->fill($request->except('logo'))->save() == true) {
|
||||
try {
|
||||
$companys->fill($request->except('logo'))->save();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('getcompany')->with('success', 'Company Updated Successfully');
|
||||
} else {
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('getcompany')->with('fails', 'Company can not Updated');
|
||||
return redirect('getcompany')->with('fails', 'Company can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('getcompany')->with('fails', 'Company can not Updated');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -117,10 +114,9 @@ class SettingsController extends Controller {
|
||||
* @param type Date_format $date
|
||||
* @param type Date_time_format $date_time
|
||||
* @param type Time_format $time
|
||||
* @param type Logs $log
|
||||
* @return type Response
|
||||
*/
|
||||
public function getsystem(System $system, Department $department, Timezones $timezone, Date_format $date, Date_time_format $date_time, Time_format $time, Logs $log) {
|
||||
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();
|
||||
@@ -129,9 +125,9 @@ class SettingsController extends Controller {
|
||||
/* 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', 'log'));
|
||||
return view('themes.default1.admin.helpdesk.settings.system', compact('systems', 'departments', 'timezones', 'time', 'date', 'date_time'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,20 +140,17 @@ class SettingsController extends Controller {
|
||||
*/
|
||||
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 */
|
||||
if ($systems->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('getsystem')->with('success', 'System Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('getsystem')->with('fails', 'System can not Updated');
|
||||
}
|
||||
$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');
|
||||
return redirect('getsystem')->with('fails', 'System can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,7 +173,7 @@ class SettingsController extends Controller {
|
||||
/* Direct to Ticket Settings Page */
|
||||
return view('themes.default1.admin.helpdesk.settings.ticket', compact('tickets', 'slas', 'topics', 'priority'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,16 +199,12 @@ class SettingsController extends Controller {
|
||||
$tickets->html = $request->input('html');
|
||||
$tickets->client_update = $request->input('client_update');
|
||||
/* Check whether function success or not */
|
||||
if ($tickets->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('getticket')->with('success', 'Ticket Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('getticket')->with('fails', 'Ticket can not Updated');
|
||||
}
|
||||
$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');
|
||||
return redirect('getticket')->with('fails', 'Ticket can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,7 +226,7 @@ class SettingsController extends Controller {
|
||||
/* Direct to Email Settings Page */
|
||||
return view('themes.default1.admin.helpdesk.settings.email', compact('emails', 'templates', 'emails1'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,16 +251,12 @@ class SettingsController extends Controller {
|
||||
$emails->strip = $request->input('strip');
|
||||
$emails->attachment = $request->input('attachment');
|
||||
/* Check whether function success or not */
|
||||
if ($emails->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('getemail')->with('success', 'Email Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('getemail')->with('fails', 'Email can not Updated');
|
||||
}
|
||||
$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');
|
||||
return redirect('getemail')->with('fails', 'Email can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,7 +319,7 @@ class SettingsController extends Controller {
|
||||
/* Direct to Responder Settings Page */
|
||||
return view('themes.default1.admin.helpdesk.settings.responder', compact('responders'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,16 +341,12 @@ class SettingsController extends Controller {
|
||||
$responders->overlimit = $request->input('overlimit');
|
||||
/* fill the values to coompany table */
|
||||
/* Check whether function success or not */
|
||||
if ($responders->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('getresponder')->with('success', 'Responder Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('getresponder')->with('fails', 'Responder can not Updated');
|
||||
}
|
||||
$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');
|
||||
return redirect('getresponder')->with('fails', 'Responder can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -381,7 +362,7 @@ class SettingsController extends Controller {
|
||||
/* Direct to Alert Settings Page */
|
||||
return view('themes.default1.admin.helpdesk.settings.alert', compact('alerts'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -442,16 +423,12 @@ class SettingsController extends Controller {
|
||||
}
|
||||
/* fill the values to coompany table */
|
||||
/* Check whether function success or not */
|
||||
if ($alerts->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('getalert')->with('success', 'Alert Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('getalert')->with('fails', 'Alert can not Updated');
|
||||
}
|
||||
$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');
|
||||
return redirect('getalert')->with('fails', 'Alert can not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,11 +1,19 @@
|
||||
<?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;
|
||||
|
||||
/**
|
||||
* SlaController
|
||||
@@ -37,7 +45,7 @@ class SlaController extends Controller {
|
||||
/* Listing the values From Sla_plan Table */
|
||||
return view('themes.default1.admin.helpdesk.manage.sla.index', compact('slas'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +58,7 @@ class SlaController extends Controller {
|
||||
/* Direct to Create Page */
|
||||
return view('themes.default1.admin.helpdesk.manage.sla.create');
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,29 +72,15 @@ class SlaController extends Controller {
|
||||
try {
|
||||
/* Fill the request values to Sla_plan Table */
|
||||
/* Check whether function success or not */
|
||||
if ($sla->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('sla')->with('success', 'SLA Plan Created Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('sla')->with('fails', 'SLA Plan can not Create');
|
||||
}
|
||||
$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');
|
||||
return redirect('sla')->with('fails', 'SLA Plan can not Create'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
@@ -100,7 +94,7 @@ class SlaController extends Controller {
|
||||
$slas->get();
|
||||
return view('themes.default1.admin.helpdesk.manage.sla.edit', compact('slas'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,16 +115,12 @@ class SlaController extends Controller {
|
||||
/* Update ticket_overdue checkox field */
|
||||
$slas->ticket_overdue = $request->input('ticket_overdue');
|
||||
/* Check whether function success or not */
|
||||
if ($slas->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('sla')->with('success', 'SLA Plan Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('sla')->with('fails', 'SLA Plan can not Update');
|
||||
}
|
||||
$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');
|
||||
return redirect('sla')->with('fails', 'SLA Plan can not Update'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,20 +131,55 @@ class SlaController extends Controller {
|
||||
* @return type Response
|
||||
*/
|
||||
public function destroy($id, Sla_plan $sla) {
|
||||
try {
|
||||
$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 */
|
||||
if ($slas->delete() == true) {
|
||||
try{
|
||||
$slas->delete();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('sla')->with('success', 'SLA Plan Deleted Successfully');
|
||||
} else {
|
||||
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');
|
||||
return redirect('sla')->with('fails', 'SLA Plan can not Delete'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('sla')->with('fails', 'SLA Plan can not Delete');
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,14 +1,21 @@
|
||||
<?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;
|
||||
|
||||
/**
|
||||
* TeamController
|
||||
*
|
||||
@@ -41,7 +48,7 @@ class TeamController extends Controller {
|
||||
$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 view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +62,7 @@ class TeamController extends Controller {
|
||||
$user = $user->get();
|
||||
return view('themes.default1.admin.helpdesk.agent.teams.create', compact('user'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,31 +73,24 @@ class TeamController extends Controller {
|
||||
* @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 */
|
||||
if ($team->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('teams')->with('success', 'Teams Created Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('teams')->with('fails', 'Teams can not Create');
|
||||
}
|
||||
$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');
|
||||
return redirect('teams')->with('fails', 'Teams can not Create'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id) {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* @param type $id
|
||||
@@ -107,7 +107,7 @@ class TeamController extends Controller {
|
||||
$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 view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,24 +119,29 @@ class TeamController extends Controller {
|
||||
* @return type Response
|
||||
*/
|
||||
public function update($id, Teams $team, TeamUpdate $request) {
|
||||
try {
|
||||
|
||||
$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 */
|
||||
if ($teams->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('teams')->with('success', 'Teams Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('teams')->with('fails', 'Teams can not Update');
|
||||
}
|
||||
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');
|
||||
return redirect('teams')->with('fails', 'Teams can not Update'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,17 +156,14 @@ class TeamController extends Controller {
|
||||
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 */
|
||||
if ($teams->delete() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('teams')->with('success', 'Teams Deleted Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('teams')->with('fails', 'Teams can not Delete');
|
||||
}
|
||||
$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');
|
||||
return redirect('teams')->with('fails', 'Teams can not Delete'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@ use App\Model\helpdesk\Utility\Languages;
|
||||
// classes
|
||||
use Illuminate\Http\Request;
|
||||
use Mail;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* TemplateController
|
||||
|
@@ -1,10 +1,14 @@
|
||||
<?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
|
||||
*
|
||||
|
@@ -1,17 +1,25 @@
|
||||
<?php namespace App\Http\Controllers\Agent\helpdesk;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// requests
|
||||
use App\Http\Requests\helpdesk\CannedRequest;
|
||||
use App\Http\Requests\helpdesk\CannedUpdateRequest;
|
||||
|
||||
// model
|
||||
use App\Model\helpdesk\Agent_panel\Canned;
|
||||
use App\User;
|
||||
|
||||
// classes
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* UserController
|
||||
* CannedController
|
||||
*
|
||||
* This controller is for all the functionalities of Canned response for Agents in the Agent Panel
|
||||
*
|
||||
* @package Controllers
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
*/
|
||||
@@ -23,108 +31,122 @@ class CannedController extends Controller {
|
||||
* 1. authentication
|
||||
* 2. user roles
|
||||
* 3. roles must be agent
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct() {
|
||||
// checking authentication
|
||||
$this->middleware('auth');
|
||||
// checking if role is agent
|
||||
$this->middleware('role.agent');
|
||||
// $this->middleware('roles');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* @param type User $user
|
||||
* @return type Response
|
||||
* Display a listing of the Canned Responses.
|
||||
* @return type View
|
||||
*/
|
||||
public function index() {
|
||||
return view('themes.default1.agent.helpdesk.canned.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* @return type Response
|
||||
* Show the form for creating a new Canned Response
|
||||
* @return type View
|
||||
*/
|
||||
public function create() {
|
||||
return view('themes.default1.agent.helpdesk.canned.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* @param type User $user
|
||||
* @param type Sys_userRequest $request
|
||||
* @return type Response
|
||||
* Store a newly created Canned Response.
|
||||
* @param type CannedRequest $request
|
||||
* @param type Canned $canned
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function store(CannedRequest $request, Canned $canned) {
|
||||
// fetching all the requested inputs
|
||||
$canned->user_id = \Auth::user()->id;
|
||||
$canned->title = $request->input('title');
|
||||
$canned->message = $request->input('message');
|
||||
$canned->save();
|
||||
return redirect()->route('canned.list')->with('success','Added Successfully');
|
||||
try {
|
||||
// saving inputs
|
||||
$canned->save();
|
||||
return redirect()->route('canned.list')->with('success','Added Successfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect()->route('canned.list')->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @return type Response
|
||||
* Show the form for editing the Canned Response.
|
||||
* @param type $id
|
||||
* @param type Canned $canned
|
||||
* @return type View
|
||||
*/
|
||||
public function edit($id, Canned $canned) {
|
||||
// fetching requested canned response
|
||||
$canned = $canned->where('user_id', '=', \Auth::user()->id)->where('id','=',$id)->first();
|
||||
return view('themes.default1.agent.helpdesk.canned.edit',compact('canned'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @param type Sys_userUpdate $request
|
||||
* @return type Response
|
||||
* Update the Canned Response in database.
|
||||
* @param type $id
|
||||
* @param type CannedUpdateRequest $request
|
||||
* @param type Canned $canned
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function update($id, CannedUpdateRequest $request, Canned $canned) {
|
||||
|
||||
/* select the field where id = $id(request Id) */
|
||||
$canned = $canned->where('id','=',$id)->where('user_id', '=', \Auth::user()->id)->first();
|
||||
// fetching all the requested inputs
|
||||
$canned->user_id = \Auth::user()->id;
|
||||
$canned->title = $request->input('title');
|
||||
$canned->message = $request->input('message');
|
||||
$canned->save();
|
||||
|
||||
return redirect()->route('canned.list')->with('success','Updated Successfully');
|
||||
try {
|
||||
// saving inputs
|
||||
$canned->save();
|
||||
return redirect()->route('canned.list')->with('success','Updated Successfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect()->route('canned.list')->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @return type Response
|
||||
* Delete the Canned Response from storage.
|
||||
* @param type $id
|
||||
* @param type Canned $canned
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function destroy($id, Canned $canned) {
|
||||
/* select the field where id = $id(request Id) */
|
||||
$canned = $canned->whereId($id)->first();
|
||||
/* delete the selected field */
|
||||
/* Check whether function success or not */
|
||||
if ($canned->delete() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect()->route('canned.list')->with('success', 'User Deleted Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect()->route('canned.list')->with('fails', 'User can not Delete');
|
||||
}
|
||||
return view('themes.default1.agent.helpdesk.canned.destroy');
|
||||
$canned = $canned->whereId($id)->first();
|
||||
/* delete the selected field */
|
||||
/* Check whether function success or not */
|
||||
try {
|
||||
$canned->delete();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect()->route('canned.list')->with('success', 'User Deleted Successfully');
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect()->route('canned.list')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get canned
|
||||
* Fetch Canned Response in the ticket detail page.
|
||||
* @param type $id
|
||||
* @return type json
|
||||
*/
|
||||
public function get_canned($id) {
|
||||
// checking for the canned response with requested value
|
||||
if($id != "zzz") {
|
||||
// fetching canned response
|
||||
$canned = Canned::where('id','=',$id)->where('user_id','=',\Auth::user()->id)->first();
|
||||
$msg = $canned->message;
|
||||
} else {
|
||||
$msg = "";
|
||||
}
|
||||
// returning the canned response in JSON format
|
||||
return \Response::json($msg);
|
||||
}
|
||||
|
||||
|
@@ -1,19 +1,24 @@
|
||||
<?php namespace App\Http\Controllers\Agent\helpdesk;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// models
|
||||
use App\Model\helpdesk\Settings\Company;
|
||||
use App\Model\helpdesk\Ticket\Ticket_Collaborator;
|
||||
use App\Model\helpdesk\Email\Emails;
|
||||
use App\User;
|
||||
|
||||
// classes
|
||||
use DB;
|
||||
use View;
|
||||
use Auth;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* DashboardController
|
||||
*
|
||||
* This controlleris used to fetch dashboard in the agent panel
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
@@ -29,61 +34,76 @@ class DashboardController extends Controller {
|
||||
* @return void
|
||||
*/
|
||||
public function __construct() {
|
||||
// checking for authentication
|
||||
$this->middleware('auth');
|
||||
// checking if the role is agent
|
||||
$this->middleware('role.agent');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* @return type Response
|
||||
* Get the dashboard page
|
||||
* @return type view
|
||||
*/
|
||||
public function index() {
|
||||
try {
|
||||
if(Auth::user()->role == "user"){
|
||||
return \Redirect::route('home');
|
||||
}
|
||||
return View::make('themes.default1.agent.helpdesk.dashboard.dashboard');
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
}
|
||||
// if(Auth::user()->role == "user"){
|
||||
// return \Redirect::route('home');
|
||||
// }
|
||||
try {
|
||||
return View::make('themes.default1.agent.helpdesk.dashboard.dashboard');
|
||||
} catch (Exception $e) {
|
||||
return View::make('themes.default1.agent.helpdesk.dashboard.dashboard');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ChartData
|
||||
* @return type
|
||||
* Fetching dashboard graph data to implement graph
|
||||
* @return type Json
|
||||
*/
|
||||
public function ChartData()
|
||||
{
|
||||
$date2 = strtotime(Date('Y-m-d'));
|
||||
$date3 = Date('Y-m-d');
|
||||
$format = 'Y-m-d';
|
||||
$date1 = strtotime(Date($format,strtotime('-1 month'. $date3)));
|
||||
|
||||
$return = "";
|
||||
$last = "";
|
||||
for ( $i = $date1; $i <= $date2; $i = $i + 86400 ) {
|
||||
$thisDate = date( 'Y-m-d', $i );
|
||||
|
||||
$created = \DB::table('tickets')->select('created_at')->where('created_at','LIKE','%'.$thisDate.'%')->count();
|
||||
$closed = \DB::table('tickets')->select('closed_at')->where('closed_at','LIKE','%'.$thisDate.'%')->count();
|
||||
$reopened = \DB::table('tickets')->select('reopened_at')->where('reopened_at','LIKE','%'.$thisDate.'%')->count();
|
||||
|
||||
$value = ['date' => $thisDate, 'open' => $created, 'closed' => $closed, 'reopened' => $reopened];
|
||||
$array = array_map('htmlentities',$value);
|
||||
$json = html_entity_decode(json_encode($array));
|
||||
$return .= $json.',';
|
||||
}
|
||||
$last = rtrim($return,',');
|
||||
|
||||
return '['.$last.']';
|
||||
|
||||
// $date11 = strtotime(\Input::get('start_date'));
|
||||
// $date12 = strtotime(\Input::get('end_date'));
|
||||
// if($date11 && $date12){
|
||||
// $date2 = $date12;
|
||||
// $date1 = $date11;
|
||||
// } else {
|
||||
// generating current date
|
||||
$date2 = strtotime(Date('Y-m-d'));
|
||||
$date3 = Date('Y-m-d');
|
||||
$format = 'Y-m-d';
|
||||
// generating a date range of 1 month
|
||||
$date1 = strtotime(Date($format,strtotime('-1 month'. $date3)));
|
||||
// }
|
||||
|
||||
$return = "";
|
||||
$last = "";
|
||||
// fetching dashboard data for each day on a 1 month fixed range
|
||||
// this range can also be fetched on a requested rannge of date
|
||||
for ( $i = $date1; $i <= $date2; $i = $i + 86400 ) {
|
||||
$thisDate = date( 'Y-m-d', $i );
|
||||
// created tickets
|
||||
$created = \DB::table('tickets')->select('created_at')->where('created_at','LIKE','%'.$thisDate.'%')->count();
|
||||
// closed tickets
|
||||
$closed = \DB::table('tickets')->select('closed_at')->where('closed_at','LIKE','%'.$thisDate.'%')->count();
|
||||
// reopened tickets
|
||||
$reopened = \DB::table('tickets')->select('reopened_at')->where('reopened_at','LIKE','%'.$thisDate.'%')->count();
|
||||
// storing in array format
|
||||
$value = ['date' => $thisDate, 'open' => $created, 'closed' => $closed, 'reopened' => $reopened];
|
||||
$array = array_map('htmlentities',$value);
|
||||
// encoding the values in jsom format
|
||||
$json = html_entity_decode(json_encode($array));
|
||||
$return .= $json.',';
|
||||
}
|
||||
// combining all the values in a single variable and returning that variable in Json.
|
||||
$last = rtrim($return,',');
|
||||
return '['.$last.']';
|
||||
// $ticketlist = DB::table('tickets')
|
||||
// ->select(DB::raw('MONTH(updated_at) as month'),DB::raw('SUM(CASE WHEN status = 3 THEN 1 ELSE 0 END) as closed'),DB::raw('SUM(CASE WHEN status = 2 THEN 1 ELSE 0 END) as reopened'),DB::raw('SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) as open'),DB::raw('SUM(CASE WHEN status = 5 THEN 1 ELSE 0 END) as deleted'),
|
||||
// DB::raw('count(*) as totaltickets'))
|
||||
// ->groupBy('month')
|
||||
// ->orderBy('month', 'asc')
|
||||
// ->get();
|
||||
|
||||
// return $ticketlist;
|
||||
}
|
||||
|
||||
|
@@ -2,6 +2,7 @@
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
|
||||
// models
|
||||
use App\User;
|
||||
use App\Model\helpdesk\Email\Emails;
|
||||
@@ -9,6 +10,12 @@ use App\Model\helpdesk\Settings\Email;
|
||||
use App\Model\helpdesk\Ticket\Ticket_attachments;
|
||||
use App\Model\helpdesk\Ticket\Ticket_Thread;
|
||||
use App\Model\helpdesk\Settings\System;
|
||||
use App\Model\helpdesk\Manage\Help_topic;
|
||||
use App\Model\helpdesk\Utility\MailboxProtocol;
|
||||
use App\Model\helpdesk\Ticket\Ticket_source;
|
||||
use App\Model\helpdesk\Ticket\Ticket_Priority;
|
||||
use App\Model\helpdesk\Ticket\Tickets;
|
||||
|
||||
// classes
|
||||
use PhpImap\Mailbox as ImapMailbox;
|
||||
use PhpImap\IncomingMail;
|
||||
@@ -20,6 +27,7 @@ use Crypt;
|
||||
use Schedule;
|
||||
use File;
|
||||
use Artisan;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* MailController
|
||||
@@ -45,53 +53,55 @@ class MailController extends Controller {
|
||||
*/
|
||||
public function readmails(Emails $emails, Email $settings_email, System $system)
|
||||
{
|
||||
$path_url = $system->first()->url;
|
||||
// $path_url = $system->first()->url;
|
||||
if($settings_email->first()->email_fetching == 1)
|
||||
{
|
||||
if($settings_email->first()->all_emails == 1)
|
||||
{
|
||||
$helptopic = $this->TicketController->default_helptopic();
|
||||
$sla = $this->TicketController->default_sla();
|
||||
// $helptopic = $this->TicketController->default_helptopic();
|
||||
// $sla = $this->TicketController->default_sla();
|
||||
$email = $emails->get();
|
||||
foreach($email as $e_mail)
|
||||
{
|
||||
$helptopic = $e_mail->help_topic;
|
||||
$get_helptopic = Help_topic::where('id', '=', $helptopic)->first();
|
||||
$sla = $get_helptopic->sla_plan;
|
||||
$dept = $e_mail->department;
|
||||
$host = $e_mail->fetching_host;
|
||||
$port = $e_mail->fetching_port;
|
||||
$protocol = $e_mail->mailbox_protocol;
|
||||
$get_mailboxprotocol = MailboxProtocol::where('id','=',$protocol)->first();
|
||||
$protocol = $get_mailboxprotocol->value;
|
||||
$imap_config = '{'.$host.':'.$port.$protocol.'}INBOX';
|
||||
|
||||
$password = Crypt::decrypt($e_mail->password);
|
||||
$mailbox = new ImapMailbox($imap_config, $e_mail->user_name, $password, __DIR__);
|
||||
$mailbox = new ImapMailbox($imap_config, $e_mail->email_address, $password, __DIR__);
|
||||
$mails = array();
|
||||
$mailsIds = $mailbox->searchMailBox('SINCE '. date('d-M-Y', strtotime("-1 day")));
|
||||
if(!$mailsIds) {
|
||||
die('Mailbox is empty');
|
||||
}
|
||||
// dd($mailsIds);
|
||||
foreach($mailsIds as $mailId) {
|
||||
$overview = $mailbox->get_overview($mailId);
|
||||
$var = $overview[0]->seen ? 'read' : 'unread';
|
||||
if ($var == 'unread') {
|
||||
$mail = $mailbox->getMail($mailId);
|
||||
if($settings_email->email_collaborator == 1) {
|
||||
if($settings_email->first()->email_collaborator == 1) {
|
||||
$collaborator = $mail->cc;
|
||||
} else {
|
||||
$collaborator = null;
|
||||
}
|
||||
$body = $mail->textHtml;
|
||||
// dd($mailId);
|
||||
if($body == null) {
|
||||
$body = $mailbox->backup_getmail($mailId);
|
||||
$body = str_replace('\r\n', '<br/>', $body);
|
||||
// var_dump($body);
|
||||
}
|
||||
// dd($body);
|
||||
$date = $mail->date;
|
||||
$datetime = $overview[0]->date;
|
||||
$date_time = explode(" ", $datetime);
|
||||
$date = $date_time[1] . "-" . $date_time[2] . "-" . $date_time[3] . " " . $date_time[4];
|
||||
$date = date('Y-m-d H:i:s', strtotime($date));
|
||||
// dd($date);
|
||||
|
||||
if(isset($mail->subject)){
|
||||
$subject = $mail->subject;
|
||||
@@ -99,27 +109,36 @@ class MailController extends Controller {
|
||||
$subject = "No Subject";
|
||||
}
|
||||
|
||||
// dd($subject);
|
||||
$fromname = $mail->fromName;
|
||||
$fromaddress = $mail->fromAddress;
|
||||
$source = "2";
|
||||
$ticket_source = Ticket_source::where('name','=','email')->first();
|
||||
$source = $ticket_source->id;
|
||||
$phone = "";
|
||||
$priority = '1';
|
||||
$assign = "";
|
||||
$priority = $get_helptopic->priority;
|
||||
// Ticket_Priority::where('')
|
||||
|
||||
$assign = $get_helptopic->auto_assign;
|
||||
$form_data = null;
|
||||
if ($this->TicketController->create_user($fromaddress, $fromname, $subject, $body, $phone, $helptopic, $sla, $priority, $source, $collaborator, $dept, $assign, $form_data) == true) {
|
||||
$thread_id = Ticket_Thread::whereRaw('id = (select max(`id`) from ticket_thread)')->first();
|
||||
$thread_id = $thread_id->id;
|
||||
$result = $this->TicketController->create_user($fromaddress, $fromname, $subject, $body, $phone, $helptopic, $sla, $priority, $source, $collaborator, $dept, $assign, $form_data);
|
||||
// dd($result);
|
||||
if ($result[1] == true) {
|
||||
$ticket_table = Tickets::where('ticket_number', '=' , $result[0])->first();
|
||||
$thread_id = Ticket_Thread::where('ticket_id','=',$ticket_table->id)->max('id');
|
||||
// $thread_id = Ticket_Thread::whereRaw('id = (select max(`id`) from ticket_thread)')->first();
|
||||
$thread_id = $thread_id;
|
||||
|
||||
foreach($mail->getAttachments() as $attachment) {
|
||||
// dd($attachment);
|
||||
$support = "support";
|
||||
// echo $_SERVER['DOCUMENT_ROOT'];
|
||||
$dir_img_paths = __DIR__;
|
||||
$dir_img_path = explode('/code', $dir_img_paths);
|
||||
$filepath = explode('../../../../../../public',$attachment->filePath);
|
||||
// dd($attachment->filePath);
|
||||
$filepath = explode('../../../../../public',$attachment->filePath);
|
||||
// var_dump($attachment->filePath);
|
||||
// dd($filepath);
|
||||
// $path = $dir_img_path[0]."/public/".$filepath[1];
|
||||
$path = public_path().'/'.$filepath[1];
|
||||
// $path = $dir_img_path[0]."/code/public/".$filepath[1];
|
||||
$path = public_path().$filepath[1];
|
||||
// dd($path);
|
||||
$filesize = filesize($path);
|
||||
$file_data = file_get_contents($path);
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// Model
|
||||
use App\User;
|
||||
use App\Model\helpdesk\Settings\Company;
|
||||
@@ -10,8 +11,12 @@ use App\Model\helpdesk\Agent\Department;
|
||||
use App\Model\helpdesk\Utility\Log_notification;
|
||||
use App\Model\helpdesk\settings\Email;
|
||||
|
||||
// classes
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* UserController
|
||||
* NotificationController
|
||||
* This controller is used to send daily notifications
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
@@ -21,20 +26,27 @@ class NotificationController extends Controller {
|
||||
|
||||
/**
|
||||
* This function is for sending daily report/notification about the system
|
||||
* @return mail
|
||||
**/
|
||||
public function send_notification() {
|
||||
//fetching email settings
|
||||
$email = Email::where('id','=','1')->first();
|
||||
// checking if the daily notification is enabled or not
|
||||
if($email->notification_cron == 1){
|
||||
// checking if current date is equal to the last entered daily notification log
|
||||
$notification = Log_notification::where('log','=','NOT-1')->orderBy('id','DESC')->first();
|
||||
$date = explode(" " , $notification->created_at);
|
||||
if(Date('Y-m-d') == $date[0]){
|
||||
} else {
|
||||
// creating a daily notification log
|
||||
Log_notification::create(['log'=>'NOT-1']);
|
||||
$company = $this->company();
|
||||
// Send notification details to admin
|
||||
$this->send_notification_to_admin($company);
|
||||
// Send notification details to team lead
|
||||
$this->send_notification_to_team_lead($company);
|
||||
// Send notification details to manager of a department
|
||||
$this->send_notification_to_manager($company);
|
||||
// Send notification details to all the agents
|
||||
$this->send_notification_to_agent($company);
|
||||
}
|
||||
}
|
||||
@@ -49,6 +61,7 @@ class NotificationController extends Controller {
|
||||
// get all admin users
|
||||
$users = User::where('role','=','admin')->get();
|
||||
foreach ($users as $user) {
|
||||
// Send notification details to admin
|
||||
$email = $user->email;
|
||||
$user_name = $user->first_name . " " . $user->last_name;
|
||||
\Mail::send('emails.notifications.admin', ['company' => $company, 'name'=>$user_name], function ($message)use ($email, $user_name, $company) {
|
||||
@@ -62,12 +75,14 @@ class NotificationController extends Controller {
|
||||
* @return mail
|
||||
**/
|
||||
public function send_notification_to_manager($company) {
|
||||
// get all department managers
|
||||
$depts = Department::all();
|
||||
foreach ($depts as $dept) {
|
||||
if(isset($dept->manager)) {
|
||||
$dept_name = $dept->name;
|
||||
$users = User::where('id','=',$dept->manager)->get();
|
||||
foreach ($users as $user) {
|
||||
// Send notification details to manager of a department
|
||||
$email = $user->email;
|
||||
$user_name = $user->first_name . " " . $user->last_name;
|
||||
\Mail::send('emails.notifications.manager', ['company' => $company, 'name'=>$user_name,'dept_id' => $dept->id, 'dept_name' => $dept->name], function ($message)use ($email, $user_name, $company, $dept_name) {
|
||||
@@ -83,12 +98,14 @@ class NotificationController extends Controller {
|
||||
* @return mail
|
||||
**/
|
||||
public function send_notification_to_team_lead($company) {
|
||||
// get all Team leads
|
||||
$teams = Teams::all();
|
||||
foreach ($teams as $team) {
|
||||
if(isset($team->team_lead)) {
|
||||
$team_name = $team->name;
|
||||
$users = User::where('id','=',$team->team_lead)->get();
|
||||
foreach ($users as $user) {
|
||||
// Send notification details to team lead
|
||||
$email = $user->email;
|
||||
$user_name = $user->first_name . " " . $user->last_name;
|
||||
\Mail::send('emails.notifications.lead', ['company' => $company, 'name'=>$user_name,'team_id' => $team->id], function ($message)use ($email, $user_name, $company, $team_name) {
|
||||
@@ -107,6 +124,7 @@ class NotificationController extends Controller {
|
||||
// get all agents users
|
||||
$users = User::where('role','=','agent')->get();
|
||||
foreach ($users as $user) {
|
||||
// Send notification details to all the agents
|
||||
$email = $user->email;
|
||||
$user_name = $user->first_name . " " . $user->last_name;
|
||||
\Mail::send('emails.notifications.agent', ['company' => $company, 'name'=>$user_name, 'user_id' => 1], function ($message)use ($email, $user_name, $company) {
|
||||
@@ -116,12 +134,13 @@ class NotificationController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* company
|
||||
* @return type
|
||||
* Fetching company name
|
||||
* @return type variable
|
||||
*/
|
||||
public function company()
|
||||
{
|
||||
public function company() {
|
||||
// fetching comapny model
|
||||
$company = Company::Where('id','=','1')->first();
|
||||
// fetching company name
|
||||
if($company->company_name == null){
|
||||
$company = "Support Center";
|
||||
}else{
|
||||
@@ -130,12 +149,13 @@ class NotificationController extends Controller {
|
||||
return $company;
|
||||
}
|
||||
|
||||
public function test(){
|
||||
$email = "sujit.prasad@ladybirdweb.com";
|
||||
$user_name = "sujit prasad";
|
||||
\Mail::send('emails.notifications.test', ['user_id' => 1], function ($message) use($email, $user_name) {
|
||||
$message->to($email, $user_name)->subject('testing reporting');
|
||||
});
|
||||
}
|
||||
// // testing
|
||||
// public function test(){
|
||||
// $email = "sujit.prasad@ladybirdweb.com";
|
||||
// $user_name = "sujit prasad";
|
||||
// \Mail::send('emails.notifications.test', ['user_id' => 1], function ($message) use($email, $user_name) {
|
||||
// $message->to($email, $user_name)->subject('testing reporting');
|
||||
// });
|
||||
// }
|
||||
|
||||
}
|
@@ -1,18 +1,25 @@
|
||||
<?php namespace App\Http\Controllers\Agent\helpdesk;
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// requests
|
||||
use App\Http\Requests\helpdesk\OrganizationRequest;
|
||||
|
||||
/* include organization model */
|
||||
use App\Http\Requests\helpdesk\OrganizationUpdate;
|
||||
|
||||
// models
|
||||
/* Define OrganizationRequest to validate the create form */
|
||||
use App\Model\helpdesk\Agent_panel\Organization;
|
||||
|
||||
/* Define OrganizationUpdate to validate the create form */
|
||||
use App\Model\helpdesk\Agent_panel\User_org_head;
|
||||
use App\Model\helpdesk\Agent_panel\User_org;
|
||||
// classes
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* OrganizationController
|
||||
* This controller is used to CRUD organization detail.
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
@@ -26,13 +33,13 @@ class OrganizationController extends Controller {
|
||||
* 1. authentication
|
||||
* 2. user roles
|
||||
* 3. roles must be agent
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct() {
|
||||
// checking for authentication
|
||||
$this->middleware('auth');
|
||||
// checking if the role is agent
|
||||
$this->middleware('role.agent');
|
||||
// $this->middleware('roles');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -54,47 +61,54 @@ class OrganizationController extends Controller {
|
||||
* @return datatable
|
||||
*/
|
||||
public function org_list() {
|
||||
// chumper datable package call to display Advance datatable
|
||||
return \Datatable::collection(Organization::all())
|
||||
/* searchable name */
|
||||
->searchColumns('name')
|
||||
/* order by name and website */
|
||||
->orderColumns('name', 'website')
|
||||
/* column name */
|
||||
->addColumn('name', function ($model) {
|
||||
return $model->name;
|
||||
})
|
||||
/* column website */
|
||||
->addColumn('website', function ($model) {
|
||||
$website = $model->website;
|
||||
return $website;
|
||||
})
|
||||
/* column phone number */
|
||||
->addColumn('phone', function ($model) {
|
||||
$phone = $model->phone;
|
||||
return $phone;
|
||||
})
|
||||
/* column action buttons */
|
||||
->addColumn('Actions', function ($model) {
|
||||
//return '<a href=article/delete/ ' . $model->id . ' class="btn btn-danger btn-flat" onclick="myFunction()">Delete</a> <a href=article/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=show/' . $model->id . ' class="btn btn-warning btn-flat">View</a>';
|
||||
//return '<form action="article/delete/ ' . $model->id . '" method="post" onclick="alert()"><button type="sumbit" value="Delete"></button></form><a href=article/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=show/' . $model->id . ' class="btn btn-warning btn-flat">View</a>';
|
||||
// displaying action buttons
|
||||
// modal popup to delete data
|
||||
return '<span data-toggle="modal" data-target="#deletearticle'.$model->id .'"><a href="#" ><button class="btn btn-danger btn-xs"></a> ' . \Lang::get('lang.delete') . ' </button></span> <a href="'.route('organizations.edit', $model->id).'" class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a> <a href="'.route('organizations.show', $model->id).'" class="btn btn-primary btn-xs">' . \Lang::get('lang.view') . '</a>
|
||||
<div class="modal fade" id="deletearticle'.$model->id .'">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->user_name.'
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="'.route('org.delete',$model->id).'"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>';
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->user_name.'
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="'.route('org.delete',$model->id).'"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>';
|
||||
})
|
||||
->make();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* Show the form for creating a new organization.
|
||||
* @return type Response
|
||||
*/
|
||||
public function create() {
|
||||
@@ -106,10 +120,10 @@ class OrganizationController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Store a newly created organization in storage.
|
||||
* @param type Organization $org
|
||||
* @param type OrganizationRequest $request
|
||||
* @return type Response
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function store(Organization $org, OrganizationRequest $request) {
|
||||
try {
|
||||
@@ -129,11 +143,10 @@ class OrganizationController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* Display the specified organization.
|
||||
* @param type $id
|
||||
* @param type Organization $org
|
||||
* @return type Response
|
||||
* @return type view
|
||||
*/
|
||||
public function show($id, Organization $org) {
|
||||
try {
|
||||
@@ -142,16 +155,15 @@ class OrganizationController extends Controller {
|
||||
/* To view page */
|
||||
return view('themes.default1.agent.helpdesk.organization.show', compact('orgs'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* Show the form for editing the specified organization.
|
||||
* @param type $id
|
||||
* @param type Organization $org
|
||||
* @return type Response
|
||||
* @return type view
|
||||
*/
|
||||
public function edit($id, Organization $org) {
|
||||
try {
|
||||
@@ -165,63 +177,69 @@ class OrganizationController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* Update the specified organization in storage.
|
||||
* @param type $id
|
||||
* @param type Organization $org
|
||||
* @param type OrganizationUpdate $request
|
||||
* @return type Response
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function update($id, Organization $org, OrganizationUpdate $request) {
|
||||
try {
|
||||
|
||||
/* select the field by id */
|
||||
$orgs = $org->whereId($id)->first();
|
||||
/* update the organization table */
|
||||
/* Check whether function success or not */
|
||||
if ($orgs->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('organizations')->with('success', 'Organization Updated Successfully');
|
||||
} else {
|
||||
try {
|
||||
if ($orgs->fill($request->input())->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('organizations')->with('success', 'Organization Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('organizations')->with('fails', 'Organization can not Update');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('organizations')->with('fails', 'Organization can not Update');
|
||||
return redirect('organizations')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('organizations')->with('fails', 'Organization can not Update');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete a specified organization from storage.
|
||||
* @param type int $id
|
||||
* @return type Response
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function destroy($id, Organization $org) {
|
||||
try {
|
||||
// User_org
|
||||
public function destroy($id, Organization $org, User_org $user_org) {
|
||||
|
||||
/* select the field by id */
|
||||
$orgs = $org->whereId($id)->first();
|
||||
$user_orgs = $user_org->where('org_id','=',$id)->get();
|
||||
foreach ($user_orgs as $user_org) {
|
||||
$user_org->delete();
|
||||
}
|
||||
/* Delete the field selected from the table */
|
||||
/* Check whether function success or not */
|
||||
if ($orgs->delete() == true) {
|
||||
try {
|
||||
$orgs->delete();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('organizations')->with('success', 'Organization Deleted Successfully');
|
||||
} else {
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('organizations')->with('fails', 'Organization can not Delete');
|
||||
return redirect('organizations')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('organizations')->with('fails', 'Organization can not Delete');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Soring an organization head
|
||||
* @param type $id
|
||||
* @return type boolean
|
||||
*/
|
||||
public function Head_Org($id){
|
||||
|
||||
// get the user to make organization head
|
||||
$head_user = \Input::get('user');
|
||||
|
||||
// get an instance of the selected organization
|
||||
$org_head = Organization::where('id','=',$id)->first();
|
||||
$org_head->head = $head_user;
|
||||
// save the user to organization head
|
||||
$org_head->save();
|
||||
return 1;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
<?php namespace App\Http\Controllers\Agent\helpdesk;
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// requests
|
||||
/* Include Sys_user Model */
|
||||
use App\Http\Requests\helpdesk\ProfilePassword;
|
||||
@@ -10,26 +11,22 @@ use App\Http\Requests\helpdesk\ProfileRequest;
|
||||
use App\Http\Requests\helpdesk\Sys_userRequest;
|
||||
/* include guest_note model */
|
||||
use App\Http\Requests\helpdesk\Sys_userUpdate;
|
||||
|
||||
// models
|
||||
use App\Model\helpdesk\Agent_panel\Organization;
|
||||
use App\Model\helpdesk\Agent_panel\User_org;
|
||||
/* include User Model */
|
||||
/* include Help_topic Model */
|
||||
/* Profile validator */
|
||||
/* Profile Password validator */
|
||||
use App\User;
|
||||
|
||||
// classes
|
||||
/* include ticket_thred model */
|
||||
use Auth;
|
||||
/* include tickets model */
|
||||
use Hash;
|
||||
/* TicketRequest to validate the ticket response */
|
||||
/* Validate post check ticket */
|
||||
use Input;
|
||||
use Redirect;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* UserController
|
||||
* This controller is used to CRUD an User details, and proile management of an agent
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
@@ -43,45 +40,50 @@ class UserController extends Controller {
|
||||
* 1. authentication
|
||||
* 2. user roles
|
||||
* 3. roles must be agent
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct() {
|
||||
// checking authentication
|
||||
$this->middleware('auth');
|
||||
// checking if role is agent
|
||||
$this->middleware('role.agent');
|
||||
// $this->middleware('roles');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* Display all list of the users.
|
||||
* @param type User $user
|
||||
* @return type Response
|
||||
* @return type view
|
||||
*/
|
||||
public function index() {
|
||||
try {
|
||||
/* get all values in Sys_user */
|
||||
return view('themes.default1.agent.helpdesk.user.index');
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is used to display the list of users
|
||||
* This function is used to display the list of users using chumper datatables
|
||||
* @return datatable
|
||||
*/
|
||||
public function user_list() {
|
||||
|
||||
// displaying list of users with chumper datatables
|
||||
return \Datatable::collection(User::where('role','!=','admin')->where('role','!=','agent')->get())
|
||||
/* searchable column username */
|
||||
->searchColumns('user_name')
|
||||
/* order column username and email */
|
||||
->orderColumns('user_name', 'email')
|
||||
/* column username */
|
||||
->addColumn('user_name', function ($model) {
|
||||
return $model->user_name;
|
||||
})
|
||||
/* column email */
|
||||
->addColumn('email', function ($model) {
|
||||
$email = $model->email;
|
||||
return $email;
|
||||
})
|
||||
/* column phone */
|
||||
->addColumn('phone', function ($model) {
|
||||
$phone = "";
|
||||
if($model->phone_number) {
|
||||
@@ -94,6 +96,7 @@ class UserController extends Controller {
|
||||
$phone = $phone ." ". $mobile;
|
||||
return $phone;
|
||||
})
|
||||
/* column status */
|
||||
->addColumn('status', function ($model) {
|
||||
$status = $model->active;
|
||||
if($status == 1) {
|
||||
@@ -103,55 +106,37 @@ class UserController extends Controller {
|
||||
}
|
||||
return $stat;
|
||||
})
|
||||
/* column last login date */
|
||||
->addColumn('lastlogin', function ($model) {
|
||||
$t = $model->updated_at;
|
||||
return TicketController::usertimezone($t);
|
||||
})
|
||||
/* column actions */
|
||||
->addColumn('Actions', function ($model) {
|
||||
//return '<a href=article/delete/ ' . $model->id . ' class="btn btn-danger btn-flat" onclick="myFunction()">Delete</a> <a href=article/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=show/' . $model->id . ' class="btn btn-warning btn-flat">View</a>';
|
||||
//return '<form action="article/delete/ ' . $model->id . '" method="post" onclick="alert()"><button type="sumbit" value="Delete"></button></form><a href=article/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=show/' . $model->id . ' class="btn btn-warning btn-flat">View</a>';
|
||||
return '<span data-toggle="modal" data-target="#deletearticle'.$model->id .'"><a href="#" ><button class="btn btn-danger btn-xs"></a> ' . \Lang::get('lang.delete') . ' </button></span> <a href="'.route('user.edit', $model->id).'" class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a> <a href="'.route('user.show', $model->id).'" class="btn btn-primary btn-xs">' . \Lang::get('lang.view') . '</a>
|
||||
<div class="modal fade" id="deletearticle'.$model->id .'">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->user_name.'
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="'.route('user.delete',$model->id).'"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>';
|
||||
return '<a href="'.route('user.edit', $model->id).'" class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a> <a href="'.route('user.show', $model->id).'" class="btn btn-primary btn-xs">' . \Lang::get('lang.view') . '</a>';
|
||||
})
|
||||
->make();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* @return type Response
|
||||
* Show the form for creating a new users.
|
||||
* @return type view
|
||||
*/
|
||||
public function create() {
|
||||
try {
|
||||
return view('themes.default1.agent.helpdesk.user.create');
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Store a newly created users in storage.
|
||||
* @param type User $user
|
||||
* @param type Sys_userRequest $request
|
||||
* @return type Response
|
||||
* @return type redirect
|
||||
*/
|
||||
public function store(User $user, Sys_userRequest $request) {
|
||||
try {
|
||||
/* insert the input request to sys_user table */
|
||||
/* Check whether function success or not */
|
||||
$user->email = $request->input('email');
|
||||
@@ -162,24 +147,21 @@ class UserController extends Controller {
|
||||
$user->active = $request->input('active');
|
||||
$user->internal_note = $request->input('internal_note');
|
||||
$user->role = 'user';
|
||||
if ($user->save() == true) {
|
||||
try {
|
||||
$user->save();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('user')->with('success', 'User Created Successfully');
|
||||
} else {
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('user')->with('fails', 'User can not Create');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('user')->with('fails', 'User can not Create');
|
||||
}
|
||||
return redirect('user')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Display the specified users.
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @return type Response
|
||||
* @return type view
|
||||
*/
|
||||
public function show($id, User $user) {
|
||||
try {
|
||||
@@ -203,89 +185,71 @@ class UserController extends Controller {
|
||||
$users = $user->whereId($id)->first();
|
||||
return view('themes.default1.agent.helpdesk.user.edit', compact('users'));
|
||||
} catch (Exception $e) {
|
||||
return view('404');
|
||||
return redirect()->back()->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update the specified user in storage.
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @param type Sys_userUpdate $request
|
||||
* @return type Response
|
||||
*/
|
||||
public function update($id, User $user, Sys_userUpdate $request) {
|
||||
try {
|
||||
|
||||
/* select the field where id = $id(request Id) */
|
||||
$users = $user->whereId($id)->first();
|
||||
/* Update the value by selected field */
|
||||
/* Check whether function success or not */
|
||||
if ($users->fill($request->input())->save() == true) {
|
||||
try{
|
||||
$users->fill($request->input())->save();
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('user')->with('success', 'User Updated Successfully');
|
||||
} else {
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('user')->with('fails', 'User can not Update');
|
||||
return redirect()->back()->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('user')->with('fails', 'User can not Update');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* @param type int $id
|
||||
* @param type User $user
|
||||
* @return type Response
|
||||
*/
|
||||
public function destroy($id, User $user) {
|
||||
try {
|
||||
/* select the field where id = $id(request Id) */
|
||||
$users = $user->whereId($id)->first();
|
||||
/* delete the selected field */
|
||||
/* Check whether function success or not */
|
||||
if ($users->delete() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
return redirect('user')->with('success', 'User Deleted Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('user')->with('fails', 'User can not Delete');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
/* redirect to Index page with Fails Message */
|
||||
return redirect('user')->with('fails', 'User can not Delete');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get profile page
|
||||
* @return type Response
|
||||
* get agent profile page
|
||||
* @return type view
|
||||
*/
|
||||
public function getProfile() {
|
||||
$user = Auth::user();
|
||||
return view('themes.default1.agent.helpdesk.user.profile', compact('user'));
|
||||
}
|
||||
try {
|
||||
return view('themes.default1.agent.helpdesk.user.profile', compact('user'));
|
||||
} catch(Exception $e) {
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get profile edit page
|
||||
* @return type Response
|
||||
* @return type view
|
||||
*/
|
||||
public function getProfileedit() {
|
||||
$user = Auth::user();
|
||||
return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user'));
|
||||
try {
|
||||
return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user'));
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* post profile page
|
||||
* post profile edit
|
||||
* @param type int $id
|
||||
* @param type ProfileRequest $request
|
||||
* @return type Response
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function postProfileedit(ProfileRequest $request) {
|
||||
// geet authenticated user details
|
||||
$user = Auth::user();
|
||||
$user->gender = $request->input('gender');
|
||||
$user->save();
|
||||
// checking availability of agent profile ppicture
|
||||
if ($user->profile_pic == 'avatar5.png' || $user->profile_pic == 'avatar2.png') {
|
||||
if ($request->input('gender') == 1) {
|
||||
$name = 'avatar5.png';
|
||||
@@ -297,17 +261,26 @@ class UserController extends Controller {
|
||||
$user->profile_pic = $name;
|
||||
}
|
||||
}
|
||||
// checking if the post system includes agent profile picture upload
|
||||
if (Input::file('profile_pic')) {
|
||||
//$extension = Input::file('profile_pic')->getClientOriginalExtension();
|
||||
// fetching picture name
|
||||
$name = Input::file('profile_pic')->getClientOriginalName();
|
||||
// fetching upload destination path
|
||||
$destinationPath = 'lb-faveo/profilepic';
|
||||
// adding a random value to profile picture filename
|
||||
$fileName = rand(0000, 9999) . '.' . $name;
|
||||
//echo $fileName;
|
||||
// moving the picture to a destination folder
|
||||
Input::file('profile_pic')->move($destinationPath, $fileName);
|
||||
// saving filename to database
|
||||
$user->profile_pic = $fileName;
|
||||
} else {
|
||||
$user->fill($request->except('profile_pic', 'gender'))->save();
|
||||
return Redirect::route('profile')->with('success', 'Profile Updated sucessfully');
|
||||
try{
|
||||
$user->fill($request->except('profile_pic', 'gender'))->save();
|
||||
return Redirect::route('profile')->with('success', 'Profile Updated sucessfully');
|
||||
} catch (Exception $e){
|
||||
return Redirect::route('profile')->with('success', $e->errorInfo[2]);
|
||||
}
|
||||
|
||||
}
|
||||
if ($user->fill($request->except('profile_pic'))->save()) {
|
||||
return Redirect::route('profile')->with('success', 'Profile Updated sucessfully');
|
||||
@@ -318,22 +291,27 @@ class UserController extends Controller {
|
||||
* Post profile password
|
||||
* @param type int $id
|
||||
* @param type ProfilePassword $request
|
||||
* @return type Response
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function postProfilePassword($id, ProfilePassword $request) {
|
||||
// get authenticated user
|
||||
$user = Auth::user();
|
||||
//echo $user->password;
|
||||
// checking if the old password matches the new password
|
||||
if (Hash::check($request->input('old_password'), $user->getAuthPassword())) {
|
||||
$user->password = Hash::make($request->input('new_password'));
|
||||
$user->save();
|
||||
return redirect('profile-edit')->with('success1', 'Password Updated sucessfully');
|
||||
try{
|
||||
$user->save();
|
||||
return redirect('profile-edit')->with('success1', 'Password Updated sucessfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect('profile-edit')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
} else {
|
||||
return redirect('profile-edit')->with('fails1', 'Password was not Updated. Incorrect old password');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* User Assign Org
|
||||
* Assigning an user to an organization
|
||||
* @param type $id
|
||||
* @return type boolean
|
||||
*/
|
||||
@@ -347,21 +325,21 @@ class UserController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* user create organisation
|
||||
* @return type value
|
||||
* creating an organization in user profile page via modal popup
|
||||
* @param type $id
|
||||
* @return type
|
||||
*/
|
||||
public function User_Create_Org($id) {
|
||||
|
||||
// checking if the entered value for website is available in database
|
||||
if(Input::get('website')!=null) {
|
||||
// checking website
|
||||
$check = Organization::where('website','=',Input::get('website'))->first();
|
||||
} else {
|
||||
$check = null;
|
||||
}
|
||||
|
||||
// checking name
|
||||
// checking if the name is unique
|
||||
$check2 = Organization::where('name','=',Input::get('name'))->first();
|
||||
|
||||
// if any of the fields is not available then return false
|
||||
if (\Input::get('name') == null) {
|
||||
return "Name is required";
|
||||
} elseif($check2 != null) {
|
||||
@@ -369,6 +347,7 @@ class UserController extends Controller {
|
||||
} elseif($check != null) {
|
||||
return "Website should be Unique";
|
||||
} else {
|
||||
// storing organization details and assigning the current user to that organization
|
||||
$org = new Organization;
|
||||
$org->name = Input::get('name');
|
||||
$org->phone = Input::get('phone');
|
||||
@@ -381,7 +360,7 @@ class UserController extends Controller {
|
||||
$user_org->org_id = $org->id;
|
||||
$user_org->user_id = $id;
|
||||
$user_org->save();
|
||||
|
||||
// for success return 0
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@@ -1,159 +1,171 @@
|
||||
<?php namespace App\Http\Controllers\Agent\kb;
|
||||
|
||||
// Controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Agent\kb\SettingsController;
|
||||
use App\Http\Controllers\Client\kb\UserController;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
|
||||
// Requests
|
||||
use App\Http\Requests\kb\ArticleRequest;
|
||||
use App\Http\Requests\kb\ArticleUpdate;
|
||||
|
||||
// Models
|
||||
use App\Model\kb\Article;
|
||||
use App\Model\kb\Category;
|
||||
use App\Model\kb\Relationship;
|
||||
use App\Model\kb\Settings;
|
||||
use App\Model\kb\Comment;
|
||||
|
||||
// Classes
|
||||
use Auth;
|
||||
use Chumper\Datatable\Table;
|
||||
use Datatable;
|
||||
use DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Model\kb\Comment;
|
||||
|
||||
/* include the article model to access the article table */
|
||||
use Redirect;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* ArticleController
|
||||
* This controller is used to CRUD Articles
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
*/
|
||||
|
||||
class ArticleController extends Controller {
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return Response
|
||||
* 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 roles
|
||||
$this->middleware('roles');
|
||||
SettingsController::language();
|
||||
}
|
||||
|
||||
public function test() {
|
||||
//$table = $this->setDatatable();
|
||||
return view('themes.default1.agent.kb.article.test');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetching all the list of articles in a chumper datatable format
|
||||
* @return type void
|
||||
*/
|
||||
public function getData() {
|
||||
|
||||
//return 'kfjhje';
|
||||
|
||||
// returns chumper datatable
|
||||
return Datatable::collection(Article::All())
|
||||
/* searcable column name */
|
||||
->searchColumns('name')
|
||||
/* order column name and description */
|
||||
->orderColumns('name', 'description')
|
||||
/* add column name */
|
||||
->addColumn('name', function ($model) {
|
||||
return $model->name;
|
||||
})
|
||||
/* add column Created */
|
||||
->addColumn('Created', function ($model) {
|
||||
$t = $model->created_at;
|
||||
return TicketController::usertimezone($t);
|
||||
})
|
||||
/* add column action */
|
||||
->addColumn('Actions', function ($model) {
|
||||
//return '<a href=article/delete/ ' . $model->id . ' class="btn btn-danger btn-flat" onclick="myFunction()">Delete</a> <a href=article/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=show/' . $model->id . ' class="btn btn-warning btn-flat">View</a>';
|
||||
//return '<form action="article/delete/ ' . $model->id . '" method="post" onclick="alert()"><button type="sumbit" value="Delete"></button></form><a href=article/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=show/' . $model->id . ' class="btn btn-warning btn-flat">View</a>';
|
||||
/* here are all the action buttons and modal popup to delete articles with confirmations */
|
||||
return '<span data-toggle="modal" data-target="#deletearticle'.$model->id .'"><a href="#" ><button class="btn btn-danger btn-xs"></a> ' . \Lang::get('lang.delete') . ' </button></span> <a href=article/' . $model->id . '/edit class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a> <a href=show/'.$model->slug .' class="btn btn-primary btn-xs">' . \Lang::get('lang.view') . '</a>
|
||||
<div class="modal fade" id="deletearticle'.$model->id .'">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->name.'
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="article/delete/'.$model->slug.'"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>';
|
||||
})
|
||||
->make();
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->name.'
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="article/delete/'.$model->slug.'"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>';
|
||||
})
|
||||
->make();
|
||||
}
|
||||
|
||||
/**
|
||||
* Index for Articles
|
||||
* @param type Article $article
|
||||
* @return type Response
|
||||
* List of Articles
|
||||
* @return type view
|
||||
*/
|
||||
public function index() {
|
||||
/* show the index page with article list */
|
||||
return view('themes.default1.agent.kb.article.index');
|
||||
/* show article list */
|
||||
try{
|
||||
return view('themes.default1.agent.kb.article.index');
|
||||
} catch(Exception $e) {
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creating a Article
|
||||
* @param type Category $category
|
||||
* @return type Response
|
||||
* @return type view
|
||||
*/
|
||||
public function create(Category $category) {
|
||||
//$cat = $category->whereId(33)->first();
|
||||
//$tm = $cat->created_at;
|
||||
//$this->usertimezone($tm);
|
||||
// // /* get the attributes of the category */
|
||||
/* get the attributes of the category */
|
||||
$category = $category->lists('id', 'name');
|
||||
/* get the create page */
|
||||
return view('themes.default1.agent.kb.article.create', compact('category'));
|
||||
try{
|
||||
return view('themes.default1.agent.kb.article.create', compact('category'));
|
||||
} catch(Exception $e) {
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert the values to the article table
|
||||
* Insert the values to the article
|
||||
* @param type Article $article
|
||||
* @param type ArticleRequest $request
|
||||
* @return type
|
||||
* @return type redirect
|
||||
*/
|
||||
public function store(Article $article, ArticleRequest $request) {
|
||||
|
||||
$sl = $request->input('slug');
|
||||
$slug = str_slug($sl, "-");
|
||||
$article->slug = $slug;
|
||||
// requesting the values to store article data
|
||||
$sl = $request->input('slug');
|
||||
$slug = str_slug($sl, "-");
|
||||
$article->slug = $slug;
|
||||
$article->fill($request->except('created_at','slug'))->save();
|
||||
// creating article category relationship
|
||||
$requests = $request->input('category_id');
|
||||
$id = $article->id;
|
||||
foreach ($requests as $req) {
|
||||
DB::insert('insert into article_relationship (category_id, article_id) values (?,?)', [$req, $id]);
|
||||
DB::insert('insert into kb_article_relationship (category_id, article_id) values (?,?)', [$req, $id]);
|
||||
}
|
||||
/* insert the values to the article table */
|
||||
if ($article->fill($request->except('slug'))->save()) //true: redirect to index page with success message
|
||||
{
|
||||
try{
|
||||
$article->fill($request->except('slug'))->save();
|
||||
return redirect('article')->with('success', 'Article Inserted Successfully');
|
||||
} else //redirect to index page with fail message
|
||||
{
|
||||
return redirect('article')->with('fails', 'Article Not Inserted');
|
||||
} catch (Exception $e) {
|
||||
return redirect('article')->with('fails', 'Article Not Inserted'. '<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id) {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit an Article by id
|
||||
* @param type Integer $id
|
||||
* @param type Article $article
|
||||
* @param type Relationship $relation
|
||||
* @param type Category $category
|
||||
* @return Response
|
||||
* @return view
|
||||
*/
|
||||
public function edit($slug, Article $article, Relationship $relation, Category $category) {
|
||||
|
||||
@@ -168,7 +180,12 @@ class ArticleController extends Controller {
|
||||
/* Get the selected article with id */
|
||||
$article = $article->whereId($id)->first();
|
||||
/* send to the edit page */
|
||||
return view('themes.default1.agent.kb.article.edit', compact('assign', 'article', 'category'));
|
||||
try {
|
||||
return view('themes.default1.agent.kb.article.edit', compact('assign', 'article', 'category'));
|
||||
} catch(Exception $e){
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -197,14 +214,13 @@ class ArticleController extends Controller {
|
||||
DB::insert('insert into article_relationship (category_id, article_id) values (?,?)', [$req, $id]);
|
||||
}
|
||||
/* update the value to the table */
|
||||
if ($article->fill($request->all())->save()) //true: redirect to index page with success message
|
||||
{
|
||||
try{
|
||||
$article->fill($request->all())->save();
|
||||
$article->slug = $slug;
|
||||
$article->save();
|
||||
return redirect('article')->with('success', 'Article Updated Successfully');
|
||||
} else // redirect to index page with fails message
|
||||
{
|
||||
return redirect('article')->with('fails', 'Article Not Updated');
|
||||
} catch(Exception $e){
|
||||
return redirect('article')->with('fails', 'Article Not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,59 +231,46 @@ class ArticleController extends Controller {
|
||||
* @return Response
|
||||
*/
|
||||
public function destroy($slug, Article $article, Relationship $relation, Comment $comment) {
|
||||
|
||||
/* delete the selected article from the table */
|
||||
$article = $article->where('slug',$slug)->first(); //get the selected article via id
|
||||
//dd($article);
|
||||
$id = $article->id;
|
||||
$comments = $comment->where('article_id',$id)->get();
|
||||
|
||||
if($comments)
|
||||
{
|
||||
if($comments) {
|
||||
foreach($comments as $comment)
|
||||
$comment->delete();
|
||||
}
|
||||
|
||||
// deleting relationship
|
||||
$relation = $relation->where('article_id', $id)->first();
|
||||
if($relation)
|
||||
{
|
||||
if($relation) {
|
||||
$relation->delete();
|
||||
}
|
||||
if($article)
|
||||
{
|
||||
if ($article->delete()) //true:redirect to index page with success message
|
||||
{
|
||||
if($article) {
|
||||
if ($article->delete()) {//true:redirect to index page with success message
|
||||
return Redirect::back()->with('success', 'Article Deleted Successfully');
|
||||
} else //redirect to index page with fails message
|
||||
{
|
||||
} else { //redirect to index page with fails message
|
||||
return Redirect::back()->with('fails', 'Article Not Deleted');
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
} else {
|
||||
return Redirect::back()->with('fails', 'Article can Not Deleted');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* user time zone
|
||||
* fetching timezone
|
||||
* @param type $utc
|
||||
* @return type
|
||||
*/
|
||||
static function usertimezone($utc) {
|
||||
$user = Auth::user();
|
||||
$tz = $user->timezone;
|
||||
$set = Settings::whereId('1')->first();
|
||||
$format = $set->dateformat;
|
||||
//$utc = date('M d Y h:i:s A');
|
||||
//echo 'UTC : ' . $utc;
|
||||
date_default_timezone_set($tz);
|
||||
|
||||
$offset = date('Z', strtotime($utc));
|
||||
//print "offset: $offset \n";
|
||||
$date = date($format, strtotime($utc) + $offset);
|
||||
echo $date;
|
||||
//return substr($date, 0, -6);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,33 +1,47 @@
|
||||
<?php namespace App\Http\Controllers\Agent\kb;
|
||||
|
||||
// Controllers
|
||||
use App\Http\Controllers\client\kb\UserController;
|
||||
use App\Http\Controllers\admin\kb\ArticleController;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Agent\kb\SettingsController;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
|
||||
// Requests
|
||||
use App\Http\Requests\kb\CategoryRequest;
|
||||
use App\Http\Requests\kb\CategoryUpdate;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
|
||||
// Model
|
||||
use App\Model\kb\Category;
|
||||
use App\Model\kb\Relationship;
|
||||
|
||||
// Classes
|
||||
use Datatable;
|
||||
use Redirect;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* CategoryController
|
||||
* This controller is used to CRUD category
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
*/
|
||||
|
||||
class CategoryController extends Controller {
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return Response
|
||||
* 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 roles
|
||||
$this->middleware('roles');
|
||||
SettingsController::language();
|
||||
}
|
||||
@@ -38,48 +52,56 @@ class CategoryController extends Controller {
|
||||
* @return Response
|
||||
*/
|
||||
public function index() {
|
||||
|
||||
/* get the view of index of the catogorys with all attributes
|
||||
of category model */
|
||||
return view('themes.default1.agent.kb.category.index');
|
||||
try{
|
||||
return view('themes.default1.agent.kb.category.index');
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* fetching category list in chumper datatables
|
||||
* @return type chumper datatable
|
||||
*/
|
||||
public function getData() {
|
||||
|
||||
//return 'kfjhje';
|
||||
|
||||
/* fetching chumper datatables */
|
||||
return Datatable::collection(Category::All())
|
||||
/* search column name */
|
||||
->searchColumns('name')
|
||||
/* order column name and description */
|
||||
->orderColumns('name', 'description')
|
||||
/* add column name */
|
||||
->addColumn('name', function ($model) {
|
||||
return $model->name;
|
||||
})
|
||||
|
||||
/* add column Created */
|
||||
->addColumn('Created', function ($model) {
|
||||
|
||||
$t = $model->created_at;
|
||||
return TicketController::usertimezone($t);
|
||||
})
|
||||
/* add column Actions */
|
||||
/* there are action buttons and modal popup to delete a data column */
|
||||
->addColumn('Actions', function ($model) {
|
||||
//return '<a href=category/delete/' . $model->id . ' class="btn btn-danger btn-flat">Delete</a> <a href=category/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=article-list class="btn btn-warning btn-flat">View</a>';
|
||||
return '<span data-toggle="modal" data-target="#deletecategory' . $model->slug . '"><a href="#" ><button class="btn btn-danger btn-xs"></a>'. \Lang::get("lang.delete") .'</button></span> <a href=category/' . $model->id . '/edit class="btn btn-warning btn-xs">'. \Lang::get("lang.edit") .'</a> <a href=article-list class="btn btn-primary btn-xs">'. \Lang::get("lang.view") .'</a>
|
||||
<div class="modal fade" id="deletecategory' . $model->slug . '">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->name.'
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="category/delete/' . $model->id . '"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>';
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->name.'
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="category/delete/' . $model->id . '"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
})
|
||||
->make();
|
||||
|
||||
@@ -88,71 +110,62 @@ class CategoryController extends Controller {
|
||||
/**
|
||||
* Create a Category
|
||||
* @param type Category $category
|
||||
* @return Response
|
||||
* @return type view
|
||||
*/
|
||||
public function create(Category $category) {
|
||||
/* Get the all attributes in the category model */
|
||||
$category = $category->get();
|
||||
/* get the view page to create new category with all attributes
|
||||
of category model*/
|
||||
return view('themes.default1.agent.kb.category.create', compact('category'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function store(Category $category, CategoryRequest $request) {
|
||||
/* Get the whole request from the form and insert into table via model */
|
||||
|
||||
$sl = $request->input('slug');
|
||||
$slug = str_slug($sl, "-");
|
||||
|
||||
$category->slug = $slug;
|
||||
//$category->save();
|
||||
|
||||
if ($category->fill($request->except('slug'))->save()) //True: send success message to index page
|
||||
{
|
||||
return Redirect::back()->with('success', 'Category Inserted Successfully');
|
||||
} else //send fail to index page
|
||||
{
|
||||
return Redirect::back()->with('fails', 'Category Not Inserted');
|
||||
try {
|
||||
return view('themes.default1.agent.kb.category.create', compact('category'));
|
||||
} catch(Exception $e) {
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
* To store the selected category
|
||||
* @param type Category $category
|
||||
* @param type CategoryRequest $request
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function show($id) {
|
||||
//
|
||||
public function store(Category $category, CategoryRequest $request) {
|
||||
/* Get the whole request from the form and insert into table via model */
|
||||
$sl = $request->input('slug');
|
||||
$slug = str_slug($sl, "-");
|
||||
$category->slug = $slug;
|
||||
// send success message to index page
|
||||
try{
|
||||
$category->fill($request->except('slug'))->save();
|
||||
return Redirect::back()->with('success', 'Category Inserted Successfully');
|
||||
} catch(Exception $e) {
|
||||
return Redirect::back()->with('fails', 'Category Not Inserted'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
* Show the form for editing the specified category.
|
||||
* @param type $slug
|
||||
* @param type Category $category
|
||||
* @return type view
|
||||
*/
|
||||
public function edit($slug, Category $category) {
|
||||
|
||||
// fetch the category
|
||||
$cid = $category->where('id', $slug)->first();
|
||||
$id = $cid->id;
|
||||
/* get the atributes of the category model whose id == $id */
|
||||
$category = $category->whereId($id)->first();
|
||||
/* get the Edit page the selected category via id */
|
||||
return view('themes.default1.agent.kb.category.edit', compact('category'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
* Update the specified Category in storage.
|
||||
* @param type $slug
|
||||
* @param type Category $category
|
||||
* @param type CategoryUpdate $request
|
||||
* @return type redirect
|
||||
*/
|
||||
public function update($slug, Category $category, CategoryUpdate $request) {
|
||||
|
||||
@@ -163,42 +176,41 @@ class CategoryController extends Controller {
|
||||
// dd($slug);
|
||||
$category->slug = $slug;
|
||||
/* update the values at the table via model according with the request */
|
||||
if ($category->fill($request->all())->save()) //True: redirct to index page with success message
|
||||
{
|
||||
//redirct to index page with success message
|
||||
try{
|
||||
$category->fill($request->all())->save();
|
||||
$category->slug = $slug;
|
||||
$category->save();
|
||||
return redirect('category')->with('success', 'Category Updated Successfully');
|
||||
} else //redirect to index with fails message
|
||||
{
|
||||
return redirect('category')->with('fails', 'Category Not Updated');
|
||||
return redirect('category')->with('success', 'Category Updated Successfully');
|
||||
} catch(Exception $e) {
|
||||
//redirect to index with fails message
|
||||
return redirect('category')->with('fails', 'Category Not Updated'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
* Remove the specified category from storage.
|
||||
* @param type $id
|
||||
* @param type Category $category
|
||||
* @param type Relationship $relation
|
||||
* @return type Redirect
|
||||
*/
|
||||
public function destroy($id, Category $category, Relationship $relation) {
|
||||
|
||||
$relation = $relation->where('category_id', $id)->first();
|
||||
// dd($relation);
|
||||
if($relation != null){
|
||||
return Redirect::back()->with('fails', 'Category Not Deleted');
|
||||
}
|
||||
else {
|
||||
|
||||
/* delete the category selected, id == $id */
|
||||
$category = $category->whereId($id)->first();
|
||||
if ($category->delete()) //True: redirect to index with success message
|
||||
{
|
||||
// redirect to index with success message
|
||||
try{
|
||||
$category->delete();
|
||||
return Redirect::back()->with('success', 'Category Deleted Successfully');
|
||||
} else //redirect to index page fails message
|
||||
{
|
||||
return Redirect::back()->with('fails', 'Category Not Deleted');
|
||||
}
|
||||
|
||||
} catch(Exception $e){
|
||||
return Redirect::back()->with('fails', 'Category Not Deleted'.'<li>'.$e->errorInfo[2].'</li>');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,89 +1,113 @@
|
||||
<?php namespace App\Http\Controllers\Agent\kb;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\client\kb\UserController;
|
||||
use App\Http\Controllers\Agent\kb\ArticleController;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Agent\kb\SettingsController;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
|
||||
// request
|
||||
use App\Http\Requests\kb\PageRequest;
|
||||
use App\Http\Requests\kb\PageUpdate;
|
||||
use App\Model\kb\Page;
|
||||
use Datatable;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
// Model
|
||||
use App\Model\kb\Page;
|
||||
|
||||
// classes
|
||||
use Datatable;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* PageController
|
||||
* This controller is used to CRUD Pages
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
*/
|
||||
class PageController extends Controller {
|
||||
|
||||
/**
|
||||
* Contructor for both Authentication and Model Injecting
|
||||
* @param type Page $page
|
||||
* @return type
|
||||
* Create a new controller instance.
|
||||
* constructor to check
|
||||
* 1. authentication
|
||||
* 2. user roles
|
||||
* 3. roles must be agent
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Page $page) {
|
||||
// checking authentication
|
||||
$this->middleware('auth');
|
||||
// checking roles
|
||||
$this->middleware('roles');
|
||||
$this->page = $page;
|
||||
SettingsController::language();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return Response
|
||||
* Display the list of pages
|
||||
* @return type
|
||||
*/
|
||||
public function index() {
|
||||
|
||||
$pages = $this->page->paginate(3);
|
||||
$pages->setPath('page');
|
||||
return view('themes.default1.agent.kb.pages.index', compact('pages'));
|
||||
|
||||
try{
|
||||
return view('themes.default1.agent.kb.pages.index', compact('pages'));
|
||||
} catch(Exception $e) {
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* fetching pages list in chumper datatables
|
||||
* @return type
|
||||
*/
|
||||
public function getData() {
|
||||
|
||||
//return 'kfjhje';
|
||||
|
||||
/* fetching chumper datatables */
|
||||
return Datatable::collection(Page::All())
|
||||
/* search column name */
|
||||
->searchColumns('name')
|
||||
/* order column name, description and created */
|
||||
->orderColumns('name', 'description', 'created')
|
||||
/* add column name */
|
||||
->addColumn('name', function ($model) {
|
||||
return $model->name;
|
||||
})
|
||||
|
||||
/* add column Created */
|
||||
->addColumn('Created', function ($model) {
|
||||
|
||||
$t = $model->created_at;
|
||||
return TicketController::usertimezone($t);
|
||||
})
|
||||
/* add column Actions */
|
||||
/* there are action buttons and modal popup to delete a data column */
|
||||
->addColumn('Actions', function ($model) {
|
||||
|
||||
//return '<a href=page/delete/' . $model->id . ' class="btn btn-danger btn-flat">Delete</a> <a href=page/' . $model->id . '/edit class="btn btn-warning btn-flat">Edit</a> <a href=article-list class="btn btn-warning btn-flat">View</a>';
|
||||
return '<span data-toggle="modal" data-target="#deletepage' . $model->id . '"><a href="#" ><button class="btn btn-danger btn-xs"></a> '. \Lang::get('lang.delete') .'</button></span> <a href=page/' . $model->slug . '/edit class="btn btn-warning btn-xs">'. \Lang::get('lang.edit') .'</a> <a href=pages/' . $model->slug . ' class="btn btn-primary btn-xs">'. \Lang::get('lang.view') .'</a>
|
||||
<div class="modal fade" id="deletepage' . $model->id . '">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->name.'
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="page/delete/' . $model->id . '"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div>';
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Are You Sure ?</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
'.$model->name.'
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">Close</button>
|
||||
<a href="page/delete/' . $model->id . '"><button class="btn btn-danger">delete</button></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
})
|
||||
->make();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return Response
|
||||
* @return type view
|
||||
*/
|
||||
public function create() {
|
||||
return view('themes.default1.agent.kb.pages.create');
|
||||
@@ -97,61 +121,65 @@ class PageController extends Controller {
|
||||
public function store(PageRequest $request) {
|
||||
$sl = $request->input('slug');
|
||||
$slug = str_slug($sl, "-");
|
||||
|
||||
$this->page->slug = $slug;
|
||||
|
||||
$this->page->fill($request->except('slug'))->save();
|
||||
return redirect('page');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id) {
|
||||
//
|
||||
try{
|
||||
$this->page->fill($request->except('slug'))->save();
|
||||
return redirect('page')->with('success','Page created successfully');
|
||||
} catch(Exception $e) {
|
||||
return redirect('page')->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To edit a page
|
||||
* @param type $id
|
||||
* @return type
|
||||
* @param type $slug
|
||||
* @return type view
|
||||
*/
|
||||
public function edit($slug) {
|
||||
$page = $this->page->where('slug', $slug)->first();
|
||||
return view('themes.default1.agent.kb.pages.edit', compact('page'));
|
||||
try{
|
||||
$page = $this->page->where('slug', $slug)->first();
|
||||
return view('themes.default1.agent.kb.pages.edit', compact('page'));
|
||||
} catch (Exception $e) {
|
||||
return redirect('page')->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To update a page
|
||||
* @param type $id
|
||||
* @param type Request $request
|
||||
* @return type
|
||||
* @param type $slug
|
||||
* @param type PageUpdate $request
|
||||
* @return type redirect
|
||||
*/
|
||||
public function update($slug, PageUpdate $request) {
|
||||
// get pages with respect to slug
|
||||
$pages = $this->page->where('slug', $slug)->first();
|
||||
$sl = $request->input('slug');
|
||||
$slug = str_slug($sl, "-");
|
||||
|
||||
$this->page->slug = $slug;
|
||||
//$id = $page->id;
|
||||
$pages->fill($request->all())->save();
|
||||
$pages->slug = $slug;
|
||||
$pages->save();
|
||||
return redirect('page')->with('success', 'Your Page Updated Successfully');
|
||||
$slug = str_slug($sl, "-");
|
||||
$this->page->slug = $slug;
|
||||
try{
|
||||
$pages->fill($request->all())->save();
|
||||
$pages->slug = $slug;
|
||||
$pages->save();
|
||||
return redirect('page')->with('success', 'Your Page Updated Successfully');
|
||||
} catch(Exception $e) {
|
||||
return redirect('page')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To Delete one Page
|
||||
* @param type $id
|
||||
* @return type
|
||||
* To Delete a Page
|
||||
* @param type $id
|
||||
* @return type redirect
|
||||
*/
|
||||
public function destroy($id) {
|
||||
$page = $this->page->whereId($id)->first();
|
||||
$page->delete();
|
||||
return redirect('page')->with('success', 'Page Deleted Successfully');
|
||||
try{
|
||||
// get the page to be deleted
|
||||
$page = $this->page->whereId($id)->first();
|
||||
$page->delete();
|
||||
return redirect('page')->with('success', 'Page Deleted Successfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect('page')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,38 +1,59 @@
|
||||
<?php namespace App\Http\Controllers\Agent\kb;
|
||||
|
||||
// Controllers
|
||||
use App\Http\Controllers\Agent\kb\ArticleController;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// Request
|
||||
use App\Http\Requests\kb\FooterRequest;
|
||||
use App\Http\Requests\kb\ProfilePassword;
|
||||
use App\Http\Requests\kb\ProfileRequest;
|
||||
use App\Http\Requests\kb\SettingsRequests;
|
||||
use App\Http\Requests\kb\SocialRequest;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
// Model
|
||||
use App\Model\kb\Comment;
|
||||
use App\Model\kb\DateFormat;
|
||||
use App\Model\kb\Faq;
|
||||
use App\Model\kb\Settings;
|
||||
use App\Model\kb\Side1;
|
||||
use App\Model\kb\Side2;
|
||||
use App\Model\kb\Social;
|
||||
use App\Model\helpdesk\Utility\Timezones;
|
||||
use App\Model\helpdesk\Utility\Date_format;
|
||||
|
||||
// Classes
|
||||
use Auth;
|
||||
use Config;
|
||||
use Datatable;
|
||||
use Hash;
|
||||
use Illuminate\Http\Request;
|
||||
use Image;
|
||||
use Input;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* SettingsController
|
||||
* This controller is used to perform settings in the setting page of knowledgebase
|
||||
*
|
||||
* @package Controllers
|
||||
* @subpackage Controller
|
||||
* @author Ladybird <info@ladybirdweb.com>
|
||||
*/
|
||||
class SettingsController extends Controller {
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return Response
|
||||
* 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 roles
|
||||
$this->middleware('roles');
|
||||
$this->language();
|
||||
}
|
||||
@@ -42,8 +63,7 @@ class SettingsController extends Controller {
|
||||
* @return response
|
||||
* @package default
|
||||
*/
|
||||
public function settings(Settings $settings, Timezones $time, DateFormat $date) {
|
||||
|
||||
public function settings(Settings $settings, Timezones $time, Date_format $date) {
|
||||
/* get the setting where the id == 1 */
|
||||
$settings = $settings->whereId('1')->first();
|
||||
$time = $time->get();
|
||||
@@ -62,19 +82,14 @@ class SettingsController extends Controller {
|
||||
{
|
||||
/* fetch the values of company request */
|
||||
$settings = $settings->whereId('1')->first();
|
||||
|
||||
if (Input::file('logo')) {
|
||||
$name = Input::file('logo')->getClientOriginalName();
|
||||
|
||||
$destinationPath = 'lb-faveo/dist/image';
|
||||
$fileName = rand(0000, 9999) . '.' . $name;
|
||||
//echo $fileName;
|
||||
|
||||
Input::file('logo')->move($destinationPath, $fileName);
|
||||
|
||||
$settings->logo = $fileName;
|
||||
//$thDestinationPath = 'dist/th';
|
||||
|
||||
Image::make($destinationPath . '/' . $fileName, array(
|
||||
'width' => 300,
|
||||
'height' => 300,
|
||||
@@ -83,28 +98,21 @@ class SettingsController extends Controller {
|
||||
}
|
||||
if (Input::file('background')) {
|
||||
$name = Input::file('background')->getClientOriginalName();
|
||||
|
||||
$destinationPath = 'lb-faveo/dist/image';
|
||||
$fileName = rand(0000, 9999) . '.' . $name;
|
||||
echo $fileName;
|
||||
|
||||
Input::file('background')->move($destinationPath, $fileName);
|
||||
|
||||
$settings->background = $fileName;
|
||||
//$thDestinationPath = 'dist/th';
|
||||
|
||||
Image::make($destinationPath . '/' . $fileName, array(
|
||||
'width' => 300,
|
||||
'height' => 300,
|
||||
'grayscale' => false,
|
||||
))->save('lb-faveo/dist/image/' . $fileName);
|
||||
}
|
||||
|
||||
/* Check whether function success or not */
|
||||
|
||||
if ($settings->fill($request->except('logo', 'background'))->save() == true) {
|
||||
/* redirect to Index page with Success Message */
|
||||
|
||||
return redirect('settings')->with('success', 'Settings Updated Successfully');
|
||||
} else {
|
||||
/* redirect to Index page with Fails Message */
|
||||
@@ -117,49 +125,6 @@ class SettingsController extends Controller {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* to get the faq view page
|
||||
* @return response
|
||||
*/
|
||||
public function Faq(Faq $faq) {
|
||||
/* fetch the values of faq */
|
||||
$faq = $faq->whereId('1')->first();
|
||||
return view('themes.default1.agent.settings.faq', compact('faq'));
|
||||
|
||||
}
|
||||
public function postfaq($id, Faq $faq, Request $request) {
|
||||
$faq = $faq->whereId('1')->first();
|
||||
if ($faq->fill($request->input())->save()) {
|
||||
return redirect('create-faq')->with('success', 'Faq updated Successfully');
|
||||
} else {
|
||||
return redirect('craete-faq')->with('fails', 'Faq not updated');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the create page to insert the values to database
|
||||
* @return type response
|
||||
*/
|
||||
public function CreateSocialLink(Social $social) {
|
||||
$social = $social->whereId('1')->first();
|
||||
return view('themes.default1.agent.kb.settings.social', compact('social'));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param type Social $social
|
||||
* @param type Request $request
|
||||
* @return type resonse
|
||||
*/
|
||||
public function PostSocial(Social $social, SocialRequest $request) {
|
||||
$social = $social->whereId('1')->first();
|
||||
if ($social->fill($request->input())->save()) {
|
||||
return redirect('social')->with('success', 'Your Social Links Stored');
|
||||
} else {
|
||||
return redirect('social')->with('fails', 'Sorry Can not Performe');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* To Moderate the commenting
|
||||
* @param type Comment $comment
|
||||
@@ -237,56 +202,61 @@ class SettingsController extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get profile page
|
||||
* @return type view
|
||||
*/
|
||||
public function getProfile() {
|
||||
$time = Timezone::all();
|
||||
$user = Auth::user();
|
||||
return view('themes.default1.agent.kb.settings.profile', compact('user', 'time'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Post profile page
|
||||
* @param type ProfileRequest $request
|
||||
* @return type redirect
|
||||
*/
|
||||
public function postProfile(ProfileRequest $request) {
|
||||
$user = Auth::user();
|
||||
$user->gender = $request->input('gender');
|
||||
$user->save();
|
||||
|
||||
if (is_null($user->profile_pic)) {
|
||||
if ($request->input('gender') == 1) {
|
||||
|
||||
$name = 'avatar5.png';
|
||||
$destinationPath = 'lb-faveo/dist/img';
|
||||
$user->profile_pic = $name;
|
||||
} elseif ($request->input('gender') == 0) {
|
||||
|
||||
$name = 'avatar2.png';
|
||||
$destinationPath = 'lb-faveo/dist/img';
|
||||
$user->profile_pic = $name;
|
||||
}
|
||||
}
|
||||
|
||||
if (Input::file('profile_pic')) {
|
||||
//$extension = Input::file('profile_pic')->getClientOriginalExtension();
|
||||
$name = Input::file('profile_pic')->getClientOriginalName();
|
||||
|
||||
$destinationPath = 'lb-faveo/dist/img';
|
||||
$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()->back()->with('success1', 'Profile Updated sucessfully');
|
||||
|
||||
}
|
||||
|
||||
if ($user->fill($request->except('profile_pic'))->save()) {
|
||||
return redirect('profile')->with('success1', 'Profile Updated sucessfully');
|
||||
} else {
|
||||
return redirect('profile')->with('fails1', 'Profile Not Updated sucessfully');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* post profile password
|
||||
* @param type $id
|
||||
* @param type ProfilePassword $request
|
||||
* @return type redirect
|
||||
*/
|
||||
public function postProfilePassword($id, ProfilePassword $request) {
|
||||
$user = Auth::user();
|
||||
//echo $user->password;
|
||||
@@ -299,81 +269,12 @@ class SettingsController extends Controller {
|
||||
return redirect('profile')->with('fails2', 'Old password Wrong');
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* To delete the logo
|
||||
* @param type $id
|
||||
* @param type Settings $setting
|
||||
* @return type
|
||||
*/
|
||||
public function deleteLogo($id, Settings $setting) {
|
||||
$setting = $setting->whereId($id)->first();
|
||||
$setting->logo = '';
|
||||
$setting->save();
|
||||
return redirect('settings')->with('success', 'Settings Updated Successfully');
|
||||
|
||||
}
|
||||
|
||||
public function deleteBackground($id, Settings $setting) {
|
||||
$setting = $setting->whereId($id)->first();
|
||||
$setting->background = '';
|
||||
$setting->save();
|
||||
return redirect('settings')->with('success', 'Settings Updated Successfully');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the View of create Side widget page
|
||||
* @param type Side1 $side
|
||||
* @return View
|
||||
* het locale for language
|
||||
* @return type config set
|
||||
*/
|
||||
public function side1(Side1 $side) {
|
||||
$side = $side->where('id', '1')->first();
|
||||
return view('themes.default1.agent.kb.settings.side1', compact('side'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Post function of Side1 Page
|
||||
* @param type $id
|
||||
* @param type Side1 $side
|
||||
* @param type Request $request
|
||||
* @return view
|
||||
*/
|
||||
public function postside1($id, Side1 $side, Request $request) {
|
||||
$side = $side->whereId($id)->first();
|
||||
if ($side->fill($request->input())->save()) {
|
||||
return redirect('side1')->with('success', 'Side Widget 1 Created !');
|
||||
} else {
|
||||
return redirect('side1')->with('fails', 'Whoops ! Something went Wrong ! ');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the View for side widget creat
|
||||
* @param type Side2 $side
|
||||
* @return type
|
||||
*/
|
||||
public function side2(Side2 $side) {
|
||||
$side = $side->where('id', '1')->first();
|
||||
return view('themes.default1.agent.kb.settings.side2', compact('side'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Post functio for side
|
||||
* @param type $id
|
||||
* @param type Side2 $side
|
||||
* @param type Request $request
|
||||
* @return response
|
||||
*/
|
||||
public function postside2($id, Side2 $side, Request $request) {
|
||||
$side = $side->whereId($id)->first();
|
||||
if ($side->fill($request->input())->save()) {
|
||||
return redirect('side2')->with('success', 'Side Widget 2 Created !');
|
||||
} else {
|
||||
return redirect('side2')->with('fails', 'Whoops ! Something went Wrong ! ');
|
||||
}
|
||||
}
|
||||
|
||||
static function language() {
|
||||
// $set = Settings::whereId(1)->first();
|
||||
// $lang = $set->language;
|
||||
|
@@ -1,24 +1,22 @@
|
||||
<?php namespace App\Http\Controllers\Auth;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Common\SettingsController;
|
||||
|
||||
// requests
|
||||
use App\Http\Requests\helpdesk\LoginRequest;
|
||||
use App\Http\Requests\helpdesk\RegisterRequest;
|
||||
use App\User;
|
||||
|
||||
// classes
|
||||
/* include User Model */
|
||||
use Hash;
|
||||
/* Include RegisterRequest */
|
||||
use Illuminate\Contracts\Auth\Guard;
|
||||
/* Register validation */
|
||||
use Illuminate\Contracts\Auth\Registrar;
|
||||
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
|
||||
/* Include login validator */
|
||||
use Mail;
|
||||
use Auth;
|
||||
// Model
|
||||
// use App\Model\helpdesk\Utility\Limit_Login;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* ---------------------------------------------------
|
||||
@@ -58,8 +56,6 @@ class AuthController extends Controller {
|
||||
$this->middleware('guest', ['except' => 'getLogout']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get the form for registration
|
||||
* @return type Response
|
||||
@@ -78,7 +74,6 @@ class AuthController extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Post registration form
|
||||
* @param type User $user
|
||||
@@ -148,26 +143,19 @@ class AuthController extends Controller {
|
||||
* @return type Response
|
||||
*/
|
||||
public function postLogin(LoginRequest $request) {
|
||||
|
||||
// Set login attempts and login time
|
||||
$loginAttempts = 1;
|
||||
$credentials = $request->only('email', 'password');
|
||||
|
||||
$email = $request->email;
|
||||
// $ip_address = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
// $limit_login = Limit_Login::where('email' , '=' , $email)->where('ip_address', '=', $ip_address)->first();
|
||||
// if(isset($limit_login)) {
|
||||
|
||||
// }
|
||||
|
||||
|
||||
|
||||
$usernameinput = $request->input('email');
|
||||
$password = $request->input('password');
|
||||
$field = filter_var($usernameinput, FILTER_VALIDATE_EMAIL) ? 'email' : 'user_name';
|
||||
// If session has login attempts, retrieve attempts counter and attempts time
|
||||
if (\Session::has('loginAttempts')) {
|
||||
$loginAttempts = \Session::get('loginAttempts');
|
||||
$loginAttemptTime = \Session::get('loginAttemptTime');
|
||||
$credentials = $request->only('email', 'password');
|
||||
// $credentials = $request->only('email', 'password');
|
||||
$usernameinput = $request->input('email');
|
||||
$password = $request->input('password');
|
||||
$field = filter_var($usernameinput, FILTER_VALIDATE_EMAIL) ? 'email' : 'user_name';
|
||||
// If attempts > 3 and time < 10 minutes
|
||||
if ($loginAttempts > 4 && (time() - $loginAttemptTime <= 600)) {
|
||||
return redirect()->back()->with('error', 'Maximum login attempts reached. Try again in a while');
|
||||
@@ -177,14 +165,13 @@ class AuthController extends Controller {
|
||||
\Session::put('loginAttempts', 1);
|
||||
\Session::put('loginAttemptTime', time());
|
||||
}
|
||||
} else // If no login attempts stored, init login attempts and time
|
||||
{
|
||||
} else { // If no login attempts stored, init login attempts and time
|
||||
\Session::put('loginAttempts', $loginAttempts);
|
||||
\Session::put('loginAttemptTime', time());
|
||||
}
|
||||
// If auth ok, redirect to restricted area
|
||||
\Session::put('loginAttempts', $loginAttempts + 1);
|
||||
if ($this->auth->attempt($credentials, $request->has('remember'))) {
|
||||
if ($this->auth->attempt([$field => $usernameinput, 'password' => $password], $request->has('remember'))) {
|
||||
if(Auth::user()->role == 'user') {
|
||||
return \Redirect::route('/');
|
||||
} else {
|
||||
@@ -208,100 +195,4 @@ class AuthController extends Controller {
|
||||
return 'This Field do not match our records.';
|
||||
}
|
||||
|
||||
|
||||
// public function postLogin(LoginRequest $request) {
|
||||
// $email = $request->input('email');
|
||||
// $counter = 0;
|
||||
// $user = User::where('email','=',$email)->first();
|
||||
// if($user) {
|
||||
// if($user->active == 1) {
|
||||
// $credentials = $request->only('email', 'password');
|
||||
|
||||
// while($counter < 10) {
|
||||
// if($this->auth->attempt($credentials) === false) {
|
||||
// $counter++;
|
||||
// }
|
||||
// }
|
||||
// if ($this->auth->attempt($credentials, $request->has('remember'))) {
|
||||
// if(Auth::user()) {
|
||||
// if(Auth::user()->role == 'vendor') {
|
||||
// return \Redirect::route('vendors.index');
|
||||
// } elseif(Auth::user()->role == 'admin') {
|
||||
// return \Redirect::route('admin.dashboard');
|
||||
// } elseif(Auth::user()->role == 'sadmin') {
|
||||
// return \Redirect::route('sadmin.dashboard');
|
||||
// } else {
|
||||
// return redirect()->intended($this->redirectPath());
|
||||
// }
|
||||
// } else {
|
||||
// return redirect()->back()->with('message','Account Inactive, Please wait for Admin to approve.');
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// return redirect()->back()->with('message','Account Inactive, Please wait for Admin to approve.');
|
||||
// }
|
||||
// }
|
||||
// return redirect($this->loginPath())
|
||||
// ->withInput($request->only('email', 'remember'))
|
||||
// ->withErrors(['email' => $this->getFailedLoginMessage(), 'password' => $this->getFailedLoginMessage(), ]);
|
||||
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
// public function authenticate() {
|
||||
// // Set login attempts and login time
|
||||
// $loginAttempts = 1;
|
||||
// // If session has login attempts, retrieve attempts counter and attempts time
|
||||
// if (Session::has('loginAttempts')) {
|
||||
// $loginAttempts = Session::get('loginAttempts');
|
||||
// $loginAttemptTime = Session::get('loginAttemptTime');
|
||||
// // If attempts > 3 and time < 10 minutes
|
||||
// if ($loginAttempts > 3 && (time() - $loginAttemptTime <= 600)) {
|
||||
// return redirect()-back()->with('error', 'maximum login attempts reached. Try again in a while');
|
||||
// }
|
||||
// // If time > 10 minutes, reset attempts counter and time in session
|
||||
// if (time() - $loginAttemptTime > 600) {
|
||||
// Session::put('loginAttempts', 1);
|
||||
// Session::put('loginAttemptTime', time());
|
||||
// }
|
||||
// } else // If no login attempts stored, init login attempts and time
|
||||
// {
|
||||
// Session::put('loginAttempts', $loginAttempts);
|
||||
// Session::put('loginAttemptTime', time());
|
||||
// }
|
||||
// // If auth ok, redirect to restricted area
|
||||
// if (Auth::attempt(['email' => 'someone@example.com'])) {
|
||||
// return redirect()->intended('dashboard');
|
||||
// }
|
||||
// // Increment login attempts
|
||||
// Session::put('loginAttempts', $loginAttempts + 1);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// public function postLogin(LoginRequest $request) {
|
||||
// // $email = $request->input('email');
|
||||
// // $password = Hash::make($request->input('password'));
|
||||
// // $remember = $request->input('remember');
|
||||
// // dd([$email,$password,$remember]);
|
||||
// $credentials = $request->only('email', 'password');
|
||||
// if ($this->auth->attempt($credentials, $request->has('remember'))) {
|
||||
// if(Auth::user()->role == 'user') {
|
||||
// return \Redirect::route('home');
|
||||
// } else {
|
||||
// return redirect()->intended($this->redirectPath());
|
||||
// }
|
||||
// }
|
||||
// return redirect($this->loginPath())
|
||||
// ->withInput($request->only('email', 'remember'))
|
||||
// ->withErrors([
|
||||
// 'email' => $this->getFailedLoginMessage(),
|
||||
// 'password' => $this->getFailedLoginMessage(),
|
||||
// ]);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
@@ -1,17 +1,20 @@
|
||||
<?php namespace App\Http\Controllers\Auth;
|
||||
// classes
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Common\SettingsController;
|
||||
|
||||
// request
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
// model
|
||||
use App\User;
|
||||
|
||||
// classes
|
||||
use Illuminate\Contracts\Auth\Guard;
|
||||
use Illuminate\Contracts\Auth\PasswordBroker;
|
||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
|
||||
use App\User;
|
||||
|
||||
use App\Http\Controllers\Common\SettingsController;
|
||||
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* PasswordController
|
||||
@@ -44,8 +47,7 @@ class PasswordController extends Controller {
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function getEmail()
|
||||
{
|
||||
public function getEmail() {
|
||||
return view('auth.password');
|
||||
}
|
||||
|
||||
|
@@ -1,8 +1,10 @@
|
||||
<?php namespace App\Http\Controllers\Client\helpdesk;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
use App\Http\Controllers\Common\SettingsController;
|
||||
|
||||
// requests
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\helpdesk\CreateTicketRequest;
|
||||
@@ -22,12 +24,14 @@ use App\Model\helpdesk\Ticket\Ticket_Status;
|
||||
use App\Model\helpdesk\Email\Emails;
|
||||
use App\Model\helpdesk\Agent\Department;
|
||||
use App\User;
|
||||
|
||||
// classes
|
||||
use Auth;
|
||||
use Hash;
|
||||
use Input;
|
||||
use Mail;
|
||||
use PDF;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* TicketController2
|
||||
@@ -67,18 +71,25 @@ class ClientTicketController extends Controller {
|
||||
$comment = $request->input('comment');
|
||||
if($comment != null) {
|
||||
$tickets = Tickets::where('id','=',$id)->first();
|
||||
$tickets->closed_at = null;
|
||||
$tickets->closed = 0;
|
||||
$tickets->reopened_at = date('Y-m-d H:i:s');
|
||||
$tickets->reopened = 1;
|
||||
$threads = new Ticket_Thread;
|
||||
$threads->user_id = Auth::user()->id;
|
||||
$threads->ticket_id = $tickets->id;
|
||||
$threads->poster = "client";
|
||||
$threads->body = $comment;
|
||||
$threads->save();
|
||||
return \Redirect::back()->with('success1','Successfully replied');
|
||||
try {
|
||||
$threads->save();
|
||||
$tickets->save();
|
||||
return \Redirect::back()->with('success1','Successfully replied');
|
||||
} catch(Exception $e) {
|
||||
return \Redirect::back()->with('fails1',$e->errorInfo[2]);
|
||||
}
|
||||
} else {
|
||||
return \Redirect::back()->with('fails1','Please fill some data!');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,9 +1,13 @@
|
||||
<?php namespace App\Http\Controllers\Client\helpdesk;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// models
|
||||
use App\Model\helpdesk\Email\Emails;
|
||||
|
||||
// classes
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* EmailController
|
||||
@@ -23,7 +27,6 @@ class OuthouseController extends Controller {
|
||||
{
|
||||
$port = Emails::where('id','=','1')->first();
|
||||
$portvalue = $port->option_value;
|
||||
|
||||
return $portvalue;
|
||||
}
|
||||
|
||||
@@ -36,7 +39,6 @@ class OuthouseController extends Controller {
|
||||
{
|
||||
$host=Option::where('option_name','=','host')->first();
|
||||
$hostvalue=$host->option_value;
|
||||
|
||||
return $hostvalue;
|
||||
}
|
||||
|
||||
|
@@ -1,21 +1,18 @@
|
||||
<?php namespace App\Http\Controllers\Client\helpdesk;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Agent\helpdesk\TicketController;
|
||||
use App\Http\Controllers\Common\SettingsController;
|
||||
|
||||
// requests
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\helpdesk\ClientRequest;
|
||||
|
||||
// models
|
||||
/* include help topic model */
|
||||
use App\Model\helpdesk\Form\Form_details;
|
||||
/* Include form_name model */
|
||||
use App\Model\helpdesk\Form\Form_name;
|
||||
/* include form_detals model */
|
||||
/* Include form_value model */
|
||||
use App\Model\helpdesk\Form\Forms;
|
||||
use App\Model\helpdesk\Manage\Help_topic;
|
||||
use App\Model\helpdesk\Settings\Company;
|
||||
/* Validate form TicketForm using */
|
||||
use App\Model\helpdesk\Ticket\Tickets;
|
||||
use App\Model\helpdesk\Ticket\Ticket_Thread;
|
||||
use App\Model\helpdesk\Settings\System;
|
||||
@@ -23,6 +20,9 @@ use App\Model\helpdesk\Settings\Ticket;
|
||||
use App\Model\helpdesk\Agent\Department;
|
||||
use App\Model\helpdesk\Ticket\Ticket_source;
|
||||
use App\User;
|
||||
use App\Model\helpdesk\Form\Fields;
|
||||
use App\Model\helpdesk\Form\Form_value;
|
||||
|
||||
// classes
|
||||
use Form;
|
||||
use Input;
|
||||
@@ -30,12 +30,9 @@ use Mail;
|
||||
use Hash;
|
||||
use Redirect;
|
||||
use Config;
|
||||
|
||||
use DateTime;
|
||||
use DateTimeZone;
|
||||
use App\Model\helpdesk\Form\Fields;
|
||||
use App\Model\helpdesk\Form\Form_value;
|
||||
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* FormController
|
||||
@@ -46,29 +43,18 @@ use App\Model\helpdesk\Form\Form_value;
|
||||
*/
|
||||
class FormController extends Controller {
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
* Constructor to check
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(TicketController $TicketController) {
|
||||
// mail smtp settings
|
||||
SettingsController::smtp();
|
||||
// creating a TicketController instance
|
||||
$this->TicketController = $TicketController;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * This Function to get the form for the ticket
|
||||
// * @param type Form_name $name
|
||||
// * @param type Form_details $details
|
||||
// * @param type Help_topic $topics
|
||||
// * @return type Response
|
||||
// */
|
||||
// public function getForm() {
|
||||
// if(Config::get('database.install') == '%0%') {
|
||||
// return Redirect::route('license');
|
||||
// }
|
||||
// if(System::first()->status == 1) {
|
||||
// return view('themes.default1.client.helpdesk.guest-user.form');
|
||||
// } else {
|
||||
// return "hello";
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* getform
|
||||
* @param type Help_topic $topic
|
||||
@@ -92,7 +78,7 @@ class FormController extends Controller {
|
||||
* @param type Form_details $details
|
||||
* @return type string
|
||||
*/
|
||||
public function postForm($id,Form_name $name, Form_details $details, Help_topic $topic) {
|
||||
public function postForm($id, Help_topic $topic) {
|
||||
// dd($id);
|
||||
if($id != 0 ){
|
||||
$helptopic = $topic->where('id', '=', $id)->first();
|
||||
@@ -163,8 +149,9 @@ class FormController extends Controller {
|
||||
$source = $ticket_source->where('name','=','web')->first();
|
||||
|
||||
$collaborator = null;
|
||||
$assignto = null;
|
||||
|
||||
if($this->TicketController->create_user($email, $name, $subject, $details, $phone, $helptopic, $sla, $priority, $source->id, $collaborator, $department,$assignto = "", $form_extras)) {
|
||||
if($this->TicketController->create_user($email, $name, $subject, $details, $phone, $helptopic, $sla, $priority, $source->id, $collaborator, $department,$assignto, $form_extras)) {
|
||||
return Redirect::route('guest.getform')->with('success','Ticket Created Successfully');
|
||||
}
|
||||
}
|
||||
@@ -181,12 +168,21 @@ class FormController extends Controller {
|
||||
if($comment != null) {
|
||||
$tickets = Tickets::where('id','=',$id)->first();
|
||||
$threads = new Ticket_Thread;
|
||||
$tickets->closed_at = null;
|
||||
$tickets->closed = 0;
|
||||
$tickets->reopened_at = date('Y-m-d H:i:s');
|
||||
$tickets->reopened = 1;
|
||||
$threads->user_id = $tickets->user_id;
|
||||
$threads->ticket_id = $tickets->id;
|
||||
$threads->poster = "client";
|
||||
$threads->body = $comment;
|
||||
$threads->save();
|
||||
return \Redirect::back()->with('success1','Successfully replied');
|
||||
try {
|
||||
$threads->save();
|
||||
$tickets->save();
|
||||
return \Redirect::back()->with('success1','Successfully replied');
|
||||
} catch(Exception $e) {
|
||||
return \Redirect::back()->with('fails1',$e->errorInfo[2]);
|
||||
}
|
||||
} else {
|
||||
return \Redirect::back()->with('fails1','Please fill some data!');
|
||||
}
|
||||
|
@@ -1,12 +1,15 @@
|
||||
<?php namespace App\Http\Controllers\Client\helpdesk;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Common\SettingsController;
|
||||
|
||||
// requests
|
||||
use App\Http\Requests\helpdesk\CheckTicket;
|
||||
use App\Http\Requests\helpdesk\ProfilePassword;
|
||||
use App\Http\Requests\helpdesk\ProfileRequest;
|
||||
use App\Http\Requests\helpdesk\TicketRequest;
|
||||
|
||||
// models
|
||||
use App\Model\helpdesk\Manage\Help_topic;
|
||||
use App\Model\helpdesk\Ticket\Tickets;
|
||||
@@ -14,10 +17,12 @@ use App\Model\helpdesk\Ticket\Ticket_Thread;
|
||||
use App\Model\helpdesk\Settings\Company;
|
||||
use App\Model\helpdesk\Settings\System;
|
||||
use App\User;
|
||||
|
||||
// classes
|
||||
use Auth;
|
||||
use Hash;
|
||||
use Input;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* GuestController
|
||||
@@ -32,10 +37,11 @@ class GuestController extends Controller {
|
||||
* Create a new controller instance.
|
||||
* @return type void
|
||||
*/
|
||||
|
||||
public function __construct() {
|
||||
SettingsController::smtp();
|
||||
// checking authentication
|
||||
$this->middleware('auth');
|
||||
// $this->middleware('role.user');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -160,8 +166,12 @@ class GuestController extends Controller {
|
||||
//echo $user->password;
|
||||
if (Hash::check($request->input('old_password'), $user->getAuthPassword())) {
|
||||
$user->password = Hash::make($request->input('new_password'));
|
||||
$user->save();
|
||||
return redirect()->back()->with('success2', 'Password Updated sucessfully');
|
||||
try{
|
||||
$user->save();
|
||||
return redirect()->back()->with('success2', 'Password Updated sucessfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with('fails2', $e->errorInfo[2]);
|
||||
}
|
||||
} else {
|
||||
return redirect()->back()->with('fails2', 'Password was not Updated. Incorrect old password');
|
||||
}
|
||||
|
@@ -6,6 +6,7 @@ use App\Model\helpdesk\Settings\System;
|
||||
// classes
|
||||
use Config;
|
||||
use Redirect;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* OuthouseController
|
||||
|
@@ -20,6 +20,7 @@ use Mail;
|
||||
use Auth;
|
||||
use Redirect;
|
||||
use Hash;
|
||||
use Exception;
|
||||
|
||||
class UserController extends Controller {
|
||||
|
||||
|
@@ -6,18 +6,16 @@ use Illuminate\Http\Request;
|
||||
use App\Http\Requests\helpdesk\SmtpRequest;
|
||||
use App\Http\Requests;
|
||||
// models
|
||||
use App\Model\helpdesk\Theme\Footer2;
|
||||
use App\Model\helpdesk\Theme\Footer3;
|
||||
use App\Model\helpdesk\Theme\Footer4;
|
||||
use App\Model\helpdesk\Theme\Footer;
|
||||
use App\Model\helpdesk\Theme\Widgets;
|
||||
use App\Model\helpdesk\Email\Smtp;
|
||||
use App\Model\helpdesk\Utility\Version_Check;
|
||||
use App\Model\helpdesk\Settings\Plugin;
|
||||
// classes
|
||||
use Config;
|
||||
use Input;
|
||||
use Crypt;
|
||||
use Illuminate\Support\Collection;
|
||||
use App\Model\helpdesk\Settings\Plugin;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* ***************************
|
||||
@@ -45,13 +43,144 @@ class SettingsController extends Controller {
|
||||
SettingsController::password();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get the page to create the footer
|
||||
* @return response
|
||||
*/
|
||||
public function CreateFooter(Footer $footer) {
|
||||
$footer = $footer->whereId('1')->first();
|
||||
return view('themes.default1.admin.helpdesk.theme.footer', compact('footer'));
|
||||
public function widgets() {
|
||||
return view('themes.default1.admin.helpdesk.theme.widgets');
|
||||
}
|
||||
|
||||
/**
|
||||
* get the page to create the footer
|
||||
* @return response
|
||||
*/
|
||||
public function list_widget() {
|
||||
return \Datatable::collection(Widgets::where('id','<','7')->get())
|
||||
->searchColumns('name')
|
||||
->orderColumns('name', 'title', 'value')
|
||||
->addColumn('name', function ($model) {
|
||||
return $model->name;
|
||||
})
|
||||
|
||||
->addColumn('title', function ($model) {
|
||||
return $model->title;
|
||||
})
|
||||
|
||||
->addColumn('body', function ($model) {
|
||||
return $model->value;
|
||||
})
|
||||
|
||||
->addColumn('Actions', function ($model) {
|
||||
return '<span data-toggle="modal" data-target="#edit_widget'.$model->id .'"><a class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a></span>
|
||||
<div class="modal fade" id="edit_widget'.$model->id .'">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<form action="'. url('edit-widget/'.$model->id) .'" method="POST">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">'.strtoupper($model->name).' </h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group" style="width:100%">
|
||||
<label>'.\Lang::get("lang.title").'</label><br/>
|
||||
<input type="text" name="title" value="'.$model->title.'" class="form-control" style="width:100%">
|
||||
</div>
|
||||
<br/>
|
||||
<div class="form-group" style="width:100%">
|
||||
<label>'.\Lang::get("lang.content").'</label><br/>
|
||||
<textarea name="content" class="form-control" style="width:100%" id="Content'.$model->id.'">'.$model->value.'</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">'.\Lang::get('lang.close').'</button>
|
||||
<input type="submit" class="btn btn-primary" value="'.\Lang::get('lang.update').'">
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#Content'. $model->id .'").wysihtml5();
|
||||
});
|
||||
</script>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
})
|
||||
|
||||
->make();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Post footer
|
||||
* @param type Footer $footer
|
||||
* @param type Request $request
|
||||
* @return type response
|
||||
*/
|
||||
public function edit_widget($id, Widgets $widgets, Request $request) {
|
||||
$widget = $widgets->where('id','=',$id)->first();
|
||||
$widget->title = $request->title;
|
||||
$widget->value = $request->content;
|
||||
try{
|
||||
$widget->save();
|
||||
return redirect()->back()->with('success', $widget->name.' Saved Successfully');
|
||||
} catch(Exception $e) {
|
||||
return redirect()->back()->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the page to create the footer
|
||||
* @return response
|
||||
*/
|
||||
public function social_buttons() {
|
||||
return view('themes.default1.admin.helpdesk.theme.social');
|
||||
}
|
||||
|
||||
/**
|
||||
* get the page to create the footer
|
||||
* @return response
|
||||
*/
|
||||
public function list_social_buttons() {
|
||||
return \Datatable::collection(Widgets::where('id','>','6')->get())
|
||||
->searchColumns('name')
|
||||
->orderColumns('name', 'value')
|
||||
->addColumn('name', function ($model) {
|
||||
return $model->name;
|
||||
})
|
||||
|
||||
->addColumn('link', function ($model) {
|
||||
return $model->value;
|
||||
})
|
||||
|
||||
->addColumn('Actions', function ($model) {
|
||||
return '<span data-toggle="modal" data-target="#edit_widget'.$model->id .'"><a class="btn btn-warning btn-xs">' . \Lang::get('lang.edit') . '</a></span>
|
||||
<div class="modal fade" id="edit_widget'.$model->id .'">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<form action="'. url('edit-widget/'.$model->id) .'" method="POST">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">'.strtoupper($model->name).' </h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<br/>
|
||||
<div class="form-group" style="width:100%">
|
||||
<label>'.\Lang::get("lang.link").'</label><br/>
|
||||
<input type="url" name="content" class="form-control" style="width:100%" value="'.$model->value.'">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" id="dismis2">'.\Lang::get('lang.close').'</button>
|
||||
<input type="submit" class="btn btn-primary" value="'.\Lang::get('lang.update').'">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
})
|
||||
->make();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -60,84 +189,15 @@ class SettingsController extends Controller {
|
||||
* @param type Request $request
|
||||
* @return type response
|
||||
*/
|
||||
public function PostFooter(Footer $footer, Request $request) {
|
||||
$footer = $footer->whereId('1')->first();
|
||||
if ($footer->fill($request->input())->save()) {
|
||||
return redirect('create-footer')->with('success', 'Footer Saved Successfully');
|
||||
} else {
|
||||
return redirect('create-footer')->with('fails', 'Footer was not Saved');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the page to create the footer
|
||||
* @return response
|
||||
*/
|
||||
public function CreateFooter2(Footer2 $footer2) {
|
||||
$footer2 = $footer2->whereId('1')->first();
|
||||
return view('themes.default1.admin.helpdesk.theme.footer2', compact('footer2'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Post footer 2
|
||||
* @param type Footer $footer
|
||||
* @param type Request $request
|
||||
* @return type response
|
||||
*/
|
||||
public function PostFooter2(Footer2 $footer2, Request $request) {
|
||||
$footer2 = $footer2->whereId('1')->first();
|
||||
if ($footer2->fill($request->input())->save()) {
|
||||
return redirect('create-footer2')->with('success', 'Footer Saved Successfully');
|
||||
} else {
|
||||
return redirect('create-footer2')->with('fails', 'Footer was not Saved');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the page to create the footer
|
||||
* @return response
|
||||
*/
|
||||
public function CreateFooter3(Footer3 $footer3) {
|
||||
$footer3 = $footer3->whereId('1')->first();
|
||||
return view('themes.default1.admin.helpdesk.theme.footer3', compact('footer3'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Post footer 3
|
||||
* @param type Footer $footer
|
||||
* @param type Request $request
|
||||
* @return type response
|
||||
*/
|
||||
public function PostFooter3(Footer3 $footer3, Request $request) {
|
||||
$footer3 = $footer3->whereId('1')->first();
|
||||
if ($footer3->fill($request->input())->save()) {
|
||||
return redirect('create-footer3')->with('success', 'Footer Saved Successfully');
|
||||
} else {
|
||||
return redirect('create-footer3')->with('fails', 'Footer was not Saved');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get the page to create the footer
|
||||
* @return response
|
||||
*/
|
||||
public function CreateFooter4(Footer4 $footer4) {
|
||||
$footer4 = $footer4->whereId('1')->first();
|
||||
return view('themes.default1.admin.helpdesk.theme.footer4', compact('footer4'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Post footer 4
|
||||
* @param type Footer $footer
|
||||
* @param type Request $request
|
||||
* @return type response
|
||||
*/
|
||||
public function PostFooter4(Footer4 $footer4, Request $request) {
|
||||
$footer4 = $footer4->whereId('1')->first();
|
||||
if ($footer4->fill($request->input())->save()) {
|
||||
return redirect('create-footer4')->with('success', 'Footer Saved Successfully');
|
||||
} else {
|
||||
return redirect('create-footer4')->with('fails', 'Footer was not Saved');
|
||||
public function edit_social_buttons($id, Widgets $widgets, Request $request) {
|
||||
$widget = $widgets->where('id','=',$id)->first();
|
||||
$widget->title = $request->title;
|
||||
$widget->value = $request->content;
|
||||
try{
|
||||
$widget->save();
|
||||
return redirect()->back()->with('success', $widget->name.' Saved Successfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with('fails',$e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -236,10 +296,11 @@ class SettingsController extends Controller {
|
||||
$data->name = $request->input('name');
|
||||
$data->email = $request->input('email');
|
||||
$data->password = Crypt::encrypt($request->input('password'));
|
||||
if ($data->save()) {
|
||||
try{
|
||||
$data->save();
|
||||
return \Redirect::route('getsmtp')->with('success', 'success');
|
||||
} else {
|
||||
return \Redirect::route('getsmtp')->with('fails', 'fails');
|
||||
} catch (Exception $e) {
|
||||
return \Redirect::route('getsmtp')->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,7 +343,11 @@ class SettingsController extends Controller {
|
||||
$pass = $request->input('password');
|
||||
$password = Crypt::encrypt($pass);
|
||||
$settings->password = $password;
|
||||
$settings->save();
|
||||
try{
|
||||
$settings->save();
|
||||
} catch(Exception $e) {
|
||||
return redirect()->back()->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
if (Input::file('logo')) {
|
||||
$name = Input::file('logo')->getClientOriginalName();
|
||||
$destinationPath = 'dist/logo';
|
||||
@@ -291,8 +356,12 @@ class SettingsController extends Controller {
|
||||
$settings->logo = $fileName;
|
||||
$settings->save();
|
||||
}
|
||||
$settings->fill($request->except('logo', 'password'))->save();
|
||||
return redirect()->back()->with('success', 'Settings updated Successfully');
|
||||
try {
|
||||
$settings->fill($request->except('logo', 'password'))->save();
|
||||
return redirect()->back()->with('success', 'Settings updated Successfully');
|
||||
} catch (Exception $e) {
|
||||
return redirect()->back()->with('fails', $e->errorInfo[2]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -300,9 +369,7 @@ class SettingsController extends Controller {
|
||||
* @return type
|
||||
*/
|
||||
public function version_check() {
|
||||
|
||||
$response_url = \URL::route('post-version-check');
|
||||
|
||||
echo "<form action='http://www.faveohelpdesk.com/bill/version' method='post' name='redirect'>";
|
||||
echo "<input type='hidden' name='_token' value='csrf_token()'/>";
|
||||
echo "<input type='hidden' name='title' value='helpdeskcommunityedition'/>";
|
||||
@@ -317,23 +384,20 @@ class SettingsController extends Controller {
|
||||
* @return type
|
||||
*/
|
||||
public function post_version_check(Request $request) {
|
||||
|
||||
$current_version = \Config::get('app.version');
|
||||
|
||||
$new_version = $request->value;
|
||||
|
||||
if ($current_version == $new_version) {
|
||||
// echo "No, new Updates";
|
||||
// echo "No, new Updates";
|
||||
return redirect()->route('checkupdate')->with('info', ' No, new Updates');
|
||||
} elseif ($current_version < $new_version) {
|
||||
$version = Version_Check::where('id', '=', '1')->first();
|
||||
$version->current_version = $current_version;
|
||||
$version->new_version = $new_version;
|
||||
$version->save();
|
||||
// echo "Version " . $new_version . " is Available";
|
||||
// echo "Version " . $new_version . " is Available";
|
||||
return redirect()->route('checkupdate')->with('info', ' Version ' . $new_version . ' is Available');
|
||||
} else {
|
||||
// echo "Error Checking Version";
|
||||
// echo "Error Checking Version";
|
||||
return redirect()->route('checkupdate')->with('info', ' Error Checking Version');
|
||||
}
|
||||
}
|
||||
@@ -348,8 +412,6 @@ class SettingsController extends Controller {
|
||||
|
||||
public function GetPlugin() {
|
||||
$plugins = $this->fetchConfig();
|
||||
//dd($plugins);
|
||||
|
||||
|
||||
return \Datatable::collection(new Collection($plugins))
|
||||
->searchColumns('name')
|
||||
@@ -420,14 +482,11 @@ class SettingsController extends Controller {
|
||||
*/
|
||||
public function PostPlugins(Request $request) {
|
||||
$v = $this->validate($request, ['plugin' => 'required|mimes:application/zip,zip,Zip']);
|
||||
|
||||
$plug = new Plugin();
|
||||
$file = $request->file('plugin');
|
||||
//dd($file);
|
||||
$destination = app_path() . '/Plugins';
|
||||
$zipfile = $file->getRealPath();
|
||||
|
||||
|
||||
/**
|
||||
* get the file name and remove .zip
|
||||
*/
|
||||
@@ -498,28 +557,23 @@ class SettingsController extends Controller {
|
||||
if (!file_exists($dir)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!is_dir($dir)) {
|
||||
return unlink($dir);
|
||||
}
|
||||
|
||||
foreach (scandir($dir) as $item) {
|
||||
if ($item == '.' || $item == '..') {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!$this->deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return rmdir($dir);
|
||||
}
|
||||
|
||||
public function ReadConfigs() {
|
||||
$dir = app_path() . '/Plugins/';
|
||||
$files = array_diff(scandir($dir), array('.', '..', 'ServiceProvider.php'));
|
||||
|
||||
$plugins = array();
|
||||
if ($files) {
|
||||
foreach ($files as $key => $file) {
|
||||
@@ -528,13 +582,10 @@ class SettingsController extends Controller {
|
||||
$plugins[$key]['file'] = $plugin;
|
||||
}
|
||||
foreach ($plugins as $plugin) {
|
||||
|
||||
$dir = $plugin['file'];
|
||||
//opendir($dir);
|
||||
if ($dh = opendir($dir)) {
|
||||
|
||||
while (($file = readdir($dh)) !== false) {
|
||||
|
||||
if ($file == 'config.php') {
|
||||
$config[] = $dir . '/' . $file;
|
||||
}
|
||||
@@ -542,7 +593,6 @@ class SettingsController extends Controller {
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
|
||||
return $config;
|
||||
} else {
|
||||
return 'null';
|
||||
@@ -562,9 +612,7 @@ class SettingsController extends Controller {
|
||||
$fields[$key]['path'] = $plug[$key]['path'];
|
||||
$fields[$key]['status'] = $plug[$key]['status'];
|
||||
}
|
||||
//dd($fields);
|
||||
}
|
||||
|
||||
return $fields;
|
||||
} else {
|
||||
return array();
|
||||
@@ -572,21 +620,16 @@ class SettingsController extends Controller {
|
||||
}
|
||||
|
||||
public function DeletePlugin($slug) {
|
||||
|
||||
$dir = app_path() . '/Plugins/' . $slug;
|
||||
$this->deleteDirectory($dir);
|
||||
|
||||
/**
|
||||
* remove service provider from app.php
|
||||
*/
|
||||
$str = "'App\\Plugins\\$slug" . "\\ServiceProvider',";
|
||||
$path_to_file = base_path() . '/config/app.php';
|
||||
|
||||
$file_contents = file_get_contents($path_to_file);
|
||||
$file_contents = str_replace($str, "//", $file_contents);
|
||||
file_put_contents($path_to_file, $file_contents);
|
||||
|
||||
|
||||
$plugin = new Plugin();
|
||||
$plugin = $plugin->where('path', $slug)->first();
|
||||
$plugin->delete();
|
||||
|
@@ -1,12 +1,16 @@
|
||||
<?php namespace App\Http\Controllers\Installer\helpdesk;
|
||||
|
||||
// controllers
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
// requests
|
||||
use App\Http\Requests\helpdesk\InstallerRequest;
|
||||
|
||||
// models
|
||||
use App\User;
|
||||
use App\Model\helpdesk\Settings\System;
|
||||
use App\Model\helpdesk\Form\Form_details;
|
||||
|
||||
// classes
|
||||
use App;
|
||||
use Artisan;
|
||||
@@ -17,6 +21,7 @@ use Input;
|
||||
use Redirect;
|
||||
use Session;
|
||||
use View;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* |=======================================================================
|
||||
@@ -38,9 +43,11 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function licence() {
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Session::get('step5') == 'step5') {
|
||||
return Redirect::route('account');
|
||||
}
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Config::get('database.install') == '%0%') {
|
||||
return view('themes/default1/installer/helpdesk/view1');
|
||||
} else {
|
||||
@@ -54,6 +61,7 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function licencecheck() {
|
||||
// checking if the user have accepted the licence agreement
|
||||
$accept = (Input::has('accept1')) ? true : false;
|
||||
if ($accept == 'accept') {
|
||||
Session::put('step1', 'step1');
|
||||
@@ -72,9 +80,11 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function prerequisites() {
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Session::get('step5') == 'step5') {
|
||||
return Redirect::route('account');
|
||||
}
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Config::get('database.install') == '%0%') {
|
||||
if (Session::get('step1') == 'step1') {
|
||||
return View::make('themes/default1/installer/helpdesk/view2');
|
||||
@@ -102,9 +112,11 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function localization() {
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Session::get('step5') == 'step5') {
|
||||
return Redirect::route('account');
|
||||
}
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Config::get('database.install') == '%0%') {
|
||||
if (Session::get('step2') == 'step2') {
|
||||
return View::make('themes/default1/installer/helpdesk/view3');
|
||||
@@ -139,9 +151,11 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function configuration() {
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Session::get('step5') == 'step5') {
|
||||
return Redirect::route('account');
|
||||
}
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Config::get('database.install') == '%0%') {
|
||||
if (Session::get('step2') == 'step2') {
|
||||
return View::make('themes/default1/installer/helpdesk/view3');
|
||||
@@ -211,6 +225,7 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function database() {
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Config::get('database.install') == '%0%') {
|
||||
if (Session::get('step4') == 'step4') {
|
||||
return View::make('themes/default1/installer/helpdesk/view4');
|
||||
@@ -228,6 +243,7 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function account() {
|
||||
// checking if the installation is running for the first time or not
|
||||
if (Config::get('database.install') == '%0%') {
|
||||
if (Session::get('step4') == 'step4') {
|
||||
Session::put('step5', 'step5');
|
||||
@@ -267,53 +283,24 @@ class InstallController extends Controller {
|
||||
$date = $request->input('date');
|
||||
$datetime = $request->input('datetime');
|
||||
|
||||
$system = System::where('id','=','1')->first();
|
||||
$system->time_zone = $timezone;
|
||||
$system->date_time_format = $datetime;
|
||||
$system->save();
|
||||
|
||||
$form1 = new Form_details;
|
||||
$form1->label = 'Name';
|
||||
$form1->type = 'text';
|
||||
$form1->form_name_id = '1';
|
||||
$form1->save();
|
||||
|
||||
$form2 = new Form_details;
|
||||
$form2->label = 'Phone';
|
||||
$form2->type = 'number';
|
||||
$form2->form_name_id = '1';
|
||||
$form2->save();
|
||||
|
||||
$form3 = new Form_details;
|
||||
$form3->label = 'Email';
|
||||
$form3->type = 'text';
|
||||
$form3->form_name_id = '1';
|
||||
$form3->save();
|
||||
|
||||
$form4 = new Form_details;
|
||||
$form4->label = 'Subject';
|
||||
$form4->type = 'text';
|
||||
$form4->form_name_id = '1';
|
||||
$form4->save();
|
||||
|
||||
$form5 = new Form_details;
|
||||
$form5->label = 'Details';
|
||||
$form5->type = 'textarea';
|
||||
$form5->form_name_id = '1';
|
||||
$form5->save();
|
||||
// $system = System::where('id','=','1')->first();
|
||||
// $system->time_zone = $timezone;
|
||||
// $system->date_time_format = $datetime;
|
||||
// $system->save();
|
||||
|
||||
// creating an user
|
||||
$user = User::create(array(
|
||||
'first_name' => $firstname,
|
||||
'last_name' => $lastname,
|
||||
'email' => $email,
|
||||
'user_name' => $username,
|
||||
'password' => Hash::make($password),
|
||||
'assign_group' => 1,
|
||||
'primary_dpt' => 1,
|
||||
'active' => 1,
|
||||
'role' => 'admin',
|
||||
'assign_group' => 'group A',
|
||||
'primary_dpt' => 'support',
|
||||
));
|
||||
|
||||
// checking if the user have been created
|
||||
if ($user) {
|
||||
Session::put('step6', 'step6');
|
||||
return Redirect::route('final');
|
||||
@@ -326,19 +313,19 @@ class InstallController extends Controller {
|
||||
* @return type view
|
||||
*/
|
||||
public function finalize() {
|
||||
// checking if the installation have been completed or not
|
||||
if (Session::get('step6') == 'step6') {
|
||||
$value = '1';
|
||||
$install = app_path('../config/database.php');
|
||||
$datacontent = File::get($install);
|
||||
$datacontent = str_replace('%0%', $value, $datacontent);
|
||||
File::put($install, $datacontent);
|
||||
|
||||
// setting email settings in route
|
||||
$smtpfilepath = "\App\Http\Controllers\Common\SettingsController::smtp()";
|
||||
$path22 = app_path('Http/routes.php');
|
||||
$content23 = File::get($path22);
|
||||
$content23 = str_replace('"%smtplink%"', $smtpfilepath, $content23);
|
||||
File::put($path22, $content23);
|
||||
|
||||
try {
|
||||
return View::make('themes/default1/installer/helpdesk/view6');
|
||||
} catch (Exception $e) {
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
namespace App\Http\Middleware;
|
||||
<?php namespace App\Http\Middleware;
|
||||
use Closure;
|
||||
|
||||
/**
|
||||
|
@@ -29,7 +29,7 @@ class AgentRequest extends Request {
|
||||
'first_name' => 'required',
|
||||
'last_name' => 'required',
|
||||
'email' => 'required',
|
||||
'account_type' => 'required',
|
||||
'active' => 'required',
|
||||
// 'account_status' => 'required',
|
||||
'assign_group' => 'required',
|
||||
'primary_dpt' => 'required',
|
||||
|
@@ -28,7 +28,7 @@ class AgentUpdate extends Request {
|
||||
'first_name' => 'required',
|
||||
'last_name' => 'required',
|
||||
'email' => 'required|email',
|
||||
'account_type' => 'required',
|
||||
'active' => 'required',
|
||||
'role' => 'required',
|
||||
'assign_group' => 'required',
|
||||
'primary_dpt' => 'required',
|
||||
|
@@ -25,7 +25,7 @@ class BanRequest extends Request {
|
||||
*/
|
||||
public function rules() {
|
||||
return [
|
||||
'email' => 'required|email|unique:users',
|
||||
'email' => 'required|email',
|
||||
'ban' => 'required',
|
||||
];
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ class EmailsEditRequest extends Request {
|
||||
'help_topic' => 'required',
|
||||
// 'imap_config' => 'required',
|
||||
'password' => 'required|min:6',
|
||||
'user_name' => 'required',
|
||||
// 'user_name' => 'required',
|
||||
// 'sending_host' => 'required',
|
||||
// 'sending_port' => 'required',
|
||||
//'mailbox_protocol' => 'required'
|
||||
|
@@ -32,7 +32,7 @@ class EmailsRequest extends Request {
|
||||
'help_topic' => 'required',
|
||||
// 'imap_config' => 'required',
|
||||
'password' => 'required|min:6',
|
||||
'user_name' => 'required',
|
||||
// 'user_name' => 'required',
|
||||
// 'sending_host' => 'required',
|
||||
// 'sending_port' => 'required',
|
||||
'fetching_host' => 'required',
|
||||
|
@@ -25,7 +25,7 @@ class LoginRequest extends Request {
|
||||
*/
|
||||
public function rules() {
|
||||
return [
|
||||
'email' => 'required|email',
|
||||
'email' => 'required',
|
||||
'password' => 'required|min:6',
|
||||
];
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@ class ArticleRequest extends Request {
|
||||
public function rules() {
|
||||
return [
|
||||
'name' => 'required',
|
||||
'slug' => 'required|unique:article',
|
||||
'slug' => 'required|unique:kb_article',
|
||||
'description' => 'required',
|
||||
'category_id' => 'required',
|
||||
];
|
||||
|
@@ -21,7 +21,7 @@ class CategoryRequest extends Request {
|
||||
public function rules() {
|
||||
return [
|
||||
'name' => 'required',
|
||||
'slug' => 'required|unique:category',
|
||||
'slug' => 'required|unique:kb_category',
|
||||
'description' => 'required',
|
||||
|
||||
];
|
||||
|
@@ -21,7 +21,7 @@ class PageRequest extends Request {
|
||||
public function rules() {
|
||||
return [
|
||||
'name' => 'required',
|
||||
'slug' => 'required|unique:pages',
|
||||
'slug' => 'required|unique:kb_pages',
|
||||
//'description' => 'required',
|
||||
|
||||
];
|
||||
|
@@ -111,22 +111,18 @@ Route::group(['middleware' => 'roles', 'middleware' => 'auth'], function () {
|
||||
|
||||
Route::patch('admin-profile-password', 'Admin\helpdesk\ProfileController@postProfilePassword');/* Admin Profile Password Post */
|
||||
|
||||
Route::get('create-footer', 'Common\SettingsController@CreateFooter');/* get the create footer page for admin */
|
||||
Route::get('widgets', 'Common\SettingsController@widgets');/* get the create footer page for admin */
|
||||
|
||||
Route::get('list-widget', 'Common\SettingsController@list_widget');/* get the list widget page for admin */
|
||||
|
||||
Route::post('edit-widget/{id}', 'Common\SettingsController@edit_widget');/* get the create footer page for admin */
|
||||
|
||||
Route::get('social-buttons', 'Common\SettingsController@social_buttons');/* get the create footer page for admin */
|
||||
|
||||
Route::get('list-social-buttons', 'Common\SettingsController@list_social_buttons');/* get the list widget page for admin */
|
||||
|
||||
Route::post('edit-widget/{id}', 'Common\SettingsController@edit_social_buttons');/* get the create footer page for admin */
|
||||
|
||||
Route::patch('post-create-footer/{id}', 'Common\SettingsController@PostFooter');/* post footer to insert to database */
|
||||
|
||||
Route::get('create-footer2', 'Common\SettingsController@CreateFooter2');/* get the create footer page for admin */
|
||||
|
||||
Route::patch('post-create-footer2/{id}', 'Common\SettingsController@PostFooter2'); /* post footer to insert to database */
|
||||
|
||||
Route::get('create-footer3', 'Common\SettingsController@CreateFooter3'); /* get the create footer page for admin */
|
||||
|
||||
Route::patch('post-create-footer3/{id}', 'Common\SettingsController@PostFooter3'); /* post footer to insert to database */
|
||||
|
||||
Route::get('create-footer4', 'Common\SettingsController@CreateFooter4'); /* get the create footer page for admin */
|
||||
|
||||
Route::patch('post-create-footer4/{id}', 'Common\SettingsController@PostFooter4'); /* post footer to insert to database */
|
||||
|
||||
Route::get('getsmtp',['as'=>'getsmtp','uses'=>'Common\SettingsController@getsmtp']); /* get the create footer page for admin */
|
||||
|
||||
Route::patch('post-smtp',['as'=>'post_smtp','uses'=>'Common\SettingsController@postsmtp']); /* post footer to insert to database */
|
||||
@@ -151,9 +147,6 @@ Route::group(['middleware' => 'roles', 'middleware' => 'auth'], function () {
|
||||
|
||||
Route::get('plugin/status/{slug}', array('as'=>'status.plugin', 'uses'=>'Common\SettingsController@StatusPlugin'));
|
||||
|
||||
|
||||
|
||||
|
||||
//Routes for showing language table and switching language
|
||||
Route::get('languages',['as'=>'LanguageController','uses'=>'Admin\helpdesk\LanguageController@index']);
|
||||
|
||||
@@ -183,11 +176,15 @@ Route::group(['middleware' => 'roles', 'middleware' => 'auth'], function () {
|
||||
*/
|
||||
Route::group(['middleware' => 'role.agent', 'middleware' => 'auth'], function () {
|
||||
|
||||
Route::get('agen1', 'Agent\helpdesk\DashboardController@ChartData');
|
||||
|
||||
Route::post('chart-range', ['as' => 'post.chart', 'uses' => 'Agent\helpdesk\DashboardController@ChartData']);
|
||||
|
||||
Route::resource('user', 'Agent\helpdesk\UserController'); /* User router is used to control the CRUD of user */
|
||||
|
||||
Route::get('user-list', ['as' => 'user.list' , 'uses' => 'Agent\helpdesk\UserController@user_list']);
|
||||
|
||||
Route::get('user/delete/{id}', ['as' => 'user.delete' , 'uses' => 'Agent\helpdesk\UserController@destroy']);
|
||||
// Route::get('user/delete/{id}', ['as' => 'user.delete' , 'uses' => 'Agent\helpdesk\UserController@destroy']);
|
||||
|
||||
Route::resource('organizations', 'Agent\helpdesk\OrganizationController'); /* organization router used to deal CRUD function of organization */
|
||||
|
||||
@@ -223,18 +220,30 @@ Route::group(['middleware' => 'role.agent', 'middleware' => 'auth'], function ()
|
||||
|
||||
Route::get('/ticket/inbox', ['as' => 'inbox.ticket', 'uses' => 'Agent\helpdesk\TicketController@inbox_ticket_list']); /* Get Inbox Ticket */
|
||||
|
||||
Route::get('/ticket/get-inbox', ['as' => 'get.inbox.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_inbox']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('/ticket/open', ['as' => 'open.ticket', 'uses' => 'Agent\helpdesk\TicketController@open_ticket_list']); /* Get Open Ticket */
|
||||
|
||||
Route::get('/ticket/get-open', ['as' => 'get.open.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_open']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('/ticket/answered', ['as' => 'answered.ticket', 'uses' => 'Agent\helpdesk\TicketController@answered_ticket_list']); /* Get Answered Ticket */
|
||||
|
||||
Route::get('/ticket/get-answered', ['as' => 'get.answered.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_answered']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('/ticket/myticket', ['as' => 'myticket.ticket', 'uses' => 'Agent\helpdesk\TicketController@myticket_ticket_list']); /* Get Tickets Assigned to logged user */
|
||||
|
||||
Route::get('/ticket/get-myticket', ['as' => 'get.myticket.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_myticket']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('/ticket/overdue', ['as' => 'overdue.ticket', 'uses' => 'Agent\helpdesk\TicketController@overdue_ticket_list']); /* Get Overdue Ticket */
|
||||
|
||||
Route::get('/ticket/closed', ['as' => 'closed.ticket', 'uses' => 'Agent\helpdesk\TicketController@closed_ticket_list']); /* Get Closed Ticket */
|
||||
|
||||
Route::get('/ticket/get-closed', ['as' => 'get.closed.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_closed']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('/ticket/assigned', ['as' => 'assigned.ticket', 'uses' => 'Agent\helpdesk\TicketController@assigned_ticket_list']); /* Get Assigned Ticket */
|
||||
|
||||
Route::get('/ticket/get-assigned', ['as' => 'get.assigned.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_assigned']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('/newticket', ['as' => 'newticket', 'uses' => 'Agent\helpdesk\TicketController@newticket']); /* Get Create New Ticket */
|
||||
|
||||
Route::post('/newticket/post', ['as' => 'post.newticket', 'uses' => 'Agent\helpdesk\TicketController@post_newticket']); /* Post Create New Ticket */
|
||||
@@ -267,8 +276,12 @@ Route::group(['middleware' => 'role.agent', 'middleware' => 'auth'], function ()
|
||||
|
||||
Route::get('trash', 'Agent\helpdesk\TicketController@trash'); /* To show Deleted Tickets */
|
||||
|
||||
Route::get('/ticket/trash', ['as' => 'get.trash.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_trash']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('unassigned', 'Agent\helpdesk\TicketController@unassigned'); /* To show Unassigned Tickets */
|
||||
|
||||
Route::get('/ticket/unassigned', ['as' => 'get.unassigned.ticket', 'uses' => 'Agent\helpdesk\TicketController@get_unassigned']); /* Get tickets in datatable */
|
||||
|
||||
Route::get('dashboard', 'Agent\helpdesk\DashboardController@index'); /* To show dashboard pages */
|
||||
|
||||
Route::get('agen', 'Agent\helpdesk\DashboardController@ChartData');
|
||||
@@ -489,14 +502,6 @@ $router->get('article/delete/{id}', 'Agent\kb\ArticleController@destroy');
|
||||
$router->get('kb/settings', ['as'=>'settings' , 'uses'=> 'Agent\kb\SettingsController@settings']);
|
||||
/* post settings */
|
||||
$router->patch('postsettings/{id}', 'Agent\kb\SettingsController@postSettings');
|
||||
/* get the create faq page */
|
||||
$router->get('create-faq',['as'=>'create-faq' , 'uses'=> 'Agent\kb\SettingsController@Faq'] );
|
||||
/* post faq */
|
||||
$router->patch('post-create-faq/{id}', 'Agent\kb\SettingsController@postfaq');
|
||||
/* get the create page for Social- link */
|
||||
$router->get('social',['as'=>'social' , 'uses'=> 'Agent\kb\SettingsController@CreateSocialLink']);
|
||||
/* post Social - link for insert to database */
|
||||
$router->patch('postsocial',['as'=>'post-create-social' , 'uses'=> 'Agent\kb\SettingsController@PostSocial']);
|
||||
//Route for administrater to access the comment
|
||||
$router->get('comment',['as'=>'comment' , 'uses'=> 'Agent\kb\SettingsController@comment']);
|
||||
/* Route to define the comment should Published */
|
||||
@@ -522,11 +527,6 @@ $router->get('get-categorys', ['as' => 'api.category', 'uses' => 'Agent\kb\Categ
|
||||
$router->get('get-comment', ['as' => 'api.comment', 'uses' => 'Agent\kb\SettingsController@getData']);
|
||||
$router->get('test', 'ArticleController@test');
|
||||
|
||||
$router->get('side1', 'Agent\kb\SettingsController@side1');
|
||||
$router->patch('side1/{id}', 'Agent\kb\SettingsController@postside1');
|
||||
|
||||
$router->get('side2', 'Agent\kb\SettingsController@side2');
|
||||
$router->patch('side2/{id}', 'Agent\kb\SettingsController@postside2');
|
||||
$router->post('image', 'Agent\kb\SettingsController@image');
|
||||
|
||||
$router->get('direct', function () {
|
||||
@@ -556,7 +556,7 @@ $router->get('category-list/{id}',['as'=>'categorylist' , 'uses'=>'Client\kb\Use
|
||||
/* get the home page */
|
||||
$router->get('knowledgebase',['as'=>'home' , 'uses'=> 'Client\kb\UserController@home']);
|
||||
/* get the faq value to user */
|
||||
$router->get('faq',['as'=>'faq' , 'uses'=>'Client\kb\UserController@Faq'] );
|
||||
// $router->get('faq',['as'=>'faq' , 'uses'=>'Client\kb\UserController@Faq'] );
|
||||
/* get the cantact page to user */
|
||||
$router->get('contact',['as'=>'contact' , 'uses'=> 'Client\kb\UserController@contact']);
|
||||
/* post the cantact page to controller */
|
||||
|
@@ -6,6 +6,6 @@ class Group_assign_department extends Model {
|
||||
|
||||
protected $table = 'group_assign_department';
|
||||
|
||||
protected $fillable = ['group_id','id','department_id'];
|
||||
protected $fillable = ['group_id','department_id'];
|
||||
|
||||
}
|
||||
|
@@ -8,7 +8,7 @@ class Groups extends Model
|
||||
protected $fillable = [
|
||||
'name', 'group_status', 'can_create_ticket', 'can_edit_ticket',
|
||||
'can_post_ticket', 'can_close_ticket', 'can_assign_ticket',
|
||||
'can_trasfer_ticket', 'can_delete_ticket', 'can_ban_email',
|
||||
'can_transfer_ticket', 'can_delete_ticket', 'can_ban_email',
|
||||
'can_manage_canned', 'can_manage_faq', 'can_view_agent_stats',
|
||||
'department_access', 'admin_notes'
|
||||
];
|
||||
|
@@ -4,7 +4,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Fields extends Model {
|
||||
|
||||
protected $table = 'fields';
|
||||
protected $table = 'custom_form_fields';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
@@ -12,4 +12,4 @@ class Fields extends Model {
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['forms_id','label','name', 'type', 'value','required'];
|
||||
}
|
||||
}
|
@@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Forms extends Model {
|
||||
|
||||
protected $table = 'forms';
|
||||
protected $table = 'custom_forms';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
|
@@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Alert extends Model {
|
||||
|
||||
/* Using alert_notice table */
|
||||
protected $table = 'alert_notice';
|
||||
protected $table = 'settings_alert_notice';
|
||||
/* Set fillable fields in table */
|
||||
protected $fillable = [
|
||||
|
||||
|
@@ -4,7 +4,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Company extends Model
|
||||
{
|
||||
protected $table = 'company';
|
||||
protected $table = 'settings_company';
|
||||
protected $fillable = [
|
||||
'company_name', 'website', 'phone', 'address', 'landing_page', 'offline_page',
|
||||
'thank_page', 'logo','use_logo'
|
||||
|
@@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Email extends Model {
|
||||
|
||||
/* Using Email table */
|
||||
protected $table = 'email';
|
||||
protected $table = 'settings_email';
|
||||
/* Set fillable fields in table */
|
||||
protected $fillable = [
|
||||
'id','template','sys_email','alert_email','admin_email','mta','email_fetching','strip',
|
||||
|
@@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Responder extends Model {
|
||||
|
||||
/* Using auto_response table */
|
||||
protected $table = 'auto_response';
|
||||
protected $table = 'settings_auto_response';
|
||||
/* Set fillable fields in table */
|
||||
protected $fillable = [
|
||||
|
||||
|
@@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class System extends Model {
|
||||
|
||||
/* Using System Table */
|
||||
protected $table = 'system';
|
||||
protected $table = 'settings_system';
|
||||
protected $fillable = [
|
||||
|
||||
'id','status','url','name','department','page_size','log_level','purge_log','name_format',
|
||||
|
@@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Ticket extends Model {
|
||||
|
||||
/* Using Ticket table */
|
||||
protected $table = 'ticket_settings';
|
||||
protected $table = 'settings_ticket';
|
||||
/* Set fillable fields in table */
|
||||
protected $fillable = [
|
||||
'id','num_format','num_sequence','priority','sla','help_topic','max_open_ticket','collision_avoid',
|
||||
|
11
app/Model/helpdesk/Theme/Widgets.php
Normal file
11
app/Model/helpdesk/Theme/Widgets.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php namespace App\Model\helpdesk\Theme;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Widgets extends Model {
|
||||
|
||||
protected $table = 'widgets';
|
||||
|
||||
protected $fillable = ['name', 'value','created_at','updated_at'];
|
||||
|
||||
}
|
@@ -2,10 +2,9 @@
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Tickets extends Model
|
||||
{
|
||||
class Tickets extends Model {
|
||||
|
||||
protected $table = 'tickets';
|
||||
protected $fillable = [
|
||||
'id','ticket_number','num_sequence','user_id','priority_id','sla','help_topic_id','max_open_ticket','collision_avoid','captcha','status','lock_by','lock_at','claim_response','assigned_ticket','answered_ticket','agent_mask','html','client_update','max_file_size','remember_token','reopened_at','duedate','closed_at','last_message_at','last_response_at','created_at','updated_at'
|
||||
];
|
||||
protected $fillable = ['id','ticket_number','num_sequence','user_id','priority_id','sla','help_topic_id','max_open_ticket','captcha','status','lock_by','lock_at','source','isoverdue','reopened','isanswered','is_deleted','closed','is_transfer','transfer_at','reopened_at','duedate','closed_at','last_message_at','last_response_at','created_at','updated_at'];
|
||||
|
||||
}
|
@@ -8,6 +8,6 @@ class MailboxProtocol extends Model {
|
||||
|
||||
protected $table = 'mailbox_protocol';
|
||||
|
||||
protected $fillable = ['id', 'name'];
|
||||
protected $fillable = ['id', 'name', 'value'];
|
||||
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ class Article extends Model {
|
||||
];
|
||||
|
||||
/* define the table name to get the properties of article model as protected */
|
||||
protected $table = 'article';
|
||||
protected $table = 'kb_article';
|
||||
/* define the fillable field in the table */
|
||||
protected $fillable = ['name', 'slug', 'description', 'type', 'status'];
|
||||
|
||||
|
@@ -4,7 +4,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Category extends Model {
|
||||
|
||||
protected $table = 'category';
|
||||
protected $table = 'kb_category';
|
||||
protected $fillable = ['id', 'slug', 'name', 'description', 'status', 'parent', 'created_at', 'updated_at'];
|
||||
|
||||
}
|
||||
|
@@ -8,7 +8,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
*/
|
||||
class Comment extends Model {
|
||||
|
||||
protected $table = 'comment';
|
||||
protected $table = 'kb_comment';
|
||||
protected $fillable = ['article_id', 'name', 'email', 'website', 'comment', 'status'];
|
||||
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Page extends Model {
|
||||
|
||||
protected $table = 'pages';
|
||||
protected $table = 'kb_pages';
|
||||
protected $fillable = ['name', 'slug', 'status', 'visibility', 'description'];
|
||||
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Relationship extends Model {
|
||||
|
||||
/* define the table */
|
||||
protected $table = 'article_relationship';
|
||||
protected $table = 'kb_article_relationship';
|
||||
/* define fillable fields */
|
||||
protected $fillable = ['id', 'category_id', 'article_id'];
|
||||
|
||||
|
@@ -9,7 +9,7 @@ class Settings extends Model {
|
||||
* @param $table, $fillable
|
||||
* @package default
|
||||
*/
|
||||
protected $table = 'settings';
|
||||
protected $table = 'kb_settings';
|
||||
protected $fillable = ['language', 'dateformat', 'company_name', 'website', 'phone', 'address', 'logo', 'timezone',
|
||||
'background', 'version', 'pagination', 'port', 'host', 'encryption', 'email', 'password'];
|
||||
|
||||
|
@@ -26,7 +26,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
|
||||
protected $fillable = ['user_name', 'email', 'password', 'active', 'first_name', 'last_name', 'ban', 'ext', 'mobile', 'profile_pic',
|
||||
'phone_number', 'company', 'agent_sign', 'account_type', 'account_status',
|
||||
'assign_group', 'primary_dpt', 'agent_tzone', 'daylight_save', 'limit_access',
|
||||
'directory_listing', 'vocation_mode', 'role', 'internal_note'];
|
||||
'directory_listing', 'vacation_mode', 'role', 'internal_note'];
|
||||
|
||||
/**
|
||||
* The attributes excluded from the model's JSON form.
|
||||
|
@@ -15,7 +15,8 @@
|
||||
"php-imap/php-imap": "~2.0",
|
||||
"neitanod/forceutf8": "dev-master",
|
||||
"nicolaslopezj/searchable": "1.*",
|
||||
"chumper/datatable": "dev-develop"
|
||||
"chumper/datatable": "dev-develop",
|
||||
"chumper/zipper": "0.6.x"
|
||||
|
||||
|
||||
},
|
||||
|
520
composer.lock
generated
520
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -38,7 +38,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'version' => 'COMMUNITY 1.0.4.1',
|
||||
'version' => 'Community 1.0.5',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateBanlistTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('banlist', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->boolean('ban_status');
|
||||
$table->string('email_address');
|
||||
$table->string('internal_notes');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('banlist');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateCannedResponseTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('canned_response', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->integer('user_id')->unsigned()->index('user_id');
|
||||
$table->string('title');
|
||||
$table->text('message', 65535);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('canned_response');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateCustomFormFieldsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('custom_form_fields', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->integer('forms_id');
|
||||
$table->string('label');
|
||||
$table->string('name');
|
||||
$table->string('type');
|
||||
$table->string('value');
|
||||
$table->string('required');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('custom_form_fields');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateCustomFormsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('custom_forms', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('formname');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('custom_forms');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateDateFormatTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('date_format', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('format');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('date_format');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateDateTimeFormatTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('date_time_format', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('format');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('date_time_format');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateDepartmentTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('department', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('type');
|
||||
$table->integer('sla')->unsigned()->nullable()->index('sla');
|
||||
$table->integer('manager')->unsigned()->nullable()->index('manager_2');
|
||||
$table->string('ticket_assignment');
|
||||
$table->string('outgoing_email');
|
||||
$table->string('template_set');
|
||||
$table->string('auto_ticket_response');
|
||||
$table->string('auto_message_response');
|
||||
$table->string('auto_response_email');
|
||||
$table->string('recipient');
|
||||
$table->string('group_access');
|
||||
$table->string('department_sign');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('department');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateEmailsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('emails', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('email_address');
|
||||
$table->string('email_name');
|
||||
$table->integer('department')->unsigned()->nullable();
|
||||
$table->integer('priority')->unsigned()->nullable()->index('priority');
|
||||
$table->integer('help_topic')->unsigned()->nullable()->index('help_topic');
|
||||
$table->string('user_name');
|
||||
$table->string('password');
|
||||
$table->string('fetching_host');
|
||||
$table->string('fetching_port');
|
||||
$table->string('mailbox_protocol');
|
||||
$table->string('imap_config');
|
||||
$table->string('folder');
|
||||
$table->string('sending_host');
|
||||
$table->string('sending_port');
|
||||
$table->string('internal_notes');
|
||||
$table->boolean('auto_response');
|
||||
$table->boolean('fetching_status');
|
||||
$table->boolean('move_to_folder');
|
||||
$table->boolean('delete_email');
|
||||
$table->boolean('do_nothing');
|
||||
$table->boolean('sending_status');
|
||||
$table->boolean('authentication');
|
||||
$table->boolean('header_spoofing');
|
||||
$table->timestamps();
|
||||
$table->index(['department','priority','help_topic'], 'department');
|
||||
$table->index(['department','priority','help_topic'], 'department_2');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('emails');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateGroupAssignDepartmentTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('group_assign_department', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->integer('group_id')->unsigned()->index('group_id');
|
||||
$table->integer('department_id')->unsigned()->index('department_id');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('group_assign_department');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateGroupsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('groups', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->boolean('group_status');
|
||||
$table->boolean('can_create_ticket');
|
||||
$table->boolean('can_edit_ticket');
|
||||
$table->boolean('can_post_ticket');
|
||||
$table->boolean('can_close_ticket');
|
||||
$table->boolean('can_assign_ticket');
|
||||
$table->boolean('can_transfer_ticket');
|
||||
$table->boolean('can_delete_ticket');
|
||||
$table->boolean('can_ban_email');
|
||||
$table->boolean('can_manage_canned');
|
||||
$table->boolean('can_manage_faq');
|
||||
$table->boolean('can_view_agent_stats');
|
||||
$table->boolean('department_access');
|
||||
$table->string('admin_notes');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('groups');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateHelpTopicTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('help_topic', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('topic');
|
||||
$table->string('parent_topic');
|
||||
$table->integer('custom_form')->unsigned()->nullable()->index('custom_form');
|
||||
$table->integer('department')->unsigned()->nullable()->index('department');
|
||||
$table->integer('ticket_status')->unsigned()->nullable()->index('ticket_status');
|
||||
$table->integer('priority')->unsigned()->nullable()->index('priority');
|
||||
$table->integer('sla_plan')->unsigned()->nullable()->index('sla_plan');
|
||||
$table->string('thank_page');
|
||||
$table->string('ticket_num_format');
|
||||
$table->string('internal_notes');
|
||||
$table->boolean('status');
|
||||
$table->boolean('type');
|
||||
$table->integer('auto_assign')->unsigned()->nullable()->index('auto_assign_2');
|
||||
$table->boolean('auto_response');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('help_topic');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateKbArticleRelationshipTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('kb_article_relationship', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->integer('article_id')->unsigned()->index('article_relationship_article_id_foreign');
|
||||
$table->integer('category_id')->unsigned()->index('article_relationship_category_id_foreign');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('kb_article_relationship');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateKbArticleTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('kb_article', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('slug');
|
||||
$table->text('description', 65535);
|
||||
$table->boolean('status');
|
||||
$table->boolean('type');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('kb_article');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateKbCategoryTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('kb_category', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('slug');
|
||||
$table->text('description', 65535);
|
||||
$table->boolean('status');
|
||||
$table->integer('parent');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('kb_category');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateKbCommentTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('kb_comment', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->integer('article_id')->unsigned()->index('comment_article_id_foreign');
|
||||
$table->string('name');
|
||||
$table->string('email');
|
||||
$table->string('website');
|
||||
$table->string('comment');
|
||||
$table->boolean('status');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('kb_comment');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateKbPagesTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('kb_pages', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->boolean('status');
|
||||
$table->boolean('visibility');
|
||||
$table->string('slug');
|
||||
$table->text('description', 65535);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('kb_pages');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateKbSettingsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('kb_settings', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->integer('pagination');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('kb_settings');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateLanguagesTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('languages', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('locale');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('languages');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateLogNotificationTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('log_notification', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('log');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('log_notification');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateMailboxProtocolTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('mailbox_protocol', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('value', 50)->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('mailbox_protocol');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateOrganizationTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('organization', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('phone');
|
||||
$table->string('website');
|
||||
$table->string('address');
|
||||
$table->integer('head')->unsigned()->nullable()->index('head');
|
||||
$table->string('internal_notes');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('organization');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreatePasswordResetsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('password_resets', function(Blueprint $table)
|
||||
{
|
||||
$table->string('email')->index();
|
||||
$table->string('token')->index();
|
||||
$table->dateTime('created_at')->default('0000-00-00 00:00:00');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('password_resets');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreatePluginsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('plugins', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('path');
|
||||
$table->integer('status');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('plugins');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateSendMailTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('send_mail', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('driver');
|
||||
$table->string('host');
|
||||
$table->string('port');
|
||||
$table->string('encryption');
|
||||
$table->string('name');
|
||||
$table->string('email');
|
||||
$table->string('password');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('send_mail');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateSettingsAlertNoticeTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('settings_alert_notice', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->boolean('ticket_status');
|
||||
$table->boolean('ticket_admin_email');
|
||||
$table->boolean('ticket_department_manager');
|
||||
$table->boolean('ticket_department_member');
|
||||
$table->boolean('ticket_organization_accmanager');
|
||||
$table->boolean('message_status');
|
||||
$table->boolean('message_last_responder');
|
||||
$table->boolean('message_assigned_agent');
|
||||
$table->boolean('message_department_manager');
|
||||
$table->boolean('message_organization_accmanager');
|
||||
$table->boolean('internal_status');
|
||||
$table->boolean('internal_last_responder');
|
||||
$table->boolean('internal_assigned_agent');
|
||||
$table->boolean('internal_department_manager');
|
||||
$table->boolean('assignment_status');
|
||||
$table->boolean('assignment_assigned_agent');
|
||||
$table->boolean('assignment_team_leader');
|
||||
$table->boolean('assignment_team_member');
|
||||
$table->boolean('transfer_status');
|
||||
$table->boolean('transfer_assigned_agent');
|
||||
$table->boolean('transfer_department_manager');
|
||||
$table->boolean('transfer_department_member');
|
||||
$table->boolean('overdue_status');
|
||||
$table->boolean('overdue_assigned_agent');
|
||||
$table->boolean('overdue_department_manager');
|
||||
$table->boolean('overdue_department_member');
|
||||
$table->boolean('system_error');
|
||||
$table->boolean('sql_error');
|
||||
$table->boolean('excessive_failure');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('settings_alert_notice');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
|
||||
class CreateSettingsAutoResponseTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('settings_auto_response', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->boolean('new_ticket');
|
||||
$table->boolean('agent_new_ticket');
|
||||
$table->boolean('submitter');
|
||||
$table->boolean('participants');
|
||||
$table->boolean('overlimit');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('settings_auto_response');
|
||||
}
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user