diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 05c83ca642..e0b7ecbd40 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -32337,6 +32337,9 @@ importers: '@hcengineering/view': specifier: workspace:^0.7.0 version: link:../../plugins/view + '@hcengineering/workbench': + specifier: workspace:^0.7.0 + version: link:../../plugins/workbench devDependencies: '@hcengineering/platform-rig': specifier: workspace:^0.7.19 diff --git a/models/card/src/index.ts b/models/card/src/index.ts index 25f0c60e2d..bf8285fa0b 100644 --- a/models/card/src/index.ts +++ b/models/card/src/index.ts @@ -469,7 +469,12 @@ export function createModel (builder: Builder): void { group: card.ids.CardNotificationGroup, txClasses: [core.class.TxUpdateDoc, core.class.TxMixin], objectClass: card.class.Card, - defaultEnabled: false + defaultEnabled: false, + templates: { + textTemplate: '{body}', + htmlTemplate: '
{body}
{link}
', + subjectTemplate: '{title} updated' + } }, card.ids.CardNotification ) @@ -485,7 +490,12 @@ export function createModel (builder: Builder): void { txClasses: [core.class.TxCreateDoc], objectClass: chunter.class.ChatMessage, attachedToClass: card.class.Card, - defaultEnabled: true + defaultEnabled: true, + templates: { + textTemplate: 'New message in {title} ({link}) from {senderName}: {message}', + htmlTemplate: 'New message in {title} from {senderName}: {message}
{link}
', + subjectTemplate: 'New message from {senderName} in {title}' + } }, card.ids.CardMessageNotification ) diff --git a/models/server-card/src/index.ts b/models/server-card/src/index.ts index e5c66f5417..32d1be5798 100644 --- a/models/server-card/src/index.ts +++ b/models/server-card/src/index.ts @@ -134,4 +134,8 @@ export function createModel (builder: Builder): void { builder.mixin(card.class.Card, core.class.Class, serverNotification.mixin.TextPresenter, { presenter: serverCard.function.CardTextPresenter }) + + builder.mixin(card.class.Card, core.class.Class, serverNotification.mixin.HTMLPresenter, { + presenter: serverCard.function.CardHTMLPresenter + }) } diff --git a/server-plugins/card-resources/package.json b/server-plugins/card-resources/package.json index 9f333473b1..80cd9f9434 100644 --- a/server-plugins/card-resources/package.json +++ b/server-plugins/card-resources/package.json @@ -43,6 +43,7 @@ "@hcengineering/core": "workspace:^0.7.24", "@hcengineering/platform": "workspace:^0.7.19", "@hcengineering/server-core": "workspace:^0.7.18", + "@hcengineering/workbench": "workspace:^0.7.0", "@hcengineering/communication-types": "workspace:^0.7.12", "@hcengineering/communication-sdk-types": "workspace:^0.7.12", "@hcengineering/communication": "workspace:^0.7.0", diff --git a/server-plugins/card-resources/src/index.ts b/server-plugins/card-resources/src/index.ts index 98cbd5dd3f..875802633d 100644 --- a/server-plugins/card-resources/src/index.ts +++ b/server-plugins/card-resources/src/index.ts @@ -13,12 +13,13 @@ // limitations under the License. // -import card, { Card, MasterTag, Tag } from '@hcengineering/card' +import card, { Card, cardId, MasterTag, Tag } from '@hcengineering/card' import core, { AccountUuid, AnyAttribute, ArrOf, Class, + concatLink, Data, Doc, DocumentUpdate, @@ -41,8 +42,9 @@ import core, { TxRemoveDoc, TxUpdateDoc } from '@hcengineering/core' -import { TriggerControl } from '@hcengineering/server-core' +import serverCore, { TriggerControl } from '@hcengineering/server-core' import setting from '@hcengineering/setting' +import { workbenchId } from '@hcengineering/workbench' import view from '@hcengineering/view' import { AddCollaboratorsEvent, @@ -59,6 +61,7 @@ import { getEmployee, getPersonSpaces } from '@hcengineering/server-contact' import contact, { Employee, formatName, Person } from '@hcengineering/contact' import communication, { Direct } from '@hcengineering/communication' import { CardPeer } from '@hcengineering/communication-types' +import { getMetadata } from '@hcengineering/platform' async function OnAttribute (ctx: TxCreateDoc