Remove import code.

This commit is contained in:
James Cole
2020-06-06 21:23:26 +02:00
parent 60fa0d7244
commit 6cc4d14fcb
217 changed files with 41 additions and 23415 deletions

View File

@@ -97,10 +97,6 @@
<td>{{ trans('list.categories_count') }}</td>
<td>{{ information.categories }}</td>
</tr>
<tr>
<td>{{ trans('list.import_jobs_count') }}</td>
<td>{{ information.import_jobs }}, {{ trans('firefly.successful_count', {count: information.import_jobs_success}) }}</td>
</tr>
<tr>
<td>{{ trans('list.budget_count') }}</td>
<td>{{ trans_choice('firefly.budget_or_budgets', information.budgets ) }},

View File

@@ -1 +0,0 @@
{{ trans('demo.import-index') }}

View File

@@ -1,69 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.bank.form.post',[bank]) }}" 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.bank_form_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('bank.bank_form_text') }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-8">
<table class="table">
<thead>
<tr>
<th colspan="2">{{ 'list.account'|_ }}</th>
<th>{{ 'list.currentBalance'|_ }}</th>
</tr>
</thead>
<tbody>
{% for remoteAccount in remoteAccounts %}
<tr>
<td>
<input type="checkbox" name="do_import[{{ remoteAccount.id }}]" checked id="do_import_{{ remoteAccount.id }}"/>
</td>
<td>
<strong {% if remoteAccount.color !='' %} style="color:{{ remoteAccount.color }}"{% endif %}>
{{ remoteAccount.name }}
</strong>
<br/>{{ remoteAccount.number }}
</td>
<td>
{{ remoteAccount.currency }}
{{ remoteAccount.balance }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</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 %}

View File

@@ -1,108 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.job.configuration.post',[importJob.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('import.job_config_bunq_apply_rules') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-6">
<p>
{{ trans('import.job_config_bunq_apply_rules_text') }}
</p>
{{ ExpandedForm.checkbox('apply_rules', 1, true) }}
</div>
</div>
</div>
</div>
</div>
<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('import.job_config_bunq_accounts_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.job_config_bunq_accounts_text') }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>&nbsp;</th>
<th>{{ trans('list.account_at_bunq') }}</th>
<th>{{ trans('list.account') }}</th>
</tr>
</thead>
<tbody>
{% for account in data.accounts %}
{% set currentIban = 'not-iban' %}
<tr>
<td style="background:{{ account.settings.color }};"></td>
<td>
<strong>{{ account.description }}</strong>
<ul>
{% for alias in account.aliases %}
{% if alias.type == 'IBAN' %}
<li>{{ alias.name }}: {{ alias.value }}{% set currentIban = alias.value %}</li>
{% endif %}
{% endfor %}
{% if account.status != 'ACTIVE' %}
<li>{{ trans('import.bunq_account_status_'~account.status|escape) }}</li>
{% endif %}
{% if account.type == 'MonetaryAccountSavings' %}
<li>{{ trans('import.bunq_savings_goal', {'amount': account.savingsGoal.currency ~' '~account.savingsGoal.value,'percentage' : account.savingsGoal.percentage}) }}</li>
{% endif %}
</ul>
</td>
<td>
<select class="form-control" name="account_mapping[{{ account.id }}]">
<option value="0" label="{{ trans('import.spectre_do_not_import') }}">
{{ trans('import.spectre_do_not_import') }}
</option>
{% for localId, localAccount in data.local_accounts %}
{% if localAccount.code == account.currency_code %}
<option value="{{ localId }}"{% if currentIban != '' and currentIban == localAccount.iban %} selected{% endif %}>
{{ localAccount.name }}{% if localAccount.iban !='' %} ({{ localAccount.iban }}){% endif %}
</option>
{% endif %}
{% endfor %}
</select>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</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 %}

View File

@@ -1,57 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.prerequisites.post',['bunq', importJob.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('import.prereq_bunq_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.prereq_bunq_text') }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-8">
{{ ExpandedForm.text('api_key', api_key) }}
</div>
</div>
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.prereq_bunq_ip')|raw }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-8">
{{ ExpandedForm.text('external_ip', external_ip) }}
</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 %}

