Merge branch 'master' into laravel-7
This commit is contained in:
94
resources/assets/js/components/AkauntingHtmlEditor.vue
Normal file
94
resources/assets/js/components/AkauntingHtmlEditor.vue
Normal file
@ -0,0 +1,94 @@
|
||||
<template>
|
||||
<div class="quill">
|
||||
<div :id="toolbarId">
|
||||
<div class="ql-formats">
|
||||
<button class="ql-bold"></button>
|
||||
<button class="ql-italic"></button>
|
||||
<button class="ql-underline"></button>
|
||||
<button class="ql-link"></button>
|
||||
<button class="ql-blockquote"></button>
|
||||
<button type="button" class="ql-list" value="ordered"></button>
|
||||
<button type="button" class="ql-list" value="bullet"></button>
|
||||
</div>
|
||||
</div>
|
||||
<div :id="editorId" :name="name" class="" ref="editor">
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'akaunting-html-editor',
|
||||
props: {
|
||||
value: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
name: String
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
editor: null,
|
||||
content: null,
|
||||
lastHtmlValue: '',
|
||||
editorId: null,
|
||||
toolbarId: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
initialize (Quill) {
|
||||
this.editor = new Quill(`#${this.editorId}`, {
|
||||
theme: 'snow',
|
||||
modules: {
|
||||
toolbar: `#${this.toolbarId}`
|
||||
}
|
||||
})
|
||||
|
||||
if (this.value.length > 0) {
|
||||
this.editor.pasteHTML(this.value)
|
||||
}
|
||||
|
||||
let editorRef = this.$refs.editor;
|
||||
let node = editorRef.children[0];
|
||||
this.editor.on('text-change', () => {
|
||||
let html = node.innerHTML
|
||||
if (html === '<p><br></p>') {
|
||||
html = '';
|
||||
}
|
||||
this.content = html
|
||||
this.$emit('input', this.content);
|
||||
})
|
||||
},
|
||||
pasteHTML () {
|
||||
if (!this.editor) {
|
||||
return
|
||||
}
|
||||
this.editor.pasteHTML(this.value)
|
||||
},
|
||||
randomString() {
|
||||
let text = "";
|
||||
let possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
||||
|
||||
for (let i = 0; i < 5; i++)
|
||||
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
||||
|
||||
return text;
|
||||
}
|
||||
},
|
||||
async mounted () {
|
||||
let Quill = await import('quill')
|
||||
Quill = Quill.default || Quill
|
||||
this.editorId = this.randomString();
|
||||
this.toolbarId = this.randomString();
|
||||
this.$nextTick(() => {
|
||||
this.initialize(Quill)
|
||||
});
|
||||
},
|
||||
watch: {
|
||||
value (newVal) {
|
||||
if (newVal !== this.content) {
|
||||
this.pasteHTML(newVal);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
@ -55,6 +55,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -67,10 +69,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -124,6 +128,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -136,10 +142,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -193,6 +201,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -205,10 +215,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -262,6 +274,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -274,10 +288,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -331,6 +347,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -343,10 +361,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -356,10 +376,12 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<component v-bind:is="add_new_html" @submit="onSubmit"></component>
|
||||
<component v-bind:is="add_new_html" @submit="onSubmit" @cancel="onCancel"></component>
|
||||
|
||||
<span slot="infoBlock" class="badge badge-success badge-resize float-right" v-if="new_options[real_model]">{{ new_text }}</span>
|
||||
|
||||
<select :name="name" v-model="real_model" class="d-none">
|
||||
<option v-for="(label, value) in selectOptions" :value="value">{{ label }}</option>
|
||||
<option v-for="(label, value) in selectOptions" :key="value" :value="value">{{ label }}</option>
|
||||
</select>
|
||||
</base-input>
|
||||
</template>
|
||||
@ -371,6 +393,7 @@ import { Select, Option, OptionGroup, ColorPicker } from 'element-ui';
|
||||
|
||||
import AkauntingModalAddNew from './AkauntingModalAddNew';
|
||||
import AkauntingModal from './AkauntingModal';
|
||||
import AkauntingMoney from './AkauntingMoney';
|
||||
import AkauntingRadioGroup from './forms/AkauntingRadioGroup';
|
||||
import AkauntingSelect from './AkauntingSelect';
|
||||
import AkauntingDate from './AkauntingDate';
|
||||
@ -390,6 +413,7 @@ export default {
|
||||
AkauntingRadioGroup,
|
||||
AkauntingSelect,
|
||||
AkauntingModal,
|
||||
AkauntingMoney,
|
||||
AkauntingDate,
|
||||
AkauntingRecurring,
|
||||
},
|
||||
@ -446,7 +470,8 @@ export default {
|
||||
status: false,
|
||||
path: null,
|
||||
type: 'modal', // modal, inline
|
||||
field: 'name',
|
||||
field: {},
|
||||
new_text: 'New',
|
||||
buttons: {}
|
||||
};
|
||||
},
|
||||
@ -493,61 +518,90 @@ export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
add_new: this.addNew,
|
||||
add_new: {
|
||||
text: this.addNew.text,
|
||||
show: false,
|
||||
path: this.addNew.path,
|
||||
type: this.addNew.type, // modal, inline
|
||||
field: this.addNew.field,
|
||||
buttons: this.addNew.buttons
|
||||
},
|
||||
add_new_text: this.addNew.text,
|
||||
new_text: this.addNew.new_text,
|
||||
selectOptions: this.options,
|
||||
real_model: this.model,
|
||||
add_new_html: '',
|
||||
form: {},
|
||||
new_options: false,
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.new_options = {};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.real_model = this.value;
|
||||
|
||||
if (this.multiple && !this.real_model.length) {
|
||||
this.real_model = [];
|
||||
}
|
||||
|
||||
this.$emit('interface', this.real_model);
|
||||
},
|
||||
|
||||
methods: {
|
||||
change() {
|
||||
this.$emit('change', this.real_model);
|
||||
if (typeof(this.real_model) === 'object' && typeof(this.real_model.type) !== 'undefined') {
|
||||
return false;
|
||||
}
|
||||
|
||||
this.$emit('interface', this.real_model);
|
||||
this.$emit('change', this.real_model);
|
||||
},
|
||||
|
||||
onAddItem() {
|
||||
async onAddItem() {
|
||||
// Get Select Input value
|
||||
var value = this.$children[0].$children[0].$children[0].$refs.input.value;
|
||||
if (this.title) {
|
||||
var value = this.$children[0].$children[0].$children[0].$refs.input.value;
|
||||
} else {
|
||||
var value = this.$children[0].$children[0].$refs.input.value;
|
||||
}
|
||||
|
||||
if (this.add_new.type == 'inline') {
|
||||
this.addInline(value);
|
||||
if (value === '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
await this.addInline(value);
|
||||
} else {
|
||||
this.onModal(value);
|
||||
await this.onModal(value);
|
||||
}
|
||||
},
|
||||
|
||||
addInline(value) {
|
||||
|
||||
},
|
||||
|
||||
onModal(value) {
|
||||
let add_new = this.add_new;
|
||||
|
||||
axios.get(this.add_new.path)
|
||||
window.axios.get(this.add_new.path)
|
||||
.then(response => {
|
||||
add_new.status = true;
|
||||
add_new.show = true;
|
||||
add_new.html = response.data.html;
|
||||
|
||||
this.$children[0].$children[0].visible = false;
|
||||
|
||||
this.add_new_html = Vue.component('add-new-component', function (resolve, reject) {
|
||||
resolve({
|
||||
template: '<div><akaunting-modal-add-new :show="add_new.status" @submit="onSubmit" @cancel="add_new.status = false" :buttons="add_new.buttons" :title="add_new.text" :is_component=true :message="add_new.html"></akaunting-modal-add-new></div>',
|
||||
template: '<div><akaunting-modal-add-new :show="add_new.show" @submit="onSubmit" @cancel="onCancel" :buttons="add_new.buttons" :title="add_new.text" :is_component=true :message="add_new.html"></akaunting-modal-add-new></div>',
|
||||
|
||||
components: {
|
||||
AkauntingModalAddNew,
|
||||
AkauntingRadioGroup,
|
||||
AkauntingSelect,
|
||||
AkauntingModal,
|
||||
AkauntingMoney,
|
||||
AkauntingDate,
|
||||
AkauntingRecurring,
|
||||
[ColorPicker.name]: ColorPicker,
|
||||
@ -562,6 +616,10 @@ export default {
|
||||
methods: {
|
||||
onSubmit(event) {
|
||||
this.$emit('submit', event);
|
||||
},
|
||||
|
||||
onCancel(event) {
|
||||
this.$emit('cancel', event);
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -578,17 +636,66 @@ export default {
|
||||
onSubmit(event) {
|
||||
this.form = event;
|
||||
|
||||
axios.post(this.form.action, this.form.data())
|
||||
this.loading = true;
|
||||
|
||||
let data = this.form.data();
|
||||
|
||||
FormData.prototype.appendRecursive = function(data, wrapper = null) {
|
||||
for(var name in data) {
|
||||
if (wrapper) {
|
||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||
this.appendRecursive(data[name], wrapper + '[' + name + ']');
|
||||
} else {
|
||||
this.append(wrapper + '[' + name + ']', data[name]);
|
||||
}
|
||||
} else {
|
||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||
this.appendRecursive(data[name], name);
|
||||
} else {
|
||||
this.append(name, data[name]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let form_data = new FormData();
|
||||
form_data.appendRecursive(data);
|
||||
|
||||
window.axios({
|
||||
method: this.form.method,
|
||||
url: this.form.action,
|
||||
data: form_data,
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': window.Laravel.csrfToken,
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
this.form.loading = false;
|
||||
|
||||
if (response.data.success) {
|
||||
this.selectOptions[response.data.data.id] = response.data.data['name'];
|
||||
this.real_model = response.data.data.id.toString();
|
||||
if (!Object.keys(this.options).length) {
|
||||
this.selectOptions = {};
|
||||
}
|
||||
|
||||
this.selectOptions[response.data.data[this.add_new.field.key]] = response.data.data[this.add_new.field.value];
|
||||
this.new_options[response.data.data[this.add_new.field.key]] = response.data.data[this.add_new.field.value];
|
||||
|
||||
if (this.multiple) {
|
||||
this.real_model.push(response.data.data[this.add_new.field.key].toString());
|
||||
} else {
|
||||
this.real_model = response.data.data[this.add_new.field.key].toString();
|
||||
}
|
||||
|
||||
this.add_new.show = false;
|
||||
|
||||
this.add_new.html = '';
|
||||
this.add_new_html = null;
|
||||
|
||||
this.$emit('new', response.data.data);
|
||||
|
||||
this.change();
|
||||
|
||||
//this.add_new.status = false;
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
@ -600,6 +707,12 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
onCancel() {
|
||||
this.add_new.show = false;
|
||||
this.add_new.html = null;
|
||||
this.add_new_html = null;
|
||||
},
|
||||
|
||||
addModal() {
|
||||
|
||||
},
|
||||
@ -609,6 +722,18 @@ export default {
|
||||
options: function (options) {
|
||||
// update options
|
||||
this.selectOptions = options;
|
||||
|
||||
if (Object.keys(this.new_options).length) {
|
||||
if (!Object.keys(this.options).length) {
|
||||
this.selectOptions = {};
|
||||
}
|
||||
|
||||
for (let [key, value] of Object.entries(this.new_options)) {
|
||||
if (!this.selectOptions[key]) {
|
||||
this.selectOptions[key] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
value: function (value) {
|
||||
@ -667,4 +792,11 @@ export default {
|
||||
.el-select__footer div span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.badge-resize {
|
||||
float: right;
|
||||
margin-top: -32px;
|
||||
margin-right: 35px;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,5 +1,16 @@
|
||||
<template>
|
||||
<base-input v-if="title" :label="title" :name="name" :class="formClasses" :error="formError">
|
||||
<base-input
|
||||
v-if="title"
|
||||
:label="title"
|
||||
:name="name"
|
||||
:readonly="readonly"
|
||||
:disabled="disabled"
|
||||
:class="[
|
||||
{'readonly': readonly},
|
||||
{'disabled': disabled},
|
||||
formClasses
|
||||
]"
|
||||
:error="formError">
|
||||
<el-select v-model="real_model" @input="change" disabled filterable v-if="disabled"
|
||||
:placeholder="placeholder">
|
||||
<div v-if="addNew.status && options.length != 0" class="el-select-dropdown__wrap" slot="empty">
|
||||
@ -44,6 +55,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -56,10 +69,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -113,6 +128,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -125,10 +142,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -182,6 +201,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -194,10 +215,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -251,6 +274,8 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
@ -263,10 +288,12 @@
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :value="add_new">
|
||||
<el-option v-if="addNew.status && options.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
@ -278,93 +305,103 @@
|
||||
|
||||
<component v-bind:is="add_new_html" @submit="onSubmit"></component>
|
||||
|
||||
<select :name="name" class="d-none" v-model="real_model">
|
||||
<option v-for="(label, value) in selectOptions" :value="value">{{ label }}</option>
|
||||
<select :name="name" v-model="real_model" class="d-none">
|
||||
<option v-for="(label, value) in selectOptions" :key="value" :value="value">{{ label }}</option>
|
||||
</select>
|
||||
|
||||
<span slot="infoBlock" class="badge badge-success badge-resize float-right" v-if="new_options[real_model]">{{ new_text }}</span>
|
||||
</base-input>
|
||||
|
||||
<el-select v-else
|
||||
:class="'pl-20 mr-40'"
|
||||
v-model="real_model"
|
||||
@input="change"
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
:placeholder="placeholder"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="loading">
|
||||
<div v-if="loading" class="el-select-dropdown__wrap" slot="empty">
|
||||
<p class="el-select-dropdown__empty loading">
|
||||
{{ loadingText }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div v-else-if="addNew.status && options.length != 0" class="el-select-dropdown__wrap" slot="empty">
|
||||
<p class="el-select-dropdown__empty">
|
||||
{{ noMatchingDataText }}
|
||||
</p>
|
||||
<ul class="el-scrollbar__view el-select-dropdown__list">
|
||||
<li class="el-select-dropdown__item el-select__footer">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
{{ add_new_text }}
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div v-else-if="addNew.status && options.length == 0" slot="empty">
|
||||
<p class="el-select-dropdown__empty">
|
||||
{{ noDataText }}
|
||||
</p>
|
||||
<ul class="el-scrollbar__view el-select-dropdown__list">
|
||||
<li class="el-select-dropdown__item el-select__footer">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
{{ add_new_text }}
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<template slot="prefix">
|
||||
<span class="el-input__suffix-inner el-select-icon">
|
||||
<i :class="'select-icon-position el-input__icon fa fa-' + icon"></i>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<el-option v-if="!group" v-for="option in selectOptions"
|
||||
:key="option.id"
|
||||
:label="option.name"
|
||||
:value="option.id">
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
v-if="group"
|
||||
v-for="(options, name) in selectOptions"
|
||||
:key="name"
|
||||
:label="name">
|
||||
<el-option
|
||||
v-for="(label, value) in options"
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="!loading && addNew.status && selectOptions != null && selectOptions.length != 0" class="el-select__footer" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
{{ add_new_text }}
|
||||
</span>
|
||||
<span v-else>
|
||||
<el-select
|
||||
:class="'pl-20 mr-40'"
|
||||
v-model="real_model"
|
||||
@input="change"
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
:placeholder="placeholder"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="loading">
|
||||
<div v-if="loading" class="el-select-dropdown__wrap" slot="empty">
|
||||
<p class="el-select-dropdown__empty loading">
|
||||
{{ loadingText }}
|
||||
</p>
|
||||
</div>
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<div v-else-if="addNew.status && options.length != 0" class="el-select-dropdown__wrap" slot="empty">
|
||||
<p class="el-select-dropdown__empty">
|
||||
{{ noMatchingDataText }}
|
||||
</p>
|
||||
<ul class="el-scrollbar__view el-select-dropdown__list">
|
||||
<li class="el-select-dropdown__item el-select__footer">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
{{ add_new_text }}
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div v-else-if="addNew.status && options.length == 0" slot="empty">
|
||||
<p class="el-select-dropdown__empty">
|
||||
{{ noDataText }}
|
||||
</p>
|
||||
<ul class="el-scrollbar__view el-select-dropdown__list">
|
||||
<li class="el-select-dropdown__item el-select__footer">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
{{ add_new_text }}
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<template slot="prefix">
|
||||
<span class="el-input__suffix-inner el-select-icon">
|
||||
<i :class="'select-icon-position el-input__icon fa fa-' + icon"></i>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<el-option v-if="!group" v-for="option in selectOptions"
|
||||
:key="option.id"
|
||||
:label="option.name"
|
||||
:value="option.id">
|
||||
<span class="float-left">{{ option.name }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[option.id]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
|
||||
<el-option-group
|
||||
v-if="group"
|
||||
v-for="(options, name) in selectOptions"
|
||||
:key="name"
|
||||
:label="name">
|
||||
<el-option
|
||||
v-for="(label, value) in options"
|
||||
:key="value"
|
||||
:label="label"
|
||||
:value="value">
|
||||
<span class="float-left">{{ label }}</span>
|
||||
<span class="badge badge-pill badge-success float-right mt-2" v-if="new_options[value]">{{ new_text }}</span>
|
||||
</el-option>
|
||||
</el-option-group>
|
||||
|
||||
<el-option v-if="!loading && addNew.status && selectOptions != null && selectOptions.length != 0" class="el-select__footer" :disabled="true" :value="add_new">
|
||||
<div @click="onAddItem">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>
|
||||
{{ add_new_text }}
|
||||
</span>
|
||||
</div>
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<span class="badge badge-success badge-resize float-right mr-2" v-if="new_options[real_model]">{{ new_text }}</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -374,6 +411,7 @@ import { Select, Option, OptionGroup, ColorPicker } from 'element-ui';
|
||||
|
||||
import AkauntingModalAddNew from './AkauntingModalAddNew';
|
||||
import AkauntingModal from './AkauntingModal';
|
||||
import AkauntingMoney from './AkauntingMoney';
|
||||
import AkauntingRadioGroup from './forms/AkauntingRadioGroup';
|
||||
import AkauntingSelect from './AkauntingSelect';
|
||||
import AkauntingDate from './AkauntingDate';
|
||||
@ -393,6 +431,7 @@ export default {
|
||||
AkauntingRadioGroup,
|
||||
AkauntingSelect,
|
||||
AkauntingModal,
|
||||
AkauntingMoney,
|
||||
AkauntingDate,
|
||||
AkauntingRecurring,
|
||||
},
|
||||
@ -430,7 +469,11 @@ export default {
|
||||
},
|
||||
options: null,
|
||||
|
||||
model: null,
|
||||
model: {
|
||||
type: [String, Number],
|
||||
default: '',
|
||||
description: "Selectbox selected model"
|
||||
},
|
||||
|
||||
icon: {
|
||||
type: String,
|
||||
@ -446,6 +489,7 @@ export default {
|
||||
path: null,
|
||||
type: 'modal', // modal, inline
|
||||
field: 'name',
|
||||
new_text: 'New',
|
||||
buttons: {}
|
||||
};
|
||||
},
|
||||
@ -462,6 +506,11 @@ export default {
|
||||
default: false,
|
||||
description: "Multible feature status"
|
||||
},
|
||||
readonly: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
description: "Selectbox disabled status"
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
@ -509,19 +558,36 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
add_new: this.addNew,
|
||||
add_new: {
|
||||
text: this.addNew.text,
|
||||
show: false,
|
||||
path: this.addNew.path,
|
||||
type: this.addNew.type, // modal, inline
|
||||
field: this.addNew.field,
|
||||
buttons: this.addNew.buttons
|
||||
},
|
||||
add_new_text: this.addNew.text,
|
||||
new_text: this.addNew.new_text,
|
||||
selectOptions: this.options,
|
||||
real_model: this.model,
|
||||
add_new_html: '',
|
||||
form: {},
|
||||
loading: false,
|
||||
new_options: false,
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.new_options = {};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.real_model = this.value;
|
||||
|
||||
if (this.multiple && !this.real_model.length) {
|
||||
this.real_model = [];
|
||||
}
|
||||
|
||||
this.$emit('interface', this.real_model);
|
||||
},
|
||||
|
||||
@ -530,36 +596,32 @@ export default {
|
||||
if (query !== '') {
|
||||
this.loading = true;
|
||||
|
||||
/*
|
||||
this.list = [];
|
||||
this.selectOptions = this.options;
|
||||
|
||||
Object.keys(this.selectOptions).forEach(key => {
|
||||
const item = this.selectOptions[key];
|
||||
|
||||
if (item.toLowerCase().indexOf(query.toLowerCase()) > -1) {
|
||||
this.list.push(this.selectOptions[key]);
|
||||
}
|
||||
});
|
||||
|
||||
this.selectOptions = this.list;
|
||||
*/
|
||||
|
||||
if (!this.remoteAction) {
|
||||
this.remoteAction = url + '/common/items/autocomplete';
|
||||
}
|
||||
|
||||
axios.get(this.remoteAction, {
|
||||
window.axios({
|
||||
method: 'GET',
|
||||
url: this.remoteAction,
|
||||
params: {
|
||||
type: this.remoteType,
|
||||
query: query,
|
||||
currency_code: this.currencyCode,
|
||||
},
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': window.Laravel.csrfToken,
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
this.loading = false;
|
||||
|
||||
this.selectOptions = response.data.data;
|
||||
if (response.data.data) {
|
||||
this.selectOptions = response.data.data;
|
||||
} else {
|
||||
this.selectOptions = [];
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
})
|
||||
@ -572,20 +634,32 @@ export default {
|
||||
},
|
||||
|
||||
change() {
|
||||
this.$emit('change', this.real_model);
|
||||
if (typeof(this.real_model) === 'object') {
|
||||
return false;
|
||||
}
|
||||
|
||||
this.$emit('interface', this.real_model);
|
||||
this.$emit('change', this.real_model);
|
||||
|
||||
this.selectOptions.forEach(item => {
|
||||
if (item.id == this.real_model) {
|
||||
this.$emit('label', item.name);
|
||||
this.$emit('option', item);
|
||||
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
onAddItem() {
|
||||
onPressEnter() {
|
||||
alert('Press Enter');
|
||||
},
|
||||
|
||||
OnPressTab() {
|
||||
alert('Press Tab');
|
||||
},
|
||||
|
||||
async onAddItem() {
|
||||
// Get Select Input value
|
||||
if (this.title) {
|
||||
var value = this.$children[0].$children[0].$children[0].$refs.input.value;
|
||||
@ -593,47 +667,56 @@ export default {
|
||||
var value = this.$children[0].$children[0].$refs.input.value;
|
||||
}
|
||||
|
||||
if (value === '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.add_new.type == 'inline') {
|
||||
this.addInline(value);
|
||||
await this.addInline(value);
|
||||
} else {
|
||||
this.onModal(value);
|
||||
await this.onModal(value);
|
||||
}
|
||||
},
|
||||
|
||||
addInline(value) {
|
||||
axios.post(this.add_new.path, {
|
||||
window.axios.post(this.add_new.path, {
|
||||
'_token': window.Laravel.csrfToken,
|
||||
'type': 'inline',
|
||||
field: this.add_new.field,
|
||||
field: this.add_new.field.value,
|
||||
value: value,
|
||||
})
|
||||
.then(response => {
|
||||
if (response.data.success) {
|
||||
this.selectOptions = [];
|
||||
if (!Object.keys(this.options).length) {
|
||||
this.selectOptions = [];
|
||||
}
|
||||
|
||||
this.selectOptions.push(response.data.data);
|
||||
this.real_model = response.data.data.id;
|
||||
|
||||
this.change();
|
||||
this.new_options[response.data.data[this.add_new.field.key]] = response.data.data;
|
||||
this.real_model = response.data.data[this.add_new.field.key];
|
||||
|
||||
if (this.title) {
|
||||
this.$children[0].$children[0].visible = false;
|
||||
} else {
|
||||
this.$children[0].visible = false;
|
||||
}
|
||||
//this.add_new.status = false;
|
||||
|
||||
this.$emit('new', response.data.data);
|
||||
|
||||
this.change();
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
});
|
||||
},
|
||||
|
||||
onModal(value) {
|
||||
let add_new = this.add_new;
|
||||
|
||||
axios.get(this.add_new.path)
|
||||
window.axios.get(this.add_new.path)
|
||||
.then(response => {
|
||||
add_new.status = true;
|
||||
add_new.show = true;
|
||||
add_new.html = response.data.html;
|
||||
|
||||
if (this.title) {
|
||||
@ -644,13 +727,14 @@ export default {
|
||||
|
||||
this.add_new_html = Vue.component('add-new-component', function (resolve, reject) {
|
||||
resolve({
|
||||
template: '<div><akaunting-modal-add-new :show="add_new.status" @submit="onSubmit" @cancel="add_new.status = false" :buttons="add_new.buttons" :title="add_new.text" :is_component=true :message="add_new.html"></akaunting-modal-add-new></div>',
|
||||
template: '<div><akaunting-modal-add-new :show="add_new.show" @submit="onSubmit" @cancel="onCancel" :buttons="add_new.buttons" :title="add_new.text" :is_component=true :message="add_new.html"></akaunting-modal-add-new></div>',
|
||||
|
||||
components: {
|
||||
AkauntingModalAddNew,
|
||||
AkauntingRadioGroup,
|
||||
AkauntingSelect,
|
||||
AkauntingModal,
|
||||
AkauntingMoney,
|
||||
AkauntingDate,
|
||||
AkauntingRecurring,
|
||||
[ColorPicker.name]: ColorPicker,
|
||||
@ -665,6 +749,10 @@ export default {
|
||||
methods: {
|
||||
onSubmit(event) {
|
||||
this.$emit('submit', event);
|
||||
},
|
||||
|
||||
onCancel(event) {
|
||||
this.$emit('cancel', event);
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -681,17 +769,62 @@ export default {
|
||||
onSubmit(event) {
|
||||
this.form = event;
|
||||
|
||||
axios.post(this.form.action, this.form.data())
|
||||
this.loading = true;
|
||||
|
||||
let data = this.form.data();
|
||||
|
||||
FormData.prototype.appendRecursive = function(data, wrapper = null) {
|
||||
for(var name in data) {
|
||||
if (wrapper) {
|
||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||
this.appendRecursive(data[name], wrapper + '[' + name + ']');
|
||||
} else {
|
||||
this.append(wrapper + '[' + name + ']', data[name]);
|
||||
}
|
||||
} else {
|
||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||
this.appendRecursive(data[name], name);
|
||||
} else {
|
||||
this.append(name, data[name]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let form_data = new FormData();
|
||||
form_data.appendRecursive(data);
|
||||
|
||||
window.axios({
|
||||
method: this.form.method,
|
||||
url: this.form.action,
|
||||
data: form_data,
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': window.Laravel.csrfToken,
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
.then(response => {
|
||||
this.form.loading = false;
|
||||
|
||||
if (response.data.success) {
|
||||
this.selectOptions[response.data.data.id] = response.data.data['name'];
|
||||
this.real_model = response.data.data.id.toString();
|
||||
if (!Object.keys(this.options).length) {
|
||||
this.selectOptions = [];
|
||||
}
|
||||
|
||||
this.selectOptions.push(response.data.data);
|
||||
//this.selectOptions[response.data.data[this.add_new.field.key]] = response.data.data[this.add_new.field.value];
|
||||
this.new_options[response.data.data[this.add_new.field.key]] = response.data.data[this.add_new.field.value];
|
||||
this.real_model = response.data.data[this.add_new.field.key];//.toString();
|
||||
|
||||
this.add_new.show = false;
|
||||
|
||||
this.add_new.html = '';
|
||||
this.add_new_html = null;
|
||||
|
||||
this.$emit('new', response.data.data);
|
||||
|
||||
this.change();
|
||||
|
||||
//this.add_new.status = false;
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
@ -702,12 +835,32 @@ export default {
|
||||
this.method_show_html = error.message;
|
||||
});
|
||||
},
|
||||
|
||||
onCancel() {
|
||||
this.add_new.show = false;
|
||||
this.add_new.html = null;
|
||||
this.add_new_html = null;
|
||||
},
|
||||
|
||||
addModal() {
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
options: function (options) {
|
||||
// update options
|
||||
//this.selectOptions = options;
|
||||
this.selectOptions = options;
|
||||
|
||||
if (Object.keys(this.new_options).length) {
|
||||
if (!Object.keys(this.options).length) {
|
||||
this.selectOptions = [];
|
||||
}
|
||||
|
||||
Object.values(this.new_options).forEach(item => {
|
||||
this.selectOptions.push(item);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
value: function (value) {
|
||||
@ -771,4 +924,11 @@ export default {
|
||||
.el-select__footer div span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.badge-resize {
|
||||
float: right;
|
||||
margin-top: -32px;
|
||||
margin-right: 35px;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
||||
|
5
resources/assets/js/mixins/global.js
vendored
5
resources/assets/js/mixins/global.js
vendored
@ -11,12 +11,13 @@ import AkauntingSelect from './../components/AkauntingSelect';
|
||||
import AkauntingSelectRemote from './../components/AkauntingSelectRemote';
|
||||
import AkauntingDate from './../components/AkauntingDate';
|
||||
import AkauntingRecurring from './../components/AkauntingRecurring';
|
||||
import AkauntingHtmlEditor from './../components/AkauntingHtmlEditor';
|
||||
|
||||
import NProgress from 'nprogress';
|
||||
import 'nprogress/nprogress.css';
|
||||
import NProgressAxios from './../plugins/nprogress-axios';
|
||||
|
||||
import { Select, Option, Steps, Step, Button, Link, Tooltip } from 'element-ui';
|
||||
import { Select, Option, Steps, Step, Button, Link, Tooltip, ColorPicker } from 'element-ui';
|
||||
|
||||
import Form from './../plugins/form';
|
||||
|
||||
@ -31,6 +32,7 @@ export default {
|
||||
AkauntingModalAddNew,
|
||||
AkauntingDate,
|
||||
AkauntingRecurring,
|
||||
AkauntingHtmlEditor,
|
||||
[Select.name]: Select,
|
||||
[Option.name]: Option,
|
||||
[Steps.name]: Steps,
|
||||
@ -38,6 +40,7 @@ export default {
|
||||
[Button.name]: Button,
|
||||
[Link.name]: Link,
|
||||
[Tooltip.name]: Tooltip,
|
||||
[ColorPicker.name]: ColorPicker,
|
||||
},
|
||||
|
||||
data: function () {
|
||||
|
4
resources/assets/js/views/auth/forgot.js
vendored
4
resources/assets/js/views/auth/forgot.js
vendored
@ -19,11 +19,7 @@ const app = new Vue({
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
onSubmit() {
|
||||
this.form.submit();
|
||||
},
|
||||
|
4
resources/assets/js/views/auth/login.js
vendored
4
resources/assets/js/views/auth/login.js
vendored
@ -19,11 +19,7 @@ const app = new Vue({
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
onSubmit() {
|
||||
this.form.submit();
|
||||
},
|
||||
|
6
resources/assets/js/views/purchases/bills.js
vendored
6
resources/assets/js/views/purchases/bills.js
vendored
@ -50,10 +50,12 @@ const app = new Vue({
|
||||
items: '',
|
||||
discount: false,
|
||||
taxes: null,
|
||||
colspan: 5,
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.colspan = document.getElementById("items").rows[0].cells.length - 1;
|
||||
this.form.items = [];
|
||||
|
||||
if (this.form.method) {
|
||||
@ -255,11 +257,13 @@ const app = new Vue({
|
||||
},
|
||||
|
||||
onSelectItem(item, index) {
|
||||
let tax_id = (item.tax_id) ? [item.tax_id.toString()] : '';
|
||||
|
||||
this.form.items[index].item_id = item.id;
|
||||
this.form.items[index].name = item.name;
|
||||
this.form.items[index].price = (item.purchase_price).toFixed(2);
|
||||
this.form.items[index].quantity = 1;
|
||||
this.form.items[index].tax_id = [item.tax_id.toString()];
|
||||
this.form.items[index].tax_id = tax_id;
|
||||
this.form.items[index].total = (item.purchase_price).toFixed(2);
|
||||
},
|
||||
|
||||
|
6
resources/assets/js/views/sales/invoices.js
vendored
6
resources/assets/js/views/sales/invoices.js
vendored
@ -50,10 +50,12 @@ const app = new Vue({
|
||||
items: '',
|
||||
discount: false,
|
||||
taxes: null,
|
||||
colspan: 5,
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.colspan = document.getElementById("items").rows[0].cells.length - 1;
|
||||
this.form.items = [];
|
||||
|
||||
if (this.form.method) {
|
||||
@ -255,11 +257,13 @@ const app = new Vue({
|
||||
},
|
||||
|
||||
onSelectItem(item, index) {
|
||||
let tax_id = (item.tax_id) ? [item.tax_id.toString()] : '';
|
||||
|
||||
this.form.items[index].item_id = item.id;
|
||||
this.form.items[index].name = item.name;
|
||||
this.form.items[index].price = (item.sale_price).toFixed(2);
|
||||
this.form.items[index].quantity = 1;
|
||||
this.form.items[index].tax_id = [item.tax_id.toString()];
|
||||
this.form.items[index].tax_id = tax_id;
|
||||
this.form.items[index].total = (item.sale_price).toFixed(2);
|
||||
},
|
||||
|
||||
|
14
resources/assets/js/views/settings/settings.js
vendored
14
resources/assets/js/views/settings/settings.js
vendored
@ -14,11 +14,9 @@ import Global from './../../mixins/global';
|
||||
|
||||
import Form from './../../plugins/form';
|
||||
import BulkAction from './../../plugins/bulk-action';
|
||||
import HtmlEditor from './../../components/Inputs/HtmlEditor';
|
||||
import {ColorPicker} from 'element-ui';
|
||||
|
||||
// plugin setup
|
||||
Vue.use(DashboardPlugin, ColorPicker);
|
||||
Vue.use(DashboardPlugin);
|
||||
|
||||
const app = new Vue({
|
||||
el: '#app',
|
||||
@ -27,13 +25,9 @@ const app = new Vue({
|
||||
Global
|
||||
],
|
||||
|
||||
components: {
|
||||
HtmlEditor,
|
||||
[ColorPicker.name]: ColorPicker,
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.onChangeProtocol(this.form.protocol);
|
||||
|
||||
this.color = this.form.color;
|
||||
},
|
||||
|
||||
@ -41,7 +35,7 @@ const app = new Vue({
|
||||
return {
|
||||
form: new Form('setting'),
|
||||
bulk_action: new BulkAction('settings'),
|
||||
email:{
|
||||
email: {
|
||||
sendmailPath:true,
|
||||
smtpHost:true,
|
||||
smtpPort:true,
|
||||
@ -60,7 +54,7 @@ const app = new Vue({
|
||||
},
|
||||
|
||||
color: '#55588b',
|
||||
predefineColors:[
|
||||
predefineColors: [
|
||||
'#3c3f72',
|
||||
'#55588b',
|
||||
'#e5e5e5',
|
||||
|
@ -33,7 +33,7 @@ return [
|
||||
'throttle' => 'عدد كبير جداً من محاولات تسجيل الدخول. يرجى إعادة المحاولة خلال :seconds ثواني.',
|
||||
|
||||
'notification' => [
|
||||
'message_1' => 'تم إرسال هذه الرسالة لإبلاغك بوجود طلب إعادة كلمة المرور على الحساب الخاص بك.',
|
||||
'message_1' => 'تم إرسال هذه الرسالة لإبلاغك بوجود طلب إعادة تعيين كلمة المرور على الحساب الخاص بك.',
|
||||
'message_2' => 'لا داعي لاتخاذ أي إجراء إذا لم تقم بطلب إعادة كلمة المرور.',
|
||||
'button' => 'إعادة تعيين كلمة المرور',
|
||||
],
|
||||
|
@ -22,8 +22,8 @@ return [
|
||||
'add_discount' => 'إضافة خصم',
|
||||
'discount_desc' => 'من المجموع الجزئي',
|
||||
|
||||
'payment_due' => 'استحقاق الدفع',
|
||||
'amount_due' => 'استحقاق المبلغ',
|
||||
'payment_due' => 'الدفع المستحق',
|
||||
'amount_due' => 'المبلغ المستحق',
|
||||
'paid' => 'مدفوع',
|
||||
'histories' => 'سجلات',
|
||||
'payments' => 'المدفوعات',
|
||||
@ -46,12 +46,12 @@ return [
|
||||
|
||||
'messages' => [
|
||||
'received' => 'تم تحويل فاتورة الشراء إلى فاتورة مستلمة بنجاح!',
|
||||
'draft' => 'هذة فاتورة شراء عبارة عن <b> مسودة </b> و سوف يتم تحويلها الى مخطط بعد ان يتم استحقاقها.',
|
||||
'draft' => 'هذة فاتورة شراء عبارة عن <b> مسودة </b> و سوف يتم اظهارها بالنظام بعد ان يتم استحقاقها.',
|
||||
|
||||
'status' => [
|
||||
'created' => 'إضافة في: تاريخ',
|
||||
'receive' => [
|
||||
'draft' => 'عدم الإرسال',
|
||||
'draft' => 'لم يتم ارسالها',
|
||||
'received' => 'وردت في: تاريخ',
|
||||
],
|
||||
'paid' => [
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
return [
|
||||
|
||||
'bulk_actions' => 'العمل بالجملة|الاعمال بالجملة',
|
||||
'bulk_actions' => 'الإجراء الجماعي - الإجراءات الجماعية',
|
||||
'selected' => 'مُحدد',
|
||||
|
||||
'message' => [
|
||||
@ -11,9 +11,9 @@ return [
|
||||
'export' => 'هل أنت متأكد من<b/> تصدير<b> السجلات المحددة؟',
|
||||
'enable' => 'هل أنت متأكد من<b/> تفعيل<b> السجلات المحددة؟',
|
||||
'disable' => 'هل أنت متأكد من <b/>تعطيل<b> السجلات المحددة؟',
|
||||
'paid' => 'هل تريد بالتأكيد وضع علامة على الفاتورة المحددة على أنها </b>مدفوعة<b> ؟',
|
||||
'sent' => 'هل تريد بالتأكيد وضع علامة على الفاتورة المحددة على أنها <b/>مرسلة<b>؟',
|
||||
'received' => 'هل تريد بالتأكيد وضع علامة على الفاتورة المحددة على أنها <b/>مستلمة<b>؟',
|
||||
'paid' => 'هل تريد وضع علامة على الفاتورة المحددة على أنها </b>مدفوعة<b> ؟',
|
||||
'sent' => 'هل تريد وضع علامة على الفاتورة المحددة على أنها <b/>تم أرسالها<b>؟',
|
||||
'received' => 'هل تريد وضع علامة على الفاتورة المحددة على أنها <b/>تم استلامها<b>؟',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -3,7 +3,7 @@
|
||||
return [
|
||||
|
||||
'code' => 'كود',
|
||||
'rate' => 'القيمة',
|
||||
'rate' => 'المعدل',
|
||||
'default' => 'العملة الافتراضية',
|
||||
'decimal_mark' => 'علامة عشرية',
|
||||
'thousands_separator' => 'فاصل الآلاف',
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
return [
|
||||
|
||||
'can_login' => 'يستطيع تسجيل الدخول؟',
|
||||
'can_login' => 'هل يمكنك الدخول؟',
|
||||
'user_created' => 'تم إنشاء المستخدم',
|
||||
|
||||
'error' => [
|
||||
|
@ -3,9 +3,9 @@
|
||||
return [
|
||||
|
||||
'error' => [
|
||||
'not_user_dashboard' => 'خطأ: غير مسموح لك بتغيير لوحة القيادة هذه!',
|
||||
'delete_last' => 'خطأ: لا يمكن حذف لوحة القيادة الأخيرة. من فضلك ، قم بإنشاء واحدة جديدة أولا!',
|
||||
'disable_last' => 'خطأ: لا يمكن تعطيل لوحة القيادة الأخيرة. من فضلك ، قم بإنشاء واحدة جديدة أولا!',
|
||||
'not_user_dashboard' => 'خطأ: غير مسموح لك بتغيير لوحة المعلومات هذه!',
|
||||
'delete_last' => 'خطأ: لا يمكن حذف لوحة المعلومات الأخيرة. من فضلك ، قم بإنشاء واحدة جديدة أولا!',
|
||||
'disable_last' => 'خطأ: لا يمكن تعطيل لوحة المعلومات الأخيرة. من فضلك ، قم بإنشاء واحدة جديدة أولا!',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -3,7 +3,7 @@
|
||||
return [
|
||||
|
||||
'accounts' => [
|
||||
'cash' => 'المال',
|
||||
'cash' => 'النقدية',
|
||||
],
|
||||
|
||||
'categories' => [
|
||||
@ -19,7 +19,7 @@ return [
|
||||
],
|
||||
|
||||
'offline_payments' => [
|
||||
'cash' => 'المال',
|
||||
'cash' => 'نقدا',
|
||||
'bank' => 'تحويل بنكي',
|
||||
],
|
||||
|
||||
|
@ -9,42 +9,42 @@ return [
|
||||
|
||||
'invoice_remind_customer' => [
|
||||
'subject' => 'إشعار بتأخر فاتورة رقم {invoice_number}',
|
||||
'body' => 'عزيزي {customer_name}،<br /><br /> هذا اشعار بتاخر فاتورة رقم <strong>{invoice_number}</strong>.<br /><br /> مجموع الفاتورة هو {invoice_total} و تاريخ الاستحقاق <strong>{invoice_due_date}</strong>.<br /><br /> يمكنك مشاهدة تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_guest_link}">{invoice_number}</a><br /><br />تقبل تحيّاتي،<br />{company_name}',
|
||||
'body' => 'عزيزي {customer_name}،<br /><br /> هذا اشعار بتأخر فاتورة رقم <strong>{invoice_number}</strong>.<br /><br /> مجموع الفاتورة هو {invoice_total} و تاريخ الاستحقاق <strong>{invoice_due_date}</strong>.<br /><br /> يمكنك مشاهدة تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_guest_link}">{invoice_number}</a><br /><br />تقبل تحيّاتي،<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_remind_admin' => [
|
||||
'subject' => 'إشعار بتأخر فاتورة رقم {invoice_number}',
|
||||
'body' => 'مرحبا {customer_name}،<br /><br /> تلقى اشعار بتاخر فاتورة رقم <strong>{invoice_number}</strong>.<br /><br /> مجموع الفاتورة هو {invoice_total} و تاريخ الاستحقاق <strong>{invoice_due_date}</strong>.<br /><br /> يمكنك مشاهدة تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_admin_link}">{invoice_number}</a><br /><br />تقبل تحيّاتي،<br />{company_name}',
|
||||
'body' => 'مرحبا {customer_name}،<br /><br /> تلقى اشعار بتأخر فاتورة رقم <strong>{invoice_number}</strong>.<br /><br /> مجموع الفاتورة هو {invoice_total} و تاريخ الاستحقاق <strong>{invoice_due_date}</strong>.<br /><br /> يمكنك مشاهدة تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_admin_link}">{invoice_number}</a><br /><br />تقبل تحيّاتي،<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_recur_customer' => [
|
||||
'subject' => 'تم إنشاء فاتورة متكررة',
|
||||
'body' => 'عزيزي {customer_name}،<br /><br /> قمنا باصدار الفاتورة التالية:<strong>{invoice_number}</strong>.<br /><br /> يمكنك اﻹطلاع على تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />لاتتردد بالتواصل معنا لأي سؤال.<br /><br />تحيّاتي،<br />{company_name}',
|
||||
'body' => 'عزيزي {customer_name}،<br /><br /> بناء على الإتفاق الدورى, قمنا باصدار الفاتورة التالية:<strong>{invoice_number}</strong>.<br /><br /> يمكنك اﻹطلاع على تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />لاتتردد بالتواصل معنا لأي سؤال.<br /><br />تحيّاتي،<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_recur_admin' => [
|
||||
'subject' => '{invoice_number} تم إنشاء فاتورة متكررة',
|
||||
'body' => 'مرحبا,<br /><br /> استنادا الى الدائرة المتكررة ل {customer_name},<strong>{invoice_number}</strong> تم إنشاء الفاتورة أتوماتكيا <br /><br /> يمكنك الاطلاع على تفاصيل الفاتورة من الرابط:<a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />مع أطيب التحيات{br /> {company_name>',
|
||||
'body' => 'مرحبا,<br /><br /> بناء على الإتفاق الدورى ل {customer_name},<strong>{invoice_number}</strong> تم إنشاء الفاتورة أتوماتكيا <br /><br /> يمكنك الاطلاع على تفاصيل الفاتورة من الرابط:<a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />مع أطيب التحيات{br /> {company_name>',
|
||||
],
|
||||
|
||||
'invoice_payment_customer' => [
|
||||
'subject' => 'تم استلام الدفعة لفاتورة رقم {invoice_number}',
|
||||
'body' => 'عزيزي {customer_name}،<br /><br />شكرا للسداد، تجد تفاصيل الدفع في اﻷسفل:<br /><br />-------------------------------------------------<br /><br />القيمة: <strong>{transaction_total}<br /></strong> التاريخ: <strong>{transaction_paid_date}</strong><br /> رقم الفاتورة: <strong>{invoice_number}<br /><br /></strong>-------------------------------------------------<br /><br /> يمكنك بالتاكيد اﻹطلاع على تفاصيل الفاتورة من خلال الرابط التالي: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />لاتتردد بالتواصل معنا لأي سؤال.<br /><br />تحيّاتي،<br />{company_name}',
|
||||
'body' => 'عزيزي {customer_name}،<br /><br />شكرا للسداد، سوف تجد تفاصيل الدفع في اﻷسفل:<br /><br />-------------------------------------------------<br /><br />القيمة: <strong>{transaction_total}<br /></strong> التاريخ: <strong>{transaction_paid_date}</strong><br /> رقم الفاتورة: <strong>{invoice_number}<br /><br /></strong>-------------------------------------------------<br /><br /> يمكنك بالتاكيد اﻹطلاع على تفاصيل الفاتورة من خلال الرابط التالي: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />لاتتردد بالتواصل معنا لأي سؤال.<br /><br />تحيّاتي،<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_payment_admin' => [
|
||||
'subject' => 'تم استلام الدفعة لفاتورة رقم {invoice_number}',
|
||||
'body' => 'مرحبا، <br /><br />{customer_name} قام بتسديد فاتورة <strong>{invoice_number}</strong>.<br /><br />يمكنك اﻹطلاع على تفاصيل الفاتورة من خلال الرابط التالي: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />تحيّاتي،<br />{company_name}',
|
||||
'body' => 'مرحبا، <br /><br />{customer_name} قام بتسديد فاتورة رقم <strong>{invoice_number}</strong>.<br /><br />يمكنك اﻹطلاع على تفاصيل الفاتورة من خلال الرابط التالي: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />تحيّاتي،<br />{company_name}',
|
||||
],
|
||||
|
||||
'bill_remind_admin' => [
|
||||
'subject' => '{bill_number} إشعار للتذكير بالفاتورة',
|
||||
'body' => 'مرحبا {customer_name}،<br /><br /> هذا إشعار بتاخر فاتورة رقم <strong>{invoice_number}</strong>.<br /><br /> مجموع الفاتورة هو {invoice_total} و تاريخ الاستحقاق <strong>{invoice_due_date}</strong>.<br /><br /> يمكنك مشاهدة تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_admin_link}">{invoice_number}</a><br /><br />تقبل تحيّاتي،<br />{company_name}',
|
||||
'body' => 'مرحبا {customer_name}،<br /><br /> هذا إشعار بتأخر فاتورة رقم <strong>{invoice_number}</strong>.<br /><br /> مجموع الفاتورة هو {invoice_total} و تاريخ الاستحقاق <strong>{invoice_due_date}</strong>.<br /><br /> يمكنك مشاهدة تفاصيل الفاتورة و اكمال الدفع عن طريق الرابط التالي: <a href="{invoice_admin_link}">{invoice_number}</a><br /><br />تقبل تحيّاتي،<br />{company_name}',
|
||||
],
|
||||
|
||||
'bill_recur_admin' => [
|
||||
'subject' => '{invoice_number} تم إنشاء فاتورة متكررة',
|
||||
'body' => 'مرحبا,<br /><br /> استنادا الى الدائرة المتكررة ل <vendor_name} <strong>{bill_number}</strong} تم إنشاء الفاتورة أتوماتكيا <br /><br /> يمكنك الاطلاع على تفاصيل الفاتورة من الرابط: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br /< Regards,<br />{company_name} مع أطيب التحيات{br /> {company_name>',
|
||||
'body' => 'مرحبا,<br /><br /> بناء على الإتفاق الدورى ل <vendor_name} <strong>{bill_number}</strong} تم إنشاء الفاتورة أتوماتكيا <br /><br /> يمكنك الاطلاع على تفاصيل الفاتورة من الرابط: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br /< Regards,<br />{company_name} مع أطيب التحيات{br /> {company_name>',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -33,19 +33,19 @@ return [
|
||||
'payment_methods' => 'طريقة الدفع|طرق الدفع',
|
||||
'compares' => 'الإيراد مقابل المصروف|الإيرادات مقابل المصروفات',
|
||||
'notes' => 'ملحوظة|الملاحظات',
|
||||
'totals' => 'المجموع|المجاميع',
|
||||
'totals' => 'اجمالى|اجماليات',
|
||||
'languages' => 'اللغة|اللغات',
|
||||
'updates' => 'التحديث|التحديثات',
|
||||
'numbers' => 'الرقم|الأرقام',
|
||||
'statuses' => 'الحالة|الحالات',
|
||||
'others' => 'الأخرى|الأخريات',
|
||||
'contacts' => 'جهة اتصال|جهات اتصال',
|
||||
'reconciliations' => 'المصالحة | المصالحات',
|
||||
'reconciliations' => 'التسوية | التسويات',
|
||||
'developers' => 'مطور|مطورين',
|
||||
'schedules' => 'جدولة|جدولة',
|
||||
'groups' => 'مجموعة|مجموعات',
|
||||
'charts' => 'رسم بياني|رسوم بيانات',
|
||||
'localisations' => 'تحديد الموقع | تحديد المواقع',
|
||||
'localisations' => 'الاعدادات المحلية | الاعدادات المحلية',
|
||||
'defaults' => 'افتراضي|افتراضيات',
|
||||
'widgets' => 'أداة | أدوات',
|
||||
'templates' => 'قالب | قوالب',
|
||||
@ -131,14 +131,14 @@ return [
|
||||
'created_date' => 'تاريخ الإنشاء',
|
||||
'period' => 'فترة',
|
||||
'frequency' => 'التكرار',
|
||||
'start' => 'إبدأ',
|
||||
'end' => 'انهاء',
|
||||
'start' => 'البداية',
|
||||
'end' => 'النهاية',
|
||||
'clear' => 'مسح',
|
||||
'difference' => 'الاختلاف',
|
||||
'difference' => 'الفرق',
|
||||
'footer' => 'تذييل الصفحة',
|
||||
'start_date' => 'تاريخ البدء',
|
||||
'end_date' => 'تاريخ الانتهاء',
|
||||
'basis' => 'أساس',
|
||||
'basis' => 'الأساس',
|
||||
'accrual' => 'مستحقات',
|
||||
'cash' => 'نقدي',
|
||||
'group_by' => 'مجموعة من قبل',
|
||||
@ -150,8 +150,8 @@ return [
|
||||
'type_item_name' => 'اكتب اسم العنصر',
|
||||
'no_data' => 'لا توجد بيانات',
|
||||
'no_matching_data' => 'لا توجد بيانات مطابقة',
|
||||
'clear_cache' => 'مسح التخزين المؤقت',
|
||||
'go_to_dashboard' => 'الذهاب الى لوحة القيادة',
|
||||
'clear_cache' => 'مسح الذاكرة المؤقتة',
|
||||
'go_to_dashboard' => 'الذهاب الى لوحة التحكم',
|
||||
|
||||
'card' => [
|
||||
'name' => 'الإسم على البطاقة',
|
||||
@ -191,13 +191,13 @@ return [
|
||||
|
||||
'empty' => [
|
||||
'documentation' => 'راجع <a href=":url" target="_blank">الوثائق</a>للمزيد من التفاصيل.',
|
||||
'items' => 'يمكن أن تكون العناصر منتجات أو خدمات. يمكنك استخدام العناصر عند إنشاء الفواتير للحصول على حقول السعر والضرائب إلخ.',
|
||||
'items' => 'يمكن أن تكون الأصناف منتجات أو خدمات. يمكنك استخدام الأصناف عند إنشاء الفواتير للحصول على حقول السعر والضرائب إلخ.',
|
||||
'invoices' => 'يمكن أن تكون الفواتير مرة واحدة أو متكررة. يمكنك إرسالها إلى العملاء والبدء في قبول المدفوعات عبر الإنترنت.',
|
||||
'revenues' => 'الايرادات هي معاملة الدخل المدفوع. يمكن أن يكون سجلًا مستقلًا (أي الإيداع) أو مرفقًا بفاتورة.',
|
||||
'customers' => 'مطلوب العملاء إذا كنت ترغب في إنشاء الفواتير. يمكنهم أيضًا تسجيل الدخول إلى Client Portal ورؤية رصيدهم.',
|
||||
'bills' => 'يمكن أن تكون الفواتير مرة واحدة أو متكررة. إنها تشير إلى ما تدين به للبائعين للمنتجات أو الخدمات التي تشتريها.',
|
||||
'payments' => 'الدفع هو معاملة لمصاريف مدفوعة. يمكن أن يكون سجلًا مستقلًا (مثل إيصال الطعام) أو مرفقًا به فاتورة.',
|
||||
'vendors' => 'البائعين مطلوبين إذا كنت ترغب في إنشاء فواتير. يمكنك رؤية الرصيد الذي تدين به وتصفية تقارير البائع.',
|
||||
'customers' => 'العملاء مطلوبون إذا كنت ترغب في إنشاء الفواتير. يمكنهم أيضًا تسجيل الدخول إلى Client Portal ورؤية رصيدهم.',
|
||||
'bills' => 'يمكن أن تكون الفواتير مرة واحدة أو متكررة. إنها تشير إلى ما تدين به للموردين للمنتجات أو الخدمات التي تشتريها.',
|
||||
'payments' => 'الدفع هو معاملة لمصاريف مدفوعة. يمكن أن يكون سجلًا مستقلًا (مثل إيصال الطعام) أو مرفقًا بفاتورة.',
|
||||
'vendors' => 'الموردين مطلوبين إذا كنت ترغب في إنشاء فواتير. يمكنك رؤية الرصيد الذي تدين به وتصفية تقارير المورد.',
|
||||
'transfers' => 'تتيح لك التحويلات نقل الأموال من حساب إلى آخر ، سواء كانت تستخدم العملة نفسها أم لا.',
|
||||
'taxes' => 'يتم استخدام الضرائب لتطبيق رسوم إضافية على الفواتير. تتأثر بياناتك المالية بهذه الضرائب التنظيمية.',
|
||||
'reconciliations' => 'التسوية المصرفية هي عملية يتم تنفيذها للتأكد من صحة السجلات المصرفية لشركتك.',
|
||||
|
@ -7,7 +7,7 @@ return [
|
||||
'notifications' => [
|
||||
'counter' => '{0} ليس لديك تنبيهات|{1} لديك :count تنبيهات|[2,*] لديك :count تنبيهات',
|
||||
'overdue_invoices' => '{1} :count فاتورة متأخرة|[2,*] :count فواتير متأخرة',
|
||||
'upcoming_bills' => '{1} :count فاتورة بيع قادمة|[2,*] :count فواتير بيع قادمة',
|
||||
'upcoming_bills' => '{1} :count فاتورة قادمة|[2,*] :count فواتير قادمة',
|
||||
'view_all' => 'عرض الكل'
|
||||
],
|
||||
'docs_link' => 'https://akaunting.com/docs',
|
||||
|
@ -26,10 +26,10 @@ return [
|
||||
'paid' => 'مدفوع',
|
||||
'histories' => 'سجلات',
|
||||
'payments' => 'المدفوعات',
|
||||
'add_payment' => 'إضافة مدفوعات',
|
||||
'add_payment' => 'إضافة الدفع',
|
||||
'mark_paid' => 'التحديد كمدفوع',
|
||||
'mark_sent' => 'التحديد كمرسل',
|
||||
'mark_viewed' => 'المُعَلَمَة شُوهدت',
|
||||
'mark_viewed' => 'وضع علامة مشاهدة',
|
||||
'download_pdf' => 'تحميل PDF',
|
||||
'send_mail' => 'إرسال بريد إلكتروني',
|
||||
'all_invoices' => 'سجّل الدخول لعرض جميع الفواتير',
|
||||
@ -54,7 +54,7 @@ return [
|
||||
'marked_sent' => 'الفاتورة عُلّمت كمرسلة!',
|
||||
'marked_paid' => 'الفاتورة عُلّمت كمدفوع!',
|
||||
'email_required' => 'لا يوجد عنوان البريد إلكتروني لهذا العميل!',
|
||||
'draft' => 'هذه <b>مسودة</b> الفاتورة و سوف تظهر في الرسوم البيانيّة بعد ارسالها.',
|
||||
'draft' => 'هذه <b>مسودة</b> الفاتورة و سوف تظهر في النظام بعد ارسالها.',
|
||||
|
||||
'status' => [
|
||||
'created' => 'أنشئت في :date',
|
||||
|
@ -4,7 +4,7 @@ return [
|
||||
|
||||
'title' => 'تحت الصيانة',
|
||||
|
||||
'message' => 'آسف ، نحن في الصيانة. الرجاء معاودة المحاولة في وقت لاحق!',
|
||||
'message' => 'نأسف للإزعاج، النظام قيد الصيانة. الرجاء معاودة المحاولة في وقت لاحق!',
|
||||
|
||||
'last-updated' => 'اخر تحديث لهذه الرسالة :timestamp',
|
||||
|
||||
|
@ -8,7 +8,7 @@ return [
|
||||
'deleted' => 'تم حذف :type!',
|
||||
'duplicated' => 'تم نسخ :type!',
|
||||
'imported' => 'تم استيراد :type!',
|
||||
'exported' => 'تم استيراد :type!',
|
||||
'exported' => 'تم تصدير :type!',
|
||||
'enabled' => 'تم تفعيل :type!',
|
||||
'disabled' => 'تم تعطيل :type!',
|
||||
],
|
||||
@ -16,7 +16,7 @@ return [
|
||||
'error' => [
|
||||
'over_payment' => 'خطأ: الدفعه لم تُضاف! المبلغ المدخل يتخطى المجموع: :amount',
|
||||
'not_user_company' => 'خطأ: غير مسموح لك بإدارة هذه الشركة!',
|
||||
'customer' => 'خطأ: لم تتم إضافة المستخدم! :name يستخدم هذا البريد الإلكتروني مسبقاً.',
|
||||
'customer' => 'خطأ: لم تتم إضافة المستخدم! :name يستخدم بالفعل هذا البريد الإلكتروني.',
|
||||
'no_file' => 'خطأ: لم يتم تحديد أي ملف!',
|
||||
'last_category' => 'خطأ: لا يمكن حذف آخر فئة من :type!',
|
||||
'change_type' => 'خطأ: لا يمكنك تغيير النوع لارتباطه مع :text!',
|
||||
|
@ -5,9 +5,9 @@ return [
|
||||
'api_key' => 'مفتاح API',
|
||||
'my_apps' => 'تطبيقاتي',
|
||||
'pre_sale' => 'قبل البيع',
|
||||
'top_paid' => 'أعلى المدفوعات',
|
||||
'top_paid' => 'أعلى مدفوعات',
|
||||
'new' => 'جديد',
|
||||
'top_free' => 'المجانيات الأعلى',
|
||||
'top_free' => 'أعلى مجانيات ',
|
||||
'free' => 'مجاناً',
|
||||
'search' => 'بحث',
|
||||
'install' => 'تثبيت',
|
||||
@ -36,7 +36,7 @@ return [
|
||||
'installation' => 'التثبيت',
|
||||
'faq' => 'الأسئلة الشائعة',
|
||||
'changelog' => 'سجل التغييرات',
|
||||
'reviews' => 'مراجعات',
|
||||
'reviews' => 'التقييمات',
|
||||
],
|
||||
|
||||
'installation' => [
|
||||
@ -52,7 +52,7 @@ return [
|
||||
'errors' => [
|
||||
'download' => 'لم نتمكن من تحميل :module',
|
||||
'zip' => 'لم نتمكن من انشاء ملف zip :module',
|
||||
'unzip' => 'لم نتمكن من إستخراج :module',
|
||||
'unzip' => 'لم نتمكن من فك ضغط :module',
|
||||
'file_copy' => 'لم نتمكن من نسخ ملفات :module',
|
||||
'finish' => 'لم نتمكن من انهاء تثبيت :module',
|
||||
],
|
||||
@ -75,10 +75,10 @@ return [
|
||||
|
||||
'reviews' => [
|
||||
'button' => [
|
||||
'add' => 'أضف مراجعة'
|
||||
'add' => 'أضف تقييمك'
|
||||
],
|
||||
|
||||
'na' => 'لا يوجد مراجعات.'
|
||||
'na' => 'لا يوجد تقييمات.'
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -6,7 +6,7 @@ return [
|
||||
'reconciled' => 'تمت التسوية',
|
||||
'closing_balance' => 'الرصيد الختامي',
|
||||
'unreconciled' => 'لم تتم التسوية',
|
||||
'transactions' => 'الإجراءات',
|
||||
'transactions' => 'المعاملات',
|
||||
'start_date' => 'تاريخ البدء',
|
||||
'end_date' => 'تاريخ الانتهاء',
|
||||
'cleared_amount' => 'صافي القيمة',
|
||||
|
@ -3,7 +3,7 @@
|
||||
return [
|
||||
|
||||
'company' => [
|
||||
'description' => 'تغيير اسم الشركه، البريد اﻹلكتروني، العناوين، الرقم الضريبي الخ',
|
||||
'description' => 'تغيير اسم الشركه، البريد اﻹلكتروني، العنوان، الرقم الضريبي الخ',
|
||||
'name' => 'الاسم',
|
||||
'email' => 'البريد الإلكتروني',
|
||||
'phone' => 'رقم الهاتف',
|
||||
@ -12,7 +12,7 @@ return [
|
||||
],
|
||||
|
||||
'localisation' => [
|
||||
'description' => 'قم بتعيين السنة المالية والمنطقة الزمنية وتنسيق التاريخ والمزيد من المواقع',
|
||||
'description' => 'قم بتحديد السنة المالية والمنطقة الزمنية وصيغة التاريخ والمزيد من الاعدادات',
|
||||
'financial_start' => 'بدء السنة المالية',
|
||||
'timezone' => 'التوقيت',
|
||||
'date' => [
|
||||
@ -44,7 +44,7 @@ return [
|
||||
'service' => 'الخدمات',
|
||||
'price_name' => 'اسم السعر',
|
||||
'price' => 'السعر',
|
||||
'rate' => 'قيّم',
|
||||
'rate' => 'معدل',
|
||||
'quantity_name' => 'اسم الكمية',
|
||||
'quantity' => 'الكمية',
|
||||
'payment_terms' => 'شروط الدفع',
|
||||
@ -105,7 +105,7 @@ return [
|
||||
'send_bill' => 'إرسال تذكير لفاتورة الشراء',
|
||||
'bill_days' => 'إرسال قبل ميعاد الاستحقاق بأيام',
|
||||
'cron_command' => 'أمر التكرار',
|
||||
'schedule_time' => 'ساعة البدء',
|
||||
'schedule_time' => 'ساعة التنفيذ',
|
||||
],
|
||||
|
||||
'categories' => [
|
||||
|
@ -13,7 +13,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'يجب أن يتم القبول على خانة :attribute.',
|
||||
'accepted' => 'يجب أن يتم قبول خانة :attribute.',
|
||||
'active_url' => 'خانة :attribute تحتوي على رابط غير صحيح.',
|
||||
'after' => 'يجب على خانة :attribute أن تكون تاريخًا لاحقًا للتاريخ :date.',
|
||||
'after_or_equal' => 'يجب على خانة :attribute أن تكون تاريخًا لاحقًا أو مطابقًا للتاريخ :date.',
|
||||
@ -76,15 +76,15 @@ return [
|
||||
'required_without_all' => 'الخانة :attribute إلزامية إذا لم يتوفّر أياً من :values.',
|
||||
'same' => 'يجب أن تتطابق خانة :attribute مع :other.',
|
||||
'size' => [
|
||||
'numeric' => 'يجب أن تكون قيمة خانة :attribute مساوية للعدد :size.',
|
||||
'numeric' => 'يجب أن تكون قيمة خانة :attribute مساوية ل :size.',
|
||||
'file' => 'يجب أن يكون حجم الملف :attribute يساوي :size كيلوبايت.',
|
||||
'string' => 'هذه الخانة :attribute يجب ان تكون <strong>:size حرف</strong>.',
|
||||
'array' => 'يجب أن تحتوي خانة :attribute على :size من العناصر.',
|
||||
],
|
||||
'string' => 'هذه الخانة :attribute يجب ان تكون <strong>نص</strong>.',
|
||||
'timezone' => 'يجب أن تكون خانة :attribute نطاقًا زمنيًا صحيحًا.',
|
||||
'unique' => 'هذه الخانة :attribute <strong>مأخوذة</strong>.',
|
||||
'uploaded' => 'هذه الخانة :attribute <strong>فشلت</strong> عند الرفع.',
|
||||
'unique' => 'هذه الخانة :attribute <strong>مستخدمة بالفعل</strong>.',
|
||||
'uploaded' => 'هذه الخانة :attribute <strong>فشلت</strong> عند تحميلها على النظام.',
|
||||
'url' => 'تنسيق هذه الخانة :attribute <strong>غير صالح</strong>.',
|
||||
|
||||
/*
|
||||
|
@ -7,7 +7,7 @@ return [
|
||||
'open_invoices' => 'الفواتير المفتوحة',
|
||||
'overdue_invoices' => 'الفواتير المتأخرة',
|
||||
'total_expenses' => 'إجمالي المصاريف',
|
||||
'payables' => 'إمكانية الدفع',
|
||||
'payables' => 'المستحقات علينا',
|
||||
'open_bills' => 'فواتير مفتوحة',
|
||||
'overdue_bills' => 'فواتير متأخرة',
|
||||
'total_profit' => 'إجمالي الربح',
|
||||
|
@ -28,6 +28,8 @@ return [
|
||||
'warning' => [
|
||||
'deleted' => 'Warning: You are not allowed to delete <b>:name</b> because it has :text related.',
|
||||
'disabled' => 'Warning: You are not allowed to disable <b>:name</b> because it has :text related.',
|
||||
'reconciled_tran' => 'Warning: You are not allowed to change/delete transaction because it is reconciled!',
|
||||
'reconciled_doc' => 'Warning: You are not allowed to change/delete :type because it has reconciled transactions!',
|
||||
'disable_code' => 'Warning: You are not allowed to disable or change the currency of <b>:name</b> because it has :text related.',
|
||||
'payment_cancel' => 'Warning: You have cancelled your recent :method payment!',
|
||||
],
|
||||
|
@ -13,6 +13,7 @@ return [
|
||||
'current_email' => 'वर्तमान ईमेल',
|
||||
'reset' => 'रीसेट',
|
||||
'never' => 'कभी नहीँ',
|
||||
'landing_page' => 'लैंडिंग पेज',
|
||||
|
||||
'password' => [
|
||||
'current' => 'पासवर्ड',
|
||||
|
@ -40,6 +40,8 @@ return [
|
||||
'received' => 'स्वीकार किया',
|
||||
'partial' => 'आंशिक',
|
||||
'paid' => 'भुगतान किया',
|
||||
'overdue' => 'समय पर भुगतान नहीं किया',
|
||||
'unpaid' => 'भुगतान नहीं किया है',
|
||||
],
|
||||
|
||||
'messages' => [
|
||||
|
@ -6,14 +6,14 @@ return [
|
||||
'selected' => 'चयनित',
|
||||
|
||||
'message' => [
|
||||
'duplicate' => 'Are you sure you want to <b>duplicate</b> selected record?',
|
||||
'delete' => 'Are you sure you want to <b>delete</b> selected record?|Are you sure you want to <b>delete</b> selected records?',
|
||||
'export' => 'Are you sure you want to <b>export</b> selected record?|Are you sure you want to <b>export</b> selected records?',
|
||||
'enable' => 'Are you sure you want to <b>enable</b> selected record?|Are you sure you want to <b>enable</b> selected records?',
|
||||
'disable' => 'Are you sure you want to <b>disable</b> selected record?|Are you sure you want to <b>disable</b> selected records?',
|
||||
'paid' => 'Are you sure you want to mark selected invoice as <b>paid</b>?|Are you sure you want to mark selected invoices as <b>paid</b>?',
|
||||
'sent' => 'Are you sure you want to mark selected invoice as <b>sent</b>?|Are you sure you want to mark selected invoices as <b>sent</b>?',
|
||||
'received' => 'Are you sure you want to mark selected bill as <b>received</b>?|Are you sure you want to mark selected bills as <b>received</b>?',
|
||||
'duplicate' => 'क्या आप वाकई चयनित रिकॉर्ड की <b>प्रतिलिपि</b> करना चाहते हैं?',
|
||||
'delete' => 'क्या आप वाकई चयनित रिकॉर्ड <b>हटाना</b> चाहते हैं?|क्या आप सुनिश्चित हैं कि आप चयनित रिकॉर्ड <b>हटाना</b> चाहते हैं?',
|
||||
'export' => 'क्या आप सुनिश्चित हैं कि आप चयनित रिकॉर्ड <b>निर्यात</b> करना चाहते हैं?|क्या आप सुनिश्चित हैं कि आप चयनित रिकॉर्ड <b>निर्यात</b> करना चाहते हैं?',
|
||||
'enable' => 'क्या आप वाकई चयनित रिकॉर्ड को <b>सक्रिय</b> करना चाहते हैं?|क्या आप वाकई चयनित रिकॉर्ड को <b>सक्रिय</b> करना चाहते हैं?',
|
||||
'disable' => 'क्या आप वाकई चयनित रिकॉर्ड को <b>निष्क्रिय</b> करना चाहते हैं?|क्या आप वाकई चयनित रिकॉर्ड को <b>निष्क्रिय</b> करना चाहते हैं?',
|
||||
'paid' => 'क्या आप वाकई चयनित चालान को <b>भुगतान</b> के रूप में चिह्नित करना चाहते हैं?|क्या आप सुनिश्चित हैं कि आप चयनित चालान को <b>भुगतान</b> के रूप में चिह्नित करना चाहते हैं?',
|
||||
'sent' => 'क्या आप सुनिश्चित हैं कि आप चयनित चालान को <b>भेजे गए</b> के रूप में चिह्नित करना चाहते हैं?|क्या आप सुनिश्चित हैं कि आप चयनित चालान को <b>भेजे गए</b> के रूप में चिह्नित करना चाहते हैं?',
|
||||
'received' => 'क्या आप वाकई चयनित बिल को <b>प्राप्त किये</b> गए के रूप में चिह्नित करना चाहते हैं?|क्या आप वाकई चयनित बिलों को <b>प्राप्त किये</b> गए के रूप में चिह्नित करना चाहते हैं?',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -4,12 +4,11 @@ return [
|
||||
|
||||
'domain' => 'डोमेन',
|
||||
'logo' => 'लोगो',
|
||||
'manage' => 'कंपनियों का प्रबंधन करें',
|
||||
'all' => 'सभी कंपनियां',
|
||||
|
||||
'error' => [
|
||||
'not_user_company' => 'त्रुटि: आपको इस कंपनी को बदलने की अनुमति नहीं है!',
|
||||
'delete_active' => 'त्रुटि: सक्रिय कंपनी को हटा नहीं सकते, कृपया, इसे पहले बदलें!',
|
||||
'delete_active' => 'त्रुटि: सक्रिय कंपनी को हटा नहीं सकते। कृपया, पहले दूसरे पर स्विच करें!',
|
||||
'disable_active' => 'त्रुटि: सक्रिय कंपनी को निष्क्रिय नहीं कर सकते। कृपया, पहले दूसरे पर स्विच करें!',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -6,7 +6,7 @@ return [
|
||||
'user_created' => 'उपयोगकर्ता बनाया गया',
|
||||
|
||||
'error' => [
|
||||
'email' => 'ईमेल पहले ही ली जा चुकी हैं।'
|
||||
'email' => 'ईमेल पहले ही ली जा चुकी हैं।',
|
||||
],
|
||||
|
||||
];
|
||||
|
11
resources/lang/hi-IN/dashboards.php
Normal file
11
resources/lang/hi-IN/dashboards.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'error' => [
|
||||
'not_user_dashboard' => 'त्रुटि: आपको इस डैशबोर्ड को बदलने की अनुमति नहीं है!',
|
||||
'delete_last' => 'त्रुटि: अंतिम डैशबोर्ड को हटा नहीं सकते। कृपया, पहले एक नया बनाएं!',
|
||||
'disable_last' => 'त्रुटि: अंतिम डैशबोर्ड को निष्क्रिय नहीं कर सकते। कृपया, पहले एक नया बनाएं!',
|
||||
],
|
||||
|
||||
];
|
@ -2,12 +2,33 @@
|
||||
|
||||
return [
|
||||
|
||||
'accounts_cash' => 'नकद',
|
||||
'categories_deposit' => 'जमा',
|
||||
'categories_sales' => 'बिक्री',
|
||||
'currencies_usd' => 'अमेरिकी डॉलर',
|
||||
'currencies_eur' => 'यूरो',
|
||||
'currencies_gbp' => 'ब्रिटिश पाउंड',
|
||||
'currencies_try' => 'तुर्की लीरा',
|
||||
'accounts' => [
|
||||
'cash' => 'नकद',
|
||||
],
|
||||
|
||||
'categories' => [
|
||||
'deposit' => 'जमा',
|
||||
'sales' => 'बिक्री',
|
||||
],
|
||||
|
||||
'currencies' => [
|
||||
'usd' => 'अमेरिकी डॉलर',
|
||||
'eur' => 'यूरो',
|
||||
'gbp' => 'ब्रिटिश पाउंड',
|
||||
'try' => 'तुर्की लीरा',
|
||||
],
|
||||
|
||||
'offline_payments' => [
|
||||
'cash' => 'नकद',
|
||||
'bank' => 'बैंक ट्रांसफर',
|
||||
],
|
||||
|
||||
'reports' => [
|
||||
'income' => 'श्रेणी के द्वारा मासिक आय सारांश।',
|
||||
'expense' => 'श्रेणी के अनुसार मासिक व्यय सारांश।',
|
||||
'income_expense' => 'श्रेणी के हिसाब से मासिक आय vs व्यय।',
|
||||
'tax' => 'त्रैमासिक कर सारांश।',
|
||||
'profit_loss' => 'श्रेणी के अनुसार त्रैमासिक लाभ और हानि।',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -2,23 +2,22 @@
|
||||
|
||||
return [
|
||||
|
||||
'forbidden_access' => 'प्रवेश निषिद्ध',
|
||||
'error_page' => 'त्रुटि पृष्ठ',
|
||||
'page_not_found' => 'पृष्ठ नहीं मिला',
|
||||
|
||||
'body' => [
|
||||
'forbidden_access' => 'ऊप्स! प्रवेश निषिद्ध।',
|
||||
'error_page' => 'ऊप्स! कुछ गलत हो गया।',
|
||||
'page_not_found' => 'ऊप्स! पृष्ठ नहीं मिला।',
|
||||
'title' => [
|
||||
'403' => 'ऊप्स! प्रवेश वर्जित',
|
||||
'404' => 'ऊप्स! पृष्ठ नहीं मिला',
|
||||
'500' => 'ऊप्स! कुछ गलत हो गया',
|
||||
],
|
||||
|
||||
'messages' => [
|
||||
'forbidden_access' => 'आप इस पेज तक नहीं पहुँच सकते।
|
||||
इस बीच, आप <a href=":link"> डैशबोर्ड पर लौट सकते हैं।</a>',
|
||||
'error_page' => 'हम उस समय को ठीक करने पर काम करेंगे।
|
||||
इस बीच, आप <a href=":link"> डैशबोर्ड पर लौट सकते हैं।</a>',
|
||||
'page_not_found' => 'आपको वह पृष्ठ नहीं मिला, जिसकी आप तलाश कर रहे थे।
|
||||
इस बीच, आप <a href=":link"> डैशबोर्ड पर लौट सकते हैं।</a>',
|
||||
'header' => [
|
||||
'403' => '403 वर्जित',
|
||||
'404' => '404 नहीं मिला',
|
||||
'500' => '500 आंतरिक सर्वर त्रुटि',
|
||||
],
|
||||
|
||||
'message' => [
|
||||
'403' => 'आप इस पेज तक नहीं पहुँच सकते।',
|
||||
'404' => 'आपको वह पृष्ठ नहीं मिला, जिसकी आप तलाश कर रहे थे।',
|
||||
'500' => 'हम इसे ठीक करने पर तुरंत काम करेंगे।',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -48,8 +48,10 @@ return [
|
||||
'localisations' => 'स्थानीयकरण|स्थानीयकरण',
|
||||
'defaults' => 'डिफ़ॉल्ट|डिफ़ॉल्ट',
|
||||
'widgets' => 'विजेट|विजेट',
|
||||
'templates' => 'टेम्पलेट|टेम्पलेट्स',
|
||||
'sales' => 'बिक्री|बिक्री',
|
||||
'purchases' => 'खरीद|खरीद',
|
||||
|
||||
'dashboard' => 'डैशबोर्ड',
|
||||
'welcome' => 'स्वागत हे',
|
||||
'banking' => 'बैंकिंग',
|
||||
'general' => 'सामान्य',
|
||||
@ -68,10 +70,13 @@ return [
|
||||
'yearly' => 'वार्षिक',
|
||||
'add' => 'जोड़ें',
|
||||
'add_new' => 'नया जोड़ें',
|
||||
'add_income' => 'आय जोड़ें',
|
||||
'add_expense' => 'व्यय जोड़ें',
|
||||
'show' => 'देखें',
|
||||
'edit' => 'संपादित करें',
|
||||
'delete' => 'हटायें',
|
||||
'send' => 'भेजें',
|
||||
'share' => 'शेयर',
|
||||
'download' => 'डाउनलोड',
|
||||
'delete_confirm' => ':name :type हटाने की पुष्टि करें?',
|
||||
'name' => 'नाम',
|
||||
@ -89,7 +94,7 @@ return [
|
||||
'reference' => 'संदर्भ',
|
||||
'attachment' => 'अटैचमेंट',
|
||||
'change' => 'बदलें',
|
||||
'change_type' => 'Change :type',
|
||||
'change_type' => ':type प्रकार बदलें',
|
||||
'switch' => 'बदलें',
|
||||
'color' => 'रंग',
|
||||
'save' => 'सेव करे',
|
||||
@ -123,7 +128,6 @@ return [
|
||||
'disable' => 'निष्क्रिय',
|
||||
'select_all' => 'सभी का चयन करे',
|
||||
'unselect_all' => 'सभी का चयन रद्द करे',
|
||||
'go_to' => ':name पर जाये',
|
||||
'created_date' => 'रचना तारीख',
|
||||
'period' => 'अवधि',
|
||||
'frequency' => 'आवृत्ति',
|
||||
@ -133,11 +137,28 @@ return [
|
||||
'difference' => 'अंतर',
|
||||
'footer' => 'फुटर',
|
||||
'start_date' => 'आरंभ करने की तारीख',
|
||||
'end_date' => 'समाप्ति की तारीख',
|
||||
'basis' => 'आधार',
|
||||
'accrual' => 'प्रोद्भवन',
|
||||
'cash' => 'नकद',
|
||||
'group_by' => 'समूह द्वारा',
|
||||
'accounting' => 'लेखांकन',
|
||||
'sort' => 'छाँटें',
|
||||
'width' => 'चौड़ाई',
|
||||
'month' => 'महीना',
|
||||
'year' => 'वर्ष',
|
||||
'type_item_name' => 'एक आइटम नाम लिखें',
|
||||
'no_data' => 'कोई आकड़ा उपलब्ध नहीं है',
|
||||
'no_matching_data' => 'कोई मिलान डेटा नहीं',
|
||||
'clear_cache' => 'कैश को साफ़ करें',
|
||||
'go_to_dashboard' => 'डैशबोर्ड पर जाएं',
|
||||
|
||||
'card' => [
|
||||
'name' => 'कार्ड पर नाम',
|
||||
'number' => 'कार्ड नंबर',
|
||||
'expiration_date' => 'समाप्ति तिथि',
|
||||
'cvv' => 'कार्ड CVV',
|
||||
],
|
||||
|
||||
'title' => [
|
||||
'new' => 'नई :type',
|
||||
@ -147,6 +168,7 @@ return [
|
||||
'send' => ':type भेजें',
|
||||
'get' => ':type ले आओ',
|
||||
'add' => ':type जोड़ें',
|
||||
'manage' => ':type प्रबंधित',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
@ -176,6 +198,9 @@ return [
|
||||
'bills' => 'बिल एक समय या आवर्ती हो सकते हैं। वे संकेत करते हैं कि आपके द्वारा खरीदे जाने वाले उत्पादों या सेवाओं के लिए आप अपने विक्रेताओं को क्या देते हैं।',
|
||||
'payments' => 'भुगतान एक भुगतान व्यय लेनदेन है। यह एक स्वतंत्र रिकॉर्ड (यानी खाद्य रसीद) हो सकता है या बिल से जुड़ा हो सकता है।',
|
||||
'vendors' => 'यदि आप बिल बनाना चाहते हैं तो विक्रेताओं की आवश्यकता है। आप शेष राशि देख सकते हैं और विक्रेता द्वारा रिपोर्ट फ़िल्टर कर सकते हैं।',
|
||||
'transfers' => 'ट्रांसफ़र आपको एक खाते से दूसरे खाते में पैसा स्थानांतरित करने की अनुमति देते हैं, चाहे वे एक ही मुद्रा का उपयोग करें या नहीं।',
|
||||
'taxes' => 'टैक्स का उपयोग चालान और बिलों में अतिरिक्त शुल्क लगाने के लिए किया जाता है। आपके वित्तीय इन नियामक करों से प्रभावित होते हैं।',
|
||||
'reconciliations' => 'बैंक सुलह एक प्रक्रिया है जो यह सुनिश्चित करने के लिए की जाती है कि आपकी कंपनी के बैंक रिकॉर्ड भी सही हैं।',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -29,6 +29,7 @@ return [
|
||||
'add_payment' => 'भुगतान जोड़ें',
|
||||
'mark_paid' => 'मार्क करे की भुगतान किया हुआ है',
|
||||
'mark_sent' => 'मार्क करे की भेजा गया',
|
||||
'mark_viewed' => 'मार्क किया हुआ देखे',
|
||||
'download_pdf' => 'डाउनलोड PDF',
|
||||
'send_mail' => 'ईमेल भेजें',
|
||||
'all_invoices' => 'सभी चालान देखने के लिए लॉगिन करें',
|
||||
@ -39,11 +40,13 @@ return [
|
||||
|
||||
'statuses' => [
|
||||
'draft' => 'ड्राफ्ट',
|
||||
'sent' => 'भेजें',
|
||||
'sent' => 'भेजे गए',
|
||||
'viewed' => 'देखा गया',
|
||||
'approved' => 'मंजूर करें',
|
||||
'approved' => 'स्वीकृत',
|
||||
'partial' => 'आंशिक',
|
||||
'paid' => 'भुगतान किया',
|
||||
'paid' => 'भुगतान किया है',
|
||||
'overdue' => 'समय पर भुगतान नहीं किया',
|
||||
'unpaid' => 'भुगतान नहीं किया है',
|
||||
],
|
||||
|
||||
'messages' => [
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
return [
|
||||
|
||||
'title' => 'रखरखाव मोड',
|
||||
'title' => 'रखरखाव जारी',
|
||||
|
||||
'message' => 'वर्तमान में हम साइट पर काम कर रहे हैं, कृपया बाद में पुनः प्रयास करें!',
|
||||
'message' => 'क्षमा करें, हम रखरखाव के लिए डाउन हैं। बाद में पुन: प्रयास करें!',
|
||||
|
||||
'last-updated' => 'यह संदेश अंतिम बार अपडेट किया गया था :timestamp',
|
||||
'last-updated' => ':timestamp यह संदेश अंतिम बार अपडेट किया गया था।',
|
||||
|
||||
];
|
||||
];
|
||||
|
@ -8,6 +8,7 @@ return [
|
||||
'deleted' => ':type हटा दिया गया!',
|
||||
'duplicated' => ':type प्रतिलिपि बनाई गई!',
|
||||
'imported' => ':type इम्पोर्ट किया गया!',
|
||||
'exported' => ':type निर्यात!',
|
||||
'enabled' => ':type सक्रिय किया गया!',
|
||||
'disabled' => ':type निष्क्रिय किया गया!!',
|
||||
],
|
||||
@ -19,7 +20,7 @@ return [
|
||||
'no_file' => 'त्रुटि: कोई फ़ाइल चयनित नहीं!',
|
||||
'last_category' => 'त्रुटि: अंतिम :type श्रेणी को हटा नहीं सकते हैं!',
|
||||
'change_type' => 'त्रुटि: प्रकार बदल नहीं सकता क्योंकि इसमें :text संबंधित है!',
|
||||
'invalid_apikey' => 'Error: The API Key entered is invalid!',
|
||||
'invalid_apikey' => 'त्रुटि: दर्ज की गई API कुंजी अमान्य है!',
|
||||
'import_column' => 'त्रुटि: :message शीट का नाम: :sheet। पंक्ति संख्या::line।',
|
||||
'import_sheet' => 'त्रुटि: शीट का नाम मान्य नहीं है। कृपया, नमूना फ़ाइल की जाँच करें।',
|
||||
],
|
||||
|
@ -12,10 +12,9 @@ return [
|
||||
'search' => 'खोज',
|
||||
'install' => 'इंस्टॉल करें',
|
||||
'buy_now' => 'अभी खरीदें',
|
||||
'api_key_link' => 'अपनी API कुंजी प्राप्त करने के लिए <a class="text-red" href="https://akaunting.com/profile" target="_blank"> यहां क्लिक करें </a>।',
|
||||
'get_api_key' => 'अपनी एपीआई कुंजी प्राप्त करने के लिए यहां <a href=":url" target="_blank">क्लिक</a> करें।',
|
||||
'no_apps' => 'इस श्रेणी में अभी तक कोई एप्लिकेशन नहीं हैं।',
|
||||
'developer' => 'क्या आप एक डेवलपर हैं? <a href="https://akaunting.com/developers" target="_blank">यहां</a> आप सीख सकते हैं कि ऐप कैसे बनाएं और आज से बिक्री शुरू करें!',
|
||||
|
||||
'become_developer' => 'क्या आप एक डेवलपर हैं? <a href=":url" target="_blank">यहां</a> आप सीख सकते हैं कि ऐप कैसे बनाएं और आज बेचना शुरू करें!',
|
||||
'recommended_apps' => 'अनुशंसित ऐप्स',
|
||||
|
||||
'about' => 'के बारे में',
|
||||
@ -80,5 +79,6 @@ return [
|
||||
],
|
||||
|
||||
'na' => 'कोई समीक्षा नहीं है।'
|
||||
]
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
return [
|
||||
|
||||
'previous' => '« पिछला',
|
||||
'next' => 'अगला »',
|
||||
'showing' => ':first-:last of :total records.',
|
||||
'previous' => 'पिछला',
|
||||
'next' => 'अगला',
|
||||
'showing' => ':total में से :first-:last रिकॉर्ड।',
|
||||
'page' => 'प्रति पेज।',
|
||||
|
||||
];
|
||||
|
@ -12,7 +12,7 @@ return [
|
||||
'net_profit' => 'शुद्ध लाभ',
|
||||
'total_expenses' => 'कुल व्यय',
|
||||
'net' => 'शुद्ध',
|
||||
'income-expense' => 'आय & व्यय',
|
||||
'income_expense' => 'आय & व्यय',
|
||||
|
||||
'summary' => [
|
||||
'income' => 'आय का सारांश',
|
||||
|
@ -52,6 +52,10 @@ return [
|
||||
'subheading' => 'उपशीर्षक',
|
||||
'due_receipt' => 'प्राप्ति पर देय',
|
||||
'due_days' => ':days दिनों के भीतर देय',
|
||||
'choose_template' => 'चालान टेम्पलेट चुनें',
|
||||
'default' => 'पूर्व निर्धारित',
|
||||
'classic' => 'क्लासिक',
|
||||
'modern' => 'नवीन',
|
||||
],
|
||||
|
||||
'default' => [
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
return [
|
||||
|
||||
'total_incomes' => 'कुल आय',
|
||||
'total_income' => 'कुल आय',
|
||||
'receivables' => 'प्राप्तियां',
|
||||
'open_invoices' => 'वर्तमान चालान',
|
||||
'overdue_invoices' => 'समय पर भुगतान नहीं किये हुए चालान',
|
||||
@ -15,9 +15,9 @@ return [
|
||||
'overdue_profit' => 'समय पर भुगतान नहीं किया हुआ लाभ',
|
||||
'cash_flow' => 'नकद प्रवाह',
|
||||
'no_profit_loss' => 'ना लाभ ना हानि',
|
||||
'incomes_by_category' => 'श्रेणी के अनुसार आय',
|
||||
'income_by_category' => 'श्रेणी के अनुसार आय',
|
||||
'expenses_by_category' => 'श्रेणी के अनुसार व्यय',
|
||||
'account_balance' => 'खाते का बैलेंस',
|
||||
'latest_incomes' => 'नवीनतम आय',
|
||||
'latest_income' => 'नवीनतम आय',
|
||||
'latest_expenses' => 'नवीनतम व्यय',
|
||||
];
|
@ -13,16 +13,18 @@ return [
|
||||
'current_email' => 'Gjeldende e-post',
|
||||
'reset' => 'Tilbakestill',
|
||||
'never' => 'aldri',
|
||||
|
||||
'landing_page' => 'Landingsside',
|
||||
|
||||
'password' => [
|
||||
'current' => 'Passord',
|
||||
'current_confirm' => 'Passordbekreftelse',
|
||||
'new' => 'Nytt passord',
|
||||
'new_confirm' => 'Passordbekreftelse',
|
||||
],
|
||||
|
||||
|
||||
'error' => [
|
||||
'self_delete' => 'Feil: Du kan ikke slette deg selv.',
|
||||
'self_disable' => 'Feil: Du kan ikke deaktivere deg selv!',
|
||||
'no_company' => 'Feil: Ingen foretak knyttet til din konto. Vennligst kontakt systemadministrator.',
|
||||
],
|
||||
|
||||
|
@ -36,10 +36,12 @@ return [
|
||||
'make_payment' => 'Opprett betaling',
|
||||
|
||||
'statuses' => [
|
||||
'draft' => 'Utkast',
|
||||
'draft' => 'Kladd',
|
||||
'received' => 'Mottatt',
|
||||
'partial' => 'Delvis',
|
||||
'paid' => 'Betalt',
|
||||
'overdue' => 'Forfalt',
|
||||
'unpaid' => 'Ubetalt',
|
||||
],
|
||||
|
||||
'messages' => [
|
||||
|
19
resources/lang/nb-NO/bulk_actions.php
Normal file
19
resources/lang/nb-NO/bulk_actions.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'bulk_actions' => 'Massehandling|Massehandlinger',
|
||||
'selected' => 'valgt',
|
||||
|
||||
'message' => [
|
||||
'duplicate' => 'Er du sikker på at du vil <b>duplisere</b> de utvalgte oppføring(er)?',
|
||||
'delete' => 'Er du sikker på at du vil <b>slette</b> valgt oppføring?|Er du sikker på at du vil <b>slette</b> valgte oppføringer?',
|
||||
'export' => 'Er du sikker på at du vil <b>eksportere</b> valgt oppføring?|Er du sikker på at du vil <b>eksportere</b> valgte oppføringer?',
|
||||
'enable' => 'Er du sikker på at du vil <b>aktivere</b> valgt oppføring?|Er du sikker på at du vil <b>aktivere</b> valgte oppføringer?',
|
||||
'disable' => 'Er du sikker på at du vil <b>deaktivere</b> valgt oppføring?|Er du sikker på at du vil <b>deaktivere</b> valgte oppføringer?',
|
||||
'paid' => 'Er du sikker på at du vil merke valgte faktura som <b>betalt</b>?|Er du sikker på at du vil merke valgte fakturaer som <b>betalt</b>?',
|
||||
'sent' => 'Er du sikker på at du vil merke valgte faktura som <b>sendt</b>?|Er du sikker på at du vil merke valgte fakturaer som <b>sendt</b>?',
|
||||
'received' => 'Er du sikker på at du vil merke valgte faktura som <b>mottatt</b>?|Er du sikker på at du vil merke valgte fakturaer som <b>mottatt</b>?',
|
||||
],
|
||||
|
||||
];
|
@ -4,10 +4,11 @@ return [
|
||||
|
||||
'domain' => 'Domene',
|
||||
'logo' => 'Logo',
|
||||
'manage' => 'Administrer foretak',
|
||||
'all' => 'Alle foretak',
|
||||
|
||||
'error' => [
|
||||
'delete_active' => 'Feil. Kan ikke slette aktivt foretak, du må bytte først!',
|
||||
'not_user_company' => 'Feil: Du har ikke tillatelse til å endre dette foretaket!',
|
||||
'delete_active' => 'Feil: Du kan ikke slette det aktive foretaket. Vennligst velg et annet først!',
|
||||
'disable_active' => 'Feil: Du kan ikke deaktivere det aktive foretaket. Vennligst velg et annet først!',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -2,15 +2,11 @@
|
||||
|
||||
return [
|
||||
|
||||
'allow_login' => 'Tillat innlogging?',
|
||||
'can_login' => 'Kan du ikke logge inn?',
|
||||
'user_created' => 'Bruker ble opprettet',
|
||||
|
||||
'error' => [
|
||||
'email' => 'E-postadressen er allerede i bruk.'
|
||||
'email' => 'E-postadressen er allerede i bruk.',
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'message' => ':customer betalte :amount mot faktura :invoice_number.',
|
||||
'button' => 'Vis',
|
||||
],
|
||||
];
|
||||
|
11
resources/lang/nb-NO/dashboards.php
Normal file
11
resources/lang/nb-NO/dashboards.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'error' => [
|
||||
'not_user_dashboard' => 'Feil: Du har ikke tillatelse til å endre dette kontrollpanelet!',
|
||||
'delete_last' => 'Feil: Du kan ikke slette forrige kontrollpanel. Vennligst opprett et nytt først!',
|
||||
'disable_last' => 'Feil: Du kan ikke deaktivere forrige kontrollpanel. Du må opprette et nytt først!',
|
||||
],
|
||||
|
||||
];
|
@ -2,12 +2,33 @@
|
||||
|
||||
return [
|
||||
|
||||
'accounts_cash' => 'Kontanter',
|
||||
'categories_deposit' => 'Innskudd',
|
||||
'categories_sales' => 'Salg',
|
||||
'currencies_usd' => 'Amerikanske Dollar',
|
||||
'currencies_eur' => 'Euro',
|
||||
'currencies_gbp' => 'Britiske pund',
|
||||
'currencies_try' => 'Tyrkiske Lira',
|
||||
'accounts' => [
|
||||
'cash' => 'Kontanter',
|
||||
],
|
||||
|
||||
'categories' => [
|
||||
'deposit' => 'Innskudd',
|
||||
'sales' => 'Salg',
|
||||
],
|
||||
|
||||
'currencies' => [
|
||||
'usd' => 'Amerikanske Dollar',
|
||||
'eur' => 'Euro',
|
||||
'gbp' => 'Britiske pund',
|
||||
'try' => 'Tyrkiske Lira',
|
||||
],
|
||||
|
||||
'offline_payments' => [
|
||||
'cash' => 'Kontanter',
|
||||
'bank' => 'Bankoverføring',
|
||||
],
|
||||
|
||||
'reports' => [
|
||||
'income' => 'Månedlig oppsummering av inntekter etter kategori.',
|
||||
'expense' => 'Månedlig oppsummering av utgifter etter kategori.',
|
||||
'income_expense' => 'Månedlige inntekter vs utgifter etter kategori.',
|
||||
'tax' => 'Kvartalsvis avgiftssammendrag.',
|
||||
'profit_loss' => 'Kvartalsvis fortjeneste & tap etter kategori.',
|
||||
],
|
||||
|
||||
];
|
||||
|
50
resources/lang/nb-NO/email_templates.php
Normal file
50
resources/lang/nb-NO/email_templates.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'invoice_new_customer' => [
|
||||
'subject' => 'Faktura {invoice_number} opprettet',
|
||||
'body' => 'Kjære {customer_name},<br /><br />Vi har opprettet følgende faktura til deg: <strong>{invoice_number}</strong>.<br /><br />Du kan se fakturadetaljene og fortsette med betaling på følgende lenke: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />Vennligst kontakt oss hvis du har spørsmål.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_remind_customer' => [
|
||||
'subject' => '{invoice_number} Fakturapåminnelse',
|
||||
'body' => 'Kjære {customer_name},<br /><br />Dette er en påminnelse om faktura <strong>{invoice_number}</strong>.<br /><br />Fakturabeløpet er {invoice_total} og forfalte <strong>{invoice_due_date}</strong>.<br /><br />Du kan se fakturadetaljene og fortsette med betaling på følgende lenke: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_remind_admin' => [
|
||||
'subject' => '{invoice_number} Fakturapåminnelse',
|
||||
'body' => 'Hei,<br /><br />{customer_name} har mottatt en fakturapåminnelse for faktura <strong>{invoice_number}</strong>.<br /><br />Fakturabeløpet er {invoice_total} og forfalt <strong>{invoice_due_date}</strong>.<br /><br />Du kan se fakturadetaljene på følgende lenke: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_recur_customer' => [
|
||||
'subject' => '{invoice_number} Gjentakende faktura opprettet',
|
||||
'body' => 'Kjære {customer_name},<br /><br />Basert på din betalingsordning, har vi opprettet en faktura til deg: <strong>{invoice_number}</strong>.<br /><br />Du kan se fakturadetaljer og fortsette med betaling på følgende lenke: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />Vennligst kontakt oss ved spørsmål.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_recur_admin' => [
|
||||
'subject' => '{invoice_number} Gjentakende faktura opprettet',
|
||||
'body' => 'Hei,<br /><br />Basert på {customer_name} sin betalingsordning, er faktura <strong>{invoice_number}</strong> automatisk opprettet.<br /><br />Du kan se fakturadetaljer på følgende lenke: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_payment_customer' => [
|
||||
'subject' => 'Betaling mottatt for faktura {invoice_number}',
|
||||
'body' => 'Kjære {customer_name},<br /><br />Takk for betalingen. Finn betalingsdetaljer under:<br /><br />-------------------------------------------------<br />Beløp: <strong>{transaction_total}</strong><br />Dato: <strong>{transaction_paid_date}</strong><br />Fakturanummer: <strong>{invoice_number}</strong><br />-------------------------------------------------<br /><br />Du kan se fakturadetaljene på følgende lenke: <a href="{invoice_guest_link}">{invoice_number}</a>.<br /><br />Vennligst kontakt oss ved spørsmål.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'invoice_payment_admin' => [
|
||||
'subject' => 'Betaling mottatt for faktura {invoice_number}',
|
||||
'body' => 'Hei,<br /><br />{customer_name} registrerte betaling for faktura <strong>{invoice_number}</strong>.<br /><br />Du kan se fakturadetaljene på følgende lenke: <a href="{invoice_admin_link}">{invoice_number}</a>.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'bill_remind_admin' => [
|
||||
'subject' => '{bill_number} Betalingspåminnelse',
|
||||
'body' => 'Hei,<br /><br />Dette er en betalingspåminnelse for faktura <strong>{bill_number}</strong> til {vendor_name}.<br /><br />Fakturabeløpet er {bill_total} og forfalte <strong>{bill_due_date}</strong>.<br /><br />Du kan se fakturadetaljene på følgende lenke: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
'bill_recur_admin' => [
|
||||
'subject' => '{bill_number} Gjentakende faktura opprettet',
|
||||
'body' => 'Hei,<br /><br />Basert på {vendor_name} sin betalingsordning for deg, er faktura <strong>{bill_number}</strong> automatisk opprettet.<br /><br />Du kan se fakturadetaljene på følgende lenke: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br />Vennlig hilsen,<br />{company_name}',
|
||||
],
|
||||
|
||||
];
|
@ -2,20 +2,22 @@
|
||||
|
||||
return [
|
||||
|
||||
'forbidden_access' => 'Ikke tilgang',
|
||||
'error_page' => 'Feilside',
|
||||
'page_not_found' => 'Side ikke funnet',
|
||||
|
||||
'body' => [
|
||||
'forbidden_access' => 'Oops! Ikke tilgang.',
|
||||
'error_page' => 'Oops! Noe gikk galt.',
|
||||
'page_not_found' => 'Oops! Side ikke funnet.',
|
||||
'title' => [
|
||||
'403' => 'Oops! Adgang forbudt',
|
||||
'404' => 'Oops! Side ikke funnet',
|
||||
'500' => 'Oops! Noe gikk galt',
|
||||
],
|
||||
|
||||
'messages' => [
|
||||
'forbidden_access' => 'Du har ikke tilgang til denne siden. I mellomtiden kan du <a href=":link">returnere til kontrollpanelet</a>.',
|
||||
'error_page' => 'Vi vil arbeide med å ordne dette med en gang. I mellomtiden kan du <a href=":link">returnere til kontrollpanelet</a>.',
|
||||
'page_not_found' => 'Vi kunne ikke finne siden du leter etter. I mellomtiden kan du <a href=":link">returnere til kontrollpanelet</a>.',
|
||||
'header' => [
|
||||
'403' => '403 Forbudt',
|
||||
'404' => '404 Ikke funnet',
|
||||
'500' => '500 Intern serverfeil',
|
||||
],
|
||||
|
||||
'message' => [
|
||||
'403' => 'Du har ikke adgang til denne siden.',
|
||||
'404' => 'Vi fant ikke siden du lette etter.',
|
||||
'500' => 'VI jobber med å ordne dette med en gang.',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
return [
|
||||
|
||||
'dashboards' => 'Kontrollpanel|Kontrollpaneler',
|
||||
'items' => 'Artikkel | Artikler',
|
||||
'incomes' => 'Inntekt | Inntekter',
|
||||
'invoices' => 'Faktura | Fakturaer',
|
||||
@ -41,8 +42,17 @@ return [
|
||||
'contacts' => 'Kontakt|Kontakter',
|
||||
'reconciliations' => 'Avstemming|Avstemminger',
|
||||
'developers' => 'Utvikler|Utviklere',
|
||||
'schedules' => 'Tidsplan|Tidsplaner',
|
||||
'groups' => 'Gruppe|Grupper',
|
||||
'charts' => 'Diagram|Diagrammer',
|
||||
'localisations' => 'Lokalisering|Lokaliseringer',
|
||||
'defaults' => 'Standard|Standarder',
|
||||
'widgets' => 'Widget|Widgeter',
|
||||
'templates' => 'Mal|Maler',
|
||||
'sales' => 'Salg|Salg',
|
||||
'purchases' => 'Kjøp|Kjøp',
|
||||
|
||||
'dashboard' => 'Kontrollpanel',
|
||||
'welcome' => 'Velkommen',
|
||||
'banking' => 'Bank',
|
||||
'general' => 'Generelt',
|
||||
'no_records' => 'Ingen oppføringer.',
|
||||
@ -54,15 +64,19 @@ return [
|
||||
'no' => 'Nei',
|
||||
'na' => 'Ikke tilgjengelig',
|
||||
'daily' => 'Daglig',
|
||||
'weekly' => 'Ukentlig',
|
||||
'monthly' => 'Månedlig',
|
||||
'quarterly' => 'Kvartalsvis',
|
||||
'yearly' => 'Årlig',
|
||||
'add' => 'Legg til',
|
||||
'add_new' => 'Legg til ny',
|
||||
'add_income' => 'Legg til inntekt',
|
||||
'add_expense' => 'Legg til utgift',
|
||||
'show' => 'Vis',
|
||||
'edit' => 'Endre',
|
||||
'delete' => 'Slett',
|
||||
'send' => 'Send',
|
||||
'share' => 'Del',
|
||||
'download' => 'Last ned',
|
||||
'delete_confirm' => 'Bekreft sletting av :name :type?',
|
||||
'name' => 'Navn',
|
||||
@ -80,9 +94,11 @@ return [
|
||||
'reference' => 'Referanse',
|
||||
'attachment' => 'Vedlegg',
|
||||
'change' => 'Endre',
|
||||
'change_type' => 'Endre :type',
|
||||
'switch' => 'Bytt',
|
||||
'color' => 'Farge',
|
||||
'save' => 'Lagre',
|
||||
'confirm' => 'Bekreft',
|
||||
'cancel' => 'Avbryt',
|
||||
'loading' => 'Laster...',
|
||||
'from' => 'Fra',
|
||||
@ -112,20 +128,47 @@ return [
|
||||
'disable' => 'Deaktiver',
|
||||
'select_all' => 'Velg alle',
|
||||
'unselect_all' => 'Velg ingen',
|
||||
'go_to' => 'Gå til :name',
|
||||
'created_date' => 'Opprettet dato',
|
||||
'period' => 'Periode',
|
||||
'frequency' => 'Frekvens',
|
||||
'start' => 'Start',
|
||||
'end' => 'Slutt',
|
||||
'clear' => 'Nullstill',
|
||||
'difference' => 'Forskjell',
|
||||
'footer' => 'Bunntekst',
|
||||
'start_date' => 'Startdato',
|
||||
'end_date' => 'Sluttdato',
|
||||
'basis' => 'Grunnlag',
|
||||
'accrual' => 'Periodisering',
|
||||
'cash' => 'Kontanter',
|
||||
'group_by' => 'Grupper etter',
|
||||
'accounting' => 'Regnskap',
|
||||
'sort' => 'Sortér',
|
||||
'width' => 'Bredde',
|
||||
'month' => 'Måned',
|
||||
'year' => 'År',
|
||||
'type_item_name' => 'Skriv et artikkelnavn',
|
||||
'no_data' => 'Ingen data',
|
||||
'no_matching_data' => 'Fant ingen samsvarende data',
|
||||
'clear_cache' => 'Tøm hurtiglager',
|
||||
'go_to_dashboard' => 'Gå til kontrollpanel',
|
||||
|
||||
'card' => [
|
||||
'name' => 'Navn på kort',
|
||||
'number' => 'Kortnummer',
|
||||
'expiration_date' => 'Utløpsdato',
|
||||
'cvv' => 'CVC',
|
||||
],
|
||||
|
||||
'title' => [
|
||||
'new' => 'Ny :type',
|
||||
'edit' => 'Endre :type',
|
||||
'delete' => 'Slett :type',
|
||||
'create' => 'Opprett :type',
|
||||
'send' => 'Send :type',
|
||||
'get' => 'Motta :type',
|
||||
'add' => 'Legg til :type',
|
||||
'manage' => 'Behandle :type',
|
||||
],
|
||||
|
||||
'form' => [
|
||||
@ -134,6 +177,7 @@ return [
|
||||
'field' => '-Velg :field -',
|
||||
'file' => 'Velg fil',
|
||||
],
|
||||
'add_new' => 'Legg til ny :field',
|
||||
'no_file_selected' => 'Ingen fil valgt ...',
|
||||
],
|
||||
|
||||
@ -144,4 +188,19 @@ return [
|
||||
'this_month' => 'Denne måneden',
|
||||
'last_month' => 'Forrige måned',
|
||||
],
|
||||
|
||||
'empty' => [
|
||||
'documentation' => 'Les <a href=":url" target="_blank">dokumentasjonen</a> for mer detaljer.',
|
||||
'items' => 'Artikler kan være produkter eller tjenester. Du kan bruke artiklene når du oppretter fakturaer for å ha fastsatte priser og avgifter.',
|
||||
'invoices' => 'Fakturaer kan være engangs- eller gjentakende. Du kan sende dem til kunder og starte online betalinger.',
|
||||
'revenues' => 'Fortjeneste er en betalt inntektstransaksjon. Det kan være en uavhengig oppføring (f.eks innbetaling) eller knyttet til en faktura.',
|
||||
'customers' => 'Kunder er obligatorisk hvis du vil opprette fakturaer. De kan også logge på kundeportal for å se deres balanse mot ditt foretak.',
|
||||
'bills' => 'Fakturaer kan være engangs- eller gjentakende. De indikerer hva du skylder dine leverandører for produkter og tjenester du kjøper.',
|
||||
'payments' => 'Betaling er en betalt utgiftstransaksjon. Det kan være en uavhengig oppføring (f.eks mot kvittering) eller knyttet til en innkommende faktura.',
|
||||
'vendors' => 'Leverandører er obligatorisk hvis du vil opprette innkommende fakturaer. Du kan se balansen og filtrere rapporter mot leverandør',
|
||||
'transfers' => 'Overføring lar deg flytte penger fra en konto til en annen, uavhengig om de benytter samme valuta eller ikke.',
|
||||
'taxes' => 'Avgifter er brukt til å legge på ekstra avgifter på fakturaer. Din finans er påvirket av disse regulerte avgiftene.',
|
||||
'reconciliations' => 'Bankavstemming er en prosess som utføres for å forsikre at dine bankkontooppføringer stemmer med regnskap.',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -8,9 +8,9 @@ return [
|
||||
'counter' => '{0} Du har ingen varsel |{1} Du har :count varsler|[2,*] Du har :count varsler',
|
||||
'overdue_invoices' => '{1} :count forfalt faktura|[2,*] :count forfalte fakturaer',
|
||||
'upcoming_bills' => '{1} :count kommende faktura [2,*] :count kommende fakturaer',
|
||||
'items_stock' => '{1} :count utsolgt artikkel|[2,*] :count utsolgte artikler',
|
||||
'view_all' => 'Vis alle'
|
||||
],
|
||||
'docs_link' => 'https://akaunting.com/docs',
|
||||
'support_link' => 'https://akaunting.com/support',
|
||||
|
||||
];
|
||||
|
@ -29,6 +29,7 @@ return [
|
||||
'add_payment' => 'Legg til betaling',
|
||||
'mark_paid' => 'Merk som betalt',
|
||||
'mark_sent' => 'Merk som sendt',
|
||||
'mark_viewed' => 'Merk som sett',
|
||||
'download_pdf' => 'Last ned PDF',
|
||||
'send_mail' => 'Send e-post',
|
||||
'all_invoices' => 'Logg inn for å se alle fakturaer',
|
||||
@ -38,22 +39,26 @@ return [
|
||||
'accept_payments' => 'Aksepter online betalinger',
|
||||
|
||||
'statuses' => [
|
||||
'draft' => 'Utkast',
|
||||
'draft' => 'Kladd',
|
||||
'sent' => 'Sendt',
|
||||
'viewed' => 'Åpnet',
|
||||
'viewed' => 'Sett',
|
||||
'approved' => 'Godkjent',
|
||||
'partial' => 'Delvis',
|
||||
'paid' => 'Betalt',
|
||||
'overdue' => 'Forfalt',
|
||||
'unpaid' => 'Ubetalt',
|
||||
],
|
||||
|
||||
'messages' => [
|
||||
'email_sent' => 'E-post med faktura har blitt sendt.',
|
||||
'marked_sent' => 'Faktura merket som sendt.',
|
||||
'email_sent' => 'Faktura e-post er blitt sendt!',
|
||||
'marked_sent' => 'Faktura merket som sendt!',
|
||||
'marked_paid' => 'Faktura merket som betalt!',
|
||||
'email_required' => 'E-postadresse må fylles inn.',
|
||||
'draft' => 'Dette er en <b>KLADD</b> for fakturaen som vil bli oppdatert etter at den er sendt.',
|
||||
|
||||
'status' => [
|
||||
'created' => 'Opprettet :date',
|
||||
'viewed' => 'Sett',
|
||||
'send' => [
|
||||
'draft' => 'Ikke sendt',
|
||||
'sent' => 'Sendt :date',
|
||||
@ -64,9 +69,4 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
'notification' => [
|
||||
'message' => 'Du mottar denne e-posten med faktura til :customer, pålydende :amount.',
|
||||
'button' => 'Betal nå',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -2,17 +2,7 @@
|
||||
|
||||
return [
|
||||
|
||||
'quantities' => 'Antall | Antall',
|
||||
'sales_price' => 'Utsalgspris',
|
||||
'purchase_price' => 'Innkjøpspris',
|
||||
'sku' => 'Varenummer (SKU)',
|
||||
|
||||
'notification' => [
|
||||
'message' => [
|
||||
'reminder' => 'Du mottar denne e-posten fordi det kun er :quantity av :name igjen.',
|
||||
'out_of_stock' => 'Du mottar denne e-posten fordi :name er nesten tom på lager.',
|
||||
],
|
||||
'button' => 'Vis nå',
|
||||
],
|
||||
|
||||
];
|
||||
|
11
resources/lang/nb-NO/maintenance.php
Normal file
11
resources/lang/nb-NO/maintenance.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'title' => 'Under vedlikehold',
|
||||
|
||||
'message' => 'Beklager, men vi er nede for vedlikehold. Vennligst prøv igjen senere!',
|
||||
|
||||
'last-updated' => 'Denne meldingen var sist oppdatert :timestamp.',
|
||||
|
||||
];
|
@ -8,6 +8,7 @@ return [
|
||||
'deleted' => ':type slettet.',
|
||||
'duplicated' => ':type duplisert.',
|
||||
'imported' => ':type importert.',
|
||||
'exported' => ':type eksportert!',
|
||||
'enabled' => ':type aktivert!',
|
||||
'disabled' => ':type deaktivert!',
|
||||
],
|
||||
@ -18,7 +19,8 @@ return [
|
||||
'customer' => 'Feil: Bruker ble ikke opprettet. :name bruker allerede denne e-postadressen.',
|
||||
'no_file' => 'Feil: Ingen fil er valgt.',
|
||||
'last_category' => 'Feil: Kan ikke slette siste :type kategori.',
|
||||
'invalid_apikey' => 'Feil: Angitt token er ugyldig.',
|
||||
'change_type' => 'Feil: Du kan ikke endre denne typen fordi den har relatert :text!',
|
||||
'invalid_apikey' => 'Feil: API nøkkelen du har skrevet er feil!',
|
||||
'import_column' => 'Feil: :message Arknavn: :sheet. Linjenummer: :line.',
|
||||
'import_sheet' => 'Feil: Arknavn er ikke gyldig. Vennligst sjekk malfilen.',
|
||||
],
|
||||
@ -27,6 +29,7 @@ return [
|
||||
'deleted' => 'Advarsel: Du har ikke mulighet til å slette <b>:name</b> fordi kontoen har :text relatert.',
|
||||
'disabled' => 'Advarsel: Du kan ikke deaktivere <b>:name</b> fordi kontoen har :text relatert.',
|
||||
'disable_code' => 'Advarsel: Du har ikke tillatelse til å deaktivere eller endre valutaen for <b>:name</b> fordi den har relatert :text.',
|
||||
'payment_cancel' => 'Advarsel: Du har avbrutt din siste :method betaling!',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -2,8 +2,7 @@
|
||||
|
||||
return [
|
||||
|
||||
'title' => 'API-token',
|
||||
'api_token' => 'Token',
|
||||
'api_key' => 'API nøkkel',
|
||||
'my_apps' => 'Mine applikasjoner',
|
||||
'pre_sale' => 'Forhåndssalg',
|
||||
'top_paid' => 'Topp betalte',
|
||||
@ -13,10 +12,9 @@ return [
|
||||
'search' => 'Søk',
|
||||
'install' => 'Installer',
|
||||
'buy_now' => 'Kjøp nå',
|
||||
'token_link' => '<a href="https://akaunting.com/tokens" target="_blank">Klikk her</a> for å få din API-token.',
|
||||
'get_api_key' => '<a href=":url" target="_blank">Klikk her</a> for å motta din API nøkkel.',
|
||||
'no_apps' => 'Det er ingen applikasjoner i denne kategorien ennå.',
|
||||
'developer' => 'Er du en utvikler? <a href="https://akaunting.com/blog/akaunting-app-store" target="_blank">Her</a> kan du lære hvordan du lager en applikasjon for salg.',
|
||||
|
||||
'become_developer' => 'Er du en utvikler? <a href=":url" target="_blank">Her</a> kan du lære hvordan du kan opprette en applikasjon og starte salg i dag!',
|
||||
'recommended_apps' => 'Anbefalte applikasjoner',
|
||||
|
||||
'about' => 'Om',
|
||||
@ -38,31 +36,30 @@ return [
|
||||
'installation' => 'Installering',
|
||||
'faq' => 'FAQ',
|
||||
'changelog' => 'Endringslogg',
|
||||
'reviews' => 'Anmeldelser',
|
||||
'reviews' => 'Anmeldelser',
|
||||
],
|
||||
|
||||
'installation' => [
|
||||
'header' => 'Applikasjonsinstallering',
|
||||
'download' => 'Laster ned :module.',
|
||||
'unzip' => 'Pakker ut :module.',
|
||||
'file_copy' => 'Kopierer filer til :module.',
|
||||
'migrate' => 'Legger til :module oppdateringer.',
|
||||
'finish' => 'Oppdateringen ble installert. Du vil bli videresendt til Oppdateringssenter.',
|
||||
'install' => 'Installerer :module.',
|
||||
'download' => 'Laster ned :module',
|
||||
'unzip' => 'Pakker ut filer til :module',
|
||||
'file_copy' => 'Kopierer filer til :module',
|
||||
'finish' => 'Ferdigstiller installasjon av :module',
|
||||
'redirect' => ':module installert. Du sendes videre til oppdateringsside',
|
||||
'install' => 'Installerer :module',
|
||||
],
|
||||
|
||||
'errors' => [
|
||||
'download' => ':module kan ikke lastes ned!',
|
||||
'upload' => 'Nedlastet :module kan ikke lagres!',
|
||||
'unzip' => ':module kan ikke pakkes ut!',
|
||||
'file_copy' => ':module filer kan ikke kopieres!',
|
||||
'migrate' => ':module migrasjon mislykket!',
|
||||
'migrate core' => ':module er allerede siste versjon, så du kan ikke oppdatere.',
|
||||
'download' => 'Ikke mulig å laste ned :module',
|
||||
'zip' => 'Ikke mulig å opprette zip-fil til :module',
|
||||
'unzip' => 'Ikke mulig å pakke ut :module',
|
||||
'file_copy' => 'Ikke mulig å kopiere filer til :module',
|
||||
'finish' => 'Ikke mulig å ferdigstille installasjon av :module',
|
||||
],
|
||||
|
||||
'badge' => [
|
||||
'installed' => 'Innstallert',
|
||||
'pre_sale' => 'Forhåndssalg',
|
||||
'installed' => 'Innstallert',
|
||||
'pre_sale' => 'Forhåndssalg',
|
||||
],
|
||||
|
||||
'button' => [
|
||||
@ -72,14 +69,16 @@ return [
|
||||
],
|
||||
|
||||
'my' => [
|
||||
'purchased' => 'Kjøpt',
|
||||
'installed' => 'Installert',
|
||||
'purchased' => 'Kjøpt',
|
||||
'installed' => 'Installert',
|
||||
],
|
||||
|
||||
'reviews' => [
|
||||
'button' => [
|
||||
'add' => 'Legg til anmeldelse'
|
||||
'add' => 'Legg til anmeldelse'
|
||||
],
|
||||
'na' => 'Det er ingen anmeldelser.'
|
||||
]
|
||||
|
||||
'na' => 'Det er ingen anmeldelser.'
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -2,8 +2,9 @@
|
||||
|
||||
return [
|
||||
|
||||
'previous' => '« Forrige',
|
||||
'next' => 'Neste »',
|
||||
'showing' => 'Viser :first til :last av :total :type',
|
||||
'previous' => 'Forrige',
|
||||
'next' => 'Neste',
|
||||
'showing' => ':first-:last av :total oppføringer.',
|
||||
'page' => 'per side.',
|
||||
|
||||
];
|
||||
|
@ -6,7 +6,7 @@ return [
|
||||
'reconciled' => 'Avstemt',
|
||||
'closing_balance' => 'Sluttbalanse',
|
||||
'unreconciled' => 'Uavstemt',
|
||||
'list_transactions' => 'Vis transaksjoner',
|
||||
'transactions' => 'Transaksjoner',
|
||||
'start_date' => 'Startdato',
|
||||
'end_date' => 'Sluttdato',
|
||||
'cleared_amount' => 'Klarert beløp',
|
||||
|
@ -12,6 +12,7 @@ return [
|
||||
'net_profit' => 'Nettoresultat',
|
||||
'total_expenses' => 'Totale utgifter',
|
||||
'net' => 'NET',
|
||||
'income_expense' => 'Inntekter og utgifter',
|
||||
|
||||
'summary' => [
|
||||
'income' => 'Inntektsammendrag',
|
||||
@ -20,11 +21,10 @@ return [
|
||||
'tax' => 'Avgiftsammendrag',
|
||||
],
|
||||
|
||||
'quarter' => [
|
||||
'1' => 'Jan.-Mars',
|
||||
'2' => 'April-Juni',
|
||||
'3' => 'Juli-Sep.',
|
||||
'4' => 'Okt.-Des.',
|
||||
'charts' => [
|
||||
'line' => 'Linje',
|
||||
'bar' => 'Kolonne',
|
||||
'pie' => 'Pai',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -3,14 +3,16 @@
|
||||
return [
|
||||
|
||||
'company' => [
|
||||
'description' => 'Endre bedriftsnavn, e-post, adresse, momsavgifter mm',
|
||||
'name' => 'Navn',
|
||||
'email' => 'E-post',
|
||||
'phone' => 'Telefon',
|
||||
'address' => 'Adresse',
|
||||
'logo' => 'Logo',
|
||||
],
|
||||
|
||||
'localisation' => [
|
||||
'tab' => 'Lokalisering',
|
||||
'description' => 'Sett regnskapsår, tidssone, datoformat og mer',
|
||||
'financial_start' => 'Start på regnskapsår',
|
||||
'timezone' => 'Tidssone',
|
||||
'date' => [
|
||||
@ -28,8 +30,9 @@ return [
|
||||
'after' => 'Etter nummer',
|
||||
],
|
||||
],
|
||||
|
||||
'invoice' => [
|
||||
'tab' => 'Faktura',
|
||||
'description' => 'Tilpass fakturaprefiks, nummer, vilkår, bunntekst mm',
|
||||
'prefix' => 'Nummerprefiks',
|
||||
'digit' => 'Antall siffer',
|
||||
'next' => 'Neste nummer',
|
||||
@ -44,16 +47,25 @@ return [
|
||||
'rate' => 'Sats',
|
||||
'quantity_name' => 'Kvantitetsnavn',
|
||||
'quantity' => 'Kvantitet',
|
||||
'payment_terms' => 'Betalingsvilkår',
|
||||
'title' => 'Tittel',
|
||||
'subheading' => 'Underoverskrift',
|
||||
'due_receipt' => 'Forfall ved mottak',
|
||||
'due_days' => 'Forfall innen :days dager',
|
||||
'choose_template' => 'Velg fakturamal',
|
||||
'default' => 'Standard',
|
||||
'classic' => 'Klassisk',
|
||||
'modern' => 'Moderne',
|
||||
],
|
||||
|
||||
'default' => [
|
||||
'tab' => 'Standardinnstilinger',
|
||||
'account' => 'Standard konto',
|
||||
'currency' => 'Standard valuta',
|
||||
'tax' => 'Standard avgiftssats',
|
||||
'payment' => 'Standard betalingsmåte',
|
||||
'language' => 'Standard språk',
|
||||
'description' => 'Standard konto, valuta, språk for ditt foretak',
|
||||
'list_limit' => 'Oppføringer per side',
|
||||
'use_gravatar' => 'Bruk Gravatar',
|
||||
],
|
||||
|
||||
'email' => [
|
||||
'description' => 'Endre sendingsprotokoll og e-postmaler',
|
||||
'protocol' => 'Protokoll',
|
||||
'php' => 'PHP Mail',
|
||||
'smtp' => [
|
||||
@ -68,36 +80,44 @@ return [
|
||||
'sendmail' => 'Sendmail',
|
||||
'sendmail_path' => 'Sti for Sendmail',
|
||||
'log' => 'Logg e-post',
|
||||
|
||||
'templates' => [
|
||||
'subject' => 'Emne',
|
||||
'body' => 'Hoveddel',
|
||||
'tags' => '<strong>Tilgjengelige tagger:</strong> :tag_list',
|
||||
'invoice_new_customer' => 'Ny fakturamal (sendt til kunde)',
|
||||
'invoice_remind_customer' => 'Fakturapåminnelsesmal (sendt til kunde)',
|
||||
'invoice_remind_admin' => 'Fakturapåminnelsesmal (sendt til admin)',
|
||||
'invoice_recur_customer' => 'Gjentagende fakturamal (sendt til kunde)',
|
||||
'invoice_recur_admin' => 'Gjentagende fakturamal (sendt til admin)',
|
||||
'invoice_payment_customer' => 'Mottatt betalingsmal (sendt til kunde)',
|
||||
'invoice_payment_admin' => 'Mottatt betalingsmal (sendt til admin)',
|
||||
'bill_remind_admin' => 'Fakturapåminnelsesmal (sendt til admin)',
|
||||
'bill_recur_admin' => 'Gjentagende fakturamal (sendt til admin)',
|
||||
],
|
||||
],
|
||||
|
||||
'scheduling' => [
|
||||
'tab' => 'Tidsplan',
|
||||
'name' => 'Tidsplan',
|
||||
'description' => 'Automatiske påminnelser og kommandoer for gjentakende aktiviteter',
|
||||
'send_invoice' => 'Send fakturapåminnelse',
|
||||
'invoice_days' => 'Antall dager etter forfall for utsending',
|
||||
'send_bill' => 'Send fakturapåminnelse',
|
||||
'bill_days' => 'Antall dager før forfall for utsending',
|
||||
'cron_command' => 'Cron-kommando',
|
||||
'schedule_time' => 'Tid for kjøring',
|
||||
'send_item_reminder'=> 'Send artikkelpåminnelse',
|
||||
'item_stocks' => 'Send en lagerpåminnelse',
|
||||
],
|
||||
'appearance' => [
|
||||
'tab' => 'Utseende',
|
||||
'theme' => 'Tema',
|
||||
'light' => 'Lys',
|
||||
'dark' => 'Mørk',
|
||||
'list_limit' => 'Oppføringer per side',
|
||||
'use_gravatar' => 'Bruk Gravatar',
|
||||
|
||||
'categories' => [
|
||||
'description' => 'Kategorier for inntekter, utgifter og artikler',
|
||||
],
|
||||
'system' => [
|
||||
'tab' => 'System',
|
||||
'session' => [
|
||||
'lifetime' => 'Øktlevetid (minutter)',
|
||||
'handler' => 'Øktbehandler',
|
||||
'file' => 'Fil',
|
||||
'database' => 'Database',
|
||||
],
|
||||
'file_size' => 'Maks fil størrelse (MB)',
|
||||
'file_types' => 'Tillatte filtyper',
|
||||
|
||||
'currencies' => [
|
||||
'description' => 'Opprette og behandle valuta',
|
||||
],
|
||||
|
||||
'taxes' => [
|
||||
'description' => 'Faste, normale, inklusive og forbundne avgifter',
|
||||
],
|
||||
|
||||
];
|
||||
|
@ -7,5 +7,5 @@ return [
|
||||
'normal' => 'Normal',
|
||||
'inclusive' => 'Inklusiv',
|
||||
'compound' => 'Tillegg',
|
||||
|
||||
'fixed' => 'Fastsatt',
|
||||
];
|
||||
|
@ -33,15 +33,16 @@ return [
|
||||
'confirmed' => 'Bekreftelsen for :attribute samsvarer ikke.',
|
||||
'date' => ':attribute er ikke en gyldig dato.',
|
||||
'date_format' => ':attribute samsvarer ikke med formatet :format.',
|
||||
'different' => ':attribute og :other må være forskjellige.',
|
||||
'different' => ':attribute og :other må være forskellige.',
|
||||
'digits' => ':attribute må inneholde :digits sifre.',
|
||||
'digits_between' => ':attribute må inneholde mellom :min og :max sifre.',
|
||||
'dimensions' => ':attribute har feil bildedimensjoner.',
|
||||
'distinct' => ':attribute feltet har en duplisert verdi.',
|
||||
'email' => ':attribute må være en gyldig e-postadresse.',
|
||||
'ends_with' => ':attribute må slutte på en av de følgende: :values',
|
||||
'exists' => 'Det valgte :attribute er ugyldig.',
|
||||
'file' => ':attribute må være en fil.',
|
||||
'filled' => 'Feltet for :attribute må fylles ut.',
|
||||
'filled' => ':attribute må fylles ut.',
|
||||
'image' => ':attribute må være et bilde.',
|
||||
'in' => 'Valgt :attribute er ugyldig.',
|
||||
'in_array' => ':attribute felt eksisterer ikke i :other.',
|
||||
@ -64,9 +65,9 @@ return [
|
||||
],
|
||||
'not_in' => 'Valgt :attribute er ugyldig.',
|
||||
'numeric' => ':attribute må være et nummer.',
|
||||
'present' => 'Feltet :attribute må være tilstede.',
|
||||
'present' => ':attribute må eksistere.',
|
||||
'regex' => 'Formatet på :attribute er ugyldig.',
|
||||
'required' => 'Feltet :attribute må fylles ut.',
|
||||
'required' => ':attribute må fylles ut.',
|
||||
'required_if' => 'Feltet :attribute må fylles ut når :other er :value.',
|
||||
'required_unless' => 'Feltet :attribute er påkrevd med mindre :other finnes blant verdiene :values.',
|
||||
'required_with' => 'Feltet :attribute må fylles ut når :values er utfylt.',
|
||||
@ -77,13 +78,13 @@ return [
|
||||
'size' => [
|
||||
'numeric' => ':attribute må være :size.',
|
||||
'file' => ':attribute må være :size kilobytes.',
|
||||
'string' => ':attribute må inneholde :size tegn.',
|
||||
'string' => ':attribute må være :size tegn lang.',
|
||||
'array' => ':attribute må inneholde :size elementer.',
|
||||
],
|
||||
'string' => ':attribute må være en tekststreng.',
|
||||
'timezone' => ':attribute må være en gyldig sone.',
|
||||
'unique' => ':attribute er allerede i bruk.',
|
||||
'uploaded' => ':attribute feilet under opplastingen.',
|
||||
'uploaded' => ':attribute kunne ikke lastes opp.',
|
||||
'url' => 'Formatet på :attribute er ugyldig.',
|
||||
|
||||
/*
|
||||
|
@ -2,23 +2,22 @@
|
||||
|
||||
return [
|
||||
|
||||
'total_incomes' => 'Totale inntekter',
|
||||
'total_income' => 'Total inntekt',
|
||||
'receivables' => 'Fordringer',
|
||||
'open_invoices' => 'Ubetalte fakturaer',
|
||||
'overdue_invoices' => 'Forfalte fakturaer',
|
||||
'total_expenses' => 'Totale utgifter',
|
||||
'payables' => 'Leverandørgjeld',
|
||||
'open_bills' => 'Ubetalte faktura',
|
||||
'overdue_bills' => 'Forfalte faktura',
|
||||
'total_profit' => 'Samlet fortjeneste',
|
||||
'open_profit' => 'Åpen fortjeneste',
|
||||
'payables' => 'Fordringer',
|
||||
'open_bills' => 'Ubetalte fakturaer',
|
||||
'overdue_bills' => 'Forfalte fakturaer',
|
||||
'total_profit' => 'Total fortjeneste',
|
||||
'open_profit' => 'Ubetalt fortjeneste',
|
||||
'overdue_profit' => 'Forfalt fortjeneste',
|
||||
'cash_flow' => 'Kontantstrøm',
|
||||
'no_profit_loss' => 'Ingen fortjenestetap',
|
||||
'incomes_by_category' => 'Inntekter etter kategori',
|
||||
'no_profit_loss' => 'Ingen fortjenestestap',
|
||||
'income_by_category' => 'Inntekt etter kategori',
|
||||
'expenses_by_category' => 'Utgifter etter kategori',
|
||||
'account_balance' => 'Kontobalanse',
|
||||
'latest_incomes' => 'Siste inntekter',
|
||||
'latest_income' => 'Siste inntekter',
|
||||
'latest_expenses' => 'Siste utgifter',
|
||||
|
||||
];
|
@ -39,7 +39,7 @@ return [
|
||||
|
||||
'bill_remind_admin' => [
|
||||
'subject' => '{bill_number} gider faturası için ödeme hatırlatması',
|
||||
'body' => 'Merhaba,<br /><br /><strong>{vendor_name} tedarikçinize {bill_number}</strong> numaralı gider faturası için ödeme hatırlatmasıdır.<br /><br />Faturanın tutarı {bill_total} ve son ödemesi <strong>{bill_due_date}</strong> tarhinde yapılması gerekir.<br /><br />Aşağıdaki bağlantıdan faturanın detaylarına ulaşabilirsiniz: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br />Kolay gelsin,<br />{company_name}',
|
||||
'body' => 'Merhaba,<br /><br /><strong>{vendor_name}</strong> tedarikçinize <strong>{bill_number}</strong> numaralı gider faturası için ödeme hatırlatmasıdır.<br /><br />Faturanın tutarı {bill_total} ve son ödemesi <strong>{bill_due_date}</strong> tarhinde yapılması gerekir.<br /><br />Aşağıdaki bağlantıdan faturanın detaylarına ulaşabilirsiniz: <a href="{bill_admin_link}">{bill_number}</a>.<br /><br />Kolay gelsin,<br />{company_name}',
|
||||
],
|
||||
|
||||
'bill_recur_admin' => [
|
||||
|
@ -7,6 +7,7 @@
|
||||
@section('content')
|
||||
<div role="alert" class="alert alert-success d-none" :class="(form.response.success) ? 'show' : ''" v-if="form.response.success" v-html="form.response.message"></div>
|
||||
<div role="alert" class="alert alert-danger d-none" :class="(form.response.error) ? 'show' : ''" v-if="form.response.error" v-html="form.response.message"></div>
|
||||
|
||||
{!! Form::open([
|
||||
'route' => 'forgot',
|
||||
'id' => 'forgot',
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
@section('content')
|
||||
<div role="alert" class="alert alert-danger d-none" :class="(form.response.error) ? 'show' : ''" v-if="form.response.error" v-html="form.response.message"></div>
|
||||
|
||||
{!! Form::open([
|
||||
'route' => 'login',
|
||||
'id' => 'login',
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
@section('title', trans_choice('general.permissions', 2))
|
||||
|
||||
@permission('update-auth-permissions')
|
||||
@permission('create-auth-permissions')
|
||||
@section('new_button')
|
||||
<a href="{{ route('permissions.create') }}" class="btn btn-success btn-sm header-button-top"><span class="fa fa-plus"></span> {{ trans('general.add_new') }}</a>
|
||||
@endsection
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
{{ Form::textGroup('number', trans('accounts.number'), 'pencil-alt') }}
|
||||
|
||||
{{ Form::selectAddNewGroup('currency_code', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, setting('default.currency'), ['required' => 'required', 'path' => route('modals.currencies.create'), 'change' => 'onChangeCurrency']) }}
|
||||
{{ Form::selectAddNewGroup('currency_code', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, setting('default.currency'), ['required' => 'required', 'path' => route('modals.currencies.create'), 'field' => ['key' => 'code', 'value' => 'name'], 'change' => 'onChangeCurrency']) }}
|
||||
|
||||
{{ Form::moneyGroup('opening_balance', trans('accounts.opening_balance'), 'balance-scale', ['required' => 'required', 'currency' => $currency], 0) }}
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
{{ Form::textGroup('number', trans('accounts.number'), 'pencil-alt') }}
|
||||
|
||||
{{ Form::selectAddNewGroup('currency_code', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, $account->currency_code, ['required' => 'required', 'path' => route('modals.currencies.create'), 'change' => 'onChangeCurrency']) }}
|
||||
{{ Form::selectAddNewGroup('currency_code', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, $account->currency_code, ['required' => 'required', 'path' => route('modals.currencies.create'), 'field' => ['key' => 'code', 'value' => 'name'], 'change' => 'onChangeCurrency']) }}
|
||||
|
||||
{{ Form::moneyGroup('opening_balance', trans('accounts.opening_balance'), 'balance-scale', ['required' => 'required', 'currency' => $currency], $account->opening_balance) }}
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
{{ Form::moneyGroup('closing_balance', trans('reconciliations.closing_balance'), 'balance-scale', ['required' => 'required', 'autofocus' => 'autofocus', 'currency' => $currency], request('closing_balance', 0.00), 'col-xl-2') }}
|
||||
|
||||
{{ Form::selectGroup('account_id', trans_choice('general.accounts', 1), 'university', $accounts, request('account_id', setting('default.account')), ['required' => 'required', 'change' => 'onChangeAccount'], 'col-xl-2') }}
|
||||
{{ Form::selectAddNewGroup('account_id', trans_choice('general.accounts', 1), 'university', $accounts, request('account_id', setting('default.account')), ['required' => 'required', 'path' => route('modals.accounts.create'), 'change' => 'onChangeAccount'], 'col-xl-2') }}
|
||||
|
||||
<div class="col-xl-2">
|
||||
{!! Form::button('<span class="fa fa-list"></span> ' . trans('reconciliations.transactions'), ['type' => 'button', '@click' => 'onReconcilition', 'class' => 'btn btn-success header-button-top']) !!}
|
||||
|
@ -19,7 +19,7 @@
|
||||
<div class="row">
|
||||
{{ Form::textGroup('name', trans('general.name'), 'tag') }}
|
||||
|
||||
{{ Form::selectAddNewGroup('tax_id', trans_choice('general.taxes', 1), 'percentage', $taxes, setting('default.tax'), ['path' => route('modals.taxes.create')]) }}
|
||||
{{ Form::selectAddNewGroup('tax_id', trans_choice('general.taxes', 1), 'percentage', $taxes, setting('default.tax'), ['path' => route('modals.taxes.create'), 'field' => ['key' => 'id', 'value' => 'title']]) }}
|
||||
|
||||
{{ Form::textareaGroup('description', trans('general.description')) }}
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
<div class="row">
|
||||
{{ Form::textGroup('name', trans('general.name'), 'tag') }}
|
||||
|
||||
{{ Form::selectAddNewGroup('tax_id', trans_choice('general.taxes', 1), 'percentage', $taxes, $item->tax_id, ['path' => route('modals.taxes.create')]) }}
|
||||
{{ Form::selectAddNewGroup('tax_id', trans_choice('general.taxes', 1), 'percentage', $taxes, $item->tax_id, ['path' => route('modals.taxes.create'), 'field' => ['key' => 'id', 'value' => 'title']]) }}
|
||||
|
||||
{{ Form::textareaGroup('description', trans('general.description')) }}
|
||||
|
||||
|
21
resources/views/modals/accounts/create.blade.php
Normal file
21
resources/views/modals/accounts/create.blade.php
Normal file
@ -0,0 +1,21 @@
|
||||
{!! Form::open([
|
||||
'id' => 'form-create-account',
|
||||
'@submit.prevent' => 'onSubmit',
|
||||
'@keydown' => 'form.errors.clear($event.target.name)',
|
||||
'role' => 'form',
|
||||
'class' => 'form-loading-button',
|
||||
'route' => 'accounts.store',
|
||||
'novalidate' => true
|
||||
]) !!}
|
||||
<div class="row">
|
||||
{{ Form::textGroup('name', trans('general.name'), 'font') }}
|
||||
|
||||
{{ Form::textGroup('number', trans('accounts.number'), 'pencil-alt') }}
|
||||
|
||||
{{ Form::selectGroup('currency_code', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, setting('default.currency'), ['required' => 'required', 'change' => 'onChangeCurrency']) }}
|
||||
|
||||
{{ Form::moneyGroup('opening_balance', trans('accounts.opening_balance'), 'balance-scale', ['required' => 'required', 'currency' => $currency], 0.00) }}
|
||||
|
||||
{!! Form::hidden('enabled', '1', []) !!}
|
||||
</div>
|
||||
{!! Form::close() !!}
|
@ -14,7 +14,8 @@
|
||||
|
||||
{{ Form::textGroup('rate', trans('currencies.rate'), 'sliders-h', ['@input' => 'onChangeRate', 'required' => 'required']) }}
|
||||
|
||||
{!! Form::hidden('enabled', '1', []) !!}
|
||||
{!! Form::hidden('default_currency', 'false', []) !!}
|
||||
{!! Form::hidden('enabled', 1) !!}
|
||||
{!! Form::hidden('symbol_first', 1) !!}
|
||||
{!! Form::hidden('default_currency', 0) !!}
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
@ -10,7 +10,7 @@
|
||||
<div class="row">
|
||||
{{ Form::textGroup('name', trans('general.name'), 'tag') }}
|
||||
|
||||
{{ Form::selectAddNewGroup('tax_id', trans_choice('general.taxes', 1), 'percentage', $taxes, setting('default.tax'), ['path' => route('modals.taxes.create')]) }}
|
||||
{{ Form::selectGroup('tax_id', trans_choice('general.taxes', 1), 'percentage', $taxes, setting('default.tax'), []) }}
|
||||
|
||||
{{ Form::textareaGroup('description', trans('general.description')) }}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
{{ Form::textGroup('purchase_price', trans('items.purchase_price'), 'money-bill-wave-alt') }}
|
||||
|
||||
{{ Form::selectAddNewGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, null, ['required' => 'required', 'path' => route('modals.categories.create') . '?type=item']) }}
|
||||
{{ Form::selectGroup('category_id', trans_choice('general.categories', 1), 'folder', $categories, null) }}
|
||||
|
||||
{!! Form::hidden('enabled', '1', []) !!}
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
'@submit.prevent' => 'onSubmit',
|
||||
'@keydown' => 'form.errors.clear($event.target.name)',
|
||||
'role' => 'form',
|
||||
'class' => 'form-loading-button m--3',
|
||||
'class' => 'form-loading-button',
|
||||
'route' => 'taxes.store',
|
||||
'novalidate' => true
|
||||
]) !!}
|
||||
@ -12,8 +12,7 @@
|
||||
|
||||
{{ Form::textGroup('rate', trans('taxes.rate'), 'percent') }}
|
||||
|
||||
{{ Form::selectGroup('type', trans_choice('general.types', 1), 'bars', $types, 'normal') }}
|
||||
|
||||
{!! Form::hidden('enabled', '1', []) !!}
|
||||
{!! Form::hidden('type', 'normal') !!}
|
||||
{!! Form::hidden('enabled', '1') !!}
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
{{ Form::textGroup('tax_number', trans('general.tax_number'), 'percent', []) }}
|
||||
|
||||
{{ Form::selectGroup('currency_code', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, setting('default.currency'), ['required' => 'required', 'model' => setting('default.currency')]) }}
|
||||
{{ Form::selectGroup('currency_code', trans_choice('general.currencies', 1), 'exchange-alt', $currencies, setting('default.currency')) }}
|
||||
|
||||
{{ Form::textareaGroup('address', trans('general.address')) }}
|
||||
|
||||
|
@ -10,57 +10,61 @@
|
||||
@section('content')
|
||||
@include('partials.modules.bar')
|
||||
|
||||
@if ($pre_sale)
|
||||
<h2>{{ trans('modules.pre_sale') }}</h2>
|
||||
<div class="row">
|
||||
@if ($pre_sale->data)
|
||||
@foreach ($pre_sale->data as $module)
|
||||
@include('partials.modules.pre_sale')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
@if ($pre_sale)
|
||||
<h2>{{ trans('modules.pre_sale') }}</h2>
|
||||
|
||||
@if ($paid)
|
||||
<h2>{{ trans('modules.top_paid') }}</h2>
|
||||
<div class="row">
|
||||
@if ($paid->data)
|
||||
@foreach ($paid->data as $module)
|
||||
@include('partials.modules.item')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
@if ($pre_sale->data)
|
||||
@foreach ($pre_sale->data as $module)
|
||||
@include('partials.modules.pre_sale')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($new)
|
||||
<h2>{{ trans('modules.new') }}</h2>
|
||||
<div class="row">
|
||||
@if ($new->data)
|
||||
@foreach ($new->data as $module)
|
||||
@include('partials.modules.item')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
@if ($paid)
|
||||
<h2>{{ trans('modules.top_paid') }}</h2>
|
||||
|
||||
@if ($free)
|
||||
<h2>{{ trans('modules.top_free') }}</h2>
|
||||
<div class="row">
|
||||
@if ($free->data)
|
||||
@foreach ($free->data as $module)
|
||||
@include('partials.modules.item')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
@if ($paid->data)
|
||||
@foreach ($paid->data as $module)
|
||||
@include('partials.modules.item')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($new)
|
||||
<h2>{{ trans('modules.new') }}</h2>
|
||||
|
||||
<div class="row">
|
||||
@if ($new->data)
|
||||
@foreach ($new->data as $module)
|
||||
@include('partials.modules.item')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($free)
|
||||
<h2>{{ trans('modules.top_free') }}</h2>
|
||||
|
||||
<div class="row">
|
||||
@if ($free->data)
|
||||
@foreach ($free->data as $module)
|
||||
@include('partials.modules.item')
|
||||
@endforeach
|
||||
@else
|
||||
@include('partials.modules.no_apps')
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
|
@ -13,6 +13,7 @@
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h3>{{ $module->name }}</h3>
|
||||
|
||||
<div class="nav-wrapper">
|
||||
<ul class="nav nav-pills nav-fill flex-column flex-md-row" id="tabs-icons-text" role="tablist">
|
||||
<li class="nav-item">
|
||||
@ -49,6 +50,7 @@
|
||||
|
||||
<div class="col-md-4">
|
||||
<h3>{{ trans_choice('general.actions', 1) }}</h3>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div id="countdown-pre-sale"></div>
|
||||
@ -94,8 +96,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<h3>{{ trans('modules.about') }}</h3>
|
||||
|
||||
<div class="card">
|
||||
<table class="table">
|
||||
<tbody>
|
||||
|
@ -257,7 +257,7 @@
|
||||
|
||||
@if ($module->install)
|
||||
<akaunting-modal :show="installation.show"
|
||||
:title="'{{ trans('modules.installation.header') }}'"
|
||||
title="{{ trans('modules.installation.header') }}"
|
||||
@cancel="installation.show = false">
|
||||
<template #modal-body>
|
||||
<div class="modal-body">
|
||||
|
@ -11,6 +11,7 @@
|
||||
@include('partials.modules.bar')
|
||||
|
||||
<h2>{{ trans('modules.my.purchased') }}</h2>
|
||||
|
||||
<div class="row">
|
||||
@if ($purchased)
|
||||
@foreach ($purchased as $module)
|
||||
@ -24,6 +25,7 @@
|
||||
</div>
|
||||
|
||||
<h2>{{ trans('modules.my.installed') }}</h2>
|
||||
|
||||
<div class="row">
|
||||
@if ($modules)
|
||||
@foreach ($modules as $module)
|
||||
|
@ -10,38 +10,37 @@
|
||||
@section('content')
|
||||
@include('partials.modules.bar')
|
||||
|
||||
<h2>{{ $title }}</h2>
|
||||
<div class="row">
|
||||
@if ($modules)
|
||||
@foreach ($modules->data as $module)
|
||||
@if ($module->status_type == 'pre_sale')
|
||||
@include('partials.modules.pre_sale')
|
||||
@else
|
||||
@include('partials.modules.item')
|
||||
@endif
|
||||
@endforeach
|
||||
<h2>{{ $title }}</h2>
|
||||
|
||||
<div class="col-md-6 text-left">
|
||||
@if ($modules->current_page > 1)
|
||||
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page - 1 }}" class="btn btn-white btn-sm button-header-top"><span class="fas fa-arrow-left"></span> {!! trans('pagination.previous') !!}</a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="row">
|
||||
@if ($modules)
|
||||
@foreach ($modules->data as $module)
|
||||
@if ($module->status_type == 'pre_sale')
|
||||
@include('partials.modules.pre_sale')
|
||||
@else
|
||||
@include('partials.modules.item')
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<div class="col-md-6 text-right">
|
||||
@if ($modules->current_page < $modules->last_page)
|
||||
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page + 1 }}" class="btn btn-white btn-sm button-header-top">{!! trans('pagination.next') !!} <span class="fas fa-arrow-right"></span> </a>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-6 text-left">
|
||||
@if ($modules->current_page > 1)
|
||||
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page - 1 }}" class="btn btn-white btn-sm button-header-top"><span class="fas fa-arrow-left"></span> {!! trans('pagination.previous') !!}</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@else
|
||||
<div class="col-md-12">
|
||||
@include('partials.modules.no_apps')
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
<div class="col-md-6 text-right">
|
||||
@if ($modules->current_page < $modules->last_page)
|
||||
<a href="{{ url(request()->path()) }}?page={{ $modules->current_page + 1 }}" class="btn btn-white btn-sm button-header-top">{!! trans('pagination.next') !!} <span class="fas fa-arrow-right"></span> </a>
|
||||
@endif
|
||||
</div>
|
||||
@else
|
||||
<div class="col-md-12">
|
||||
@include('partials.modules.no_apps')
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts_start')
|
||||
<script src="{{ asset('public/js/modules/apps.js?v=' . version('short')) }}"></script>
|
||||
@endpush
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
@stack('menu_start')
|
||||
<nav class="sidenav navbar navbar-vertical fixed-left navbar-expand-xs navbar-light bg-default" id="sidenav-main">
|
||||
<nav class="sidenav navbar navbar-vertical fixed-left navbar-expand-sm navbar-light bg-default" id="sidenav-main">
|
||||
<div class="scrollbar-inner">
|
||||
<div class="sidenav-header d-flex align-items-center ml-4">
|
||||
<ul class="navbar-nav">
|
||||
|
@ -15,11 +15,6 @@
|
||||
|
||||
<!-- Argon -->
|
||||
<script type="text/javascript">
|
||||
|
||||
if(window.screen.width<576) {
|
||||
resolution = document.getElementById("leftMenu").classList.remove("g-sidenav-pinned");
|
||||
}
|
||||
|
||||
'use strict';
|
||||
|
||||
var Layout = (function() {
|
||||
|
@ -82,7 +82,7 @@
|
||||
|
||||
<akaunting-modal
|
||||
:show="bulk_action.modal"
|
||||
:title="'{{ trans_choice('general.items', 2) }}'"
|
||||
:title="'{{ trans_choice($text, 2) }}'"
|
||||
:message="bulk_action.message"
|
||||
@cancel="onCancel"
|
||||
v-if='bulk_action.message && bulk_action.modal'>
|
||||
|
@ -16,7 +16,7 @@
|
||||
@endif
|
||||
|
||||
@if (isset($attributes['disabled']))
|
||||
:disabled="'{{ $attributes['disabled'] }}'"
|
||||
:disabled="{{ $attributes['disabled'] }}"
|
||||
@endif
|
||||
|
||||
@if (isset($attributes['masked']))
|
||||
|
@ -30,7 +30,11 @@
|
||||
'text' => trans('general.add_new'),
|
||||
'path' => isset($attributes['path']) ? $attributes['path']: false,
|
||||
'type' => isset($attributes['type']) ? $attributes['type'] : 'modal',
|
||||
'field' => isset($attributes['field']) ? $attributes['field'] : 'name',
|
||||
'field' => [
|
||||
'key' => isset($attributes['field']['key']) ? $attributes['field']['key'] : 'id',
|
||||
'value' => isset($attributes['field']['value']) ? $attributes['field']['value'] : 'name'
|
||||
],
|
||||
'new_text' => trans('modules.new'),
|
||||
'buttons' => [
|
||||
'cancel' => [
|
||||
'text' => trans('general.cancel'),
|
||||
|
@ -6,7 +6,7 @@
|
||||
@if (!empty($attributes['v-error']))
|
||||
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
|
||||
@else
|
||||
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
|
||||
:form-classes="[{'has-error': form.errors.has('{{ $name }}') }]"
|
||||
@endif
|
||||
|
||||
icon="{{ $icon }}"
|
||||
@ -28,7 +28,11 @@
|
||||
'text' => trans('general.add_new'),
|
||||
'path' => isset($attributes['path']) ? $attributes['path']: false,
|
||||
'type' => isset($attributes['type']) ? $attributes['type'] : 'modal',
|
||||
'field' => isset($attributes['field']) ? $attributes['field'] : 'name',
|
||||
'field' => [
|
||||
'key' => isset($attributes['field']['key']) ? $attributes['field']['key'] : 'id',
|
||||
'value' => isset($attributes['field']['value']) ? $attributes['field']['value'] : 'name'
|
||||
],
|
||||
'new_text' => trans('modules.new'),
|
||||
'buttons' => [
|
||||
'cancel' => [
|
||||
'text' => trans('general.cancel'),
|
||||
@ -46,7 +50,7 @@
|
||||
@elseif (!empty($attributes['data-field']))
|
||||
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
|
||||
@else
|
||||
@interface="form.{{ $name }} = $event"
|
||||
@interface="form.{{ $name }} = $event; form.errors.clear('{{ $name }}');"
|
||||
@endif
|
||||
|
||||
@if (!empty($attributes['change']))
|
||||
|
@ -6,7 +6,7 @@
|
||||
@if (!empty($attributes['v-error']))
|
||||
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
|
||||
@else
|
||||
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
|
||||
:form-classes="[{'has-error': form.errors.has('{{ $name }}') }]"
|
||||
@endif
|
||||
|
||||
icon="{{ $icon }}"
|
||||
@ -28,7 +28,7 @@
|
||||
@elseif (!empty($attributes['data-field']))
|
||||
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
|
||||
@else
|
||||
@interface="form.{{ $name }} = $event"
|
||||
@interface="form.errors.clear('{{ $name }}'); form.{{ $name }} = $event;"
|
||||
@endif
|
||||
|
||||
@if (!empty($attributes['change']))
|
||||
|
@ -6,7 +6,7 @@
|
||||
@if (!empty($attributes['v-error']))
|
||||
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
|
||||
@else
|
||||
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
|
||||
:form-classes="[{'has-error': form.errors.has('{{ $name }}') }]"
|
||||
@endif
|
||||
|
||||
icon="{{ $icon }}"
|
||||
@ -28,7 +28,11 @@
|
||||
'text' => trans('general.add_new'),
|
||||
'path' => isset($attributes['path']) ? $attributes['path']: false,
|
||||
'type' => isset($attributes['type']) ? $attributes['type'] : 'modal',
|
||||
'field' => isset($attributes['field']) ? $attributes['field'] : 'name',
|
||||
'field' => [
|
||||
'key' => isset($attributes['field']['key']) ? $attributes['field']['key'] : 'id',
|
||||
'value' => isset($attributes['field']['value']) ? $attributes['field']['value'] : 'name'
|
||||
],
|
||||
'new_text' => trans('modules.new'),
|
||||
'buttons' => [
|
||||
'cancel' => [
|
||||
'text' => trans('general.cancel'),
|
||||
@ -48,7 +52,7 @@
|
||||
@elseif (!empty($attributes['data-field']))
|
||||
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
|
||||
@else
|
||||
@interface="form.{{ $name }} = $event"
|
||||
@interface="form.{{ $name }} = $event; form.errors.clear('{{ $name }}');"
|
||||
@endif
|
||||
|
||||
@if (!empty($attributes['change']))
|
||||
|
@ -7,7 +7,7 @@
|
||||
{!! Form::label($name, $text, ['class' => 'form-control-label'])!!}
|
||||
@endif
|
||||
|
||||
<html-editor
|
||||
<akaunting-html-editor
|
||||
name="{{ $name }}"
|
||||
|
||||
@if (!empty($attributes['v-model']))
|
||||
@ -29,7 +29,7 @@
|
||||
@if (isset($attributes['disabled']))
|
||||
:disabled="'{{ $attributes['disabled'] }}'"
|
||||
@endif
|
||||
></html-editor>
|
||||
></akaunting-html-editor>
|
||||
|
||||
<div class="invalid-feedback d-block"
|
||||
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has("' . $name . '")' }}"
|
||||
|
@ -1,5 +1,5 @@
|
||||
@stack('menu_start')
|
||||
<nav class="sidenav navbar navbar-vertical fixed-left navbar-expand-xs navbar-light bg-default" id="sidenav-main">
|
||||
<nav class="sidenav navbar navbar-vertical fixed-left navbar-expand-sm navbar-light bg-default" id="sidenav-main">
|
||||
<div class="scrollbar-inner">
|
||||
<div class="sidenav-header d-flex align-items-center ml-4">
|
||||
<ul class="navbar-nav">
|
||||
|
@ -16,11 +16,6 @@
|
||||
<!-- Argon -->
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
if(window.screen.width<576) {
|
||||
resolution = document.getElementById("leftMenu").classList.remove("g-sidenav-pinned");
|
||||
}
|
||||
|
||||
'use strict';
|
||||
|
||||
var Layout = (function() {
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div class="table-responsive overflow-auto">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-items-center rp-border-collapse">
|
||||
@include($class->views['table.header'])
|
||||
<tbody>
|
||||
|
@ -1,11 +1,11 @@
|
||||
<tfoot>
|
||||
<tr class="rp-border-top-1">
|
||||
<th class="report-column text-left text-uppercase">{{ trans_choice('general.totals', 1) }}</th>
|
||||
<tr class="row rp-border-top-1 font-size-unset px-3">
|
||||
<th class="{{ $class->column_name_width }} text-uppercase">{{ trans_choice('general.totals', 1) }}</th>
|
||||
@php $grand_total = 0; @endphp
|
||||
@foreach($class->footer_totals[$table] as $total)
|
||||
@php $grand_total += $total; @endphp
|
||||
<th class="report-column text-right px-0">@money($total, setting('default.currency'), true)</th>
|
||||
<th class="{{ $class->column_value_width }} text-right px-0">@money($total, setting('default.currency'), true)</th>
|
||||
@endforeach
|
||||
<th class="report-column text-right">@money($grand_total, setting('default.currency'), true)</th>
|
||||
<th class="{{ $class->column_name_width }} text-right pl-0 pr-4">@money($grand_total, setting('default.currency'), true)</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user