diff --git a/client/components/modals/authors/EditModal.vue b/client/components/modals/authors/EditModal.vue
index 3657bc85..4b222904 100644
--- a/client/components/modals/authors/EditModal.vue
+++ b/client/components/modals/authors/EditModal.vue
@@ -25,6 +25,9 @@
+
+
+
@@ -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() {}
}
-
+
\ No newline at end of file
diff --git a/server/controllers/AuthorController.js b/server/controllers/AuthorController.js
index 71ca67cf..97082ca2 100644
--- a/server/controllers/AuthorController.js
+++ b/server/controllers/AuthorController.js
@@ -72,6 +72,17 @@ class AuthorController {
var authorNameUpdate = payload.name !== undefined && payload.name !== req.author.name
var hasUpdated = req.author.update(payload)
+
+ // Fetch author image from remote URL if no current image exists
+ if (payload.imageUrl !== undefined && !req.author.imagePath) {
+ var imageData = await this.authorFinder.saveAuthorImage(req.author.id, payload.imageUrl)
+ if (imageData) {
+ req.author.imagePath = imageData.path
+ req.author.relImagePath = imageData.relPath
+ hasUpdated = hasUpdated || true;
+ }
+ }
+
if (hasUpdated) {
if (authorNameUpdate) { // Update author name on all books
var itemsWithAuthor = this.db.libraryItems.filter(li => li.mediaType === 'book' && li.media.metadata.hasAuthor(req.author.id))