From d30c04430e1a955ab8625cd6ba1d2b5f96a67f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rijaniaina=20Elie=20Fid=C3=A8le?= <elierijaniaina@gmail.com> Date: Tue, 25 Feb 2025 14:27:57 +0300 Subject: [PATCH] feat: create action with mention --- assets/js/aap/aap.js | 10 ++++++++++ assets/js/co.js | 41 +++++++++++++++++++++++++++++++---------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/assets/js/aap/aap.js b/assets/js/aap/aap.js index d76c4e10a..e55daccb0 100755 --- a/assets/js/aap/aap.js +++ b/assets/js/aap/aap.js @@ -5923,6 +5923,16 @@ var aapObj = { canAddCard: isContributor, canEditHeader: isContributor, editable: isContributor, + enableMention: true, + canContributes: Object.keys(projectContributors).map(key => { + const contributor = projectContributors[key]; + return { + id: key, + name: contributor.name, + alias: contributor.username, + image: contributor.image + }; + }), onParticipate: function (data) { var contributors = data.contributors.map(contributor => contributor.id); var index = contributors.indexOf(userId); diff --git a/assets/js/co.js b/assets/js/co.js index 89af83918..ee55bfba3 100755 --- a/assets/js/co.js +++ b/assets/js/co.js @@ -1837,20 +1837,21 @@ var coInterface = { }); }, request_create_action: function (post) { - var url = baseUrl; + var url = "/costum/project/action/request/new"; return new Promise(function (resolve, reject) { if (typeof post !== 'object' || !post) reject({ - success: false, - data: 'Empty parameter' + side: "client", + msg: 'Empty parameter', + fn: "request_create_action", }); else { - if (post.serverUrl) { - url = post.serverUrl; - delete post.serverUrl; - } - url += '/costum/project/action/request/new'; + if (post.server_url) { + url = post.server_url + url; + delete post.server_url; + } else + url = baseUrl + url; var key_list = ['name', 'status', 'parentId', 'parentType']; var ft = { success: true, data: [] }; key_list.forEach(function (key_item) { @@ -1862,8 +1863,28 @@ var coInterface = { if (!ft.success) ft.data = 'Missing parameters : ' + ft.data.join(', ') + '.'; if (!ft.success) - reject(ft); - ajaxPost(null, url, post, resolve, reject); + reject({ + side: "client", + msg: ft.data, + fn: "request_create_action", + }); + else + ajaxPost(null, url, post, response => { + if (response.success) + resolve(response.content); + else + reject({ + side: "server", + msg: response.content, + fn: "request_create_action", + }); + }, (xhr, status, error) => { + reject({ + side: "server", + msg: error, + fn: "request_create_action", + }); + }); } }); }, -- GitLab