update 1.0.8.0

Commits for version update
This commit is contained in:
Manish Verma
2016-10-17 12:02:27 +05:30
parent dec927987b
commit 76e85db070
9674 changed files with 495757 additions and 58922 deletions

View File

@@ -15,10 +15,13 @@ class CreateTicketPriorityTable extends Migration
Schema::create('ticket_priority', function (Blueprint $table) {
$table->increments('priority_id');
$table->string('priority');
$table->string('status');
$table->string('priority_desc');
$table->string('priority_color');
$table->boolean('priority_urgency');
$table->boolean('ispublic');
$table->string('is_default');
$table->timestamps();
});
}

View File

@@ -27,6 +27,7 @@ class CreateTicketThreadTable extends Migration
$table->string('ip_address');
$table->timestamps();
});
\DB::statement('ALTER TABLE `ticket_thread` MODIFY `body` LONGBLOB');
}
/**

View File

@@ -43,6 +43,8 @@ class CreateTicketsTable extends Migration
$table->dateTime('closed_at')->nullable();
$table->dateTime('last_message_at')->nullable();
$table->dateTime('last_response_at')->nullable();
$table->integer('approval');
$table->integer('follow_up');
$table->timestamps();
});
}

View File

@@ -18,14 +18,14 @@ class CreateUsersTable extends Migration
$table->string('first_name');
$table->string('last_name');
$table->boolean('gender');
$table->string('email')->unique();
$table->string('email')->nullable()->unique();
$table->boolean('ban');
$table->string('password', 60);
$table->integer('active');
$table->string('ext');
$table->integer('country_code');
$table->string('phone_number');
$table->string('mobile');
$table->string('mobile')->nullable()->unique();
$table->text('agent_sign', 65535);
$table->string('account_type');
$table->string('account_status');

View File

@@ -20,7 +20,9 @@ class Version1079table extends Migration
DB::table('common_settings')
->insert(
['option_name' => 'enable_rtl', 'option_value' => ''],
['option_name' => 'user_set_ticket_status', 'status' => 1]
['option_name' => 'user_set_ticket_status', 'status' => 1],
['option_name' => 'send_otp', 'status' => 0],
['option_name' => 'email_mandatory', 'status' => 1]
);
}
}

View File

@@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateJobsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('jobs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('queue');
$table->longText('payload');
$table->tinyInteger('attempts')->unsigned();
$table->tinyInteger('reserved')->unsigned();
$table->unsignedInteger('reserved_at')->nullable();
$table->unsignedInteger('available_at');
$table->unsignedInteger('created_at');
$table->index(['queue', 'reserved', 'reserved_at']);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('jobs');
}
}

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateFailedJobsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('failed_jobs', function (Blueprint $table) {
$table->increments('id');
$table->text('connection');
$table->text('queue');
$table->longText('payload');
$table->timestamp('failed_at')->useCurrent();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('failed_jobs');
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateFieldValuesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('field_values', function (Blueprint $table) {
$table->increments('id');
$table->integer('field_id')->nullable()->unsigned();
$table->foreign('field_id')->references('id')->on('custom_form_fields');
$table->integer('child_id')->nullable()->unsigned();
$table->string('field_key')->nullable();
$table->string('field_value')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('field_values');
}
}

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateFaveoMailsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('faveo_mails', function (Blueprint $table) {
$table->increments('id');
$table->integer('email_id');
$table->string('drive');
$table->string('key');
$table->string('value');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('faveo_mails');
}
}

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateFaveoQueuesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('faveo_queues', function (Blueprint $table) {
$table->increments('id');
$table->integer('service_id');
$table->string('key');
$table->string('value');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('faveo_queues');
}
}

View File

@@ -0,0 +1,42 @@
<?php
use App\Model\MailJob\MailService;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateMailServicesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('mail_services', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('short_name');
$table->timestamps();
});
$mail = new MailService();
$services = ['smtp' => 'SMTP', 'mail' => 'Php Mail', 'sendmail' => 'Send Mail', 'mailgun' => 'Mailgun', 'mandrill' => 'Mandrill', 'log' => 'Log file'];
foreach ($services as $key => $value) {
$mail->create([
'name' => $value,
'short_name' => $key,
]);
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('mail_services');
}
}

View File

@@ -0,0 +1,49 @@
<?php
use App\Model\MailJob\QueueService;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateQueueServicesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('queue_services', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('short_name');
$table->integer('status');
$table->timestamps();
});
$queue = new QueueService();
$services = ['sync' => 'Sync', 'database' => 'Database', 'beanstalkd' => 'Beanstalkd', 'sqs' => 'SQS', 'iron' => 'Iron', 'redis' => 'Redis'];
foreach ($services as $key => $value) {
$queue->create([
'name' => $value,
'short_name' => $key,
'status' => 0,
]);
}
$q = $queue->where('short_name', 'database')->first();
if ($q) {
$q->status = 1;
$q->save();
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('queue_services');
}
}

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateConditionsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('conditions', function (Blueprint $table) {
$table->increments('id');
$table->string('job');
$table->string('value');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('conditions');
}
}

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateSocialMediaTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('social_media', function (Blueprint $table) {
$table->increments('id');
$table->string('provider');
$table->string('key');
$table->string('value');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('social_media');
}
}

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateUserAdditionalInfosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('user_additional_infos', function (Blueprint $table) {
$table->increments('id');
$table->integer('owner');
$table->string('service');
$table->string('key');
$table->string('value')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('user_additional_infos');
}
}

View File

@@ -0,0 +1,51 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class AlterTicketSourceTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
if (!Schema::hasColumn('ticket_source', 'css_class')) {
Schema::table('ticket_source', function (Blueprint $table) {
$table->string('css_class');
});
}
DB::table('ticket_source')->delete();
$values = $this->values();
foreach ($values as $value) {
DB::table('ticket_source')->insert($value);
}
}
public function values()
{
return[
['name' => 'web', 'value' => 'Web', 'css_class' => 'fa fa-internet-explorer'],
['name' => 'email', 'value' => 'E-mail', 'css_class' => 'fa fa-envelope'],
['name' => 'agent', 'value' => 'Agent Panel', 'css_class' => 'fa fa-envelope'],
['name' => 'facebook', 'value' => 'Facebook', 'css_class' => 'fa fa-facebook'],
['name' => 'twitter', 'value' => 'Twitter', 'css_class' => 'fa fa-twitter'],
['name' => 'call', 'value' => 'Call', 'css_class' => 'fa fa-phone'],
['name' => 'chat', 'value' => 'Chat', 'css_class' => 'fa fa-comment'],
];
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('ticket_source', function (Blueprint $table) {
//
});
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateApprovalTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
Schema::create('approval', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('status');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::drop('approval');
}
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateFollowUpTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
Schema::create('followup', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('status');
$table->string('condition');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::drop('followup');
}
}

View File

@@ -11,9 +11,11 @@ use App\Model\helpdesk\Manage\Sla_plan;
use App\Model\helpdesk\Notification\NotificationType;
use App\Model\helpdesk\Ratings\Rating;
use App\Model\helpdesk\Settings\Alert;
use App\Model\helpdesk\Settings\Approval;
use App\Model\helpdesk\Settings\CommonSettings;
use App\Model\helpdesk\Settings\Company;
use App\Model\helpdesk\Settings\Email;
use App\Model\helpdesk\Settings\Followup;
use App\Model\helpdesk\Settings\Responder;
use App\Model\helpdesk\Settings\Security;
use App\Model\helpdesk\Settings\System;
@@ -34,7 +36,6 @@ use App\Model\helpdesk\Utility\Timezones;
use App\Model\helpdesk\Utility\Version_Check;
use App\Model\helpdesk\Workflow\WorkflowClose;
use App\Model\kb\Settings;
use App\Model\Update\BarNotification;
// Knowledge base
use Illuminate\Database\Seeder;
@@ -47,7 +48,7 @@ class DatabaseSeeder extends Seeder
*/
public function run()
{
BarNotification::create(['id' => '1']);
/* Date time format */
$date_time_formats = [
'd/m/Y H:i:s',
@@ -210,11 +211,21 @@ class DatabaseSeeder extends Seeder
Ticket_status::create(['name' => 'Closed', 'state' => 'closed', 'mode' => '3', 'message' => 'Ticket have been Closed by', 'flags' => '0', 'sort' => '3', 'properties' => 'Closed tickets. Tickets will still be accessible on client and staff panels.']);
Ticket_status::create(['name' => 'Archived', 'state' => 'archived', 'mode' => '3', 'message' => 'Ticket have been Archived by', 'flags' => '0', 'sort' => '4', 'properties' => 'Tickets only adminstratively available but no longer accessible on ticket queues and client panel.']);
Ticket_status::create(['name' => 'Deleted', 'state' => 'deleted', 'mode' => '3', 'message' => 'Ticket have been Deleted by', 'flags' => '0', 'sort' => '5', 'properties' => 'Tickets queued for deletion. Not accessible on ticket queues.']);
Ticket_status::create(['name' => 'Unverified', 'state' => 'unverified', 'mode' => '3', 'message' => 'User account verification required.', 'flags' => '0', 'sort' => '6', 'properties' => 'Ticket will be open after user verifies his/her account.']);
Ticket_status::create(['name' => 'Request Approval', 'state' => 'unverified', 'mode' => '3', 'message' => 'Approval requested by', 'flags' => '0', 'sort' => '7', 'properties' => 'Ticket will be approve after Admin verifies this ticket']);
/* Ticket priority */
Ticket_priority::create(['priority' => 'Low', 'priority_desc' => 'Low', 'priority_color' => 'info', 'priority_urgency' => '4', 'ispublic' => '1']);
Ticket_priority::create(['priority' => 'Normal', 'priority_desc' => 'Normal', 'priority_color' => 'info', 'priority_urgency' => '3', 'ispublic' => '1']);
Ticket_priority::create(['priority' => 'High', 'priority_desc' => 'High', 'priority_color' => 'warning', 'priority_urgency' => '2', 'ispublic' => '1']);
Ticket_priority::create(['priority' => 'Emergency', 'priority_desc' => 'Emergency', 'priority_color' => 'danger', 'priority_urgency' => '1', 'ispublic' => '1']);
Ticket_priority::create(['priority' => 'Low', 'status' => 1, 'priority_desc' => 'Low', 'priority_color' => '#80ff00', 'priority_urgency' => '4', 'ispublic' => '1']);
Ticket_priority::create(['priority' => 'Normal', 'status' => 1, 'priority_desc' => 'Normal', 'priority_color' => '#367FA9', 'priority_urgency' => '3', 'ispublic' => '1', 'is_default' => '1']);
Ticket_priority::create(['priority' => 'High', 'status' => 1, 'priority_desc' => 'High', 'priority_color' => '#ffff00', 'priority_urgency' => '2', 'ispublic' => '1']);
Ticket_priority::create(['priority' => 'Emergency', 'status' => 1, 'priority_desc' => 'Emergency', 'priority_color' => '#ff6666', 'priority_urgency' => '1', 'ispublic' => '1']);
/* Approval */
Approval::create(['name' => 'approval', 'status' => '0']);
/*Followup*/
Followup::create(['name' => 'followup']);
/* SLA Plans */
Sla_plan::create(['name' => 'Sla 1', 'grace_period' => '6 Hours', 'status' => '1']);
Sla_plan::create(['name' => 'Sla 2', 'grace_period' => '12 Hours', 'status' => '1']);
@@ -268,7 +279,7 @@ class DatabaseSeeder extends Seeder
Email::create(['id' => '1', 'template' => 'default', 'email_fetching' => '1', 'notification_cron' => '1', 'all_emails' => '1', 'email_collaborator' => '1', 'attachment' => '1']);
Responder::create(['id' => '1', 'new_ticket' => '1', 'agent_new_ticket' => '1']);
// System::create(array('id' => '1', 'status' => '1', 'department' => '1', 'date_time_format' => '1', 'time_zone' => '32'));
Ticket::create(['num_format' => '#ABCD 1234 1234567', 'num_sequence' => '0', 'collision_avoid' => '2', 'priority' => '1', 'sla' => '2', 'help_topic' => '1', 'status' => '1']);
Ticket::create(['num_format' => '$$$$-####-####', 'num_sequence' => 'sequence', 'collision_avoid' => '2', 'priority' => '1', 'sla' => '2', 'help_topic' => '1', 'status' => '1']);
/* Ticket source */
Ticket_source::create(['name' => 'web', 'value' => 'Web']);
Ticket_source::create(['name' => 'email', 'value' => 'E-mail']);
@@ -1977,7 +1988,7 @@ class DatabaseSeeder extends Seeder
Security::create(['id' => '1', 'lockout_message' => 'You have been locked out of application due to too many failed login attempts.', 'backlist_offender' => '0', 'backlist_threshold' => '15', 'lockout_period' => '15', 'days_to_keep_logs' => '0']);
Limit_Login::create(['id' => '1']);
TemplateSet::create(['id' => '1', 'name' => 'default', 'active' => '1']);
@@ -1992,6 +2003,9 @@ class DatabaseSeeder extends Seeder
TemplateType::create(['id' => '9', 'name' => 'ticket-reply']);
TemplateType::create(['id' => '10', 'name' => 'ticket-reply-agent']);
TemplateType::create(['id' => '11', 'name' => 'registration']);
TemplateType::create(['id' => '12', 'name' => 'team_assign_ticket']);
TemplateType::create(['id' => '13', 'name' => 'reset_new_password']);
Template::create(['id' => '1', 'variable' => '0', 'name' => 'This template is for sending notice to agent when ticket is assigned to them', 'type' => '1', 'message' => '<div>Hello {!!$ticket_agent_name!!},<br/><br/><b>Ticket No:</b> {!!$ticket_number!!}<br/>Has been assigned to you by {!!$ticket_assigner!!} <br/><br/>Thank You<br/>Kind Regards,<br/> {!!$system_from!!}</div>', 'set_id' => '1']);
Template::create(['id' => '2', 'variable' => '1', 'name' => 'This template is for sending notice to client with ticket link to check ticket without logging in to system', 'type' => '2', 'subject' => 'Check your Ticket', 'message' => '<div>Hello {!!$user!!},<br/><br/>Click the link below to view your requested ticket<br/> {!!$ticket_link_with_number!!}<br/><br/>Kind Regards,<br/> {!!$system_from!!}</div>', 'set_id' => '1']);
@@ -2004,6 +2018,9 @@ class DatabaseSeeder extends Seeder
Template::create(['id' => '9', 'variable' => '0', 'name' => 'This template is for sending notice to client when a reply made to his/her ticket', 'type' => '9', 'message' => '<span></span><div><span></span><p> {!!$content!!}<br/></p><p> {!!$agent_sign!!} </p><p><b>Ticket Details</b></p><p><b>Ticket ID:</b> {!!$ticket_number!!}</p></div>', 'set_id' => '1']);
Template::create(['id' => '10', 'variable' => '0', 'name' => 'This template is for sending notice to agent when ticket reply is made by client on a ticket', 'type' => '10', 'message' => '<div>Hello {!!$ticket_agent_name!!},<br/><b><br/></b>A reply been made to ticket {!!$ticket_number!!}<br/><b><br/></b><b>From<br/></b><b>Name: </b>{!!$ticket_client_name!!}<br/><b>E-mail: </b>{!!$ticket_client_email!!}<br/><b><br/></b> {!!$content!!}<br/><b><br/></b>Kind Regards,<br/> {!!$system_from!!}</div>', 'set_id' => '1']);
Template::create(['id' => '11', 'variable' => '1', 'name' => 'This template is for sending notice to client about registration confirmation link', 'type' => '11', 'subject' => 'Verify your email address', 'message' => '<p>Hello {!!$user!!}, </p><p>This email is confirmation that you are now registered at our helpdesk.</p><p><b>Registered Email:</b> {!!$email_address!!}</p><p>Please click on the below link to activate your account and Login to the system {!!$password_reset_link!!}</p><p>Thank You.</p><p>Kind Regards,</p><p> {!!$system_from!!} </p>', 'set_id' => '1']);
Template::create(['id' => '12', 'variable' => '1', 'name' => 'This template is for sending notice to team when ticket is assigned to team', 'type' => '12', 'message' => '<div>Hello {!!$ticket_agent_name!!},<br /><br /><b>Ticket No:</b> {!!$ticket_number!!}<br />Has been assigned to your team : {!!$team!!} by {!!$ticket_assigner!!} <br /><br />Thank You<br />Kind Regards,<br />{!!$system_from!!}</div>', 'set_id' => '1']);
Template::create(['id' => '13', 'variable' => '1', 'name' => 'This template is for sending notice to client when password is changed', 'type' => '13', 'subject' => 'Verify your email address', 'message' => 'Hello {!!$user!!},<br /><br />Your password is successfully changed.Your new password is : {!!$user_password!!}<br /><br />Thank You.<br /><br />Kind Regards,<br /> {!!$system_from!!}', 'set_id' => '1']);
/*
* All the common settings will be listed here
@@ -2011,11 +2028,17 @@ class DatabaseSeeder extends Seeder
CommonSettings::create(['id' => '1', 'option_name' => 'ticket_token_time_duration', 'option_value' => '1']);
CommonSettings::create(['id' => '2', 'option_name' => 'enable_rtl', 'option_value' => '']);
CommonSettings::create(['id' => '3', 'option_name' => 'user_set_ticket_status', 'status' => 1]);
CommonSettings::create(['id' => '4', 'option_name' => 'send_otp', 'status' => 0]);
CommonSettings::create(['id' => '5', 'option_name' => 'email_mandatory', 'status' => 1]);
CommonSettings::create(['id' => '6', 'option_name' => 'user_priority', 'status' => 0]);
/*
* Ratings
*/
Rating::create(['id' => '1', 'name' => 'OverAll Satisfaction', 'display_order' => '1', 'allow_modification' => '1', 'rating_scale' => '5', 'rating_area' => 'Helpdesk Area']);
Rating::create(['id' => '2', 'name' => 'Reply Rating', 'display_order' => '1', 'allow_modification' => '1', 'rating_scale' => '5', 'rating_area' => 'Comment Area']);
Limit_Login::create(['id' => '1']);
}
}