Merge branch 'master' of github.com:akaunting/akaunting

This commit is contained in:
Cüneyt Şentürk 2021-05-30 17:23:07 +03:00
commit 7e3b1b600e
40 changed files with 734 additions and 399 deletions

View File

@ -32,7 +32,7 @@ class Permissions extends ApiController
*/ */
public function show(Permission $permission) public function show(Permission $permission)
{ {
return $this->response->item($permission, new Transformer()); return $this->item($permission, new Transformer());
} }
/** /**
@ -45,7 +45,7 @@ class Permissions extends ApiController
{ {
$permission = $this->dispatch(new CreatePermission($request)); $permission = $this->dispatch(new CreatePermission($request));
return $this->response->created(route('api.permissions.show', $permission->id)); return $this->response->created(route('api.permissions.show', $permission->id), $this->item($permission, new Transformer()));
} }
/** /**

View File

@ -32,7 +32,7 @@ class Roles extends ApiController
*/ */
public function show(Role $role) public function show(Role $role)
{ {
return $this->response->item($role, new Transformer()); return $this->item($role, new Transformer());
} }
/** /**
@ -45,7 +45,7 @@ class Roles extends ApiController
{ {
$role = $this->dispatch(new CreateRole($request)); $role = $this->dispatch(new CreateRole($request));
return $this->response->created(route('api.roles.show', $role->id)); return $this->response->created(route('api.roles.show', $role->id), $this->item($role, new Transformer()));
} }
/** /**

View File

@ -39,7 +39,7 @@ class Users extends ApiController
$user = User::with('companies', 'permissions', 'roles')->where('email', $id)->first(); $user = User::with('companies', 'permissions', 'roles')->where('email', $id)->first();
} }
return $this->response->item($user, new Transformer()); return $this->item($user, new Transformer());
} }
/** /**
@ -52,7 +52,7 @@ class Users extends ApiController
{ {
$user = $this->dispatch(new CreateUser($request)); $user = $this->dispatch(new CreateUser($request));
return $this->response->created(route('api.users.show', $user->id)); return $this->response->created(route('api.users.show', $user->id), $this->item($user, new Transformer()));
} }
/** /**

View File

@ -39,7 +39,7 @@ class Accounts extends ApiController
$account = Account::where('number', $id)->first(); $account = Account::where('number', $id)->first();
} }
return $this->response->item($account, new Transformer()); return $this->item($account, new Transformer());
} }
/** /**
@ -52,7 +52,7 @@ class Accounts extends ApiController
{ {
$account = $this->dispatch(new CreateAccount($request)); $account = $this->dispatch(new CreateAccount($request));
return $this->response->created(route('api.accounts.show', $account->id)); return $this->response->created(route('api.accounts.show', $account->id), $this->item($account, new Transformer()));
} }
/** /**

View File

@ -32,7 +32,7 @@ class Reconciliations extends ApiController
*/ */
public function show(Reconciliation $reconciliation) public function show(Reconciliation $reconciliation)
{ {
return $this->response->item($reconciliation, new Transformer()); return $this->item($reconciliation, new Transformer());
} }
/** /**
@ -45,7 +45,7 @@ class Reconciliations extends ApiController
{ {
$reconciliation = $this->dispatch(new CreateReconciliation($request)); $reconciliation = $this->dispatch(new CreateReconciliation($request));
return $this->response->created(route('api.reconciliations.show', $reconciliation->id)); return $this->response->created(route('api.reconciliations.show', $reconciliation->id), $this->item($reconciliation, new Transformer()));
} }
/** /**

View File

@ -32,7 +32,7 @@ class Transactions extends ApiController
*/ */
public function show(Transaction $transaction) public function show(Transaction $transaction)
{ {
return $this->response->item($transaction, new Transformer()); return $this->item($transaction, new Transformer());
} }
/** /**
@ -45,7 +45,7 @@ class Transactions extends ApiController
{ {
$transaction = $this->dispatch(new CreateTransaction($request)); $transaction = $this->dispatch(new CreateTransaction($request));
return $this->response->created(route('api.transactions.show', $transaction->id)); return $this->response->created(route('api.transactions.show', $transaction->id), $this->item($transaction, new Transformer()));
} }
/** /**

View File

@ -62,7 +62,7 @@ class Transfers extends ApiController
*/ */
public function show(Transfer $transfer) public function show(Transfer $transfer)
{ {
return $this->response->item($transfer, new Transformer()); return $this->item($transfer, new Transformer());
} }
/** /**
@ -75,7 +75,7 @@ class Transfers extends ApiController
{ {
$transfer = $this->dispatch(new CreateTransfer($request)); $transfer = $this->dispatch(new CreateTransfer($request));
return $this->response->created(route('api.transfers.show', $transfer->id)); return $this->response->created(route('api.transfers.show', $transfer->id), $this->item($transfer, new Transformer()));
} }
/** /**

View File

@ -40,7 +40,7 @@ class Companies extends ApiController
// Check if user can access company // Check if user can access company
$this->canAccess($company); $this->canAccess($company);
return $this->response->item($company, new Transformer()); return $this->item($company, new Transformer());
} catch (\Exception $e) { } catch (\Exception $e) {
$this->response->errorUnauthorized($e->getMessage()); $this->response->errorUnauthorized($e->getMessage());
} }
@ -56,7 +56,7 @@ class Companies extends ApiController
{ {
$company = $this->dispatch(new CreateCompany($request)); $company = $this->dispatch(new CreateCompany($request));
return $this->response->created(route('api.companies.show', $company->id)); return $this->response->created(route('api.companies.show', $company->id), $this->item($company, new Transformer()));
} }
/** /**

View File

@ -42,7 +42,7 @@ class Contacts extends ApiController
$contact = Contact::where('email', $id)->first(); $contact = Contact::where('email', $id)->first();
} }
return $this->response->item($contact, new Transformer()); return $this->item($contact, new Transformer());
} }
/** /**
@ -55,7 +55,7 @@ class Contacts extends ApiController
{ {
$contact = $this->dispatch(new CreateContact($request)); $contact = $this->dispatch(new CreateContact($request));
return $this->response->created(route('api.contacts.show', $contact->id)); return $this->response->created(route('api.contacts.show', $contact->id), $this->item($contact, new Transformer()));
} }
/** /**

View File

@ -42,7 +42,7 @@ class Dashboards extends ApiController
// Check if user can access dashboard // Check if user can access dashboard
$this->canAccess($dashboard); $this->canAccess($dashboard);
return $this->response->item($dashboard, new Transformer()); return $this->item($dashboard, new Transformer());
} catch (\Exception $e) { } catch (\Exception $e) {
$this->response->errorUnauthorized($e->getMessage()); $this->response->errorUnauthorized($e->getMessage());
} }
@ -58,7 +58,7 @@ class Dashboards extends ApiController
{ {
$dashboard = $this->dispatch(new CreateDashboard($request)); $dashboard = $this->dispatch(new CreateDashboard($request));
return $this->response->created(route('api.dashboards.show', $dashboard->id)); return $this->response->created(route('api.dashboards.show', $dashboard->id), $this->item($dashboard, new Transformer()));
} }
/** /**

View File

@ -34,7 +34,7 @@ class Items extends ApiController
{ {
$item = Item::with('category', 'taxes')->find($id); $item = Item::with('category', 'taxes')->find($id);
return $this->response->item($item, new Transformer()); return $this->item($item, new Transformer());
} }
/** /**
@ -47,7 +47,7 @@ class Items extends ApiController
{ {
$item = $this->dispatch(new CreateItem($request)); $item = $this->dispatch(new CreateItem($request));
return $this->response->created(route('api.items.show', $item->id)); return $this->response->created(route('api.items.show', $item->id), $this->item($item, new Transformer()));
} }
/** /**

View File

@ -32,7 +32,7 @@ class Reports extends ApiController
*/ */
public function show(Report $report) public function show(Report $report)
{ {
return $this->response->item($report, new Transformer()); return $this->item($report, new Transformer());
} }
/** /**
@ -45,7 +45,7 @@ class Reports extends ApiController
{ {
$report = $this->dispatch(new CreateReport($request)); $report = $this->dispatch(new CreateReport($request));
return $this->response->created(route('api.reports.show', $report->id)); return $this->response->created(route('api.reports.show', $report->id), $this->item($report, new Transformer()));
} }
/** /**

View File

@ -48,7 +48,7 @@ class DocumentTransactions extends ApiController
{ {
$transaction = Transaction::documentId($document_id)->find($id); $transaction = Transaction::documentId($document_id)->find($id);
return $this->response->item($transaction, new Transformer()); return $this->item($transaction, new Transformer());
} }
/** /**
@ -64,7 +64,7 @@ class DocumentTransactions extends ApiController
$transaction = $this->dispatch(new CreateBankingDocumentTransaction($document, $request)); $transaction = $this->dispatch(new CreateBankingDocumentTransaction($document, $request));
return $this->response->created(route('api.documents.transactions.show', [$document_id, $transaction->id])); return $this->response->created(route('api.documents.transactions.show', [$document_id, $transaction->id]), $this->item($transaction, new Transformer()));
} }
/** /**

View File

@ -39,7 +39,7 @@ class Documents extends ApiController
$document = Document::where('document_number', $id)->first(); $document = Document::where('document_number', $id)->first();
} }
return $this->response->item($document, new Transformer()); return $this->item($document, new Transformer());
} }
/** /**
@ -53,7 +53,7 @@ class Documents extends ApiController
{ {
$document = $this->dispatch(new CreateDocument($request)); $document = $this->dispatch(new CreateDocument($request));
return $this->response->created(route('api.documents.show', $document->id)); return $this->response->created(route('api.documents.show', $document->id), $this->item($document, new Transformer()));
} }
/** /**
@ -68,7 +68,7 @@ class Documents extends ApiController
{ {
$document = $this->dispatch(new UpdateDocument($document, $request)); $document = $this->dispatch(new UpdateDocument($document, $request));
return $this->response->item($document->fresh(), new Transformer()); return $this->item($document->fresh(), new Transformer());
} }
/** /**

View File

@ -32,7 +32,7 @@ class Categories extends ApiController
*/ */
public function show(Category $category) public function show(Category $category)
{ {
return $this->response->item($category, new Transformer()); return $this->item($category, new Transformer());
} }
/** /**
@ -45,7 +45,7 @@ class Categories extends ApiController
{ {
$category = $this->dispatch(new CreateCategory($request)); $category = $this->dispatch(new CreateCategory($request));
return $this->response->created(route('api.categories.show', $category->id)); return $this->response->created(route('api.categories.show', $category->id), $this->item($category, new Transformer()));
} }
/** /**

View File

@ -39,7 +39,7 @@ class Currencies extends ApiController
$currency = Currency::where('code', $id)->first(); $currency = Currency::where('code', $id)->first();
} }
return $this->response->item($currency, new Transformer()); return $this->item($currency, new Transformer());
} }
/** /**
@ -52,7 +52,7 @@ class Currencies extends ApiController
{ {
$currency = $this->dispatch(new CreateCurrency($request)); $currency = $this->dispatch(new CreateCurrency($request));
return $this->response->created(route('api.currencies.show', $currency->id)); return $this->response->created(route('api.currencies.show', $currency->id), $this->item($currency, new Transformer()));
} }
/** /**

View File

@ -39,7 +39,7 @@ class Settings extends ApiController
$setting = Setting::where('key', $id)->first(); $setting = Setting::where('key', $id)->first();
} }
return $this->response->item($setting, new Transformer()); return $this->item($setting, new Transformer());
} }
/** /**
@ -52,7 +52,7 @@ class Settings extends ApiController
{ {
$setting = Setting::create($request->all()); $setting = Setting::create($request->all());
return $this->response->created(route('api.settings.show', $setting->id)); return $this->response->created(route('api.settings.show', $setting->id), $this->item($setting, new Transformer()));
} }
/** /**
@ -66,7 +66,7 @@ class Settings extends ApiController
{ {
$setting->update($request->all()); $setting->update($request->all());
return $this->response->item($setting->fresh(), new Transformer()); return $this->item($setting->fresh(), new Transformer());
} }
/** /**

View File

@ -32,7 +32,7 @@ class Taxes extends ApiController
*/ */
public function show(Tax $tax) public function show(Tax $tax)
{ {
return $this->response->item($tax, new Transformer()); return $this->item($tax, new Transformer());
} }
/** /**
@ -45,7 +45,7 @@ class Taxes extends ApiController
{ {
$tax = $this->dispatch(new CreateTax($request)); $tax = $this->dispatch(new CreateTax($request));
return $this->response->created(route('api.taxes.show', $tax->id)); return $this->response->created(route('api.taxes.show', $tax->id), $this->item($tax, new Transformer()));
} }
/** /**

View File

@ -125,8 +125,8 @@ class Data extends Controller
$company->api_key = setting('apps.api_key'); $company->api_key = setting('apps.api_key');
$company->financial_start = setting('localisation.financial_start'); $company->financial_start = setting('localisation.financial_start');
if ($company->logo) { if ($company->company_logo) {
$logo = \Plank\Mediable\Media::find($company->logo); $logo = $company->logo;
$logo->path = route('uploads.get', $logo->id); $logo->path = route('uploads.get', $logo->id);

View File

@ -116,25 +116,31 @@ import WizardAction from "./../../mixins/wizardAction";
export default { export default {
name: "Company", name: "Company",
mixins: [WizardAction], mixins: [WizardAction],
components: { components: {
[Step.name]: Step, [Step.name]: Step,
[Steps.name]: Steps, [Steps.name]: Steps,
AkauntingDropzoneFileUpload, AkauntingDropzoneFileUpload,
AkauntingDate, AkauntingDate,
}, },
props: { props: {
company: { company: {
type: [Object, Array], type: [Object, Array],
}, },
translations: { translations: {
type: [Object, Array], type: [Object, Array],
}, },
url: { url: {
type: String, type: String,
default: "text", default: "text",
}, },
}, },
data() { data() {
return { return {
active: 0, active: 0,
@ -142,28 +148,25 @@ export default {
real_date: "", real_date: "",
}; };
}, },
mounted() { mounted() {
let company_data = this.company; let company_data = this.company;
this.onDataWatch(company_data); this.onDataWatch(company_data);
}, },
watch: {
company: function (company) {
this.onDataWatch(company);
},
},
methods: { methods: {
onDataWatch(company) { onDataWatch(company) {
if (Object.keys(company).length) { if (Object.keys(company).length) {
let logo_arr = [ let logo_arr = [{
{
id: company.logo.id, id: company.logo.id,
name: company.logo.filename + "." + company.logo.extension, name: company.logo.filename + "." + company.logo.extension,
path: company.logo.path, path: company.logo.path,
type: company.logo.mime_type, type: company.logo.mime_type,
size: company.logo.size, size: company.logo.size,
downloadPath: false, downloadPath: false,
}, }];
];
this.logo.push(logo_arr); this.logo.push(logo_arr);
this.real_date = company.financial_start; this.real_date = company.financial_start;
} }
@ -175,6 +178,7 @@ export default {
if (name == "previewElement" || name == "previewTemplate") { if (name == "previewElement" || name == "previewTemplate") {
continue; continue;
} }
if (wrapper) { if (wrapper) {
if ( if (
(typeof data[name] == "object" || Array.isArray(data[name])) && (typeof data[name] == "object" || Array.isArray(data[name])) &&
@ -200,6 +204,7 @@ export default {
}; };
const formData = new FormData(this.$refs["form"]); const formData = new FormData(this.$refs["form"]);
let data_name = {}; let data_name = {};
for (let [key, val] of formData.entries()) { for (let [key, val] of formData.entries()) {
@ -215,8 +220,8 @@ export default {
} }
formData.appendRecursive(data_name); formData.appendRecursive(data_name);
window
.axios({ window.axios({
method: "POST", method: "POST",
url: url + "/wizard/companies", url: url + "/wizard/companies",
data: formData, data: formData,
@ -239,5 +244,11 @@ export default {
this.$router.push("/wizard/currencies"); this.$router.push("/wizard/currencies");
}, },
}, },
watch: {
company: function (company) {
this.onDataWatch(company);
},
},
}; };
</script> </script>

View File

@ -300,7 +300,9 @@ import WizardAction from "./../../mixins/wizardAction";
export default { export default {
name: "Currencies", name: "Currencies",
mixins: [MixinsGlobal, WizardAction], mixins: [MixinsGlobal, WizardAction],
components: { components: {
[Step.name]: Step, [Step.name]: Step,
[Steps.name]: Steps, [Steps.name]: Steps,
@ -308,26 +310,32 @@ export default {
[Option.name]: Option, [Option.name]: Option,
AkauntingRadioGroup, AkauntingRadioGroup,
}, },
props: { props: {
currencies: { currencies: {
type: [Object, Array], type: [Object, Array],
}, },
currency_codes: { currency_codes: {
type: [Object, Array], type: [Object, Array],
}, },
translations: { translations: {
type: [Object, Array], type: [Object, Array],
}, },
}, },
data() { data() {
return { return {
active: 1, active: 1,
bulk_action: new BulkAction(url + "/settings/currencies"), bulk_action: new BulkAction(url + "/settings/currencies"),
}; };
}, },
methods: { methods: {
onSwitchUpdate(item) { onSwitchUpdate(item) {
this.onStatus(item.id, event); this.onStatus(item.id, event);
this.onStatusControl(this.currencies, item.id, event); this.onStatusControl(this.currencies, item.id, event);
}, },
@ -369,8 +377,7 @@ export default {
}); });
} }
window window.axios({
.axios({
method: "GET", method: "GET",
url: url + "/settings/currencies/config", url: url + "/settings/currencies/config",
params: { params: {
@ -384,6 +391,7 @@ export default {
data.symbol_first = response.data.symbol_first; data.symbol_first = response.data.symbol_first;
data.decimal_mark = response.data.decimal_mark; data.decimal_mark = response.data.decimal_mark;
data.thousands_separator = response.data.thousands_separator; data.thousands_separator = response.data.thousands_separator;
this.model.rate = response.data.rate; this.model.rate = response.data.rate;
}, this); }, this);
}, },
@ -410,6 +418,7 @@ export default {
prev() { prev() {
if (this.active-- > 2); if (this.active-- > 2);
history.back() history.back()
this.$router.push("/wizard/companies"); this.$router.push("/wizard/companies");
}, },

View File

@ -1,5 +1,5 @@
<template> <template>
<div v-if="is_loaded"> <div>
<h1 class="text-white">{{ translations.finish.title }}</h1> <h1 class="text-white">{{ translations.finish.title }}</h1>
<div class="card"> <div class="card">
<div class="card-header wizard-header p-3"> <div class="card-header wizard-header p-3">
@ -88,20 +88,35 @@ import { Step, Steps } from "element-ui";
export default { export default {
name: "Finish", name: "Finish",
components: { components: {
[Step.name]: Step, [Step.name]: Step,
[Steps.name]: Steps, [Steps.name]: Steps,
}, },
props: {
modules: {
type: [Object, Array],
},
translations: {
type: [Object, Array],
}
},
data() {
return {
active: 3,
route_url: url,
};
},
created() { created() {
window window.axios({
.axios({
method: "PATCH", method: "PATCH",
url: url + "/wizard/finish", url: url + "/wizard/finish",
}) })
.then((response) => { .then((response) => {
if (response.status == "200") {
this.is_loaded = true;
}
}) })
.catch((error) => { .catch((error) => {
this.$notify({ this.$notify({
@ -114,25 +129,14 @@ export default {
this.prev(); this.prev();
}); });
}, },
props: {
modules: {
type: [Object, Array],
},
translations: {
type: [Object, Array],
}
},
data() {
return {
active: 3,
route_url: url,
is_loaded: false
};
},
methods: { methods: {
prev() { prev() {
if (this.active-- > 2); this.active--;
if (this.active > 2) {
this.$router.push("/wizard/taxes"); this.$router.push("/wizard/taxes");
}
}, },
finish() { finish() {

View File

@ -230,29 +230,36 @@ import WizardAction from "./../../mixins/wizardAction";
export default { export default {
name: "Taxes", name: "Taxes",
mixins: [MixinsGlobal, WizardAction], mixins: [MixinsGlobal, WizardAction],
components: { components: {
[Step.name]: Step, [Step.name]: Step,
[Steps.name]: Steps, [Steps.name]: Steps,
AkauntingRadioGroup, AkauntingRadioGroup,
}, },
props: { props: {
taxes: { taxes: {
type: [Object, Array], type: [Object, Array],
}, },
translations: { translations: {
type: [Object, Array], type: [Object, Array],
}, },
}, },
data() { data() {
return { return {
active: 2, active: 2,
bulk_action: new BulkAction(url + "/settings/taxes"), bulk_action: new BulkAction(url + "/settings/taxes"),
}; };
}, },
methods: { methods: {
onSwitchUpdate(item) { onSwitchUpdate(item) {
this.onStatus(item.id, event); this.onStatus(item.id, event);
this.onStatusControl(this.taxes, item.id, event); this.onStatusControl(this.taxes, item.id, event);
}, },

View File

@ -7,19 +7,19 @@ return [
'login' => 'Logi sisse', 'login' => 'Logi sisse',
'login_to' => 'Sessiooni alustamiseks logi sisse', 'login_to' => 'Sessiooni alustamiseks logi sisse',
'remember_me' => 'Jäta mind meelde', 'remember_me' => 'Jäta mind meelde',
'forgot_password' => 'Unustasin oma parooli', 'forgot_password' => 'Ma unustasin oma parooli',
'reset_password' => 'Lähtesta parool', 'reset_password' => 'Lähtesta parool',
'enter_email' => 'Sisesta oma e-posti aadress', 'enter_email' => 'Sisesta oma e-posti aadress',
'current_email' => 'Praegune e-mail', 'current_email' => 'Praegune e-kiri',
'reset' => 'Lähesta', 'reset' => 'Lähesta',
'never' => 'mitte kunagi', 'never' => 'mitte kunagi',
'landing_page' => 'Sihtleht', 'landing_page' => 'Sihtleht',
'password' => [ 'password' => [
'current' => 'Parool', 'current' => 'Parool',
'current_confirm' => 'Parooli kinnitus', 'current_confirm' => 'Salasõna kinnitus',
'new' => 'Uus parool', 'new' => 'Uus salasõna',
'new_confirm' => 'Uue parooli kinnitus', 'new_confirm' => 'Uue salasõna kinnitus',
], ],
'error' => [ 'error' => [
@ -28,7 +28,7 @@ return [
'no_company' => 'Viga: teie kontole pole määratud ühtegi ettevõtet. Palun pöörduge süsteemiadministraatori poole.', 'no_company' => 'Viga: teie kontole pole määratud ühtegi ettevõtet. Palun pöörduge süsteemiadministraatori poole.',
], ],
'failed' => 'Need andmed ei klapi meie kirjetega.', 'failed' => 'Andmed ei kattu.',
'disabled' => 'See konto on keelatud. Palun pöörduge süsteemiadministraatori poole.', 'disabled' => 'See konto on keelatud. Palun pöörduge süsteemiadministraatori poole.',
'throttle' => 'Liiga palju sisselogimise katseid. Palun proovi uuesti :seconds sekundi pärast.', 'throttle' => 'Liiga palju sisselogimise katseid. Palun proovi uuesti :seconds sekundi pärast.',

View File

@ -4,7 +4,7 @@ return [
'bill_number' => 'Arve number', 'bill_number' => 'Arve number',
'bill_date' => 'Arve kuupäev', 'bill_date' => 'Arve kuupäev',
'total_price' => 'Koguhind', 'total_price' => 'Hind kokku',
'due_date' => 'Tähtaeg', 'due_date' => 'Tähtaeg',
'order_number' => 'Tellimuse number', 'order_number' => 'Tellimuse number',
'bill_from' => 'Arve saatja', 'bill_from' => 'Arve saatja',
@ -14,17 +14,17 @@ return [
'sub_total' => 'Vahesumma', 'sub_total' => 'Vahesumma',
'discount' => 'Allahindlus', 'discount' => 'Allahindlus',
'item_discount' => 'Rea soodustus', 'item_discount' => 'Rea soodustus',
'tax_total' => 'Maksud kokku', 'tax_total' => 'Käibemaks kokku',
'total' => 'Kokku', 'total' => 'Kokku',
'item_name' => 'Kauba nimi | Kauba nimed', 'item_name' => 'Kauba nimi|Kauba nimed',
'show_discount' => 'Soodustus :discount%', 'show_discount' => ':discount% allahindlus',
'add_discount' => 'Lisa allahindlus', 'add_discount' => 'Lisa allahindlus',
'discount_desc' => 'vahesummast', 'discount_desc' => 'vahesummast',
'payment_due' => 'Makse tähtaeg', 'payment_due' => 'Makse tähtaeg',
'amount_due' => 'Tasumisele kuuluv summa', 'amount_due' => 'Maksmisele kuuluv summa',
'paid' => 'Makstud', 'paid' => 'Makstud',
'histories' => 'Ajalood', 'histories' => 'Ajalood',
'payments' => 'Maksed', 'payments' => 'Maksed',
@ -33,7 +33,7 @@ return [
'mark_received' => 'Makse on saabunud', 'mark_received' => 'Makse on saabunud',
'mark_cancelled' => 'Märgi tühistatuks', 'mark_cancelled' => 'Märgi tühistatuks',
'download_pdf' => 'Laadi alla PDF', 'download_pdf' => 'Laadi alla PDF',
'send_mail' => 'Saada kiri', 'send_mail' => 'Saada e-kiri',
'create_bill' => 'Loo arve', 'create_bill' => 'Loo arve',
'receive_bill' => 'Arve vastuvõtmine', 'receive_bill' => 'Arve vastuvõtmine',
'make_payment' => 'Tee makse', 'make_payment' => 'Tee makse',

View File

@ -16,6 +16,8 @@ return [
'sent' => 'Kas olete kindel, et soovite valitud arve märkida kui <b>saadetud</b>?|Kas soovite kindlasti märkida valitud arved kui <b>saadetud</b>?', 'sent' => 'Kas olete kindel, et soovite valitud arve märkida kui <b>saadetud</b>?|Kas soovite kindlasti märkida valitud arved kui <b>saadetud</b>?',
'received' => 'Kas olete kindel, et soovite valitud arve märkida kui <b>vastuvõetud</b>?|Kas soovite kindlasti märkida valitud arved kui <b>vastuvõetud</b>?', 'received' => 'Kas olete kindel, et soovite valitud arve märkida kui <b>vastuvõetud</b>?|Kas soovite kindlasti märkida valitud arved kui <b>vastuvõetud</b>?',
'cancelled' => 'Kas soovite kindlasti valitud kirje <b>tühistada</b>?|Kas soovite kindlasti valitud kirjed <b>tühistada</b>?', 'cancelled' => 'Kas soovite kindlasti valitud kirje <b>tühistada</b>?|Kas soovite kindlasti valitud kirjed <b>tühistada</b>?',
'reconcile' => 'Kas soovite kindlasti valitud kirje <b>lubada</b>?|Kas soovite kindlasti valitud kirjed <b>lubada</b>?',
'unreconcile' => 'Kas soovite kindlasti valitud kirje <b>lubada</b>?|Kas soovite kindlasti valitud kirjed <b>lubada</b>?',
], ],
]; ];

View File

@ -8,6 +8,7 @@ return [
'decimal_mark' => 'Kümnendmärk', 'decimal_mark' => 'Kümnendmärk',
'thousands_separator' => 'Tuhandeliste eraldaja', 'thousands_separator' => 'Tuhandeliste eraldaja',
'precision' => 'Täpsus', 'precision' => 'Täpsus',
'conversion' => 'Valuutavahetus: :price (:currency_code) :currency_rate',
'symbol' => [ 'symbol' => [
'symbol' => 'Sümbol', 'symbol' => 'Sümbol',
'position' => 'Sümbol seisukoht', 'position' => 'Sümbol seisukoht',

View File

@ -0,0 +1,11 @@
<?php
return [
'error' => [
'not_user_dashboard' => 'Viga: Teil pole lubatud seda töölaudet muuta!',
'delete_last' => 'Viga: viimast töölaudet ei saa kustutada. Palun looge kõigepealt uus!',
'disable_last' => 'Viga: viimast töölaudet ei saa keelata. Palun looge kõigepealt uus!',
],
];

View File

@ -0,0 +1,34 @@
<?php
return [
'accounts' => [
'cash' => 'Sularaha',
],
'categories' => [
'deposit' => 'Hoius',
'sales' => 'Müük',
],
'currencies' => [
'usd' => 'USA Dollar',
'eur' => 'Euro',
'gbp' => 'Inglise nael',
'try' => 'Türgi liir',
],
'offline_payments' => [
'cash' => 'Sularaha',
'bank' => 'Pangaülekanne',
],
'reports' => [
'income' => 'Kuu sissetuleku kokkuvõte kategooriate kaupa.',
'expense' => 'Kuu kulude kokkuvõte kategooriate kaupa.',
'income_expense' => 'Kuu sissetulek vs kulu kategooriate kaupa.',
'tax' => 'Kvartaalne maksu kokkuvõte.',
'profit_loss' => 'Kvartali kasum ja kahjum kategooriate kaupa.',
],
];

View File

@ -0,0 +1,54 @@
<?php
return [
'edit_columns' => 'Redigeeri veerge',
'empty_items' =>'Te pole midagi lisanud.',
'statuses' => [
'draft' => 'Mustand',
'sent' => 'Saadetud',
'expired' => 'Aegunud',
'viewed' => 'Vaadatud',
'approved' => 'Kinnitatud',
'received' => 'Vastuvõetud',
'refused' => 'Tagasi lükatud',
'restored' => 'Taastatud',
'reversed' => 'Tühistatud',
'partial' => 'Osaline',
'paid' => 'Makstud',
'pending' => 'Ootel',
'invoiced' => 'Arve esitatud',
'overdue' => 'Tähtaja ületanud',
'unpaid' => 'Maksmata',
'cancelled' => 'Tühistatud',
'voided' => 'Kehtetu',
'completed' => 'Lõpetatud',
'shipped' => 'Saadetud',
'refunded' => 'Tagasi makstud',
'failed' => 'Ebaõnnestus!',
'denied' => 'Keelatud',
'processed' => 'Töödeldud',
'open' => 'Avatud',
'closed' => 'Suletud ',
'billed' => 'Arve esitatud',
'delivered' => 'Kohaletoimetatud',
'returned' => 'Tagastatud',
'drawn' => 'Tõmmatud',
'not_billed' => 'Arvet pole esitatud',
'issued' => 'Väljastatud',
'not_invoiced' => 'Arvet pole esitatud',
'confirmed' => 'Kinnitatud',
'not_confirmed' => 'Pole kinnitatud',
],
'messages' => [
'email_sent' => ':type e-kiri oli saadetud!',
'marked_as' => ':type märgitud kui :status!',
'marked_sent' => ':type märgitud saadetuks!',
'marked_paid' => ':type märgitud makstuks!',
'marked_viewed' => ':type märgitud vaadatud!',
'marked_cancelled' => ':type märgitud tühistatuks!',
'marked_received' => ':type märgitud et kätte saanud!',
],
];

View File

@ -3,7 +3,7 @@
return [ return [
'import' => 'Impordi', 'import' => 'Impordi',
'title' => 'Import :liik', 'title' => 'Import :type',
'message' => 'Lubatud failitüübid: XLS, XLSX. Palun <a target="_blank" href=":link"><strong>laadi alla</strong></a> näidisfail.', 'message' => 'Lubatud failitüübid: XLS, XLSX. Palun <a target="_blank" href=":link"><strong>laadi alla</strong></a> näidisfail.',
]; ];

View File

@ -4,5 +4,6 @@ return [
'sales_price' => 'Müügihind', 'sales_price' => 'Müügihind',
'purchase_price' => 'Ostuhind', 'purchase_price' => 'Ostuhind',
'enter_item_description' => 'Sisesta ühikku kirjeldus',
]; ];

View File

@ -0,0 +1,9 @@
<?php
return [
'title' => 'Hoolduses',
'message' => 'Vabandust, me oleme hoolduseks maas. Palun proovi hiljem uuesti!',
];

View File

@ -0,0 +1,23 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Password Reset Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are the default lines which match reasons
| that are given by the password broker for a password update attempt
| has failed, such as for an invalid token or invalid new password.
|
*/
'password' => 'Parool peab olema vähemalt 6 tähemärki pikk ja vastama kinnitusele.',
'reset' => 'Sinu parool on lähtestatud!',
'sent' => 'Oleme saatnud sulle e-postiga parooli lähtestamise lingi!',
'token' => 'See parooli lähtestamise tunnus on vigane.',
'user' => "Ei suutnud leida sellise e-posti aadressiga kasutajat.",
'throttle' => 'Palun oodake enne uuesti proovimist.',
];

