Fetch author photo from external URL

Add a new text field 'Photo URL' on the author edit modal, if there
is no existing image for an author.

When submitted, the image is saved from the URL provided
This commit is contained in:
mrdth 2022-06-18 17:04:38 +01:00
parent 578bb03404
commit f79b4d44b9
2 changed files with 19 additions and 3 deletions

View file

@ -25,6 +25,9 @@
<ui-text-input-with-label v-model="authorCopy.asin" :disabled="processing" label="ASIN" />
</div>
</div>
<div class="p-2" v-show="!author.imagePath">
<ui-text-input-with-label v-model="authorCopy.imageUrl" :disabled="processing" label="Photo URL" />
</div>
<div class="p-2">
<ui-textarea-with-label v-model="authorCopy.description" :disabled="processing" label="Description" :rows="8" />
</div>
@ -55,7 +58,8 @@ export default {
authorCopy: {
name: '',
asin: '',
description: ''
description: '',
imageUrl: undefined
},
processing: false
}
@ -97,7 +101,7 @@ export default {
this.authorCopy.description = this.author.description
},
async submitForm() {
var keysToCheck = ['name', 'asin', 'description']
var keysToCheck = ['name', 'asin', 'description', 'imageUrl']
var updatePayload = {}
keysToCheck.forEach((key) => {
if (this.authorCopy[key] !== this.author[key]) {
@ -118,6 +122,7 @@ export default {
if (result.updated) {
this.$toast.success('Author updated')
this.show = false
this.authorCopy.imageUrl = undefined
} else this.$toast.info('No updates were needed')
}
this.processing = false
@ -167,4 +172,4 @@ export default {
mounted() {},
beforeDestroy() {}
}
</script>
</script>