Reset avatar if removed

This commit is contained in:
Tobias Wolf 2022-08-20 09:01:18 +02:00
parent c64a221453
commit 24566ce853
2 changed files with 12 additions and 4 deletions

View file

@ -230,8 +230,9 @@ BlazeComponent.extendComponent({
'click .js-select-initials'() {
this.setAvatar('');
},
'click .js-delete-avatar'() {
'click .js-delete-avatar'(event) {
Avatars.remove(this.currentData()._id);
event.stopPropagation();
},
},
];

View file

@ -64,12 +64,10 @@ Avatars = new FilesCollection({
Avatars.update({ _id: fileObj._id }, { $set: { "versions": fileObj.versions } });
const isValid = Promise.await(isFileValid(fileObj, avatarsUploadMimeTypes, avatarsUploadSize, avatarsUploadExternalProgram));
const user = Users.findOne(fileObj.userId);
if (isValid) {
user.setAvatarUrl(`${formatFleURL(fileObj)}?auth=false&brokenIsFine=true`);
Users.findOne(fileObj.userId).setAvatarUrl(`${formatFleURL(fileObj)}?auth=false&brokenIsFine=true`);
} else {
user.setAvatarUrl('');
Avatars.remove(fileObj._id);
}
},
@ -77,6 +75,15 @@ Avatars = new FilesCollection({
const ret = fileStoreStrategyFactory.getFileStrategy(fileObj, versionName).interceptDownload(http, this.cacheControl);
return ret;
},
onBeforeRemove(files) {
files.forEach(fileObj => {
if (fileObj.userId) {
Users.findOne(fileObj.userId).setAvatarUrl('');
}
});
return true;
},
onAfterRemove(files) {
files.forEach(fileObj => {
Object.keys(fileObj.versions).forEach(versionName => {