View File

@@ -1,56 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_apply_rules_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_apply_rules_text') }}
</p>
</div>
</div>
</div>
</div>
<form method="POST" action="{{ route('import.job.configuration.post', importJob.key) }}" accept-charset="UTF-8" class="form-horizontal"
enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">
{{ trans('import.job_config_input') }}
</h3>
</div>
<div class="box-body">
{{ ExpandedForm.select('apply_rules', data.rulesOptions) }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
Submit it!
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,53 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_fake_album_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_fake_album_text') }}
</p>
</div>
</div>
</div>
</div>
<form method="POST" action="{{ route('import.job.configuration.post', importJob.key) }}" accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
{{ ExpandedForm.text('album') }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
Submit it!
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,53 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_fake_artist_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_fake_artist_text') }}
</p>
</div>
</div>
</div>
</div>
<form method="POST" action="{{ route('import.job.configuration.post', importJob.key) }}" accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
{{ ExpandedForm.text('artist') }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
Submit it!
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,53 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_fake_song_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_fake_song_text') }}
</p>
</div>
</div>
</div>
</div>
<form method="POST" action="{{ route('import.job.configuration.post', importJob.key) }}" accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
{{ ExpandedForm.text('song') }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
Submit it!
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,43 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.prerequisites.post',['fake', importJob.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('import.prereq_fake_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.prereq_fake_text') }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-8">
{{ ExpandedForm.text('api_key', api_key) }}
</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 %}

View File

@@ -1,115 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, importJob) }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_uc_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_uc_text') }}
</p>
</div>
</div>
</div>
</div>
<form class="form-horizontal" action="{{ route('import.job.configuration.post', importJob.key) }}" method="post" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-6">
<h4>{{ 'mandatoryFields'|_ }}</h4>
{{ ExpandedForm.checkbox('has_headers',1,importJob.configuration['has-headers'],{helpText: trans('import.job_config_uc_header_help')}) }}
{{ ExpandedForm.text('date_format',importJob.configuration['date-format'],{helpText: trans('import.job_config_uc_date_help', {dateExample: phpdate('Ymd')}) }) }}
{{ ExpandedForm.select('csv_delimiter', data.delimiters, importJob.configuration['delimiter'], {helpText: trans('import.job_config_uc_delimiter_help') } ) }}
{{ AccountForm.activeAssetAccountList('csv_import_account', importJob.configuration['import-account'], {helpText: trans('import.job_config_uc_account_help')}) }}
<h4>{{ 'optionalFields'|_ }}</h4>
<div class="form-group">
<label for="apply_rules_label" class="col-sm-4 control-label">
{{ trans('import.job_config_uc_apply_rules_title') }}
</label>
<div class="col-sm-8">
<div class="checkbox"><label>
{{ Form.checkbox('apply_rules', '1',
importJob.configuration['apply-rules'] == true, {'id': 'apply_rules_label'}) }}
{{ trans('import.job_config_uc_apply_rules_text') }}
</label>
</div>
</div>
</div>
<div class="form-group">
<label for="inputSpecifics" class="col-sm-4 control-label">{{ trans('import.job_config_uc_specifics_title') }}</label>
<div class="col-sm-8">
<p>
{{ trans('import.job_config_uc_specifics_txt') }}
</p>
<select id="inputSpecifics" name="specifics[]" multiple class="form-control">
{% for type, specific in data.specifics %}
<option value="{{ type }}" {% if importJob.configuration.specifics[type] == 1 %}selected{% endif %}>
{{ trans(specific.name) }}
&lt;small&gt;&lt;br&gt;{{ trans(specific.description) }}&lt;/small&gt;
</option>
{% endfor %}
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="pull-right btn btn-success">
{{ trans('import.job_config_uc_submit') }}
</button>
</div>
</div>
</div>
</div>
</form>
<p>
<br/>&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>
</p>
{% endblock %}
{% block styles %}
<link href="v1/css/bootstrap-multiselect.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"/>
{% endblock %}
{% block scripts %}
<script type="text/javascript" nonce="{{ JS_NONCE }}">
var selectAllText = "{{ trans('firefly.multi_select_select_all')|escape('js') }}";
var nonSelectedText = "{{ trans('firefly.multi_select_no_selection')|escape('js') }}";
var nSelectedText = "{{ trans('firefly.multi_select_n_selected')|escape('js') }}";
var allSelectedText = "{{ trans('firefly.multi_select_all_selected')|escape('js') }}";
var filterPlaceholder = "{{ trans('firefly.multi_select_filter_placeholder')|escape('js') }}";
</script>
<script type="text/javascript" src="v1/js/lib/bootstrap-multiselect.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script type="text/javascript" src="v1/js/ff/import/file/configure-upload.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %}

