summaryrefslogtreecommitdiffstats
path: root/models/trelloCreator.js
diff options
context:
space:
mode:
Diffstat (limited to 'models/trelloCreator.js')
-rw-r--r--models/trelloCreator.js39
1 files changed, 20 insertions, 19 deletions
diff --git a/models/trelloCreator.js b/models/trelloCreator.js
index 60207546..b296efdf 100644
--- a/models/trelloCreator.js
+++ b/models/trelloCreator.js
@@ -318,17 +318,22 @@ export class TrelloCreator {
// - HEAD returns null, which causes exception down the line
// - the template then tries to display the url to the attachment which causes other errors
// so we make it server only, and let UI catch up once it is done, forget about latency comp.
+ const self = this;
if(Meteor.isServer) {
file.attachData(att.url, function (error) {
file.boardId = boardId;
file.cardId = cardId;
+ file.userId = self._user(att.idMemberCreator);
+ // The field source will only be used to prevent adding
+ // attachments' related activities automatically
+ file.source = 'import';
if (error) {
throw(error);
} else {
const wekanAtt = Attachments.insert(file, () => {
// we do nothing
});
- this.attachmentIds[att.id] = wekanAtt._id;
+ self.attachmentIds[att.id] = wekanAtt._id;
//
if(trelloCoverId === att.id) {
Cards.direct.update(cardId, { $set: {coverId: wekanAtt._id}});
@@ -452,6 +457,8 @@ export class TrelloCreator {
// In that case Trello still reports its addition, but removes its 'url' field.
// So we test for that
const trelloAttachment = action.data.attachment;
+ // We need the idMemberCreator
+ trelloAttachment.idMemberCreator = action.idMemberCreator;
if(trelloAttachment.url) {
// we cannot actually create the Wekan attachment, because we don't yet
// have the cards to attach it to, so we store it in the instance variable.
@@ -540,24 +547,18 @@ export class TrelloCreator {
// Comment related activities
// Trello doesn't export the comment id
// Attachment related activities
- // TODO: We can't add activities related to adding attachments
- // because when we import an attachment, an activity is
- // autmatically created. We need to directly insert the attachment
- // without calling the "Attachments.files.after.insert" hook first,
- // then we can uncomment the code below
- // case 'addAttachment': {
- // console.log(this.attachmentIds);
- // Activities.direct.insert({
- // userId: this._user(activity.userId),
- // type: 'card',
- // activityType: activity.activityType,
- // attachmentId: this.attachmentIds[activity.attachmentId],
- // cardId: this.cards[activity.cardId],
- // boardId,
- // createdAt: this._now(activity.createdAt),
- // });
- // break;
- // }
+ case 'addAttachmentToCard': {
+ Activities.direct.insert({
+ userId: this._user(action.idMemberCreator),
+ type: 'card',
+ activityType: 'addAttachment',
+ attachmentId: this.attachmentIds[action.data.attachment.id],
+ cardId: this.cards[action.data.card.id],
+ boardId,
+ createdAt: this._now(action.date),
+ });
+ break;
+ }
// Checklist related activities
case 'addChecklistToCard': {
Activities.direct.insert({