mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Merge branch 'spectre' into develop
* spectre: Fix encryption. Can handle some mandatory fields (not all). More code for Spectre import. Initial code to get providers from Spectre. Exceptions when class does not exist.
This commit is contained in:
@@ -20,21 +20,34 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<p>
|
||||
<div class="col-lg-1 text-center">
|
||||
{# file import #}
|
||||
<a href="{{ route('import.file.index') }}" class="btn btn-app">
|
||||
<i class="fa fa-file-text-o"></i>
|
||||
<a href="{{ route('import.file.index') }}">
|
||||
<img src="images/logos/csv.png" alt="bunq"/><br />
|
||||
{{ 'import_general_index_csv_file'|_ }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-lg-1 text-center">
|
||||
{# bunq import #}
|
||||
{#
|
||||
<a href="{{ route('import.bank.prerequisites', ['bunq']) }}" class="btn btn-app">
|
||||
<a href="{{ route('import.bank.prerequisites', ['bunq']) }}">
|
||||
<img src="images/logos/bunq.png" alt="bunq"/><br />
|
||||
Import from bunq
|
||||
</a>
|
||||
#}
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-lg-1 text-center">
|
||||
{# import from Spectre #}
|
||||
<a href="{{ route('import.bank.prerequisites', ['spectre']) }}">
|
||||
<img src="images/logos/spectre.png" alt="Spectre"/><br />
|
||||
Import using Spectre
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-lg-1 text-center">
|
||||
{# import from Plaid #}
|
||||
<a href="{{ route('import.bank.prerequisites', ['plaid']) }}">
|
||||
<img src="images/logos/plaid.png" alt="Plaid"/><br />
|
||||
Import using Plaid
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
65
resources/views/import/spectre/input-fields.twig
Normal file
65
resources/views/import/spectre/input-fields.twig
Normal file
@@ -0,0 +1,65 @@
|
||||
{% extends "./layout/default" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<form class="form-horizontal" action="{{ route('import.file.process-configuration', job.key) }}" method="post">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
|
||||
<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">{{ trans('bank.spectre_input_fields_title') }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<p>
|
||||
{{ trans('bank.spectre_input_fields_text',{provider: data.provider.data.name, country: data.country})|raw }}
|
||||
</p>
|
||||
<p>
|
||||
{{ trans('bank.spectre_instructions_english') }}
|
||||
</p>
|
||||
<p>
|
||||
{{ data.provider.data.instruction|nl2br }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{% for field in data.fields %}
|
||||
{# text, password, select, file #}
|
||||
{% if field.nature == 'text' %}
|
||||
{{ ExpandedForm.text(field.name,null, {label: field.english_name ~ ' ('~field.localized_name~')'}) }}
|
||||
{% endif %}
|
||||
{% if field.nature == 'password' %}
|
||||
{{ ExpandedForm.password(field.name, {label: field.english_name ~ ' ('~field.localized_name~')'}) }}
|
||||
{% endif %}
|
||||
{% if field.nature == 'select' %}
|
||||
DO NOT SUPPORT
|
||||
{{ dump(field) }}
|
||||
{% endif %}
|
||||
{% if field.narture == 'file' %}
|
||||
DO NOT SUPPORT
|
||||
{{ dump(field) }}
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn pull-right btn-success">
|
||||
{{ ('submit')|_ }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
{% endblock %}
|
||||
{% block styles %}
|
||||
{% endblock %}
|
58
resources/views/import/spectre/prerequisites.twig
Normal file
58
resources/views/import/spectre/prerequisites.twig
Normal file
@@ -0,0 +1,58 @@
|
||||
{% extends "./layout/default" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<form class="form-horizontal" action="{{ route('import.bank.prerequisites.post',['spectre']) }}" method="post">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
|
||||
<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">{{ trans('bank.spectre_prerequisites_title') }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<p>
|
||||
{{ trans('bank.spectre_prerequisites_text')|raw }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{{ ExpandedForm.text('client_id') }}
|
||||
{{ ExpandedForm.text('service_secret') }}
|
||||
{{ ExpandedForm.text('app_secret') }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<p>{{ trans('bank.spectre_enter_pub_key')|raw }}</p>
|
||||
<div class="form-group" id="pub_key_holder">
|
||||
<label for="ffInput_pub_key_holder" class="col-sm-4 control-label">{{ trans('form.public_key') }}</label>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control"
|
||||
rows="10"
|
||||
id="ffInput_pub_key_holder" name="pub_key_holder" contenteditable="false">{{ publicKey }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn pull-right btn-success">
|
||||
{{ ('submit')|_ }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
{% endblock %}
|
||||
{% block styles %}
|
||||
{% endblock %}
|
42
resources/views/import/spectre/select-country.twig
Normal file
42
resources/views/import/spectre/select-country.twig
Normal file
@@ -0,0 +1,42 @@
|
||||
{% extends "./layout/default" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<form class="form-horizontal" action="{{ route('import.file.process-configuration', job.key) }}" method="post">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
|
||||
<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">{{ trans('bank.spectre_select_country_title') }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<p>
|
||||
{{ trans('bank.spectre_select_country_text')|raw }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{{ ExpandedForm.select('country_code', data.countries, null)|raw }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn pull-right btn-success">
|
||||
{{ ('submit')|_ }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
{% endblock %}
|
||||
{% block styles %}
|
||||
{% endblock %}
|
42
resources/views/import/spectre/select-provider.twig
Normal file
42
resources/views/import/spectre/select-provider.twig
Normal file
@@ -0,0 +1,42 @@
|
||||
{% extends "./layout/default" %}
|
||||
|
||||
{% block breadcrumbs %}
|
||||
{{ Breadcrumbs.renderIfExists }}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<form class="form-horizontal" action="{{ route('import.file.process-configuration', job.key) }}" method="post">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
|
||||
<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">{{ trans('bank.spectre_select_bank_title') }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<p>
|
||||
{{ trans('bank.spectre_select_provider_text',{country: data.country})|raw }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{{ ExpandedForm.select('provider_code', data.providers, null)|raw }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<button type="submit" class="btn pull-right btn-success">
|
||||
{{ ('submit')|_ }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block scripts %}
|
||||
{% endblock %}
|
||||
{% block styles %}
|
||||
{% endblock %}
|
Reference in New Issue
Block a user