View File

@@ -1,86 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, importJob) }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_map_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_map_text') }}
</p>
{% if data|length == 0 %}
<p class="text-danger">
{{ trans('import.job_config_map_nothing') }}
</p>
{% endif %}
</div>
</div>
</div>
</div>
<form action="{{ route('import.job.configuration.post', importJob.key) }}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
{% for index, field in data %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.column_'~field.name) }}</h3>
</div>
<div class="box-body no-padding">
<table class="table table-hover">
<thead>
<tr>
<th style="width:50%;">{{ trans('import.job_config_field_value') }}</th>
<th>{{ trans('import.job_config_field_mapped') }}</th>
</tr>
</thead>
<tbody>
{% for option in field.values %}
<tr>
<td>
<code>{{ option }}</code>
</td>
<td>
{{ Form.select('mapping['~index~']['~option~']',
field.options,
importJob.configuration['column-mapping-config'][index][option], {class: 'form-control'}) }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
{% endfor %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
{{ trans('import.job_config_map_submit') }} <i class="fa fa-arrow-right"></i>
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}

View File

@@ -1,60 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_file_upload_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_file_upload_text') }}
</p>
<p class="text-warning">
{{ trans('import.final_csv_import')|raw }}
</p>
</div>
</div>
</div>
</div>
<form method="POST" action="{{ route('import.job.configuration.post', [importJob.key]) }}" accept-charset="UTF-8" class="form-horizontal" enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<input type="hidden" name="settings" value="upload"/>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
{{ ExpandedForm.file('import_file', {helpText: trans('import.job_config_file_upload_help')}) }}
{{ ExpandedForm.file('configuration_file', {helpText: trans('import.job_config_file_upload_config_help')|raw}) }}
{{ ExpandedForm.select('import_file_type', data.file_types, data.default_type, {'helpText' : trans('import.job_config_file_upload_type_help')}) }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
{{ trans('import.job_config_file_upload_submit') }} <i class="fa fa-arrow-right"></i>
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,100 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, importJob) }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_roles_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.job_config_roles_text') }}
</p>
</div>
</div>
</div>
</div>
<form action="{{ route('import.job.configuration.post', importJob.key) }}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
<table class="table">
<thead>
<tr>
<th style="width:20%;">{{ trans('import.job_config_roles_column_name') }}</th>
<th style="width:40%;">{{ trans('import.job_config_roles_column_example') }}</th>
<th style="width:30%;">{{ trans('import.job_config_roles_column_role') }}</th>
<th style="width:10%;">{{ trans('import.job_config_roles_do_map_value') }}</th>
</tr>
</thead>
{% for i in 0..(data.total -1) %}
<tr>
<td>
{% if data.headers[i] == '' %}
{{ trans('import.job_config_roles_colum_count') }} #{{ loop.index }}
{% else %}
{{ data.headers[i] }}
{% endif %}
</td>
<td>
{% if data.examples[i]|length == 0 %}
<em>{{ trans('import.job_config_roles_no_example') }}</em>
{% else %}
{% for example in data.examples[i] %}
<code>{{ example }}</code><br/>
{% endfor %}
{% endif %}
<td>
{{ Form.select(('role['~loop.index0~']'),
data.roles,
importJob.configuration['column-roles'][loop.index0],
{class: 'form-control'}) }}
</td>
<td>
{{ Form.checkbox(('map['~loop.index0~']'),1,
importJob.configuration['column-do-mapping'][loop.index0]
) }}
</td>
</tr>
{% endfor %}
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
{{ trans('import.job_config_roles_submit') }} <i class="fa fa-arrow-right"></i>
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}

