mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-22 08:20:39 +00:00
UBER-322 Company notifications (#3306)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
parent
b36e6b1ea7
commit
5b61ae8fa4
@ -29,6 +29,7 @@
|
|||||||
"@hcengineering/model-chunter": "^0.6.0",
|
"@hcengineering/model-chunter": "^0.6.0",
|
||||||
"@hcengineering/model-workbench": "^0.6.1",
|
"@hcengineering/model-workbench": "^0.6.1",
|
||||||
"@hcengineering/model-attachment": "^0.6.0",
|
"@hcengineering/model-attachment": "^0.6.0",
|
||||||
|
"@hcengineering/model-notification": "^0.6.0",
|
||||||
"@hcengineering/model-view": "^0.6.0",
|
"@hcengineering/model-view": "^0.6.0",
|
||||||
"@hcengineering/model-presentation": "^0.6.0",
|
"@hcengineering/model-presentation": "^0.6.0",
|
||||||
"@hcengineering/model": "^0.6.4",
|
"@hcengineering/model": "^0.6.4",
|
||||||
|
@ -52,6 +52,7 @@ import core, { TAccount, TAttachedDoc, TDoc, TSpace } from '@hcengineering/model
|
|||||||
import presentation from '@hcengineering/model-presentation'
|
import presentation from '@hcengineering/model-presentation'
|
||||||
import view, { ViewAction, Viewlet, createAction } from '@hcengineering/model-view'
|
import view, { ViewAction, Viewlet, createAction } from '@hcengineering/model-view'
|
||||||
import workbench from '@hcengineering/model-workbench'
|
import workbench from '@hcengineering/model-workbench'
|
||||||
|
import { generateClassNotificationTypes } from '@hcengineering/model-notification'
|
||||||
import notification from '@hcengineering/notification'
|
import notification from '@hcengineering/notification'
|
||||||
import type { Asset, IntlString, Resource } from '@hcengineering/platform'
|
import type { Asset, IntlString, Resource } from '@hcengineering/platform'
|
||||||
import setting from '@hcengineering/setting'
|
import setting from '@hcengineering/setting'
|
||||||
@ -789,4 +790,42 @@ export function createModel (builder: Builder): void {
|
|||||||
builder.mixin(contact.class.Contact, core.class.Class, activity.mixin.ExtraActivityComponent, {
|
builder.mixin(contact.class.Contact, core.class.Class, activity.mixin.ExtraActivityComponent, {
|
||||||
component: contact.component.ActivityChannelMessage
|
component: contact.component.ActivityChannelMessage
|
||||||
})
|
})
|
||||||
|
|
||||||
|
builder.createDoc(
|
||||||
|
notification.class.NotificationGroup,
|
||||||
|
core.space.Model,
|
||||||
|
{
|
||||||
|
label: contact.string.Organizations,
|
||||||
|
icon: contact.icon.Company,
|
||||||
|
objectClass: contact.class.Organization
|
||||||
|
},
|
||||||
|
contact.ids.OrganizationNotificationGroup
|
||||||
|
)
|
||||||
|
|
||||||
|
generateClassNotificationTypes(
|
||||||
|
builder,
|
||||||
|
contact.class.Organization,
|
||||||
|
contact.ids.OrganizationNotificationGroup,
|
||||||
|
[],
|
||||||
|
['comments', 'attachments', 'members']
|
||||||
|
)
|
||||||
|
|
||||||
|
builder.createDoc(
|
||||||
|
notification.class.NotificationGroup,
|
||||||
|
core.space.Model,
|
||||||
|
{
|
||||||
|
label: contact.string.Persons,
|
||||||
|
icon: contact.icon.Person,
|
||||||
|
objectClass: contact.class.Person
|
||||||
|
},
|
||||||
|
contact.ids.PersonNotificationGroup
|
||||||
|
)
|
||||||
|
|
||||||
|
generateClassNotificationTypes(
|
||||||
|
builder,
|
||||||
|
contact.class.Person,
|
||||||
|
contact.ids.PersonNotificationGroup,
|
||||||
|
[],
|
||||||
|
['comments', 'attachments']
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ import contact from '@hcengineering/contact-resources/src/plugin'
|
|||||||
import type { Client, Doc, Ref } from '@hcengineering/core'
|
import type { Client, Doc, Ref } from '@hcengineering/core'
|
||||||
import {} from '@hcengineering/core'
|
import {} from '@hcengineering/core'
|
||||||
import { ObjectSearchCategory, ObjectSearchFactory } from '@hcengineering/model-presentation'
|
import { ObjectSearchCategory, ObjectSearchFactory } from '@hcengineering/model-presentation'
|
||||||
|
import { NotificationGroup } from '@hcengineering/notification'
|
||||||
import { IntlString, mergeIds, Resource } from '@hcengineering/platform'
|
import { IntlString, mergeIds, Resource } from '@hcengineering/platform'
|
||||||
import { TemplateFieldFunc } from '@hcengineering/templates'
|
import { TemplateFieldFunc } from '@hcengineering/templates'
|
||||||
import type { AnyComponent } from '@hcengineering/ui'
|
import type { AnyComponent } from '@hcengineering/ui'
|
||||||
@ -104,6 +105,10 @@ export default mergeIds(contactId, contact, {
|
|||||||
category: {
|
category: {
|
||||||
Contact: '' as Ref<ActionCategory>
|
Contact: '' as Ref<ActionCategory>
|
||||||
},
|
},
|
||||||
|
ids: {
|
||||||
|
OrganizationNotificationGroup: '' as Ref<NotificationGroup>,
|
||||||
|
PersonNotificationGroup: '' as Ref<NotificationGroup>
|
||||||
|
},
|
||||||
action: {
|
action: {
|
||||||
KickEmployee: '' as Ref<Action>,
|
KickEmployee: '' as Ref<Action>,
|
||||||
MergeEmployee: '' as Ref<Action>
|
MergeEmployee: '' as Ref<Action>
|
||||||
|
@ -395,6 +395,57 @@ export function createModel (builder: Builder): void {
|
|||||||
['comments', 'state', 'doneState']
|
['comments', 'state', 'doneState']
|
||||||
)
|
)
|
||||||
|
|
||||||
|
builder.createDoc(
|
||||||
|
notification.class.NotificationGroup,
|
||||||
|
core.space.Model,
|
||||||
|
{
|
||||||
|
label: lead.string.Customers,
|
||||||
|
icon: lead.icon.CreateCustomer,
|
||||||
|
objectClass: lead.mixin.Customer
|
||||||
|
},
|
||||||
|
lead.ids.CustomerNotificationGroup
|
||||||
|
)
|
||||||
|
|
||||||
|
generateClassNotificationTypes(
|
||||||
|
builder,
|
||||||
|
lead.mixin.Customer,
|
||||||
|
lead.ids.CustomerNotificationGroup,
|
||||||
|
[],
|
||||||
|
['comments', 'attachments']
|
||||||
|
)
|
||||||
|
|
||||||
|
builder.createDoc(
|
||||||
|
notification.class.NotificationGroup,
|
||||||
|
core.space.Model,
|
||||||
|
{
|
||||||
|
label: lead.string.Funnels,
|
||||||
|
icon: lead.icon.Funnel,
|
||||||
|
objectClass: lead.class.Funnel
|
||||||
|
},
|
||||||
|
lead.ids.FunnelNotificationGroup
|
||||||
|
)
|
||||||
|
|
||||||
|
builder.createDoc(
|
||||||
|
notification.class.NotificationType,
|
||||||
|
core.space.Model,
|
||||||
|
{
|
||||||
|
hidden: false,
|
||||||
|
generated: false,
|
||||||
|
label: lead.string.LeadCreateLabel,
|
||||||
|
group: lead.ids.FunnelNotificationGroup,
|
||||||
|
field: 'space',
|
||||||
|
txClasses: [core.class.TxCreateDoc, core.class.TxUpdateDoc],
|
||||||
|
objectClass: lead.class.Funnel,
|
||||||
|
spaceSubscribe: true,
|
||||||
|
providers: {
|
||||||
|
[notification.providers.PlatformNotification]: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
lead.ids.LeadCreateNotification
|
||||||
|
)
|
||||||
|
|
||||||
|
generateClassNotificationTypes(builder, lead.class.Funnel, lead.ids.FunnelNotificationGroup, [], ['comments'])
|
||||||
|
|
||||||
builder.createDoc(
|
builder.createDoc(
|
||||||
view.class.Viewlet,
|
view.class.Viewlet,
|
||||||
core.space.Model,
|
core.space.Model,
|
||||||
|
@ -66,6 +66,9 @@ export default mergeIds(leadId, lead, {
|
|||||||
},
|
},
|
||||||
ids: {
|
ids: {
|
||||||
LeadNotificationGroup: '' as Ref<NotificationGroup>,
|
LeadNotificationGroup: '' as Ref<NotificationGroup>,
|
||||||
|
CustomerNotificationGroup: '' as Ref<NotificationGroup>,
|
||||||
|
FunnelNotificationGroup: '' as Ref<NotificationGroup>,
|
||||||
|
LeadCreateNotification: '' as Ref<NotificationType>,
|
||||||
AssigneeNotification: '' as Ref<NotificationType>
|
AssigneeNotification: '' as Ref<NotificationType>
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user