mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Rebuild FP
This commit is contained in:
@@ -29,17 +29,17 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" style="width:35%;">{{ $t('list.name') }}</th>
|
||||
<th scope="col" style="width:40%;">{{ $t('list.amount') }}</th>
|
||||
<th scope="col" style="width:25%;">{{ $t('list.next_expected_match') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="bill in this.bills">
|
||||
<td><a :href="'./bills/show' + bill.id" :title="bill.attributes.name">{{ bill.attributes.name }}</a></td>
|
||||
<td>~{{
|
||||
<td><a :href="'./bills/show' + bill.id" :title="bill.attributes.name">{{ bill.attributes.name }}</a>
|
||||
~{{
|
||||
Intl.NumberFormat(locale, {style: 'currency', currency: bill.attributes.currency_code}).format((parseFloat(bill.attributes.amount_min) +
|
||||
parseFloat(bill.attributes.amount_max)) / 2)
|
||||
}}
|
||||
<br />
|
||||
</td>
|
||||
<td>
|
||||
<span v-for="payDate in bill.attributes.pay_dates">
|
||||
|
21
frontend/src/components/store/index.js
vendored
21
frontend/src/components/store/index.js
vendored
@@ -20,26 +20,32 @@
|
||||
|
||||
import Vue from 'vue'
|
||||
import Vuex, {createLogger} from 'vuex'
|
||||
import transactions_create from './modules/transactions/create';
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
const debug = process.env.NODE_ENV !== 'production'
|
||||
|
||||
export default new Vuex.Store(
|
||||
{
|
||||
modules: [],
|
||||
strict: true,
|
||||
plugins: [createLogger()],
|
||||
modules: {
|
||||
transactions: {
|
||||
namespaced: true,
|
||||
modules: {
|
||||
create: transactions_create
|
||||
}
|
||||
}
|
||||
},
|
||||
strict: debug,
|
||||
plugins: debug ? [createLogger()] : [],
|
||||
state: {
|
||||
currencyPreference: {},
|
||||
locale: 'en-US'
|
||||
},
|
||||
mutations: {
|
||||
setCurrencyPreference(state, object) {
|
||||
console.log('mutation: setCurrencyPreference');
|
||||
state.currencyPreference = object;
|
||||
},
|
||||
initialiseStore(state) {
|
||||
console.log('mutation: initialiseStore');
|
||||
// if locale in local storage:
|
||||
if (localStorage.locale) {
|
||||
state.locale = localStorage.locale;
|
||||
@@ -66,15 +72,12 @@ export default new Vuex.Store(
|
||||
},
|
||||
actions: {
|
||||
updateCurrencyPreference(context) {
|
||||
console.log('action: updateCurrencyPreference');
|
||||
if (localStorage.currencyPreference) {
|
||||
console.log('action: from local storage');
|
||||
context.commit('setCurrencyPreference', localStorage.currencyPreference);
|
||||
return;
|
||||
}
|
||||
axios.get('./api/v1/currencies/default')
|
||||
.then(response => {
|
||||
console.log('action: from axios');
|
||||
let currencyResponse = {
|
||||
id: parseInt(response.data.data.id),
|
||||
name: response.data.data.attributes.name,
|
||||
|
67
frontend/src/components/store/modules/transactions/create.js
vendored
Normal file
67
frontend/src/components/store/modules/transactions/create.js
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* create.js
|
||||
* Copyright (c) 2020 james@firefly-iii.org
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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 Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
// initial state
|
||||
const state = () => ({
|
||||
transactionType: 'any',
|
||||
transactions: []
|
||||
})
|
||||
|
||||
|
||||
// getters
|
||||
const getters = {
|
||||
transactions: state => {
|
||||
return state.transactions;
|
||||
},
|
||||
transactionType: state => {
|
||||
return state.transactionType;
|
||||
}
|
||||
// // `getters` is localized to this module's getters
|
||||
// // you can use rootGetters via 4th argument of getters
|
||||
// someGetter (state, getters, rootState, rootGetters) {
|
||||
// getters.someOtherGetter // -> 'foo/someOtherGetter'
|
||||
// rootGetters.someOtherGetter // -> 'someOtherGetter'
|
||||
// rootGetters['bar/someOtherGetter'] // -> 'bar/someOtherGetter'
|
||||
// },
|
||||
|
||||
}
|
||||
|
||||
// actions
|
||||
const actions = {}
|
||||
|
||||
// mutations
|
||||
const mutations = {
|
||||
addTransaction(state) {
|
||||
state.transactions.push(
|
||||
{
|
||||
description: '',
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
getters,
|
||||
actions,
|
||||
mutations
|
||||
}
|
@@ -19,100 +19,237 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Create a new transaction</h3>
|
||||
</div>
|
||||
<!-- /.card-header -->
|
||||
<div class="card-body">
|
||||
<div id="accordion">
|
||||
<!-- we are adding the .class so bootstrap.js collapse plugin detects it -->
|
||||
<div class="card card-primary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" class="" aria-expanded="true">
|
||||
Basic transaction information
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse in collapse show" style="">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">From</div>
|
||||
<div class="col">To</div>
|
||||
<div>
|
||||
<div class="row" v-for="(transaction, index) in transactions">
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Create a new transaction</h3>
|
||||
</div>
|
||||
<!-- /.card-header -->
|
||||
<div class="card-body">
|
||||
<div id="accordion">
|
||||
<!-- we are adding the .class so bootstrap.js collapse plugin detects it -->
|
||||
<div class="card card-primary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" :href="'#collapseBasic' + index" class='' aria-expanded="true">
|
||||
Basic transaction information
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div :id="'collapseBasic' + index" class="panel-collapse in collapse show" style=''>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<p>
|
||||
Source
|
||||
</p>
|
||||
</div>
|
||||
<div class="col">
|
||||
<p>
|
||||
Amount
|
||||
<br>
|
||||
foreign amount
|
||||
</p>
|
||||
</div>
|
||||
<div class="col">
|
||||
<p>
|
||||
Destination
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<TransactionDescription
|
||||
v-model="transaction[index].description"
|
||||
:index="index"
|
||||
></TransactionDescription>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
Date<br/>
|
||||
Time
|
||||
</div>
|
||||
<div class="col">
|
||||
Other date
|
||||
</div>
|
||||
<div class="col">
|
||||
Other date
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
Amount, foreign amount, description, time + date
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" :href="'#collapseMeta' + index" class="collapsed" aria-expanded="false">
|
||||
Meta information
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div :id="'collapseMeta' + index" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
Budget<br>
|
||||
Cat<br>
|
||||
</div>
|
||||
<div class="col">
|
||||
Bill<br>
|
||||
Tags<br>
|
||||
Piggy<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" :href="'#collapseExtra' + index" class="collapsed" aria-expanded="false">
|
||||
Extra information
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div :id="'collapseExtra' + index" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
Internal ref<br/>
|
||||
External URL<br/>
|
||||
Notes
|
||||
</div>
|
||||
<div class="col">
|
||||
Transaction links<br/>
|
||||
Attachments
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" class="collapsed" aria-expanded="false">
|
||||
Meta information
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseTwo" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
Budget, category, bill, tags, contract
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">
|
||||
<a data-toggle="collapse" data-parent="#accordion" href="#collapseThree" class="collapsed" aria-expanded="false">
|
||||
Extra information
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseThree" class="panel-collapse collapse">
|
||||
<div class="card-body">
|
||||
Notes, transaction links, custom fields.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.card-body -->
|
||||
</div>
|
||||
<!-- button -->
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<a href="#" class="btn btn-primary">Add a split</a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<p class="float-right">
|
||||
<a href="#" class="btn btn-success">Store transaction</a><br/>
|
||||
</p>
|
||||
<!-- /.card-body -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col float-right">
|
||||
<p class="text-right">
|
||||
<small class="text-muted">Create another another another <input type="checkbox"/></small><br/>
|
||||
<small class="text-muted">Return here <input type="checkbox"/></small><br/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<!-- buttons -->
|
||||
<!-- button -->
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<button @click="addTransaction" class="btn btn-primary">{{ $t('firefly.add_another_split') }}</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<p class="float-right">
|
||||
<button @click="submitTransaction" :disabled="isSubmitting" class="btn btn-success">Store transaction</button>
|
||||
<br/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col float-right">
|
||||
<p class="text-right">
|
||||
<small class="text-muted">Create another another another <input type="checkbox"/></small><br/>
|
||||
<small class="text-muted">Return here <input type="checkbox"/></small><br/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TransactionDescription from "./TransactionDescription";
|
||||
import {createNamespacedHelpers} from 'vuex'
|
||||
|
||||
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('transactions/create')
|
||||
|
||||
|
||||
export default {
|
||||
name: "Create"
|
||||
name: "Create",
|
||||
components: {TransactionDescription},
|
||||
created() {
|
||||
this.addTransaction();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
groupTitle: '',
|
||||
isSubmitting: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters([
|
||||
'transactionType', // -> this.someGetter
|
||||
'transactions', // -> this.someOtherGetter
|
||||
])
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(
|
||||
[
|
||||
'addTransaction',
|
||||
]
|
||||
),
|
||||
/**
|
||||
*
|
||||
*/
|
||||
submitTransaction: function () {
|
||||
this.isSubmitting = true;
|
||||
console.log('Now in submit()');
|
||||
const uri = './api/v1/transactions';
|
||||
const data = this.convertData();
|
||||
|
||||
console.log('Would have submitted:');
|
||||
console.log(data);
|
||||
|
||||
this.isSubmitting = false;
|
||||
},
|
||||
/**
|
||||
*
|
||||
*/
|
||||
convertData: function () {
|
||||
console.log('now in convertData');
|
||||
let data = {
|
||||
//'group_title': null,
|
||||
'transactions': []
|
||||
};
|
||||
for (let key in this.transactions) {
|
||||
if (this.transactions.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
|
||||
data.transactions.push(this.convertSplit(key, this.transactions[key]));
|
||||
}
|
||||
}
|
||||
return data;
|
||||
},
|
||||
|
||||
/**
|
||||
*
|
||||
* @param key
|
||||
* @param array
|
||||
*/
|
||||
convertSplit: function (key, array) {
|
||||
let currentSplit = {
|
||||
description: array.description
|
||||
};
|
||||
|
||||
// return it.
|
||||
return currentSplit;
|
||||
}
|
||||
|
||||
// addTransactionToArray: function (e) {
|
||||
// console.log('Now in addTransactionToArray()');
|
||||
// this.$store.
|
||||
//
|
||||
// this.transactions.push({
|
||||
// description: '',
|
||||
// });
|
||||
// if (e) {
|
||||
// e.preventDefault();
|
||||
// }
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@@ -0,0 +1,56 @@
|
||||
<!--
|
||||
- TransactionDescription.vue
|
||||
- Copyright (c) 2020 james@firefly-iii.org
|
||||
-
|
||||
- This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
-
|
||||
- This program is free software: you can redistribute it and/or modify
|
||||
- it under the terms of the GNU Affero General Public License as
|
||||
- published by the Free Software Foundation, either version 3 of the
|
||||
- License, or (at your option) any later version.
|
||||
-
|
||||
- This program 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 Affero General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Affero General Public License
|
||||
- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="form-group">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input
|
||||
ref="description"
|
||||
:title="$t('firefly.description')"
|
||||
:value="value"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
class="form-control"
|
||||
name="description[]"
|
||||
type="text"
|
||||
:placeholder="$t('firefly.description')"
|
||||
v-on:submit.prevent
|
||||
>
|
||||
<div class="input-group-append">
|
||||
<!-- v-on:click="clearDescription" -->
|
||||
<button class="btn btn-outline-secondary" type="button"><i class="far fa-trash-alt"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: ['value'],
|
||||
name: "TransactionDescription"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "\u0413\u043e\u0434\u0438\u0448\u043d\u0438 \u0431\u044e\u0434\u0436\u0435\u0442\u0438",
|
||||
"other_budgets": "\u0412\u0440\u0435\u043c\u0435\u0432\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u0431\u044e\u0434\u0436\u0435\u0442\u0438",
|
||||
"go_to_withdrawals": "\u041e\u0442\u0438\u0434\u0438 \u043d\u0430 \u0442\u0432\u043e\u0438\u0442\u0435 \u0440\u0430\u0437\u0445\u043e\u0434\u0438",
|
||||
"revenue_accounts": "\u0421\u043c\u0435\u0442\u043a\u0438 \u0437\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438"
|
||||
"revenue_accounts": "\u0421\u043c\u0435\u0442\u043a\u0438 \u0437\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438",
|
||||
"add_another_split": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433 \u0440\u0430\u0437\u0434\u0435\u043b"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "\u041a\u0430\u0441\u0438\u0447\u043a\u0430",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "P\u0159\u00edjmov\u00e9 \u00fa\u010dty"
|
||||
"revenue_accounts": "P\u0159\u00edjmov\u00e9 \u00fa\u010dty",
|
||||
"add_another_split": "P\u0159idat dal\u0161\u00ed roz\u00fa\u010dtov\u00e1n\u00ed"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Pokladni\u010dka",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Jahresbudgets",
|
||||
"other_budgets": "Zeitlich befristete Budgets",
|
||||
"go_to_withdrawals": "Ausgaben anzeigen",
|
||||
"revenue_accounts": "Einnahmekonten"
|
||||
"revenue_accounts": "Einnahmekonten",
|
||||
"add_another_split": "Eine weitere Aufteilung hinzuf\u00fcgen"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Sparschwein",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "\u0388\u03c3\u03bf\u03b4\u03b1"
|
||||
"revenue_accounts": "\u0388\u03c3\u03bf\u03b4\u03b1",
|
||||
"add_another_split": "\u03a0\u03c1\u03bf\u03c3\u03b8\u03ae\u03ba\u03b7 \u03b5\u03bd\u03cc\u03c2 \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b4\u03b9\u03b1\u03c7\u03c9\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "\u039a\u03bf\u03c5\u03bc\u03c0\u03b1\u03c1\u03ac\u03c2",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "Revenue accounts"
|
||||
"revenue_accounts": "Revenue accounts",
|
||||
"add_another_split": "Add another split"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Piggy bank",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "Revenue accounts"
|
||||
"revenue_accounts": "Revenue accounts",
|
||||
"add_another_split": "Add another split"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Piggy bank",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Presupuestos anuales",
|
||||
"other_budgets": "Presupuestos de tiempo personalizado",
|
||||
"go_to_withdrawals": "Ir a sus retiros",
|
||||
"revenue_accounts": "Cuentas de ingresos"
|
||||
"revenue_accounts": "Cuentas de ingresos",
|
||||
"add_another_split": "A\u00f1adir otra divisi\u00f3n"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Alcancilla",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "Tuottotilit"
|
||||
"revenue_accounts": "Tuottotilit",
|
||||
"add_another_split": "Lis\u00e4\u00e4 tapahtumaan uusi osa"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "S\u00e4\u00e4st\u00f6possu",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Budgets annuels",
|
||||
"other_budgets": "Budgets \u00e0 p\u00e9riode personnalis\u00e9e",
|
||||
"go_to_withdrawals": "Acc\u00e9der \u00e0 vos retraits",
|
||||
"revenue_accounts": "Comptes de recettes"
|
||||
"revenue_accounts": "Comptes de recettes",
|
||||
"add_another_split": "Ajouter une autre fraction"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Tirelire",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Ugr\u00e1s a k\u00f6lts\u00e9gekhez",
|
||||
"revenue_accounts": "J\u00f6vedelemsz\u00e1ml\u00e1k"
|
||||
"revenue_accounts": "J\u00f6vedelemsz\u00e1ml\u00e1k",
|
||||
"add_another_split": "M\u00e1sik feloszt\u00e1s hozz\u00e1ad\u00e1sa"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Malacpersely",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Budget annuali",
|
||||
"other_budgets": "Budget a periodi personalizzati",
|
||||
"go_to_withdrawals": "Vai ai tuoi prelievi",
|
||||
"revenue_accounts": "Conti entrate"
|
||||
"revenue_accounts": "Conti entrate",
|
||||
"add_another_split": "Aggiungi un'altra divisione"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Salvadanaio",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "Inntektskontoer"
|
||||
"revenue_accounts": "Inntektskontoer",
|
||||
"add_another_split": "Legg til en oppdeling til"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Sparegris",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Jaarlijkse budgetten",
|
||||
"other_budgets": "Aangepaste budgetten",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "Debiteuren"
|
||||
"revenue_accounts": "Debiteuren",
|
||||
"add_another_split": "Voeg een split toe"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Spaarpotje",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Bud\u017cety roczne",
|
||||
"other_budgets": "Bud\u017cety niestandardowe",
|
||||
"go_to_withdrawals": "Przejd\u017a do swoich wydatk\u00f3w",
|
||||
"revenue_accounts": "Konta przychod\u00f3w"
|
||||
"revenue_accounts": "Konta przychod\u00f3w",
|
||||
"add_another_split": "Dodaj kolejny podzia\u0142"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Skarbonka",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Or\u00e7amentos anuais",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "V\u00e1 para seus saques",
|
||||
"revenue_accounts": "Contas de receitas"
|
||||
"revenue_accounts": "Contas de receitas",
|
||||
"add_another_split": "Adicionar outra divis\u00e3o"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Cofrinho",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "Conturi de venituri"
|
||||
"revenue_accounts": "Conturi de venituri",
|
||||
"add_another_split": "Ad\u0103uga\u021bi o divizare"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Pu\u0219culi\u021b\u0103",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "\u0421\u0447\u0435\u0442\u0430 \u0434\u043e\u0445\u043e\u0434\u043e\u0432"
|
||||
"revenue_accounts": "\u0421\u0447\u0435\u0442\u0430 \u0434\u043e\u0445\u043e\u0434\u043e\u0432",
|
||||
"add_another_split": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "\u041a\u043e\u043f\u0438\u043b\u043a\u0430",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Ro\u010dn\u00e9 rozpo\u010dty",
|
||||
"other_budgets": "\u0160pecifick\u00e9 \u010dasovan\u00e9 rozpo\u010dty",
|
||||
"go_to_withdrawals": "Zobrazi\u0165 v\u00fdbery",
|
||||
"revenue_accounts": "V\u00fdnosov\u00e9 \u00fa\u010dty"
|
||||
"revenue_accounts": "V\u00fdnosov\u00e9 \u00fa\u010dty",
|
||||
"add_another_split": "Prida\u0165 \u010fal\u0161ie roz\u00fa\u010dtovanie"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Pokladni\u010dka",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "\u00c5rliga budgetar",
|
||||
"other_budgets": "Anpassade tidsinst\u00e4llda budgetar",
|
||||
"go_to_withdrawals": "G\u00e5 till dina uttag",
|
||||
"revenue_accounts": "Int\u00e4ktskonton"
|
||||
"revenue_accounts": "Int\u00e4ktskonton",
|
||||
"add_another_split": "L\u00e4gga till en annan delning"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "Spargris",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "T\u00e0i kho\u1ea3n doanh thu"
|
||||
"revenue_accounts": "T\u00e0i kho\u1ea3n doanh thu",
|
||||
"add_another_split": "Th\u00eam m\u1ed9t ph\u00e2n chia kh\u00e1c"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "\u1ed0ng heo con",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "\u6536\u5165\u5e10\u6237"
|
||||
"revenue_accounts": "\u6536\u5165\u5e10\u6237",
|
||||
"add_another_split": "\u589e\u52a0\u62c6\u5206"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "\u5b58\u94b1\u7f50",
|
||||
|
@@ -43,7 +43,8 @@
|
||||
"yearly_budgets": "Yearly budgets",
|
||||
"other_budgets": "Custom timed budgets",
|
||||
"go_to_withdrawals": "Go to your withdrawals",
|
||||
"revenue_accounts": "\u6536\u5165\u5e33\u6236"
|
||||
"revenue_accounts": "\u6536\u5165\u5e33\u6236",
|
||||
"add_another_split": "\u589e\u52a0\u62c6\u5206"
|
||||
},
|
||||
"list": {
|
||||
"piggy_bank": "\u5c0f\u8c6c\u64b2\u6eff",
|
||||
|
2
frontend/src/pages/dashboard.js
vendored
2
frontend/src/pages/dashboard.js
vendored
@@ -35,7 +35,7 @@ import Calendar from "../components/dashboard/Calendar";
|
||||
import MainCategoryList from "../components/dashboard/MainCategoryList";
|
||||
import Vue from "vue";
|
||||
import Vuex from 'vuex'
|
||||
import store from '../components/store/index';
|
||||
import store from '../components/store';
|
||||
|
||||
/**
|
||||
* First we will load Axios via bootstrap.js
|
||||
|
5
frontend/src/pages/transactions/create.js
vendored
5
frontend/src/pages/transactions/create.js
vendored
@@ -18,9 +18,11 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import store from "../../components/store";
|
||||
import Create from "../../components/transactions/Create";
|
||||
|
||||
require('../../bootstrap');
|
||||
|
||||
import Create from "../../components/transactions/Create";
|
||||
|
||||
// i18n
|
||||
let i18n = require('../../i18n');
|
||||
@@ -28,6 +30,7 @@ let i18n = require('../../i18n');
|
||||
let props = {};
|
||||
new Vue({
|
||||
i18n,
|
||||
store,
|
||||
render(createElement) {
|
||||
return createElement(Create, {props: props});
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@babel/code-frame@^7.10.4":
|
||||
"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.11":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
|
||||
integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
|
||||
@@ -35,7 +35,7 @@
|
||||
semver "^5.4.1"
|
||||
source-map "^0.5.0"
|
||||
|
||||
"@babel/generator@^7.12.10":
|
||||
"@babel/generator@^7.12.10", "@babel/generator@^7.12.11":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af"
|
||||
integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==
|
||||
@@ -104,7 +104,7 @@
|
||||
dependencies:
|
||||
"@babel/types" "^7.12.1"
|
||||
|
||||
"@babel/helper-function-name@^7.10.4":
|
||||
"@babel/helper-function-name@^7.10.4", "@babel/helper-function-name@^7.12.11":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42"
|
||||
integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==
|
||||
@@ -201,7 +201,7 @@
|
||||
dependencies:
|
||||
"@babel/types" "^7.12.1"
|
||||
|
||||
"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0":
|
||||
"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0", "@babel/helper-split-export-declaration@^7.12.11":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a"
|
||||
integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==
|
||||
@@ -246,15 +246,15 @@
|
||||
chalk "^2.0.0"
|
||||
js-tokens "^4.0.0"
|
||||
|
||||
"@babel/parser@^7.12.10", "@babel/parser@^7.12.7":
|
||||
"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79"
|
||||
integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==
|
||||
|
||||
"@babel/plugin-proposal-async-generator-functions@^7.12.1":
|
||||
version "7.12.1"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e"
|
||||
integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==
|
||||
version "7.12.12"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz#04b8f24fd4532008ab4e79f788468fd5a8476566"
|
||||
integrity sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.10.4"
|
||||
"@babel/helper-remap-async-to-generator" "^7.12.1"
|
||||
@@ -466,9 +466,9 @@
|
||||
"@babel/helper-plugin-utils" "^7.10.4"
|
||||
|
||||
"@babel/plugin-transform-block-scoping@^7.12.11":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.11.tgz#83ae92a104dbb93a7d6c6dd1844f351083c46b4f"
|
||||
integrity sha512-atR1Rxc3hM+VPg/NvNvfYw0npQEAcHuJ+MGZnFn6h3bo+1U3BWXMdFMlvVRApBTWKQMX7SOwRJZA5FBF/JQbvA==
|
||||
version "7.12.12"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca"
|
||||
integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.10.4"
|
||||
|
||||
@@ -800,24 +800,24 @@
|
||||
"@babel/types" "^7.12.7"
|
||||
|
||||
"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5":
|
||||
version "7.12.10"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.10.tgz#2d1f4041e8bf42ea099e5b2dc48d6a594c00017a"
|
||||
integrity sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==
|
||||
version "7.12.12"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376"
|
||||
integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.10.4"
|
||||
"@babel/generator" "^7.12.10"
|
||||
"@babel/helper-function-name" "^7.10.4"
|
||||
"@babel/helper-split-export-declaration" "^7.11.0"
|
||||
"@babel/parser" "^7.12.10"
|
||||
"@babel/types" "^7.12.10"
|
||||
"@babel/code-frame" "^7.12.11"
|
||||
"@babel/generator" "^7.12.11"
|
||||
"@babel/helper-function-name" "^7.12.11"
|
||||
"@babel/helper-split-export-declaration" "^7.12.11"
|
||||
"@babel/parser" "^7.12.11"
|
||||
"@babel/types" "^7.12.12"
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
lodash "^4.17.19"
|
||||
|
||||
"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.4.4":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.11.tgz#a86e4d71e30a9b6ee102590446c98662589283ce"
|
||||
integrity sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==
|
||||
"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.4.4":
|
||||
version "7.12.12"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299"
|
||||
integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier" "^7.12.11"
|
||||
lodash "^4.17.19"
|
||||
@@ -872,9 +872,9 @@
|
||||
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
||||
|
||||
"@types/node@*":
|
||||
version "14.14.14"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.14.tgz#f7fd5f3cc8521301119f63910f0fb965c7d761ae"
|
||||
integrity sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==
|
||||
version "14.14.16"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.16.tgz#3cc351f8d48101deadfed4c9e4f116048d437b4b"
|
||||
integrity sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw==
|
||||
|
||||
"@types/q@^1.5.1":
|
||||
version "1.5.4"
|
||||
@@ -2629,9 +2629,9 @@ ejs@^2.6.1:
|
||||
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
|
||||
|
||||
electron-to-chromium@^1.3.621:
|
||||
version "1.3.631"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.631.tgz#b28ebc7bfb348bb0aede2fae8888d775ddb6f5ee"
|
||||
integrity sha512-mPEG/52142po0XK1jQkZtbMmp38MZtQ3JDFItYxV65WXyhxDYEQ54tP4rb93m0RbMlZqQ+4zBw2N7UumSgGfbA==
|
||||
version "1.3.633"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe"
|
||||
integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==
|
||||
|
||||
elliptic@^6.5.3:
|
||||
version "6.5.3"
|
||||
|
Reference in New Issue
Block a user