View File

@@ -1,44 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<form method="POST" action="{{ route('import.job.configuration.post', [importJob.key]) }}" accept-charset="UTF-8"
class="form-horizontal">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
{{ ExpandedForm.select('fints_account', data.fints_accounts, data.fints_account, {helpText: trans('import.job_config_fints_account_help'), required: true}) }}
</div>
<div class="box-body">
{{ ExpandedForm.select('local_account', data.local_accounts, data.local_account, {helpText: trans('import.job_config_local_account_help'), required: true}) }}
</div>
<div class="box-body">
{{ ExpandedForm.date('from_date', data.from_date, {required: true}) }}
</div>
<div class="box-body">
{{ ExpandedForm.date('to_date', data.to_date, {required: true}) }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
{{ ('submit')|_ }} <i class="fa fa-arrow-right"></i>
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}

View File

@@ -1,40 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<form method="POST" action="{{ route('import.job.configuration.post', [importJob.key]) }}" accept-charset="UTF-8"
class="form-horizontal">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.job_config_input') }}</h3>
</div>
<div class="box-body">
{{ ExpandedForm.text('fints_url', data.fints_url, {helpText: trans('import.job_config_fints_url_help'), required: true}) }}
{{ ExpandedForm.text('fints_port', data.fints_port, {helpText: trans('import.job_config_fints_port_help'), required: true}) }}
{{ ExpandedForm.text('fints_bank_code', data.fints_bank_code, {required: true}) }}
{{ ExpandedForm.text('fints_username', data.fints_username, {helpText: trans('import.job_config_fints_username_help'), required: false}) }}
{{ ExpandedForm.password('fints_password', {required: true}) }}
{{ ExpandedForm.checkbox('apply_rules', 1, true) }}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="box">
<div class="box-body">
<button type="submit" class="btn btn-success pull-right">
{{ ('submit')|_ }} <i class="fa fa-arrow-right"></i>
</button>
</div>
</div>
</div>
</div>
</form>
{% endblock %}

View File

