This commit is contained in:
James Cole 2018-04-19 20:03:02 +02:00
parent 7cc8539298
commit c6d3a5bedc
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
3 changed files with 70 additions and 0 deletions

View File

@ -28,8 +28,10 @@ use FireflyIII\Http\Middleware\IsDemoUser;
use FireflyIII\Import\Routine\RoutineInterface;
use FireflyIII\Models\ImportJob;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use Illuminate\Http\Request;
use Illuminate\Http\Response as LaravelResponse;
use Log;
use Preferences;
use View;
@ -132,6 +134,44 @@ class IndexController extends Controller
return view('import.index', compact('subTitle', 'subTitleIcon', 'routines'));
}
/**
* @param Request $request
* @param string $bank
*
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function reset(Request $request, string $bank)
{
if ($bank === 'bunq') {
// remove bunq related preferences.
Preferences::delete('bunq_api_key');
Preferences::delete('bunq_server_public_key');
Preferences::delete('bunq_private_key');
Preferences::delete('bunq_public_key');
Preferences::delete('bunq_installation_token');
Preferences::delete('bunq_installation_id');
Preferences::delete('bunq_device_server_id');
Preferences::delete('external_ip');
}
if ($bank === 'spectre') {
// remove spectre related preferences:
Preferences::delete('spectre_client_id');
Preferences::delete('spectre_app_secret');
Preferences::delete('spectre_service_secret');
Preferences::delete('spectre_private_key');
Preferences::delete('spectre_public_key');
Preferences::delete('spectre_customer');
}
Preferences::mark();
$request->session()->flash('info', (string)trans('firefly.settings_reset_for_' . $bank));
return redirect(route('import.index'));
}
/**
* @param ImportJob $job
*

View File

@ -64,6 +64,35 @@
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'reset_import_settings_title'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ 'reset_import_settings_text'|_ }}
</p>
<ul>
{# bunq import #}
{% if routines.bunq == true %}
<li><a href="{{ route('import.reset', ['bunq']) }}">{{ 'reset_settings_bunq'|_ }}</a></li>
{% endif %}
{# import from Spectre #}
{% if routines.spectre == true %}
<li><a href="{{ route('import.reset', ['spectre']) }}">{{ 'reset_settings_spectre'|_ }}</a></li>
{% endif %}
{# import from Plaid #}
{% if routines.plaid == true %}
<li><a href="{{ route('import.reset', ['plaid']) }}">{{ 'reset_settings_plaid'|_ }}</a></li>
{% endif %}
</ul>
</div>
</div>
</div>
</div>
{% endblock %}
{% block scripts %}

View File

@ -446,6 +446,7 @@ Route::group(
// import method prerequisites:
Route::get('prerequisites/{bank}', ['uses' => 'Import\PrerequisitesController@index', 'as' => 'prerequisites']);
Route::post('prerequisites/{bank}', ['uses' => 'Import\PrerequisitesController@post', 'as' => 'prerequisites.post']);
Route::get('reset/{bank}', ['uses' => 'Import\IndexController@reset', 'as' => 'reset']);
// create the job:
Route::get('create/{bank}', ['uses' => 'Import\IndexController@create', 'as' => 'create-job']);