From 921291ba243c7c71b34b563ff4cd49071c8cd252 Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Thu, 6 Apr 2023 17:52:32 +0700 Subject: [PATCH] TSK-1015: Bitrix Create Vacancy/Application (#2913) Signed-off-by: Andrey Sobolev --- plugins/bitrix-resources/package.json | 4 +- .../src/components/AttributeMapper.svelte | 6 ++ .../components/CreateMappingAttribute.svelte | 3 + .../components/FieldMappingPresenter.svelte | 3 + .../CreateHRApplicationMapping.svelte | 95 +++++++++++++++++++ .../CreateHRApplicationPresenter.svelte | 37 ++++++++ plugins/bitrix/package.json | 4 +- plugins/bitrix/src/hr.ts | 72 ++++++++++++++ plugins/bitrix/src/sync.ts | 17 ++-- plugins/bitrix/src/types.ts | 34 ++++++- plugins/bitrix/src/utils.ts | 86 ++++++++++++++++- plugins/recruit-assets/lang/en.json | 4 +- plugins/recruit-assets/lang/ru.json | 3 +- .../VacancyApplicationsPopup.svelte | 27 ++++-- .../components/VacancyCountPresenter.svelte | 13 ++- plugins/recruit-resources/src/plugin.ts | 3 +- 16 files changed, 381 insertions(+), 30 deletions(-) create mode 100644 plugins/bitrix-resources/src/components/mappings/CreateHRApplicationMapping.svelte create mode 100644 plugins/bitrix-resources/src/components/mappings/CreateHRApplicationPresenter.svelte create mode 100644 plugins/bitrix/src/hr.ts diff --git a/plugins/bitrix-resources/package.json b/plugins/bitrix-resources/package.json index cfab4e1821..27f3281260 100644 --- a/plugins/bitrix-resources/package.json +++ b/plugins/bitrix-resources/package.json @@ -53,7 +53,9 @@ "qs": "~6.11.0", "@hcengineering/tags": "^0.6.3", "@hcengineering/tags-resources": "^0.6.0", - "fast-equals": "^2.0.3" + "fast-equals": "^2.0.3", + "@hcengineering/recruit": "^0.6.8", + "@hcengineering/task": "^0.6.3" }, "repository": "https://github.com/hcengineering/anticrm", "publishConfig": { diff --git a/plugins/bitrix-resources/src/components/AttributeMapper.svelte b/plugins/bitrix-resources/src/components/AttributeMapper.svelte index 844eefa3fe..beea9b1e04 100644 --- a/plugins/bitrix-resources/src/components/AttributeMapper.svelte +++ b/plugins/bitrix-resources/src/components/AttributeMapper.svelte @@ -70,6 +70,12 @@ action: (_: any, evt: MouseEvent) => { addMapping(evt, MappingOperation.FindReference) } + }, + { + label: getEmbeddedLabel('Create Vacancy and application'), + action: (_: any, evt: MouseEvent) => { + addMapping(evt, MappingOperation.CreateHRApplication) + } } ] as Action[] diff --git a/plugins/bitrix-resources/src/components/CreateMappingAttribute.svelte b/plugins/bitrix-resources/src/components/CreateMappingAttribute.svelte index 61b9e059c7..649ea89360 100644 --- a/plugins/bitrix-resources/src/components/CreateMappingAttribute.svelte +++ b/plugins/bitrix-resources/src/components/CreateMappingAttribute.svelte @@ -5,6 +5,7 @@ import { Label } from '@hcengineering/ui' import bitrix from '../plugin' import CopyMapping from './mappings/CopyMapping.svelte' + import CreateAttachedDocMapping from './mappings/CreateHRApplicationMapping.svelte' import CreateChannelMapping from './mappings/CreateChannelMapping.svelte' import CreateTagMapping from './mappings/CreateTagMapping.svelte' import DownloadAttachmentMapping from './mappings/DownloadAttachmentMapping.svelte' @@ -45,5 +46,7 @@ {:else if _kind === MappingOperation.FindReference} + {:else if _kind === MappingOperation.CreateHRApplication} + {/if} diff --git a/plugins/bitrix-resources/src/components/FieldMappingPresenter.svelte b/plugins/bitrix-resources/src/components/FieldMappingPresenter.svelte index ae361ac3e9..78f124d640 100644 --- a/plugins/bitrix-resources/src/components/FieldMappingPresenter.svelte +++ b/plugins/bitrix-resources/src/components/FieldMappingPresenter.svelte @@ -4,6 +4,7 @@ import { getClient } from '@hcengineering/presentation' import { Button, Icon, IconArrowLeft, IconClose, Label } from '@hcengineering/ui' import CopyMappingPresenter from './mappings/CopyMappingPresenter.svelte' + import CreateAttachedDocPresenter from './mappings/CreateHRApplicationPresenter.svelte' import CreateChannelMappingPresenter from './mappings/CreateChannelMappingPresenter.svelte' import CreateTagMappingPresenter from './mappings/CreateTagMappingPresenter.svelte' import DownloadAttachmentPresenter from './mappings/DownloadAttachmentPresenter.svelte' @@ -40,6 +41,8 @@ {:else if kind === MappingOperation.FindReference} + {:else if kind === MappingOperation.CreateHRApplication} + {/if}