@@ -1,101 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-lg-8 col-md-6 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('firefly.import_index_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.general_index_intro') }}
</p>
<p class="text-warning">
{{ trans('import.final_csv_import')|raw }}
</p>
<div class="row">
{% for name, provider in providers %}
{# button for each import thing: #}
<div class="col-lg-2 col-md-4 col-sm-6 text-center">
{% if not provider.allowed_for_demo and isDemoUser %}
<img src="v1/images/logos/{{ name }}.png" alt="{{ trans(('import.button_'~name)) }}"/><br/>
{{ trans(('import.button_'~name)) }}<br>
({{ trans('import.disabled_for_demo_user') }})
{% else %}
<a href="{{ route('import.create', [name]) }}">
<img src="v1/images/logos/{{ name }}.png" alt="{{ trans(('import.button_'~name)) }}"/><br/>
{{ trans(('import.button_'~name)) }}
</a>
{% endif %}
</div>
{% endfor %}
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12 col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('firefly.import_tools_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('firefly.tools_index_intro')|raw }}
</p>
<ul>
<li>
<a href="http://github.com/firefly-iii/csv-importer" title="{{ 'firefly_iii_csv_importer_name'|_ }}">{{ 'firefly_iii_csv_importer_name'|_ }}</a>
</li>
<li>
<a href="http://github.com/firefly-iii/bunq-importer" title="{{ 'firefly_iii_bunq_importer_name'|_ }}">{{ 'firefly_iii_bunq_importer_name'|_ }}</a>
</li>
<li>
<a href="http://github.com/firefly-iii/ynab-importer" title="{{ 'firefly_iii_ynab_importer_name'|_ }}">{{ 'firefly_iii_ynab_importer_name'|_ }}</a>
</li>
<li>
<a href="https://gitlab.com/ludo444/fireflyrevoluttransactions" title="{{ 'ludo_revolut_importer_name'|_ }}">{{ 'ludo_revolut_importer_name'|_ }}</a>
</li>
</ul>
</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">{{ trans('import.need_prereq_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('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="{{ route('import.prerequisites.index', [name]) }}">{{ trans('import.do_prereq_'~name) }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,107 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.job.configuration.post',[importJob.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('import.job_config_spectre_apply_rules') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-6">
<p>
{{ trans('import.job_config_spectre_apply_rules_text') }}
</p>
{{ ExpandedForm.checkbox('apply_rules', 1, true) }}
</div>
</div>
</div>
</div>
</div>
<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('import.job_config_spectre_accounts_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.job_config_spectre_accounts_text', {count: data.accounts|length,country: data.login.getCountryCode(),name: data.login.getProviderName()}) }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>{{ trans('list.account_on_spectre') }}</th>
<th>{{ trans('list.account') }}</th>
</tr>
</thead>
<tbody>
{% for account in data.accounts %}
<tr>
<td>
{{ account.getNature()|capitalize }} "<strong>{{ account.getName() }}</strong>"
({{ formatAmountBySymbol(account.getBalance(), account.getCurrencyCode()~' ') }})<br/>
{% set currentIban = '' %}
{% for name, value in account.getExtra() %}
{% if not value is iterable and name != 'sort_code' and name !='current_date' and name != 'available_amount' and name !='current_time' and name != 'last_posted_transaction_id' %}
{{ trans('import.spectre_extra_key_'~name) }}: {{ value }}<br/>
{% endif %}
{% if name == 'available_amount' %}
{{ trans('import.spectre_extra_key_'~name) }}: {{ formatAmountBySymbol(value, account.getCurrencyCode()~' ') }}
{% endif %}
{% if name == 'iban' %}
{% set currentIban = value %}
{% endif %}
{% endfor %}
</td>
<td>
<select class="form-control" name="account_mapping[{{ account.getId() }}]">
<option value="0" label="{{ trans('import.spectre_do_not_import') }}">
{{ trans('import.spectre_do_not_import') }}
</option>
{% for ffId, ffAccount in data.ff_accounts %}
{% if ffAccount.code == account.getCurrencyCode() %}
<option value="{{ ffId }}"{% if currentIban != '' and currentIban == ffAccount.iban %} selected{% endif %}>
{{ ffAccount.name }}{% if ffAccount.iban !='' %} ({{ ffAccount.iban }}){% endif %}
</option>
{% endif %}
{% endfor %}
</select>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</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 %}

View File

@@ -1,87 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.job.configuration.post',[importJob.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('import.job_config_spectre_login_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.job_config_spectre_login_text', {count: data.logins|length}) }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>&nbsp;</th>
<th>{{ trans('list.spectre_bank') }}</th>
<th>{{ trans('list.spectre_last_use') }}</th>
<th>{{ trans('list.spectre_status') }}</th>
</tr>
</thead>
<tbody>
{% for login in data.logins %}
<tr>
<td>
<input
{% if login.getStatus() == 'disabled' %}disabled{% endif %}
id="{{ login.getId() }}" type="radio" name="spectre_login_id" value="{{ login.getId() }}">
</td>
<td>
<label for="{{ login.getId() }}">
{{ login.getProviderName() }} ({{ login.getCountryCode() }})
</label>
</td>
<td>
{{ login.getLastSuccessAt().formatLocalized(monthAndDayFormat) }}<br>
{{ login.getUpdatedAt().format("Y-m-d H:i:s") }}<br>
</td>
<td>
{{ trans('import.spectre_login_status_'~login.getStatus()) }}
</td>
</tr>
{% endfor %}
<tr>
<td>
<input id="new_login" type="radio" name="spectre_login_id" value="00">
</td>
<td colspan="3">
<label for="new_login"><em>
{{ trans('import.spectre_login_new_login') }}
</em>
</label>
</td>
</tr>
</tbody>
</table>
</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 %}

