Update index and routes.

This commit is contained in:
James Cole
2018-04-29 18:07:58 +02:00
parent 9fb049991f
commit b5be1b11d1
3 changed files with 114 additions and 57 deletions

View File

@@ -1169,6 +1169,30 @@ return [
'reset_settings_spectre' => 'Remove Spectre secrets and ID\'s. This will also remove your Spectre keypair. Remember to update the new one.', 'reset_settings_spectre' => 'Remove Spectre secrets and ID\'s. This will also remove your Spectre keypair. Remember to update the new one.',
'settings_reset_for_bunq' => 'Bunq settings reset.', 'settings_reset_for_bunq' => 'Bunq settings reset.',
'settings_reset_for_spectre' => 'Spectre settings reset.', 'settings_reset_for_spectre' => 'Spectre settings reset.',
'import_need_prereq_title' => 'Import prerequisites',
'import_need_prereq_intro' => 'Some import methods need your attention before they can be used. For example, they might require special API keys or application secrets. You can configure them here. The icon indicates if these prerequisites have been met.',
'import_need_config_title' => 'Import configuration',
'import_need_config_intro' => 'Some import methods can be configured to your liking. They have extra settings you can tweak.',
'import_button_fake' => 'Fake an import',
'import_button_file' => 'Import a file',
'import_button_bunq' => 'Import from bunq',
'import_button_spectre' => 'Import using Spectre',
'import_button_plaid' => 'Import using Plaid',
'import_button_yodlee' => 'Import using Yodlee',
'import_button_quovo' => 'Import using Quovo',
'import_do_prereq_fake' => 'Prerequisites for the fake provider',
'import_do_prereq_bunq' => 'Prerequisites for imports from bunq',
'import_do_prereq_spectre' => 'Prerequisites for imports using Spectre',
'import_do_prereq_plaid' => 'Prerequisites for imports using Plaid',
'import_do_prereq_yodlee' => 'Prerequisites for imports using Yodlee',
'import_do_prereq_quovo' => 'Prerequisites for imports using Quovo',
'import_do_config_fake' => 'Configuration for the fake provider',
'import_do_config_file' => 'Configuration for file imports',
'import_do_config_bunq' => 'Configuration for bunq imports',
'import_do_config_spectre' => 'Configuration for imports from Spectre',
'import_do_config_plaid' => 'Configuration for imports from Plaid',
'import_do_config_yodlee' => 'Configuration for imports from Yodlee',
'import_do_config_quovo' => 'Configuration for imports from Quovo',
// sandstorm.io errors and messages: // sandstorm.io errors and messages:

View File

@@ -5,65 +5,91 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col-lg-12 col-md-12 col-sm-12"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default"> <div class="box box-default">
<div class="box-header with-border"> <div class="box-header with-border">
<h3 class="box-title">{{ 'import_index_title'|_ }}</h3> <h3 class="box-title">{{ 'import_index_title'|_ }}</h3>
</div> </div>
<div class="box-body"> <div class="box-body">
<p>
{{ 'import_general_index_intro'|_ }}
</p>
<div class="row"> <div class="row">
<div class="col-lg-8"> {% for name, provider in providers %}
<p> {# button for each import thing: #}
{{ 'import_general_index_intro'|_ }} <div class="col-lg-1 col-md-4 col-sm-6 text-center">
</p> <a href="{{ route('import.create', [name]) }}">
</div> <img src="images/logos/{{ name }}.png" alt="{{ ('import_button_'~name)|_ }}"/><br/>
</div> {{ ('import_button_'~name)|_ }}
<div class="row">
{# file import #}
{% if routines.file == true %}
<div class="col-lg-1 text-center">
<a href="{{ route('import.prerequisites', ['file']) }}">
<img src="images/logos/file.png" alt="{{ 'import_general_index_file'|_ }}"/><br/>
{{ 'import_general_index_file'|_ }}
</a> </a>
</div> </div>
{% endif %} {% endfor %}
{# bunq import #}
{% if routines.bunq == true %}
<div class="col-lg-1 text-center">
<a href="{{ route('import.prerequisites', ['bunq']) }}">
<img src="images/logos/bunq.png" alt="{{ 'import_from_bunq'|_ }}"/><br/>
{{ 'import_from_bunq'|_ }}
</a>
</div>
{% endif %}
{# import from Spectre #}
{% if routines.spectre == true %}
<div class="col-lg-1 text-center">
<a href="{{ route('import.prerequisites', ['spectre']) }}">
<img src="images/logos/spectre.png" alt="{{ 'import_using_spectre'|_ }}"/><br/>
{{ 'import_using_spectre'|_ }}
</a>
</div>
{% endif %}
{# import from Plaid #}
{% if routines.plaid == true %}
<div class="col-lg-1 text-center">
<a href="{{ route('import.prerequisites', ['plaid']) }}">
<img src="images/logos/plaid.png" alt="{{ 'import_using_plaid'|_ }}"/><br/>
{{ 'import_using_plaid'|_ }}
</a>
</div>
{% endif %}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="col-lg-4 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'import_global_config_title'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ 'import_global_config_text'|_ }}
</p>
</div>
</div>
</div>
<div class="col-lg-4 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'import_need_prereq_title'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ 'import_need_prereq_intro'|_ }}
</p>
<ul>
{% for name, provider in providers %}
{% if provider.has_prereq %}
<li>
{% if provider.prereq_complete %}
<i class="fa fa-fw fa-check text-success"></i>
{% else %}
<i class="fa fa-fw fa-warning text-danger"></i>
{% endif %}
<a href="#">{{ ('import_do_prereq_'~name)|_ }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
<div class="col-lg-4 col-md-12 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'import_need_config_title'|_ }}</h3>
</div>
<div class="box-body">
<p>
{{ 'import_need_config_intro'|_ }}
</p>
<ul>
{% for name, provider in providers %}
{% if provider.has_config %}
<li><i class="fa fa-fw fa-wrench"></i> <a href="#">{{ ('import_do_config_'~name)|_ }}</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
<!--
<div class="row"> <div class="row">
<div class="col-lg-12 col-md-12 col-sm-12"> <div class="col-lg-12 col-md-12 col-sm-12">
<div class="box box-default"> <div class="box box-default">
@@ -94,6 +120,7 @@
</div> </div>
</div> </div>
</div> </div>
-->
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
{% endblock %} {% endblock %}

View File

@@ -442,29 +442,35 @@ Route::group(
Route::group( Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'import', 'as' => 'import.'], function () { ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'import', 'as' => 'import.'], function () {
// index
Route::get('', ['uses' => 'Import\IndexController@index', 'as' => 'index']); Route::get('', ['uses' => 'Import\IndexController@index', 'as' => 'index']);
// create new job
Route::get('create/{import_provider}', ['uses' => 'Import\IndexController@create', 'as' => 'create']);
// set global prerequisites for an import source, possible with a job already attached.
Route::get('prerequisites/{import_provider}/{importJob}', ['uses' => 'Import\PrerequisitesController@index', 'as' => 'prerequisites.index']);
// import method prerequisites: // 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']); #Route::get('reset/{bank}', ['uses' => 'Import\IndexController@reset', 'as' => 'reset']);
// create the job: // create the job:
Route::get('create/{bank}', ['uses' => 'Import\IndexController@create', 'as' => 'create-job']); #Route::get('create/{bank}', ['uses' => 'Import\IndexController@create', 'as' => 'create-job']);
// configure the job: // configure the job:
Route::get('configure/{importJob}', ['uses' => 'Import\ConfigurationController@index', 'as' => 'configure']); #Route::get('configure/{importJob}', ['uses' => 'Import\ConfigurationController@index', 'as' => 'configure']);
Route::post('configure/{importJob}', ['uses' => 'Import\ConfigurationController@post', 'as' => 'configure.post']); #Route::post('configure/{importJob}', ['uses' => 'Import\ConfigurationController@post', 'as' => 'configure.post']);
// get status of any job: // get status of any job:
Route::get('status/{importJob}', ['uses' => 'Import\StatusController@index', 'as' => 'status']); #Route::get('status/{importJob}', ['uses' => 'Import\StatusController@index', 'as' => 'status']);
Route::get('json/{importJob}', ['uses' => 'Import\StatusController@json', 'as' => 'status.json']); #Route::get('json/{importJob}', ['uses' => 'Import\StatusController@json', 'as' => 'status.json']);
// start a job // start a job
Route::any('start/{importJob}', ['uses' => 'Import\IndexController@start', 'as' => 'start']); #Route::any('start/{importJob}', ['uses' => 'Import\IndexController@start', 'as' => 'start']);
// download config // download config
Route::get('download/{importJob}', ['uses' => 'Import\IndexController@download', 'as' => 'download']); #Route::get('download/{importJob}', ['uses' => 'Import\IndexController@download', 'as' => 'download']);
} }
); );
@@ -495,7 +501,7 @@ Route::group(
Route::group( Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'json', 'as' => 'json.'], function () { ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'json', 'as' => 'json.'], function () {
// for auto complete // for auto complete
Route::get('expense-accounts', ['uses' => 'Json\AutoCompleteController@expenseAccounts', 'as' => 'expense-accounts']); Route::get('expense-accounts', ['uses' => 'Json\AutoCompleteController@expenseAccounts', 'as' => 'expense-accounts']);
Route::get('all-accounts', ['uses' => 'Json\AutoCompleteController@allAccounts', 'as' => 'all-accounts']); Route::get('all-accounts', ['uses' => 'Json\AutoCompleteController@allAccounts', 'as' => 'all-accounts']);
Route::get('revenue-accounts', ['uses' => 'Json\AutoCompleteController@revenueAccounts', 'as' => 'revenue-accounts']); Route::get('revenue-accounts', ['uses' => 'Json\AutoCompleteController@revenueAccounts', 'as' => 'revenue-accounts']);