mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 04:01:10 -04:00
Merge branch 'master' of gitlab.com:mohit.panjvani/crater-web into fix_all_customer_load
This commit is contained in:
@ -119,6 +119,7 @@
|
||||
:store="estimateStore"
|
||||
component-name="EstimateTemplate"
|
||||
store-prop="newEstimate"
|
||||
:is-mark-as-default="isMarkAsDefault"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -171,6 +172,7 @@ const { t } = useI18n()
|
||||
|
||||
const estimateValidationScope = 'newEstimate'
|
||||
let isSaving = ref(false)
|
||||
const isMarkAsDefault = ref(false)
|
||||
|
||||
const estimateNoteFieldList = ref([
|
||||
'customer',
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
<template #actions>
|
||||
<BaseButton
|
||||
v-if="isEdit && expenseStore.currentExpense.attachment_receipt"
|
||||
v-if="isEdit && expenseStore.currentExpense.attachment_receipt_url"
|
||||
:href="receiptDownloadUrl"
|
||||
tag="a"
|
||||
variant="primary-outline"
|
||||
@ -319,6 +319,7 @@ const globalStore = useGlobalStore()
|
||||
let isSaving = ref(false)
|
||||
let isFetchingInitialData = ref(false)
|
||||
const expenseValidationScope = 'newExpense'
|
||||
const isAttachmentReceiptRemoved = ref(false)
|
||||
|
||||
const rules = computed(() => {
|
||||
return {
|
||||
@ -383,7 +384,7 @@ const pageTitle = computed(() =>
|
||||
)
|
||||
|
||||
const receiptDownloadUrl = computed(() =>
|
||||
isEdit.value ? `/expenses/${route.params.id}/download-receipt` : ''
|
||||
isEdit.value ? `/reports/expenses/${route.params.id}/download-receipt` : ''
|
||||
)
|
||||
|
||||
expenseStore.resetCurrentExpenseData()
|
||||
@ -397,6 +398,7 @@ function onFileInputChange(fileName, file) {
|
||||
|
||||
function onFileInputRemove() {
|
||||
expenseStore.currentExpense.attachment_receipt = null
|
||||
isAttachmentReceiptRemoved.value = true
|
||||
}
|
||||
|
||||
function openCategoryModal() {
|
||||
@ -487,11 +489,14 @@ async function submitForm() {
|
||||
await expenseStore.updateExpense({
|
||||
id: route.params.id,
|
||||
data: formData,
|
||||
isAttachmentReceiptRemoved: isAttachmentReceiptRemoved.value
|
||||
})
|
||||
} else {
|
||||
await expenseStore.addExpense(formData)
|
||||
}
|
||||
isSaving.value = false
|
||||
expenseStore.currentExpense.attachment_receipt = null
|
||||
isAttachmentReceiptRemoved.value = false
|
||||
router.push('/admin/expenses')
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
|
||||
@ -118,6 +118,7 @@
|
||||
:store="invoiceStore"
|
||||
store-prop="newInvoice"
|
||||
component-name="InvoiceTemplate"
|
||||
:is-mark-as-default="isMarkAsDefault"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -173,6 +174,7 @@ let router = useRouter()
|
||||
|
||||
const invoiceValidationScope = 'newInvoice'
|
||||
let isSaving = ref(false)
|
||||
const isMarkAsDefault = ref(false)
|
||||
|
||||
const invoiceNoteFieldList = ref([
|
||||
'customer',
|
||||
|
||||
@ -118,6 +118,7 @@ const { t } = useI18n()
|
||||
let isSaving = ref(false)
|
||||
let avatarFileBlob = ref(null)
|
||||
let imgFiles = ref([])
|
||||
const isAdminAvatarRemoved = ref(false)
|
||||
|
||||
if (userStore.currentUser.avatar) {
|
||||
imgFiles.value.push({
|
||||
@ -170,6 +171,7 @@ function onFileInputChange(fileName, file) {
|
||||
|
||||
function onFileInputRemove() {
|
||||
avatarFileBlob.value = null
|
||||
isAdminAvatarRemoved.value = true
|
||||
}
|
||||
|
||||
async function updateUserData() {
|
||||
@ -209,12 +211,17 @@ async function updateUserData() {
|
||||
if (response.data.data) {
|
||||
isSaving.value = false
|
||||
|
||||
if (avatarFileBlob.value) {
|
||||
if (avatarFileBlob.value || isAdminAvatarRemoved.value) {
|
||||
let avatarData = new FormData()
|
||||
|
||||
avatarData.append('admin_avatar', avatarFileBlob.value)
|
||||
if (avatarFileBlob.value) {
|
||||
avatarData.append('admin_avatar', avatarFileBlob.value)
|
||||
}
|
||||
avatarData.append('is_admin_avatar_removed', isAdminAvatarRemoved.value)
|
||||
|
||||
await userStore.uploadAvatar(avatarData)
|
||||
avatarFileBlob.value = null
|
||||
isAdminAvatarRemoved.value = false
|
||||
}
|
||||
|
||||
userForm.password = ''
|
||||
|
||||
@ -180,6 +180,7 @@ utils.mergeSettings(companyForm, {
|
||||
let previewLogo = ref([])
|
||||
let logoFileBlob = ref(null)
|
||||
let logoFileName = ref(null)
|
||||
const isCompanyLogoRemoved = ref(false)
|
||||
|
||||
if (companyForm.logo) {
|
||||
previewLogo.value.push({
|
||||
@ -218,6 +219,7 @@ function onFileInputChange(fileName, file, fileCount, fileList) {
|
||||
|
||||
function onFileInputRemove() {
|
||||
logoFileBlob.value = null
|
||||
isCompanyLogoRemoved.value = true
|
||||
}
|
||||
|
||||
async function updateCompanyData() {
|
||||
@ -232,18 +234,23 @@ async function updateCompanyData() {
|
||||
const res = await companyStore.updateCompany(companyForm)
|
||||
|
||||
if (res.data.data) {
|
||||
if (logoFileBlob.value) {
|
||||
if (logoFileBlob.value || isCompanyLogoRemoved.value) {
|
||||
let logoData = new FormData()
|
||||
|
||||
logoData.append(
|
||||
'company_logo',
|
||||
JSON.stringify({
|
||||
name: logoFileName.value,
|
||||
data: logoFileBlob.value,
|
||||
})
|
||||
)
|
||||
if (logoFileBlob.value) {
|
||||
logoData.append(
|
||||
'company_logo',
|
||||
JSON.stringify({
|
||||
name: logoFileName.value,
|
||||
data: logoFileBlob.value,
|
||||
})
|
||||
)
|
||||
}
|
||||
logoData.append('is_company_logo_removed', isCompanyLogoRemoved.value)
|
||||
|
||||
await companyStore.updateCompanyLogo(logoData)
|
||||
logoFileBlob.value = null
|
||||
isCompanyLogoRemoved.value = false
|
||||
}
|
||||
|
||||
isSaving.value = false
|
||||
|
||||
Reference in New Issue
Block a user