mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 12:11:08 -04:00
fix conflict
This commit is contained in:
@ -55,13 +55,30 @@ class EnvironmentController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function saveMailEnvironment(MailEnvironmentRequest $request)
|
public function saveMailEnvironment(MailEnvironmentRequest $request)
|
||||||
{
|
{
|
||||||
|
$setting = Setting::getSetting('profile_complete');
|
||||||
$results = $this->EnvironmentManager->saveMailVariables($request);
|
$results = $this->EnvironmentManager->saveMailVariables($request);
|
||||||
|
|
||||||
Setting::setSetting('profile_complete', 4);
|
if ($setting !== 'COMPLETED')
|
||||||
|
{
|
||||||
|
Setting::setSetting('profile_complete', 4);
|
||||||
|
}
|
||||||
|
|
||||||
return response()->json($results);
|
return response()->json($results);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getMailEnvironment()
|
||||||
|
{
|
||||||
|
$MailData = [
|
||||||
|
'mail_driver' => config('mail.driver'),
|
||||||
|
'mail_host' => config('mail.host'),
|
||||||
|
'mail_port' => config('mail.port'),
|
||||||
|
'mail_username' => config('mail.username'),
|
||||||
|
'mail_password' => config('mail.password'),
|
||||||
|
'mail_encryption' => config('mail.encryption')
|
||||||
|
];
|
||||||
|
|
||||||
|
return response()->json($MailData);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<input
|
<input
|
||||||
ref="baseInput"
|
ref="baseInput"
|
||||||
v-model="inputValue"
|
v-model="inputValue"
|
||||||
:type="type"
|
:type="toggleType"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:readonly="readOnly"
|
:readonly="readOnly"
|
||||||
:name="name"
|
:name="name"
|
||||||
@ -19,6 +19,9 @@
|
|||||||
@keydown="handleKeyDownEnter"
|
@keydown="handleKeyDownEnter"
|
||||||
@blur="handleFocusOut"
|
@blur="handleFocusOut"
|
||||||
>
|
>
|
||||||
|
<div v-if="showPassword && isAlignLeftIcon" style="cursor: pointer" @click="showPass = !showPass" >
|
||||||
|
<font-awesome-icon :icon="!showPass ?'eye-slash': 'eye'" class="right-icon" />
|
||||||
|
</div>
|
||||||
<font-awesome-icon v-if="icon && !isAlignLeftIcon" :icon="icon" class="right-icon" />
|
<font-awesome-icon v-if="icon && !isAlignLeftIcon" :icon="icon" class="right-icon" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -77,12 +80,17 @@ export default {
|
|||||||
autocomplete: {
|
autocomplete: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'on'
|
default: 'on'
|
||||||
|
},
|
||||||
|
showPassword: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
inputValue: this.value,
|
inputValue: this.value,
|
||||||
focus: false
|
focus: false,
|
||||||
|
showPass: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -94,6 +102,12 @@ export default {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
},
|
||||||
|
toggleType () {
|
||||||
|
if (this.showPass) {
|
||||||
|
return 'text'
|
||||||
|
}
|
||||||
|
return this.type
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<form action="" @submit.prevent="submitCategoryData">
|
<form action="" @submit.prevent="submitCategoryData">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('expenses.category') }}<span class="required text-danger">*</span></label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('expenses.category') }}<span class="required text-danger">*</span></label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
ref="name"
|
ref="name"
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
<tab id="basic-home" :name="$t('customers.basic_info')">
|
<tab id="basic-home" :name="$t('customers.basic_info')">
|
||||||
<div class="basic-info">
|
<div class="basic-info">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.display_name') }} <span class="required">*</span></label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.display_name') }} <span class="required">*</span></label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
ref="name"
|
ref="name"
|
||||||
@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.primary_display_name') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.primary_display_name') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
v-model="formData.contact_name"
|
v-model="formData.contact_name"
|
||||||
@ -34,7 +34,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('login.email') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('login.email') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
:invalid="$v.formData.email.$error"
|
:invalid="$v.formData.email.$error"
|
||||||
@ -49,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $tc('settings.currencies.currency') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $tc('settings.currencies.currency') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="currency"
|
v-model="currency"
|
||||||
@ -64,7 +64,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.phone') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.phone') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
:invalid="$v.formData.phone.$error"
|
:invalid="$v.formData.phone.$error"
|
||||||
@ -79,7 +79,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.website') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.website') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
v-model="formData.website"
|
v-model="formData.website"
|
||||||
@ -100,7 +100,7 @@
|
|||||||
<tab id="basic-profile" :name="$t('customers.billing_address')">
|
<tab id="basic-profile" :name="$t('customers.billing_address')">
|
||||||
<div class="basic-info">
|
<div class="basic-info">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.name') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.name') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
v-model="billing.name"
|
v-model="billing.name"
|
||||||
@ -110,7 +110,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.phone') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.phone') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
:invalid="$v.billing.phone.$error"
|
:invalid="$v.billing.phone.$error"
|
||||||
@ -126,7 +126,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.address') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.address') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-text-area
|
<base-text-area
|
||||||
v-model="billing.address_street_1"
|
v-model="billing.address_street_1"
|
||||||
@ -155,7 +155,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.country') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.country') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="billingCountry"
|
v-model="billingCountry"
|
||||||
@ -171,7 +171,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.state') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.state') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="billingState"
|
v-model="billingState"
|
||||||
@ -187,7 +187,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.city') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.city') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="billingCity"
|
v-model="billingCity"
|
||||||
@ -213,7 +213,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.zip_code') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.zip_code') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
v-model="billing.zip"
|
v-model="billing.zip"
|
||||||
@ -236,7 +236,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.name') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.name') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
v-model="shipping.name"
|
v-model="shipping.name"
|
||||||
@ -246,7 +246,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.phone') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.phone') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
:invalid="$v.shipping.phone.$error"
|
:invalid="$v.shipping.phone.$error"
|
||||||
@ -262,7 +262,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.address') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.address') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-text-area
|
<base-text-area
|
||||||
v-model="shipping.address_street_1"
|
v-model="shipping.address_street_1"
|
||||||
@ -291,7 +291,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.country') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.country') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="shippingCountry"
|
v-model="shippingCountry"
|
||||||
@ -307,7 +307,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.state') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.state') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="shippingState"
|
v-model="shippingState"
|
||||||
@ -323,7 +323,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.city') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.city') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="shippingCity"
|
v-model="shippingCity"
|
||||||
@ -339,7 +339,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('customers.zip_code') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('customers.zip_code') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-input
|
<base-input
|
||||||
v-model="shipping.zip"
|
v-model="shipping.zip"
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<form action="" @submit.prevent="submitItemData">
|
<form action="" @submit.prevent="submitItemData">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">
|
<label class="col-sm-4 col-form-label input-label">
|
||||||
{{ $t('items.name') }}<span class="required">*</span>
|
{{ $t('items.name') }}<span class="required">*</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
@ -22,7 +22,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('items.price') }}<span class="required">*</span></label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('items.price') }}<span class="required">*</span></label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<div class="base-input">
|
<div class="base-input">
|
||||||
<money
|
<money
|
||||||
@ -41,7 +41,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('items.unit') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('items.unit') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-select
|
<base-select
|
||||||
v-model="formData.unit"
|
v-model="formData.unit"
|
||||||
@ -54,7 +54,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group row">
|
<div class="form-group row">
|
||||||
<label class="col-sm-4 col-form-label">{{ $t('items.description') }}</label>
|
<label class="col-sm-4 col-form-label input-label">{{ $t('items.description') }}</label>
|
||||||
<div class="col-sm-7">
|
<div class="col-sm-7">
|
||||||
<base-text-area
|
<base-text-area
|
||||||
v-model="formData.description"
|
v-model="formData.description"
|
||||||
@ -121,7 +121,8 @@ export default {
|
|||||||
{ name: 'kg', value: 'kg' },
|
{ name: 'kg', value: 'kg' },
|
||||||
{ name: 'km', value: 'km' },
|
{ name: 'km', value: 'km' },
|
||||||
{ name: 'lb', value: 'lb' },
|
{ name: 'lb', value: 'lb' },
|
||||||
{ name: 'mg', value: 'mg' }
|
{ name: 'mg', value: 'mg' },
|
||||||
|
{ name: 'pc', value: 'pc' }
|
||||||
],
|
],
|
||||||
formData: {
|
formData: {
|
||||||
name: null,
|
name: null,
|
||||||
|
|||||||
@ -611,8 +611,6 @@ export default {
|
|||||||
estimate_viewed_desc: 'When your customer views the estimate sent via crater dashboard.',
|
estimate_viewed_desc: 'When your customer views the estimate sent via crater dashboard.',
|
||||||
save: 'Save',
|
save: 'Save',
|
||||||
email_save_message: 'Email saved successfully',
|
email_save_message: 'Email saved successfully',
|
||||||
// invoice_viewed_message: 'Invoice viewed updated successfully',
|
|
||||||
// estimate_viewed_message: 'Estimate viewed updated successfully',
|
|
||||||
please_enter_email: 'Please Enter Email'
|
please_enter_email: 'Please Enter Email'
|
||||||
},
|
},
|
||||||
tax_types: {
|
tax_types: {
|
||||||
@ -622,7 +620,6 @@ export default {
|
|||||||
add_new_tax: 'Add New Tax',
|
add_new_tax: 'Add New Tax',
|
||||||
tax_settings: 'Tax Settings',
|
tax_settings: 'Tax Settings',
|
||||||
tax_per_item: 'Tax Per Item',
|
tax_per_item: 'Tax Per Item',
|
||||||
// tax_per_item_switch: 'Tax Per Item updated successfully',
|
|
||||||
tax_name: 'Tax Name',
|
tax_name: 'Tax Name',
|
||||||
compound_tax: 'Compound Tax',
|
compound_tax: 'Compound Tax',
|
||||||
percent: 'Percent',
|
percent: 'Percent',
|
||||||
@ -660,7 +657,6 @@ export default {
|
|||||||
preference: 'Preference | Preferences',
|
preference: 'Preference | Preferences',
|
||||||
general_settings: 'Default preferences for the system.',
|
general_settings: 'Default preferences for the system.',
|
||||||
updated_message: 'Preferences updated successfully',
|
updated_message: 'Preferences updated successfully',
|
||||||
// set_discount_per_item_message: 'Discount set per item updated successfully',
|
|
||||||
select_language: 'select language',
|
select_language: 'select language',
|
||||||
select_time_zone: 'select Time Zone',
|
select_time_zone: 'select Time Zone',
|
||||||
select_date_formate: 'select Date Formate',
|
select_date_formate: 'select Date Formate',
|
||||||
|
|||||||
@ -529,7 +529,8 @@ export default {
|
|||||||
preferences: 'Preferencias',
|
preferences: 'Preferencias',
|
||||||
notifications: 'Notificaciones',
|
notifications: 'Notificaciones',
|
||||||
tax_types: 'Tipos de impuestos',
|
tax_types: 'Tipos de impuestos',
|
||||||
expense_category: 'Categorías de gastos'
|
expense_category: 'Categorías de gastos',
|
||||||
|
update_app: 'Actualizar aplicación'
|
||||||
},
|
},
|
||||||
title: 'Configuraciones',
|
title: 'Configuraciones',
|
||||||
setting: 'Configuraciones | Configuraciones',
|
setting: 'Configuraciones | Configuraciones',
|
||||||
@ -661,6 +662,11 @@ export default {
|
|||||||
select_time_zone: 'selecciona la zona horaria',
|
select_time_zone: 'selecciona la zona horaria',
|
||||||
select_date_formate: 'seleccione formato de fecha',
|
select_date_formate: 'seleccione formato de fecha',
|
||||||
select_financial_year: 'seleccione año financiero'
|
select_financial_year: 'seleccione año financiero'
|
||||||
|
},
|
||||||
|
update_app: {
|
||||||
|
title: 'Actualizar aplicación',
|
||||||
|
description: 'actualizar la descripción de la aplicación',
|
||||||
|
update: 'Actualizar'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
wizard: {
|
wizard: {
|
||||||
|
|||||||
@ -529,7 +529,8 @@ export default {
|
|||||||
preferences: 'Préférences',
|
preferences: 'Préférences',
|
||||||
notifications: 'Les notifications',
|
notifications: 'Les notifications',
|
||||||
tax_types: 'Types de taxe',
|
tax_types: 'Types de taxe',
|
||||||
expense_category: 'Catégories de dépenses'
|
expense_category: 'Catégories de dépenses',
|
||||||
|
update_app: "Mise à jour de l'application"
|
||||||
},
|
},
|
||||||
title: 'Paramètres',
|
title: 'Paramètres',
|
||||||
setting: 'Paramètres | Paramètres',
|
setting: 'Paramètres | Paramètres',
|
||||||
@ -664,6 +665,11 @@ export default {
|
|||||||
select_time_zone: 'sélectionnez le fuseau horaire',
|
select_time_zone: 'sélectionnez le fuseau horaire',
|
||||||
select_date_formate: 'sélectionnez Date Formate',
|
select_date_formate: 'sélectionnez Date Formate',
|
||||||
select_financial_year: 'sélectionner lexercice'
|
select_financial_year: 'sélectionner lexercice'
|
||||||
|
},
|
||||||
|
update_app: {
|
||||||
|
title: "Mise à jour de l'application",
|
||||||
|
description: "mettre à jour la description de l'application",
|
||||||
|
update: 'Mise à jour'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
wizard: {
|
wizard: {
|
||||||
|
|||||||
@ -168,7 +168,7 @@
|
|||||||
>
|
>
|
||||||
<table-column :label="$t('dashboard.recent_invoices_card.due_on')" show="formattedDueDate" />
|
<table-column :label="$t('dashboard.recent_invoices_card.due_on')" show="formattedDueDate" />
|
||||||
<table-column :label="$t('dashboard.recent_invoices_card.customer')" show="user.name" />
|
<table-column :label="$t('dashboard.recent_invoices_card.customer')" show="user.name" />
|
||||||
<table-column :label="$t('dashboard.recent_invoices_card.amount_due')" sort-as="due_amount">
|
<table-column :label="$t('dashboard.recent_invoices_card.amount_due')" show="due_amount" sort-as="due_amount">
|
||||||
<template slot-scope="row">
|
<template slot-scope="row">
|
||||||
<span>{{ $t('dashboard.recent_invoices_card.amount_due') }}</span>
|
<span>{{ $t('dashboard.recent_invoices_card.amount_due') }}</span>
|
||||||
<div v-html="$utils.formatMoney(row.due_amount, row.user.currency)"/>
|
<div v-html="$utils.formatMoney(row.due_amount, row.user.currency)"/>
|
||||||
@ -242,7 +242,7 @@
|
|||||||
>
|
>
|
||||||
<table-column :label="$t('dashboard.recent_estimate_card.date')" show="formattedExpiryDate" />
|
<table-column :label="$t('dashboard.recent_estimate_card.date')" show="formattedExpiryDate" />
|
||||||
<table-column :label="$t('dashboard.recent_estimate_card.customer')" show="user.name" />
|
<table-column :label="$t('dashboard.recent_estimate_card.customer')" show="user.name" />
|
||||||
<table-column :label="$t('dashboard.recent_estimate_card.amount_due')" sort-as="total">
|
<table-column :label="$t('dashboard.recent_estimate_card.amount_due')" show="total" sort-as="total">
|
||||||
<template slot-scope="row">
|
<template slot-scope="row">
|
||||||
<span>{{ $t('dashboard.recent_estimate_card.amount_due') }}</span>
|
<span>{{ $t('dashboard.recent_estimate_card.amount_due') }}</span>
|
||||||
<div v-html="$utils.formatMoney(row.total, row.user.currency)"/>
|
<div v-html="$utils.formatMoney(row.total, row.user.currency)"/>
|
||||||
|
|||||||
@ -553,6 +553,8 @@ export default {
|
|||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.selectCustomer(response.data.estimate.user_id)
|
this.selectCustomer(response.data.estimate.user_id)
|
||||||
this.newEstimate = response.data.estimate
|
this.newEstimate = response.data.estimate
|
||||||
|
this.newEstimate.estimate_date = moment(response.data.estimate.estimate_date, 'YYYY-MM-DD').toString()
|
||||||
|
this.newEstimate.expiry_date = moment(response.data.estimate.expiry_date, 'YYYY-MM-DD').toString()
|
||||||
this.discountPerItem = response.data.discount_per_item
|
this.discountPerItem = response.data.discount_per_item
|
||||||
this.taxPerItem = response.data.tax_per_item
|
this.taxPerItem = response.data.tax_per_item
|
||||||
this.selectedCurrency = this.defaultCurrency
|
this.selectedCurrency = this.defaultCurrency
|
||||||
|
|||||||
@ -554,6 +554,8 @@ export default {
|
|||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.selectCustomer(response.data.invoice.user_id)
|
this.selectCustomer(response.data.invoice.user_id)
|
||||||
this.newInvoice = response.data.invoice
|
this.newInvoice = response.data.invoice
|
||||||
|
this.newInvoice.invoice_date = moment(response.data.invoice.invoice_date, 'YYYY-MM-DD').toString()
|
||||||
|
this.newInvoice.due_date = moment(response.data.invoice.due_date, 'YYYY-MM-DD').toString()
|
||||||
this.discountPerItem = response.data.discount_per_item
|
this.discountPerItem = response.data.discount_per_item
|
||||||
this.taxPerItem = response.data.tax_per_item
|
this.taxPerItem = response.data.tax_per_item
|
||||||
this.selectedCurrency = this.defaultCurrency
|
this.selectedCurrency = this.defaultCurrency
|
||||||
|
|||||||
@ -112,7 +112,8 @@ export default {
|
|||||||
{ name: 'kg', value: 'kg' },
|
{ name: 'kg', value: 'kg' },
|
||||||
{ name: 'km', value: 'km' },
|
{ name: 'km', value: 'km' },
|
||||||
{ name: 'lb', value: 'lb' },
|
{ name: 'lb', value: 'lb' },
|
||||||
{ name: 'mg', value: 'mg' }
|
{ name: 'mg', value: 'mg' },
|
||||||
|
{ name: 'pc', value: 'pc' }
|
||||||
],
|
],
|
||||||
formData: {
|
formData: {
|
||||||
name: '',
|
name: '',
|
||||||
|
|||||||
@ -245,7 +245,8 @@ export default {
|
|||||||
{ name: 'kg', value: 'kg' },
|
{ name: 'kg', value: 'kg' },
|
||||||
{ name: 'km', value: 'km' },
|
{ name: 'km', value: 'km' },
|
||||||
{ name: 'lb', value: 'lb' },
|
{ name: 'lb', value: 'lb' },
|
||||||
{ name: 'mg', value: 'mg' }
|
{ name: 'mg', value: 'mg' },
|
||||||
|
{ name: 'pc', value: 'pc' }
|
||||||
],
|
],
|
||||||
isRequestOngoing: true,
|
isRequestOngoing: true,
|
||||||
filtersApplied: false,
|
filtersApplied: false,
|
||||||
|
|||||||
@ -66,8 +66,9 @@
|
|||||||
<base-input
|
<base-input
|
||||||
:invalid="$v.mailConfigData.mail_password.$error"
|
:invalid="$v.mailConfigData.mail_password.$error"
|
||||||
v-model.trim="mailConfigData.mail_password"
|
v-model.trim="mailConfigData.mail_password"
|
||||||
type="mail_password"
|
type="password"
|
||||||
name="name"
|
name="name"
|
||||||
|
show-password
|
||||||
@input="$v.mailConfigData.mail_password.$touch()"
|
@input="$v.mailConfigData.mail_password.$touch()"
|
||||||
/>
|
/>
|
||||||
<div v-if="$v.mailConfigData.mail_password.$error">
|
<div v-if="$v.mailConfigData.mail_password.$error">
|
||||||
@ -141,12 +142,12 @@ export default {
|
|||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
mailConfigData: {
|
mailConfigData: {
|
||||||
mail_driver: 'smtp',
|
mail_driver: '',
|
||||||
mail_host: 'mailtrap.io',
|
mail_host: '',
|
||||||
mail_port: 2525,
|
mail_port: null,
|
||||||
mail_username: 'cc3c64516febd4',
|
mail_username: '',
|
||||||
mail_password: 'e6a0176301f587',
|
mail_password: '',
|
||||||
mail_encryption: 'tls'
|
mail_encryption: ''
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
mail_drivers: []
|
mail_drivers: []
|
||||||
@ -176,18 +177,22 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
// this.getMailDrivers()
|
this.loadData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async getMailDrivers () {
|
async loadData () {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
|
||||||
let response = await window.axios.get('/api/admin/onboarding/environment/mail')
|
let mailDrivers = await window.axios.get('/api/settings/environment/mail')
|
||||||
|
let mailData = await window.axios.get('/api/settings/environment/mail-env')
|
||||||
|
|
||||||
if (response.data) {
|
if (mailDrivers.data) {
|
||||||
this.mail_drivers = response.data
|
this.mail_drivers = mailDrivers.data
|
||||||
this.loading = false
|
|
||||||
}
|
}
|
||||||
|
if (mailData.data) {
|
||||||
|
this.mailConfigData = mailData.data
|
||||||
|
}
|
||||||
|
this.loading = false
|
||||||
},
|
},
|
||||||
async saveEmailConfig () {
|
async saveEmailConfig () {
|
||||||
this.$v.mailConfigData.$touch()
|
this.$v.mailConfigData.$touch()
|
||||||
@ -196,7 +201,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
try {
|
try {
|
||||||
let response = await window.axios.post('/api/admin/onboarding/environment/mail', this.mailConfigData)
|
let response = await window.axios.post('/api/settings/environment/mail', this.mailConfigData)
|
||||||
if (response.data.success) {
|
if (response.data.success) {
|
||||||
window.toastr['success'](this.$t('wizard.success.' + response.data.success))
|
window.toastr['success'](this.$t('wizard.success.' + response.data.success))
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -62,6 +62,7 @@
|
|||||||
:invalid="$v.mailConfigData.mail_password.$error"
|
:invalid="$v.mailConfigData.mail_password.$error"
|
||||||
v-model.trim="mailConfigData.mail_password"
|
v-model.trim="mailConfigData.mail_password"
|
||||||
type="password"
|
type="password"
|
||||||
|
show-password
|
||||||
name="name"
|
name="name"
|
||||||
@input="$v.mailConfigData.mail_password.$touch()"
|
@input="$v.mailConfigData.mail_password.$touch()"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -51,6 +51,7 @@ import {
|
|||||||
faEllipsisH,
|
faEllipsisH,
|
||||||
faCopy,
|
faCopy,
|
||||||
faPaperPlane,
|
faPaperPlane,
|
||||||
|
faEyeSlash,
|
||||||
faSyncAlt
|
faSyncAlt
|
||||||
} from '@fortawesome/free-solid-svg-icons'
|
} from '@fortawesome/free-solid-svg-icons'
|
||||||
import { far } from '@fortawesome/free-regular-svg-icons'
|
import { far } from '@fortawesome/free-regular-svg-icons'
|
||||||
@ -109,6 +110,7 @@ library.add(
|
|||||||
faFilePdf,
|
faFilePdf,
|
||||||
faEnvelope,
|
faEnvelope,
|
||||||
faEye,
|
faEye,
|
||||||
|
faEyeSlash,
|
||||||
faShare,
|
faShare,
|
||||||
faEllipsisH,
|
faEllipsisH,
|
||||||
faCopy,
|
faCopy,
|
||||||
|
|||||||
@ -19,3 +19,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media(max-width: $x-small-breakpoint ) {
|
||||||
|
|
||||||
|
.base-modal {
|
||||||
|
|
||||||
|
.category-modal {
|
||||||
|
|
||||||
|
.input-label {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -34,3 +34,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media(max-width: $x-small-breakpoint ) {
|
||||||
|
|
||||||
|
.base-modal {
|
||||||
|
|
||||||
|
.customer-modal {
|
||||||
|
|
||||||
|
.input-label {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
17
resources/assets/sass/components/item-modal.scss
vendored
17
resources/assets/sass/components/item-modal.scss
vendored
@ -19,3 +19,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media(max-width: $x-small-breakpoint ) {
|
||||||
|
|
||||||
|
.base-modal {
|
||||||
|
|
||||||
|
.item-modal {
|
||||||
|
|
||||||
|
.input-label {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -58,6 +58,7 @@
|
|||||||
|
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex:1;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
label {
|
label {
|
||||||
@ -445,6 +446,9 @@
|
|||||||
.estimate-amount {
|
.estimate-amount {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #55547A;
|
color: #55547A;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.total {
|
.total {
|
||||||
@ -491,7 +495,6 @@
|
|||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
padding-top: 2px;
|
padding-top: 2px;
|
||||||
padding-left: 10px;
|
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
|
|
||||||
|
|||||||
@ -58,6 +58,7 @@
|
|||||||
|
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
label {
|
label {
|
||||||
@ -445,6 +446,9 @@
|
|||||||
.invoice-amount {
|
.invoice-amount {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #55547A;
|
color: #55547A;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.total {
|
.total {
|
||||||
|
|||||||
10
resources/assets/sass/pages/statuses.scss
vendored
10
resources/assets/sass/pages/statuses.scss
vendored
@ -1,6 +1,6 @@
|
|||||||
// Invoice statuses
|
// Invoice statuses
|
||||||
|
|
||||||
.inv-status-due {
|
.inv-status-overdue {
|
||||||
background: #FED7D7;
|
background: #FED7D7;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #9B2C2C;
|
color: #9B2C2C;
|
||||||
@ -15,9 +15,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.inv-status-unpaid {
|
.inv-status-unpaid {
|
||||||
background: rgba(246, 208, 154, 0.4);
|
background: #F8EDCB;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #A96E1A;
|
color: #6C432E;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,9 +50,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.inv-status-partially_paid {
|
.inv-status-partially_paid {
|
||||||
background: #E1E0EA;
|
background: #C9E3EC;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #312F57;
|
color: #1E576C;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -323,6 +323,21 @@ Route::group(['middleware' => 'api'], function () {
|
|||||||
'uses' => 'CompanyController@updateSetting'
|
'uses' => 'CompanyController@updateSetting'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
Route::get('/environment/mail', [
|
||||||
|
'as' => 'admin.environment.mail',
|
||||||
|
'uses' => 'EnvironmentController@getMailDrivers'
|
||||||
|
]);
|
||||||
|
|
||||||
|
Route::get('/environment/mail-env', [
|
||||||
|
'as' => 'admin.mail.env',
|
||||||
|
'uses' => 'EnvironmentController@getMailEnvironment'
|
||||||
|
]);
|
||||||
|
|
||||||
|
Route::post('/environment/mail', [
|
||||||
|
'as' => 'admin.environment.mail.save',
|
||||||
|
'uses' => 'EnvironmentController@saveMailEnvironment'
|
||||||
|
]);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user