View File

@ -5,7 +5,7 @@ return [
'recurring' => 'Korduv', 'recurring' => 'Korduv',
'every' => 'Iga', 'every' => 'Iga',
'period' => 'Periood', 'period' => 'Periood',
'times' => 'Korda', 'times' => 'Ajad',
'daily' => 'Iga päev', 'daily' => 'Iga päev',
'weekly' => 'Iganädalane', 'weekly' => 'Iganädalane',
'monthly' => 'Igakuine', 'monthly' => 'Igakuine',

View File

@ -0,0 +1,31 @@
<?php
return [
'years' => 'Aasta | Aastad',
'this_year' => 'Käesolev aasta',
'previous_year' => 'Eelmine aasta',
'this_quarter' => 'See kvartal',
'previous_quarter' => 'Eelmine kvartal',
'last_12_months' => 'Viimased 12 kuud',
'profit_loss' => 'Kasum ja kahjum',
'gross_profit' => 'Bruto',
'net_profit' => 'Puhaskasum',
'total_expenses' => 'Kulud kokku',
'net' => 'Neto',
'income_expense' => 'Sissetulekud ja kulud',
'summary' => [
'income' => 'Sissetulekute kokkuvõte',
'expense' => 'Kulude kokkuvõte',
'income_expense' => 'Sissetulekud versus kulud',
'tax' => 'Maksude kokkuvõte',
],
'charts' => [
'line' => 'Liin',
'bar' => 'Riba',
'pie' => 'Pie',
],
];

View File

@ -0,0 +1,15 @@
<?php
return [
'installed_version' => 'Paigaldatud versioon',
'latest_version' => 'Viimane versioon',
'update' => 'Värskenda Akaunting :version versioonile',
'changelog' => 'Muudatuste logi',
'check' => 'Kontrolli',
'new_core' => 'Saadaval on uuem Akaunting-u versioon.',
'latest_core' => 'Õnnitlused! Kasutad juba viimast Akauntingu versiooni. Tulevased turvaparandused paigaldatakse automaatselt.',
'success' => 'Värskendamine on lõpetatud.',
'error' => 'Värskendamine ebaõnnestus. Palun proovi uuesti.',
];

View File

@ -0,0 +1,123 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/
'accepted' => ':attribute tuleb aktsepteerida.',
'active_url' => ':attribute ei ole kehtiv URL.',
'after' => ':attribute peab olema kuupäev pärast :date.',
'after_or_equal' => ':attribute peab olema kuupäev pärast või samastuma :date.',
'alpha' => ':attribute võib sisaldada vaid tähemärke.',
'alpha_dash' => ':attribute võib sisaldada vaid tähti, numbreid ja kriipse.',
'alpha_num' => ':attribute võib sisaldada vaid tähti ja numbreid.',
'array' => ':attribute peab olema massiiv.',
'before' => ':attribute peab olema kuupäev enne :date.',
'before_or_equal' => ':attribute peab olema kuupäev enne või samastuma :date.',
'between' => [
'numeric' => ':attribute peab olema :min ja :max vahel.',
'file' => ':attribute peab olema :min ja :max kilobaidi vahel.',
'string' => ':attribute peab olema :min ja :max tähemärgi vahel.',
'array' => ':attribute peab olema :min ja :max kirje vahel.',
],
'boolean' => ':attribute väli peab olema tõene või väär.',
'confirmed' => ':attribute kinnitus ei vasta.',
'date' => ':attribute pole kehtiv kuupäev.',
'date_format' => ':attribute ei vasta formaadile :format.',
'different' => ':attribute ja :other peavad olema erinevad.',
'digits' => ':attribute peab olema :digits numbrit.',
'digits_between' => ':attribute peab olema :min ja :max numbri vahel.',
'dimensions' => ':attribute on valed pildi suurused.',
'distinct' => ':attribute väljal on topeltväärtus.',
'email' => ':attribute peab olema kehtiv e-posti aadress.',
'ends_with' => ':attribute lubatud on failid laiendiga: :values',
'exists' => 'Valitud :attribute on vigane.',
'file' => ':attribute peab olema fail.',
'filled' => ':attribute väli on nõutav.',
'image' => ':attribute peab olema pilt.',
'in' => 'Valitud :attribute on vigane.',
'in_array' => ':attribute väli ei eksisteeri :other sees.',
'integer' => ':attribute peab olema täisarv.',
'ip' => ':attribute peab olema kehtiv IP aadress.',
'json' => ':attribute peab olema kehtiv JSON string.',
'max' => [
'numeric' => ':attribute ei tohi olla suurem kui :max.',
'file' => ':attribute ei tohi olla suurem kui :max kilobaiti.',
'string' => ':attribute ei tohi olla suurem kui :max tähemärki.',
'array' => ':attribute ei tohi sisaldada rohkem kui :max kirjet.',
],
'mimes' => ':attribute peab olema :values tüüpi.',
'mimetypes' => ':attribute peab olema :values tüüpi.',
'min' => [
'numeric' => ':attribute peab olema vähemalt :min.',
'file' => ':attribute peab olema vähemalt :min kilobaiti.',
'string' => ':attribute peab olema vähemalt :min tähemärki.',
'array' => ':attribute peab olema vähemalt :min kirjet.',
],
'not_in' => 'Valitud :attribute on vigane.',
'numeric' => ':attribute peab olema number.',
'present' => ':attribute väli peab olema esindatud.',
'regex' => ':attribute vorming on vigane.',
'required' => ':attribute väli on nõutud.',
'required_if' => ':attribute väli on nõutud, kui :other on :value.',
'required_unless' => ':attribute väli on nõutud, välja arvatud, kui :other on :values.',
'required_with' => ':attribute väli on nõutud, kui :values on esindatud.',
'required_with_all' => ':attribute väli on nõutud, kui :values on esindatud.',
'required_without' => ':attribute väli on nõutud, kui :values ei ole esindatud.',
'required_without_all' => ':attribute väli on nõutud, kui ükski :values pole esindatud.',
'same' => ':attribute ja :other peavad sobima.',
'size' => [
'numeric' => ':attribute peab olema :size.',
'file' => ':attribute peab olema :size kilobaiti.',
'string' => ':attribute peab olema :size tähemärki.',
'array' => ':attribute peab sisaldama :size kirjet.',
],
'string' => ':attribute peab olema string.',
'timezone' => ':attribute peab olema kehtiv tsoon.',
'unique' => ':attribute on juba hõivatud.',
'uploaded' => ':attribute ei õnnestunud laadida.',
'url' => ':attribute vorming on vigane.',
/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/
'custom' => [
'attribute-name' => [
'rule-name' => 'kohandatud-sõnum',
],
'invalid_currency' => ':attribute kood on vigane.',
'invalid_amount' => 'Kogus :attribute on vigane.',
'invalid_extension' => 'Faililaiend on lubamatu.',
],
/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap attribute place-holders
| with something more reader friendly such as E-Mail Address instead
| of "email". This simply helps us make messages a little cleaner.
|
*/
'attributes' => [],
];

View File

@ -123,7 +123,7 @@ return [
'overdue' => 'Gecikmiş', 'overdue' => 'Gecikmiş',
'partially' => 'Kısmen', 'partially' => 'Kısmen',
'partially_paid' => 'Kısmen Ödenmiş', 'partially_paid' => 'Kısmen Ödenmiş',
'export' => 'Dışa Aktar', 'export' => 'Dışarı Aktar',
'finish' => 'Bitti', 'finish' => 'Bitti',
'wizard' => 'Sihirbaz', 'wizard' => 'Sihirbaz',
'skip' => 'Geç', 'skip' => 'Geç',

View File

@ -2,8 +2,8 @@
return [ return [
'import' => 'İçe Aktar', 'import' => 'İçeri Aktar',
'title' => ':type İçe Aktar', 'title' => ':type İçeri Aktar',
'message' => 'İzin verilen dosya türleri: XLS, XLSX. Lütfen, örnek dosyayı <a target="_blank" href=":link"><strong>indirin</strong></a>.', 'message' => 'İzin verilen dosya türleri: XLS, XLSX. Lütfen, örnek dosyayı <a target="_blank" href=":link"><strong>indirin</strong></a>.',
]; ];