View File

@@ -1,57 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.prerequisites.post',['spectre', importJob.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('import.prereq_spectre_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.prereq_spectre_text')|raw }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-8">
{{ ExpandedForm.text('app_id', app_id) }}
{{ ExpandedForm.text('secret', secret) }}
</div>
</div>
<div class="row">
<div class="col-lg-8">
<p>{{ trans('import.prereq_spectre_pub')|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">{{ public_key }}</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 %}

View File

@@ -1,14 +0,0 @@
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0; url={{ data['token-url'] }}">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
window.location.href = "{{ data['token-url'] }}";
</script>
<title>Page Redirection</title>
</head>
<body>
If you are not redirected automatically, follow this <a href='{{ data['token-url'] }}'>link to Spectre.</a>.
</body>
</html>

View File

@@ -1,196 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
{# Initial display. Will refresh (and disappear almost immediately. #}
<div class="row status_initial statusbox">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.status_wait_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.status_wait_text') }}
</p>
</div>
</div>
</div>
</div>
{# Fatal error display. Will be shown (duh) when something goes horribly wrong. #}
<div class="row fatal_error" style="display:none;">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-danger">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.status_fatal_title') }}</h3>
</div>
<div class="box-body">
<p>
{{ trans('import.status_fatal_text') }}
</p>
<p class="text-danger fatal_error_txt">
</p>
<p>
{{ trans('import.status_fatal_more') }}
</p>
</div>
</div>
</div>
</div>
{# box to show when job is running ... #}
<div class="row status_running statusbox" style="display: none;">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title" id="import-status-title">{{ trans('import.status_running_title') }}</h3>
</div>
<div class="box-body">
<div id="import-status-holder">
<div class="progress">
<div class="progress-bar progress-bar-info active progress-bar-striped" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span class="sr-only">Running...</span>
</div>
</div>
<p id="import-status-txt"></p>
</div>
</div>
</div>
</div>
</div>
{# Box for when the job is ready to start
<div class="row status_configured statusbox" style="display:none;">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.status_ready_title') }}</h3>
</div>
<div class="box-body">
<p>
{% if job.configuration['has-config-file'] == false %}
{{ trans('import.status_ready_noconfig_text') }}
{% else %}
{{ trans('import.status_ready_text') }}
{% endif %}
</p>
<p>
<code>php artisan firefly:start-import {{ job.key }}</code>
</p>
<div class="row">
{% if job.configuration['has-config-file'] != false %}
<div class="col-lg-4">
<a href="{{ route('import.download', [job.key]) }}" class="btn btn-default"><i
class="fa fa-fw fa-download"></i> {{ trans('import.status_ready_config') }}</a>
</div>
{% endif %}
<div class="col-lg-4">
<button class="btn btn-success start-job"><i class="fa fa-fw fa-gears"></i> {{ trans('import.status_ready_start') }}</button>
</div>
</div>
{% if job.configuration['has-config-file'] != false %}
<p>
&nbsp;
</p>
<p class="text-info">
{{ trans('import.status_ready_share')|raw }}
</p>
{% endif %}
</div>
</div>
</div>
</div>
#}
{# Box for when the job is running!
<div class="row status_running statusbox" style="display: none;">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title" id="import-status-title">{{ trans('import.status_running_title') }}</h3>
</div>
<div class="box-body">
<div id="import-status-holder">
<div class="progress" id="import-status-holder">
<div id="import-status-bar" class="progress-bar progress-bar-info active progress-bar-striped" role="progressbar"
aria-valuenow="100" aria-valuemin="0"
aria-valuemax="100" style="width: 100%;min-width:40px;">
</div>
</div>
<p id="import-status-txt">{{ trans('import.status_running_placeholder') }}</p>
</div>
</div>
</div>
</div>
</div>
#}
{# displays the finished status of the import #}
<div class="row status_finished statusbox" style="display:none;">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.status_finished_title') }}</h3>
</div>
<div class="box-body">
<p id="import-status-intro">
{{ trans('import.status_finished_text') }}
<span id="import-status-more-info"></span>
</p>
<p id="import-status-download">
</p>
<p id="import-status-error-txt" style="display:none;">{{ trans('import.finished_with_errors') }}</p>
<ul id="import-status-errors" class="text-danger">
</ul>
</div>
</div>
</div>
</div>
{# box to show error information. #}
{#
<div class="row info_errors" style="display:none;">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-danger">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('import.status_errors_title') }}</h3>
</div>
<div class="box-body">
<p id="import-status-error-intro">
</p>
<div id="import-status-error-list"></div>
</div>
</div>
</div>
</div>
#}
{% endblock %}
{% block scripts %}
<script type="text/javascript" nonce="{{ JS_NONCE }}">
var jobStatusUri = '{{ route('import.job.status.json', [importJob.key]) }}';
var jobStartUri = '{{ route('import.job.start', [importJob.key]) }}';
var jobConfigurationUri = '{{ route('import.job.configuration.index', [importJob.key]) }}';
var jobStorageStartUri = '{{ route('import.job.store', [importJob.key]) }}';
// import is running:
var langImportRunning = '{{ trans('import.status_job_running')|escape('js') }}';
var langImportStoring = '{{ trans('import.status_job_storing')|escape('js') }}';
var langImportRules = '{{ trans('import.status_job_rules')|escape('js') }}';
// some useful translations.
{#var langImportTimeOutError = '(time out thing)';#}
{#var langImportSingleError = '{{ trans('import.status_errors_single')|escape('js') }}';#}
{#var langImportMultiError = '{{ trans('import.status_errors_multi')|escape('js') }}';#}
var token = '{{ csrf_token() }}';
var job = {{ job|json_encode|raw }};
</script>
<script type="text/javascript" src="v1/js/ff/import/status_v2.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,100 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.job.configuration.post',[importJob.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('import.job_config_ynab_apply_rules') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-6">
<p>
{{ trans('import.job_config_ynab_apply_rules_text') }}
</p>
{{ ExpandedForm.checkbox('apply_rules', 1, true) }}
</div>
</div>
</div>
</div>
</div>
<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('import.job_config_ynab_accounts_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.job_config_ynab_accounts_text', {count: data.accounts|length}) }}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>{{ trans('list.account_on_ynab') }}</th>
<th>{{ trans('list.account') }}</th>
</tr>
</thead>
<tbody>
{% for account in data.ynab_accounts %}
<tr>
<td>
{{ account.name }} ({{ trans('import.ynab_account_type_'~account.type) }})
{% if account.closed %}
<br/><span class="text-warning">{{ trans('import.ynab_account_closed') }}</span>
{% endif %}
{% if account.deleted %}
<br/><span class="text-danger">{{ trans('import.ynab_account_deleted') }}</span>
{% endif %}
</td>
<td>
<select class="form-control" name="account_mapping[{{ account.id }}]">
<option value="0" label="{{ trans('import.ynab_do_not_import') }}">
{{ trans('import.ynab_do_not_import') }}
</option>
{% for ffId, ffAccount in data.ff_accounts %}
{% if ffAccount.code == data.budget.currency_code %}
<option value="{{ ffId }}"{% if currentIban != '' and currentIban == ffAccount.iban %} selected{% endif %}>
{{ ffAccount.name }}{% if ffAccount.iban !='' %} ({{ ffAccount.iban }}){% endif %}
</option>
{% endif %}
{% endfor %}
</select>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</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 %}

View File

@@ -1,69 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.prerequisites.post',['ynab', importJob.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('import.prereq_ynab_title') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-8">
<p>
{{ trans('import.prereq_ynab_text')|raw }}
</p>
{% if not is_https %}
<p class="text-danger">
{{ trans('import.callback_not_tls') }}
<br /><br />
<code>{{ callback_uri }}</code>
</p>
{% endif %}
{% if is_https %}
<p>
{{ trans('import.prereq_ynab_redirect')|raw }}
<br /><br />
<code>{{ callback_uri }}</code>
</p>
{% endif %}
</div>
</div>
<div class="row">
<div class="col-lg-8">
{{ ExpandedForm.text('client_id', client_id) }}
</div>
</div>
<div class="row">
<div class="col-lg-8">
{{ ExpandedForm.text('client_secret', client_secret) }}
</div>
</div>
</div>
<div class="box-footer">
{% if is_https %}
<button type="submit" class="btn pull-right btn-success">
{{ ('submit')|_ }}
</button>
{% endif %}
{% if not is_https %}
<button type="submit" class="btn pull-right btn-warning">
{{ ('submit_yes_really')|_ }}
</button>
{% endif %}
</div>
</div>
</div>
</form>
</div>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -1,14 +0,0 @@
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0; url={{ data['token-url'] }}">
<script type="text/javascript" nonce="{{ JS_NONCE }}">
window.location.href = "{{ data['token-url'] }}";
</script>
<title>Page Redirection</title>
</head>
<body>
If you are not redirected automatically, follow this <a href='{{ data['token-url'] }}'>link to YNAB.</a>.
</body>
</html>

View File

@@ -1,58 +0,0 @@
{% extends "./layout/default" %}
{% block breadcrumbs %}
{{ Breadcrumbs.render }}
{% endblock %}
{% block content %}
<div class="row">
<form class="form-horizontal" action="{{ route('import.job.configuration.post',[importJob.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('import.job_config_ynab_select_budgets') }}</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-lg-6">
<p>
{{ trans('import.job_config_ynab_select_budgets_text', {count: data.total}) }}
</p>
{% if data.available|length == 0 %}
<p class="text-danger">
{{ trans('import.job_config_ynab_no_budgets') }}
</p>
{% else %}
{{ ExpandedForm.select('budget_id', data.available) }}
{% endif %}
{% if data.not_available|length > 0 %}
<p class="text-warning">
{{ trans('import.job_config_ynab_bad_currency') }}
</p>
<ul>
{% for budget in data.not_available %}
<li>{{ budget }}</li>
{% endfor %}
</ul>
{% endif %}
</div>
</div>
<div class="box-footer">
{% if data.available|length != 0 %}
<button type="submit" class="btn pull-right btn-success">
{{ ('submit')|_ }}
</button>
{% endif %}
</div>
</div>
</div>
</div>
</form>
</div>
{% endblock %}
{% block scripts %}
{% endblock %}
{% block styles %}
{% endblock %}

View File

@@ -158,32 +158,15 @@
</a>
</li>
<li class="{{ activeRoutePartial('import') }} {{ activeRoutePartial('export') }} treeview">
<a href="#">
<i class="fa fa-cogs fa-fw"></i>
<span>{{ 'tools'|_ }}</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li class="{{ activeRoutePartial('import') }}">
<a href="{{ route('import.index') }}">
<i class="fa fa-angle-right fa-fw"></i>
<span>{{ 'import_transactions'|_ }}</span>
</a>
</li>
{% if config('firefly.feature_flags.export') %}
<li class="{{ activeRoutePartial('export') }}">
<a href="{{ route('export.index') }}">
<i class="fa fa-angle-right fa-fw"></i>
<span>{{ 'export_data_menu'|_ }}</span>
</a>
</li>
{% endif %}
</ul>
</li>
{% if config('firefly.feature_flags.export') %}
<li class="{{ activeRoutePartial('export') }}" id="report-menu">
<a href="{{ route('export.index') }}">
<i class="fa fa-upload fa-fw"></i>
<span>{{ 'export_data_menu'|_ }}</span>
</a>
</li>
{% endif %}
<li class="{{ activeRoutePartial('admin') }} {{ activeRoutePartial('profile') }} {{ activeRoutePartial('preferences') }} {{ activeRoutePartial('currencies') }} treeview" id="option-menu">
<a href="#">