First attempt at displaying a group.

This commit is contained in:
James Cole
2019-04-08 20:31:31 +02:00
parent c7bf167f81
commit 13afd4582f
8 changed files with 203 additions and 67 deletions

View File

@@ -51,6 +51,8 @@ class AboutController extends Controller
$phpVersion = str_replace($search, $replace, PHP_VERSION); $phpVersion = str_replace($search, $replace, PHP_VERSION);
$phpOs = str_replace($search, $replace, PHP_OS); $phpOs = str_replace($search, $replace, PHP_OS);
$currentDriver = DB::getDriverName(); $currentDriver = DB::getDriverName();
$data $data
= [ = [
'version' => config('firefly.version'), 'version' => config('firefly.version'),

View File

@@ -0,0 +1,79 @@
<?php
/**
* ShowController.php
* Copyright (c) 2019 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Transaction;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface;
/**
* Class ShowController
*/
class ShowController extends Controller
{
/** @var TransactionGroupRepositoryInterface */
private $groupRepository;
/**
* SingleController constructor.
*/
public function __construct()
{
parent::__construct();
// some useful repositories:
$this->middleware(
function ($request, $next) {
$this->groupRepository = app(TransactionGroupRepositoryInterface::class);
app('view')->share('title', (string)trans('firefly.transactions'));
app('view')->share('mainTitleIcon', 'fa-repeat');
return $next($request);
}
);
}
/**
* @param TransactionGroup $transactionGroup
*
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function show(TransactionGroup $transactionGroup)
{
/** @var TransactionJournal $first */
$first = $transactionGroup->transactionJournals->first();
$groupType = $first->transactionType->type;
$description = $transactionGroup->title;
if ($transactionGroup->transactionJournals()->count() > 1) {
$description = $first->description;
}
$subTitle = sprintf('%s: "%s"', $groupType, $description);
return view('transactions.show', compact('transactionGroup', 'subTitle'));
}
}

View File

@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Models; namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder; use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
@@ -169,9 +170,11 @@ class TransactionJournal extends Model
* *
* @return TransactionJournal * @return TransactionJournal
* @throws NotFoundHttpException * @throws NotFoundHttpException
* @throws FireflyException
*/ */
public static function routeBinder(string $value): TransactionJournal public static function routeBinder(string $value): TransactionJournal
{ {
throw new FireflyException('Journal binder is permanently out of order.');
if (auth()->check()) { if (auth()->check()) {
$journalId = (int)$value; $journalId = (int)$value;
/** @var User $user */ /** @var User $user */

View File

@@ -33,15 +33,28 @@ class ChangesForV450 extends Migration
*/ */
public function down(): void public function down(): void
{ {
// split up for sqlite compatibility
Schema::table( Schema::table(
'transactions', 'transactions',
function (Blueprint $table) { static function (Blueprint $table) {
$table->dropColumn('foreign_amount'); $table->dropColumn('foreign_amount');
}
);
Schema::table(
'transactions',
static function (Blueprint $table) {
// cannot drop foreign keys in SQLite: // cannot drop foreign keys in SQLite:
if ('sqlite' !== config('database.default')) { if ('sqlite' !== config('database.default')) {
$table->dropForeign('transactions_foreign_currency_id_foreign'); $table->dropForeign('transactions_foreign_currency_id_foreign');
} }
}
);
Schema::table(
'transactions',
static function (Blueprint $table) {
$table->dropColumn('foreign_currency_id'); $table->dropColumn('foreign_currency_id');
} }
); );

View File

@@ -37,19 +37,53 @@ class ChangesForV474 extends Migration
*/ */
public function down(): void public function down(): void
{ {
// split up for sqlite compatibility.
Schema::table( Schema::table(
'import_jobs', 'import_jobs',
function (Blueprint $table) { static function (Blueprint $table) {
// cannot drop foreign keys in SQLite: // cannot drop foreign keys in SQLite:
if ('sqlite' !== config('database.default')) { if ('sqlite' !== config('database.default')) {
$table->dropForeign('import_jobs_tag_id_foreign'); $table->dropForeign('import_jobs_tag_id_foreign');
} }
}
);
Schema::table(
'import_jobs',
static function (Blueprint $table) {
$table->dropColumn('provider'); $table->dropColumn('provider');
}
);
Schema::table(
'import_jobs',
static function (Blueprint $table) {
$table->dropColumn('stage'); $table->dropColumn('stage');
}
);
Schema::table(
'import_jobs',
static function (Blueprint $table) {
$table->dropColumn('transactions'); $table->dropColumn('transactions');
}
);
Schema::table(
'import_jobs',
static function (Blueprint $table) {
$table->dropColumn('errors'); $table->dropColumn('errors');
}
);
Schema::table(
'import_jobs',
static function (Blueprint $table) {
$table->dropColumn('tag_id'); $table->dropColumn('tag_id');
} }
@@ -65,7 +99,7 @@ class ChangesForV474 extends Migration
{ {
Schema::table( Schema::table(
'import_jobs', 'import_jobs',
function (Blueprint $table) { static function (Blueprint $table) {
$table->string('provider', 50)->after('file_type')->default(''); $table->string('provider', 50)->after('file_type')->default('');
$table->string('stage', 50)->after('status')->default(''); $table->string('stage', 50)->after('status')->default('');
$table->longText('transactions')->after('extended_status')->nullable(); $table->longText('transactions')->after('extended_status')->nullable();

View File

@@ -1,7 +1,7 @@
{% extends "./layout/default" %} {% extends "./layout/default" %}
{% block breadcrumbs %} {% block breadcrumbs %}
{{ Breadcrumbs.render(Route.getCurrentRoute.getName, journal) }} {{ Breadcrumbs.render(Route.getCurrentRoute.getName, transactionGroup) }}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
@@ -15,8 +15,8 @@
<button id="transaction_menu" class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i> <button id="transaction_menu" class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><i class="fa fa-ellipsis-v"></i>
</button> </button>
<ul class="dropdown-menu" role="menu"> <ul class="dropdown-menu" role="menu">
<li><a href="{{ route('transactions.edit',journal.id) }}"><i class="fa fa-pencil fa-fw"></i> {{ 'edit'|_ }}</a></li> <li><a href="edit"><i class="fa fa-pencil fa-fw"></i> {{ 'edit'|_ }}</a></li>
<li><a href="{{ route('transactions.delete',journal.id) }}"><i class="fa fa-trash fa-fw"></i> {{ 'delete'|_ }}</a></li> <li><a href="delete"><i class="fa fa-trash fa-fw"></i> {{ 'delete'|_ }}</a></li>
{# convert to withdrawal #} {# convert to withdrawal #}
{% if journal.transactionType.type != "Withdrawal" %} {% if journal.transactionType.type != "Withdrawal" %}
<li> <li>
@@ -48,7 +48,7 @@
</a> </a>
</li> </li>
<li> <li>
<a href="{{ route('transactions.split.edit', journal.id) }}"> <a href="split">
<i class="fa fa-unsorted fa-fw"></i> {{ ('split_this_'~what)|_ }} <i class="fa fa-unsorted fa-fw"></i> {{ ('split_this_'~what)|_ }}
</a> </a>
</li> </li>
@@ -80,39 +80,23 @@
</tr> </tr>
<tr> <tr>
<td>{{ 'source_accounts'|_ }}</td> <td>{{ 'source_accounts'|_ }}</td>
<td>{{ sourceAccount(journal)|raw }}</td> <td>sources</td>
</tr> </tr>
<tr> <tr>
<td>{{ 'destination_accounts'|_ }}</td> <td>{{ 'destination_accounts'|_ }}</td>
<td>{{ destinationAccount(journal)|raw }}</td> <td>desitnations</td>
</tr> </tr>
<tr> <tr>
<td>{{ 'total_amount'|_ }}</td> <td>{{ 'total_amount'|_ }}</td>
<td> <td>
{{ journal|journalTotalAmount }} total amount and splits
{# if more transactions, list each one: #}
{% if transactions|length > 2 %}
({% for transaction in transactions %}
{% if transaction.type == 'Deposit' and transaction.amount > 0 %}
{{ transaction|transactionArrayAmount }}{% if loop.index != loop.length %}, {% endif %}
{% endif %}
{% if transaction.type == 'Withdrawal' and transaction.amount < 0 %}
{{ transaction|transactionArrayAmount }}{% if loop.index != loop.length %}, {% endif %}
{% endif %}
{% if transaction.type == 'Transfer' and transaction.amount > 0 %}
{{ transaction|transactionArrayAmount }}{% if loop.index != loop.length %}, {% endif %}
{% endif %}
{% endfor %})
{% endif %}
</td> </td>
</tr> </tr>
<tr> <tr>
<td style="width:30%;">{{ trans('list.date') }}</td> <td style="width:30%;">{{ trans('list.date') }}</td>
<td>{{ journal.date.formatLocalized(dateTimeFormat) }}</td> <td>
date
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -120,7 +104,7 @@
<div class="box-footer"> <div class="box-footer">
<div class="pull-right"> <div class="pull-right">
<div class="btn-group"> <div class="btn-group">
<a class="btn btn-default" href="{{ route('transactions.edit',journal.id) }}"><i class="fa fa-pencil fa-fw"></i> {{ 'edit'|_ }}</a> <a class="btn btn-default" href="#"><i class="fa fa-pencil fa-fw"></i> {{ 'edit'|_ }}</a>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-cog fa-fw"></i> {{ 'options'|_ }} <span class="caret"></span> <i class="fa fa-cog fa-fw"></i> {{ 'options'|_ }} <span class="caret"></span>
</button> </button>
@@ -157,7 +141,7 @@
</a> </a>
</li> </li>
<li> <li>
<a href="{{ route('transactions.split.edit', journal.id) }}"> <a href="#">
<i class="fa fa-unsorted fa-fw"></i> {{ ('split_this_'~what)|_ }} <i class="fa fa-unsorted fa-fw"></i> {{ ('split_this_'~what)|_ }}
</a> </a>
</li> </li>
@@ -168,7 +152,7 @@
</li> </li>
</ul> </ul>
<a href="{{ route('transactions.delete',journal.id) }}" class="btn btn-danger"><i class="fa fa-trash fa-fw"></i> {{ 'delete'|_ }} <a href="#" class="btn btn-danger"><i class="fa fa-trash fa-fw"></i> {{ 'delete'|_ }}
</a> </a>
</div> </div>
</div> </div>
@@ -197,30 +181,34 @@
<tbody> <tbody>
<tr> <tr>
<td>{{ 'categories'|_ }}</td> <td>{{ 'categories'|_ }}</td>
<td>{{ journalCategories(journal)|raw }}</td> <td>categoris</td>
</tr> </tr>
<tr> <tr>
<td>{{ 'budgets'|_ }}</td> <td>{{ 'budgets'|_ }}</td>
<td>{{ journalBudgets(journal)|raw }}</td> <td>budgets</td>
</tr> </tr>
{# all date meta values #} {# all date meta values #}
{% for dateField in ['interest_date','book_date','process_date','due_date','payment_date','invoice_date'] %} {% for dateField in ['interest_date','book_date','process_date','due_date','payment_date','invoice_date'] %}
{#
{% if journalHasMeta(journal, dateField) %} {% if journalHasMeta(journal, dateField) %}
<tr> <tr>
<td>{{ trans('list.'~dateField) }}</td> <td>{{ trans('list.'~dateField) }}</td>
<td>{{ journalGetMetaDate(journal,dateField).formatLocalized(monthAndDayFormat) }}</td> <td>{{ journalGetMetaDate(journal,dateField).formatLocalized(monthAndDayFormat) }}</td>
</tr> </tr>
{% endif %} {% endif %}
#}
{% endfor %} {% endfor %}
{# all other meta values #} {# all other meta values #}
{% for metaField in ['external_id','bunq_payment_id','internal_reference','sepa_batch_id','sepa_ct_id','sepa_ct_op','sepa_db','sepa_country','sepa_cc','sepa_ep','sepa_ci'] %} {% for metaField in ['external_id','bunq_payment_id','internal_reference','sepa_batch_id','sepa_ct_id','sepa_ct_op','sepa_db','sepa_country','sepa_cc','sepa_ep','sepa_ci'] %}
{#
{% if journalHasMeta(journal, metaField) %} {% if journalHasMeta(journal, metaField) %}
<tr> <tr>
<td>{{ trans('list.'~metaField) }}</td> <td>{{ trans('list.'~metaField) }}</td>
<td>{{ journalGetMetaField(journal, metaField) }}</td> <td>{{ journalGetMetaField(journal, metaField) }}</td>
</tr> </tr>
{% endif %} {% endif %}
#}
{% endfor %} {% endfor %}
{% if journal.notes.count == 1 %} {% if journal.notes.count == 1 %}
<tr> <tr>

View File

@@ -38,6 +38,7 @@ use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleGroup; use FireflyIII\Models\RuleGroup;
use FireflyIII\Models\Tag; use FireflyIII\Models\Tag;
use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionJournalLink; use FireflyIII\Models\TransactionJournalLink;
use FireflyIII\Models\TransactionType; use FireflyIII\Models\TransactionType;
@@ -1061,12 +1062,17 @@ try {
Breadcrumbs::register( Breadcrumbs::register(
'transactions.show', 'transactions.show',
function (BreadcrumbsGenerator $breadcrumbs, TransactionJournal $journal) { static function (BreadcrumbsGenerator $breadcrumbs, TransactionGroup $group) {
$what = strtolower($journal->transactionType->type); /** @var TransactionJournal $first */
$title = limitStringLength($journal->description); $first = $group->transactionJournals()->first();
$type = strtolower($first->transactionType->type);
$title = limitStringLength($first->description);
if ($group->transactionJournals()->count() > 1) {
$title = limitStringLength($group->title);
}
$breadcrumbs->parent('transactions.index', $what); $breadcrumbs->parent('transactions.index', $type);
$breadcrumbs->push($title, route('transactions.show', [$journal->id])); $breadcrumbs->push($title, route('transactions.show', [$group->id]));
} }
); );

View File

@@ -548,11 +548,13 @@ Route::group(
// for auto complete // for auto complete
// TODO improve me. // TODO improve 3 routes:
//Route::get('transaction-journals/all', ['uses' => 'Json\AutoCompleteController@allTransactionJournals', 'as' => 'all-transaction-journals']); Route::get('transaction-journals/all', ['uses' => 'Json\AutoCompleteController@allTransactionJournals', 'as' => 'all-transaction-journals']);
//Route::get('transaction-journals/with-id/{tj}', ['uses' => 'Json\AutoCompleteController@journalsWithId', 'as' => 'journals-with-id']); Route::get('transaction-journals/with-id/{tj}', ['uses' => 'Json\AutoCompleteController@journalsWithId', 'as' => 'journals-with-id']);
//Route::get('transaction-journals/{what}', ['uses' => 'Json\AutoCompleteController@transactionJournals', 'as' => 'transaction-journals']); Route::get('transaction-journals/{what}', ['uses' => 'Json\AutoCompleteController@transactionJournals', 'as' => 'transaction-journals']);
// Route::get('transaction-types', ['uses' => 'Json\AutoCompleteController@transactionTypes', 'as' => 'transaction-types']); // TODO end of improvement
Route::get('transaction-types', ['uses' => 'Json\AutoCompleteController@transactionTypes', 'as' => 'transaction-types']);
// boxes // boxes
Route::get('box/balance', ['uses' => 'Json\BoxController@balance', 'as' => 'box.balance']); Route::get('box/balance', ['uses' => 'Json\BoxController@balance', 'as' => 'box.balance']);
@@ -564,7 +566,7 @@ Route::group(
Route::get('trigger', ['uses' => 'JsonController@trigger', 'as' => 'trigger']); Route::get('trigger', ['uses' => 'JsonController@trigger', 'as' => 'trigger']);
Route::get('action', ['uses' => 'JsonController@action', 'as' => 'action']); Route::get('action', ['uses' => 'JsonController@action', 'as' => 'action']);
// frontpage // front page
Route::get('frontpage/piggy-banks', ['uses' => 'Json\FrontpageController@piggyBanks', 'as' => 'fp.piggy-banks']); Route::get('frontpage/piggy-banks', ['uses' => 'Json\FrontpageController@piggyBanks', 'as' => 'fp.piggy-banks']);
// currency conversion: // currency conversion:
@@ -871,19 +873,21 @@ Route::group(
Route::group( Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'transactions', 'as' => 'transactions.'], function () { ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'transactions', 'as' => 'transactions.'], function () {
// Route::get('{what}/all', ['uses' => 'TransactionController@indexAll', 'as' => 'index.all'])->where(['what' => 'withdrawal|deposit|transfers|transfer']); // TODO improve these routes
// Route::get('{what}/{start_date?}/{end_date?}', ['uses' => 'TransactionController@index', 'as' => 'index'])->where( Route::get('{what}/all', ['uses' => 'TransactionController@indexAll', 'as' => 'index.all'])->where(['what' => 'withdrawal|deposit|transfers|transfer']);
// ['what' => 'withdrawal|deposit|transfers|transfer'] Route::get('{what}/{start_date?}/{end_date?}', ['uses' => 'TransactionController@index', 'as' => 'index'])->where(
// ); ['what' => 'withdrawal|deposit|transfers|transfer']
);
//Route::get('show/{tj}', ['uses' => 'TransactionController@show', 'as' => 'show']); Route::get('debug/{tj}', ['uses' => 'Transaction\SingleController@debugShow', 'as' => 'debug']);
//Route::get('debug/{tj}', ['uses' => 'Transaction\SingleController@debugShow', 'as' => 'debug']); Route::get('debug/{tj}', ['uses' => 'Transaction\SingleController@debugShow', 'as' => 'debug']);
//Route::get('show/{tj}', ['uses' => 'TransactionController@show', 'as' => 'show']); Route::post('reorder', ['uses' => 'TransactionController@reorder', 'as' => 'reorder']);
//Route::get('debug/{tj}', ['uses' => 'Transaction\SingleController@debugShow', 'as' => 'debug']); Route::post('reconcile', ['uses' => 'TransactionController@reconcile', 'as' => 'reconcile']);
// TODO end of improvement.
//Route::post('reorder', ['uses' => 'TransactionController@reorder', 'as' => 'reorder']);
//Route::post('reconcile', ['uses' => 'TransactionController@reconcile', 'as' => 'reconcile']); Route::get('show/{transactionGroup}', ['uses' => 'Transaction\ShowController@show', 'as' => 'show']);
} }
); );
@@ -893,13 +897,15 @@ Route::group(
Route::group( Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions', 'as' => 'transactions.'], ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions', 'as' => 'transactions.'],
function () { function () {
// Route::get('create/{what}', ['uses' => 'SingleController@create', 'as' => 'create'])->where(['what' => 'withdrawal|deposit|transfer']); // TODO improve these routes
// Route::get('edit/{tj}', ['uses' => 'SingleController@edit', 'as' => 'edit']); Route::get('create/{what}', ['uses' => 'SingleController@create', 'as' => 'create'])->where(['what' => 'withdrawal|deposit|transfer']);
// Route::get('delete/{tj}', ['uses' => 'SingleController@delete', 'as' => 'delete']); Route::get('edit/{tj}', ['uses' => 'SingleController@edit', 'as' => 'edit']);
// Route::post('store/{what}', ['uses' => 'SingleController@store', 'as' => 'store'])->where(['what' => 'withdrawal|deposit|transfer']); Route::get('delete/{tj}', ['uses' => 'SingleController@delete', 'as' => 'delete']);
// Route::post('update/{tj}', ['uses' => 'SingleController@update', 'as' => 'update']); Route::post('store/{what}', ['uses' => 'SingleController@store', 'as' => 'store'])->where(['what' => 'withdrawal|deposit|transfer']);
// Route::post('destroy/{tj}', ['uses' => 'SingleController@destroy', 'as' => 'destroy']); Route::post('update/{tj}', ['uses' => 'SingleController@update', 'as' => 'update']);
// Route::get('clone/{tj}', ['uses' => 'SingleController@cloneTransaction', 'as' => 'clone']); Route::post('destroy/{tj}', ['uses' => 'SingleController@destroy', 'as' => 'destroy']);
Route::get('clone/{tj}', ['uses' => 'SingleController@cloneTransaction', 'as' => 'clone']);
// TODO end of improvement.
} }
); );
@@ -933,8 +939,10 @@ Route::group(
Route::group( Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions/split', ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions/split',
'as' => 'transactions.split.'], function () { 'as' => 'transactions.split.'], function () {
// Route::get('edit/{tj}', ['uses' => 'SplitController@edit', 'as' => 'edit']); // TODO improve these routes
// Route::post('update/{tj}', ['uses' => 'SplitController@update', 'as' => 'update']); Route::get('edit/{tj}', ['uses' => 'SplitController@edit', 'as' => 'edit']);
Route::post('update/{tj}', ['uses' => 'SplitController@update', 'as' => 'update']);
// TODO end of todo.
} }
); );
@@ -945,8 +953,10 @@ Route::group(
Route::group( Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions/convert', ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions/convert',
'as' => 'transactions.convert.'], function () { 'as' => 'transactions.convert.'], function () {
// Route::get('{transactionType}/{tj}', ['uses' => 'ConvertController@index', 'as' => 'index']); // TODO improve these routes
// Route::post('{transactionType}/{tj}', ['uses' => 'ConvertController@postIndex', 'as' => 'index.post']); Route::get('{transactionType}/{tj}', ['uses' => 'ConvertController@index', 'as' => 'index']);
Route::post('{transactionType}/{tj}', ['uses' => 'ConvertController@postIndex', 'as' => 'index.post']);
// TODO end of todo
} }
); );
@@ -956,7 +966,8 @@ Route::group(
Route::group( Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions/link', 'as' => 'transactions.link.'], ['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers\Transaction', 'prefix' => 'transactions/link', 'as' => 'transactions.link.'],
function () { function () {
//Route::post('store/{tj}', ['uses' => 'LinkController@store', 'as' => 'store']); // TODO improve this route:
Route::post('store/{tj}', ['uses' => 'LinkController@store', 'as' => 'store']);
Route::get('delete/{journalLink}', ['uses' => 'LinkController@delete', 'as' => 'delete']); Route::get('delete/{journalLink}', ['uses' => 'LinkController@delete', 'as' => 'delete']);
Route::get('switch/{journalLink}', ['uses' => 'LinkController@switchLink', 'as' => 'switch']); Route::get('switch/{journalLink}', ['uses' => 'LinkController@switchLink', 'as' => 'switch']);