Plugin updates
Fixed plugin installation updates Updates language updates
This commit is contained in:
@@ -1049,4 +1049,79 @@ class SettingsController extends Controller
|
||||
|
||||
return $char;
|
||||
}
|
||||
|
||||
/**
|
||||
* @category function to return clean data view
|
||||
* @param null
|
||||
* @return respone/view
|
||||
*/
|
||||
public function getCleanUpView() {
|
||||
$system_check = CommonSettings::select('status')->where('option_name', '=', 'dummy_data_installation')->first();
|
||||
if ($system_check) {
|
||||
if ($system_check->status == 1 || $system_check->status == '1') {
|
||||
return View('themes.default1.admin.helpdesk.settings.cleandata');
|
||||
}
|
||||
}
|
||||
return redirect()->route('error404')->with('fails', Lang::get('lang.no-dummy-data'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @category function to clean dummy database and reseed tables with default options
|
||||
* @param null
|
||||
* @return
|
||||
* Very dangerous function should be call by admin only
|
||||
*/
|
||||
private function cleanDatabase() {
|
||||
try {
|
||||
$user = \App\User::select(
|
||||
'user_name', 'first_name', 'last_name', 'email', 'password', 'agent_tzone'
|
||||
)->where('id', '=', 1)->first();
|
||||
$system = System::where('id', '=', 1)->first();
|
||||
$tableNames = \Schema::getConnection()->getDoctrineSchemaManager()->listTableNames();
|
||||
foreach ($tableNames as $name) {
|
||||
//if you don't want to truncate migrations
|
||||
if ($name == 'migrations' ||
|
||||
$name == 'sd_attachment_types' ||
|
||||
$name == 'sd_change_priorities' ||
|
||||
$name == 'sd_change_status' ||
|
||||
$name == 'sd_change_types' ||
|
||||
$name == 'sd_release_priorities' ||
|
||||
$name == 'sd_release_status' ||
|
||||
$name == 'sd_release_types' ||
|
||||
$name == 'pro_serial_key') {
|
||||
continue;
|
||||
}
|
||||
DB::table($name)->truncate();
|
||||
}
|
||||
DB::commit();
|
||||
\Artisan::call('db:seed', ['--force' => true]);
|
||||
$user2 = \App\User::updateOrCreate(['id' => 1], [
|
||||
'first_name' => $user->first_name,
|
||||
'last_name' => $user->last_name,
|
||||
'email' => $user->email,
|
||||
'user_name' => $user->user_name,
|
||||
'password' => $user->password,
|
||||
'assign_group' => 1,
|
||||
'primary_dpt' => 1,
|
||||
'active' => 1,
|
||||
'agent_tzone' => $user->agent_tzone,
|
||||
'role' => 'admin',
|
||||
]);
|
||||
$system2 = System::find(1);
|
||||
$system2->time_zone = $system->time_zone;
|
||||
$system2->date_time_format = $system->date_time_format;
|
||||
$system2->save();
|
||||
|
||||
// updating business hours
|
||||
$bhours = BusinessHours::where('id', '=', 1)->first();
|
||||
$bhours->timezone = $system2->time_zone;
|
||||
$bhours->save();
|
||||
|
||||
$response = 'success';
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
$error = $e->getMessage();
|
||||
return $error;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -188,6 +188,7 @@ return [
|
||||
App\FaveoStorage\StorageServiceProvider::class,
|
||||
Yajra\Datatables\DatatablesServiceProvider::class,
|
||||
\App\Api\ApiServiceProvider::class,
|
||||
|
||||
],
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@@ -1617,4 +1617,21 @@ return [
|
||||
'system-mail-not-configured-agent-message' => 'System incoming and outgoing email settings are not configured. Please contct your system\'s admin and report the problem.',
|
||||
'ticket-assigned-successfully' => 'Selected tickets have been assigned sucessfully.',
|
||||
'canned_response_deleted' => 'Canned response deleted successfully',
|
||||
'no-dummy-data' => 'Your system is in production, we could not find dummy data installed in your system.',
|
||||
'dummy_data_installation_message' => 'You are using Faveo with dummy data, which should be used only for testing purpose. Your system will not fetch or send any mail as dummy data has minimal configuration settings. We recommend not to feed any live data in the system till you are testing the system. Once you are done with testing clear all dummy data and configure system settings to get started with the system.',
|
||||
'clear-dummy-data-agent-message' => 'Your Faveo system has been installed with dummy data which should be used only for testing purpose. Your system will not fetch or send any mail as dummy data has minimal configuration settings. We recommend not to feed any live data in the system till you are testing the system. Once you are done with testing contact your system admin to clean dummy data and configure system settings.',
|
||||
'clear-dummy-data' => 'to clear dummy data.',
|
||||
'delete_dummy_data' => 'Clean dummy data',
|
||||
'plugin-with-dummy-data-error-message' => 'You\'ve installed Faveo with dummy data for testing. Plugins can only be used in live/production mode. If you are done with testing clear dummy data and start using Faveo in live/production mode.',
|
||||
'clean-data-box-title' => 'Cleaning Dummy data will perform following actions',
|
||||
'clean-dummy-ticket-conversation' => 'Clean all dummy tickets and their conversations.',
|
||||
'clean-dummy-notification' => 'Clean all dummy notifications.',
|
||||
'clean-dummy-users' => 'Clean all dummy users and their data.',
|
||||
'clean-other-data' => 'Clean dummy departments, teams, labels, tags etc.',
|
||||
'clean-user-created-data' => 'Clean all data created during testing with dummy data.',
|
||||
'clean-data-btn' => 'Clear data',
|
||||
'clean-confirm' => 'Yes I want to clean dummy data',
|
||||
'do-not-refresh' => '(Please do not use "Refresh" or "Back" button)',
|
||||
'cleaning-in-progress' => 'Cleaning in progress, please wait while we are cleaning your database',
|
||||
'cleaning-database' => 'Cleaning dummy data from database.',
|
||||
];
|
||||
|
@@ -0,0 +1,106 @@
|
||||
@extends('themes.default1.admin.layout.admin')
|
||||
|
||||
@section('Settings')
|
||||
active
|
||||
@stop
|
||||
|
||||
@section('settings-bar')
|
||||
active
|
||||
@stop
|
||||
|
||||
@section('clean')
|
||||
class="active"
|
||||
@stop
|
||||
|
||||
@section('HeadInclude')
|
||||
@stop
|
||||
<!-- header -->
|
||||
@section('PageHeader')
|
||||
<h1>{{Lang::get('lang.delete_dummy_data')}}</h1>
|
||||
@stop
|
||||
<!-- /header -->
|
||||
<!-- breadcrumbs -->
|
||||
@section('breadcrumbs')
|
||||
<ol class="breadcrumb">
|
||||
</ol>
|
||||
@stop
|
||||
<!-- /breadcrumbs -->
|
||||
<!-- content -->
|
||||
@section('content')
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{!! Lang::get('lang.clean-data-box-title')!!}</h3>
|
||||
</div><!-- /.box-header -->
|
||||
<div class="box-body">
|
||||
<ul>
|
||||
<li>{!! Lang::get('lang.clean-dummy-ticket-conversation') !!}</li>
|
||||
<li>{!! Lang::get('lang.clean-dummy-notification') !!}</li>
|
||||
<li>{!! Lang::get('lang.clean-dummy-users') !!}</li>
|
||||
<li>{!! Lang::get('lang.clean-other-data') !!}</li>
|
||||
<li>{!! Lang::get('lang.clean-user-created-data') !!}</li>
|
||||
</ul>
|
||||
</div><!-- /.box-body -->
|
||||
<div class="box-footer">
|
||||
<input type="checkbox" id="clean-confirm"> {!! Lang::get('lang.clean-confirm') !!}</input>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<input type="button" class="btn btn-sm btn-primary" disabled="disabled" data-toggle="modal" data-target="#loadingpopup" value="{!! Lang::get('lang.clean-data-btn') !!}" id="clean-btn"></input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="loadingpopup" style="padding:200px;">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<div id="head">
|
||||
<button type="button" class="close" id="close" data-dismiss="modal" aria-label="Close" style="display:none;"><span aria-hidden="true">×</span></button>
|
||||
<div class="col-md-5"></div><div class="col-md-2"><img src="{{asset("lb-faveo/media/images/gifloader.gif")}}" ></div><div class="col-md-5"></div>
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
<center><h3 style="color:#80DE02;">{!! Lang::get('lang.cleaning-database') !!}</h3></center>
|
||||
<br/>
|
||||
<center><h4>{!! Lang::get('lang.cleaning-in-progress') !!}</h4></center>
|
||||
<center><h4>{!! Lang::get('lang.do-not-refresh') !!}</h4></center>
|
||||
<br/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
@section('FooterInclude')
|
||||
<script type="text/javascript">
|
||||
$('#clean-confirm').click(function() {
|
||||
if($(this). prop("checked") == true){
|
||||
document.getElementById("clean-btn").disabled = false;
|
||||
} else {
|
||||
document.getElementById("clean-btn").disabled = true;
|
||||
}
|
||||
});
|
||||
|
||||
$('#clean-btn').on('click', function(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{!! route('post-clean-database') !!}",
|
||||
dataType: "json",
|
||||
data: {
|
||||
"_token": "{{ csrf_token() }}",
|
||||
},
|
||||
headers: {
|
||||
'X-CSRF-Token': $('meta[name="_token"]').attr('content')
|
||||
},
|
||||
beforeSend: function () {
|
||||
$('.loader').css('display','block');
|
||||
},
|
||||
success: function (json) {
|
||||
$('.loader').css('display','none');
|
||||
var link = "{{route('setting')}}";
|
||||
window.location = link;
|
||||
},
|
||||
error: function (json) {
|
||||
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
@stop
|
@@ -278,6 +278,9 @@ Route::group(['middleware' => ['web']], function () {
|
||||
Route::resource('labels', 'Admin\helpdesk\Label\LabelController');
|
||||
Route::get('labels-ajax', ['as'=>'labels.ajax', 'uses'=>'Admin\helpdesk\Label\LabelController@ajaxTable']);
|
||||
Route::get('labels/delete/{id}', ['as' => 'labels.destroy', 'uses' => 'Admin\helpdesk\Label\LabelController@destroy']);
|
||||
|
||||
Route::get('clean-dummy-data', ['as' => 'clean-database', 'uses' => 'Admin\helpdesk\SettingsController@getCleanUpView']);
|
||||
Route::post('post-clean-dummy-data', ['as' => 'post-clean-database', 'uses' => 'Admin\helpdesk\SettingsController@postCleanDummyData']);
|
||||
});
|
||||
/*
|
||||
|------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user