diff --git a/kudos-services/src/main/java/org/exoplatform/kudos/listener/KudosActivityListener.java b/kudos-services/src/main/java/org/exoplatform/kudos/listener/KudosActivityListener.java
index bb775e164..35aecc582 100644
--- a/kudos-services/src/main/java/org/exoplatform/kudos/listener/KudosActivityListener.java
+++ b/kudos-services/src/main/java/org/exoplatform/kudos/listener/KudosActivityListener.java
@@ -2,6 +2,8 @@
import static org.exoplatform.kudos.service.utils.Utils.KUDOS_ACTIVITY_COMMENT_TYPE;
+import org.apache.commons.lang.StringUtils;
+
import org.exoplatform.commons.exception.ObjectNotFoundException;
import org.exoplatform.kudos.model.Kudos;
import org.exoplatform.kudos.service.KudosService;
@@ -39,7 +41,7 @@ public void saveActivity(ActivityLifeCycleEvent activityLifeCycleEvent) {
@Override
public void updateActivity(ActivityLifeCycleEvent activityLifeCycleEvent) {
ExoSocialActivity activity = activityLifeCycleEvent.getSource();
- if (activity.getType().equals(KUDOS_ACTIVITY_COMMENT_TYPE)) {
+ if (activity != null && StringUtils.equals(activity.getType(), KUDOS_ACTIVITY_COMMENT_TYPE)) {
long activityId = org.exoplatform.kudos.service.utils.Utils.getActivityId(activity.getId());
Kudos kudos = kudosService.getKudosByActivityId(activityId);
if (kudos != null) {
diff --git a/kudos-services/src/main/java/org/exoplatform/kudos/service/KudosService.java b/kudos-services/src/main/java/org/exoplatform/kudos/service/KudosService.java
index 6c99aa6ab..7b38185b8 100644
--- a/kudos-services/src/main/java/org/exoplatform/kudos/service/KudosService.java
+++ b/kudos-services/src/main/java/org/exoplatform/kudos/service/KudosService.java
@@ -209,7 +209,7 @@ public Kudos createKudos(Kudos kudos, String currentUser) throws Exception {
listenerService.broadcast(KUDOS_SENT_EVENT, this, createdKudos);
- return createdKudos;
+ return kudosStorage.getKudoById(createdKudos.getTechnicalId());
}
/**
diff --git a/kudos-webapps/src/main/webapp/WEB-INF/gatein-resources.xml b/kudos-webapps/src/main/webapp/WEB-INF/gatein-resources.xml
index 9ba78ded7..d042c8ae1 100644
--- a/kudos-webapps/src/main/webapp/WEB-INF/gatein-resources.xml
+++ b/kudos-webapps/src/main/webapp/WEB-INF/gatein-resources.xml
@@ -119,6 +119,9 @@
extensionRegistry
+
+ attachImage
+
diff --git a/kudos-webapps/src/main/webapp/vue-app/kudos/components/KudosApp.vue b/kudos-webapps/src/main/webapp/vue-app/kudos/components/KudosApp.vue
index 06e1a1185..4a6937821 100644
--- a/kudos-webapps/src/main/webapp/vue-app/kudos/components/KudosApp.vue
+++ b/kudos-webapps/src/main/webapp/vue-app/kudos/components/KudosApp.vue
@@ -72,15 +72,18 @@
-
@@ -147,6 +150,7 @@ export default {
entityOwner: '',
receiverType: null,
receiverId: null,
+ metadataObjectId: null,
error: null,
drawer: false,
MESSAGE_MAX_LENGTH: 1300,
@@ -275,7 +279,10 @@ export default {
},
typeOfRelation() {
return this.isLinkedKudos ? 'mention_comment' : 'mention_activity_stream';
- }
+ },
+ ckEditorType() {
+ return this.isLinkedKudos ? 'activityComment' : 'activityContent';
+ },
},
methods: {
init() {
@@ -304,7 +311,7 @@ export default {
resetEditor() {
this.$refs[this.ckEditorId].destroyCKEditor();
},
- initDrawer () {
+ initDrawer() {
this.kudosMessage = '';
this.kudosToSend = null;
this.error = null;
@@ -401,18 +408,20 @@ export default {
this.entityType = event && event.detail && event.detail.type;
this.entityId = event && event.detail && event.detail.id;
+ this.metadataObjectId = null;
this.entityOwner = event && event.detail && event.detail.owner;
this.parentEntityId = event && event.detail && event.detail.parentId;
this.ignoreRefresh = event && event.detail && event.detail.ignoreRefresh;
this.spaceURL = event && event.detail && event.detail.spaceURL || null;
this.$refs.activityKudosDrawer.open();
this.$refs.activityKudosDrawer.startLoading();
- this.initDrawer().then(() => {
- this.$refs[this.ckEditorId].initCKEditor();
- }).finally( () => {
- this.loading = false;
- this.$refs.activityKudosDrawer.endLoading();
- });
+ this.initDrawer()
+ .then(() => this.$nextTick())
+ .then(() => this.$refs[this.ckEditorId].initCKEditor())
+ .finally( () => {
+ this.loading = false;
+ this.$refs.activityKudosDrawer.endLoading();
+ });
});
}
else {
@@ -441,7 +450,12 @@ export default {
if (!kudosSent) {
throw new Error(this.$t('exoplatform.kudos.error.errorSendingKudos'));
}
+ this.metadataObjectId = this.isLinkedKudos && `comment${kudosSent.activityId}` || `${kudosSent.activityId}`;
document.dispatchEvent(new CustomEvent('exo-kudos-sent', {detail: kudosSent}));
+ return this.$nextTick();
+ })
+ .then(() => this.$refs[this.ckEditorId].saveAttachments())
+ .then(() => {
return this.init()
.catch(e => {
console.error('Error refreshing allowed number of kudos for current user', e);