Skip to content

Commit 78bf474

Browse files
authored
feat: add unlock card and section functionality with UI updates (#10492)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
1 parent 89f7445 commit 78bf474

33 files changed

Lines changed: 230 additions & 42 deletions

models/process/src/actions.ts

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,9 @@ export function defineMethods (builder: Builder): void {
3838
label: process.string.RequestApproval,
3939
objectClass: process.class.ApproveRequest,
4040
editor: process.component.ApproveRequestEditor,
41-
presenter: process.component.ApproveRequestPresenter,
41+
presenter: process.component.ToDoPresenter,
4242
createdContext: {
43-
_class: process.class.ApproveRequest,
44-
nameField: 'title'
43+
_class: process.class.ApproveRequest
4544
},
4645
requiredParams: ['user']
4746
},
@@ -146,4 +145,30 @@ export function defineMethods (builder: Builder): void {
146145
},
147146
process.method.LockSection
148147
)
148+
149+
builder.createDoc(
150+
process.class.Method,
151+
core.space.Model,
152+
{
153+
label: process.string.UnlockCard,
154+
objectClass: card.class.Card,
155+
requiredParams: [],
156+
createdContext: null
157+
},
158+
process.method.UnlockCard
159+
)
160+
161+
builder.createDoc(
162+
process.class.Method,
163+
core.space.Model,
164+
{
165+
label: process.string.UnlockSection,
166+
objectClass: card.class.Card,
167+
editor: process.component.LockSectionEditor,
168+
presenter: process.component.UnLockSectionPresenter,
169+
requiredParams: ['_id'],
170+
createdContext: null
171+
},
172+
process.method.UnlockSection
173+
)
149174
}

models/process/src/index.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -199,13 +199,15 @@ export class TExecution extends TDoc implements Execution {
199199
@Model(process.class.ProcessToDo, time.class.ToDo)
200200
@UX(process.string.ToDo)
201201
export class TProcessToDo extends TToDo implements ProcessToDo {
202-
execution!: Ref<Execution>
202+
@Prop(TypeRef(process.class.Execution), process.string.Execution)
203+
execution!: Ref<Execution>
203204

204205
@Prop(TypeBoolean(), process.string.Rollback)
205206
withRollback!: boolean
206207
}
207208

208209
@Model(process.class.ApproveRequest, process.class.ProcessToDo)
210+
@UX(process.string.ApproveRequest)
209211
export class TApproveRequest extends TProcessToDo implements ApproveRequest {
210212
@Prop(TypeBoolean(), process.string.IsApproved)
211213
approved?: boolean
@@ -461,7 +463,7 @@ export function createModel (builder: Builder): void {
461463
baseMenuClass: process.class.ApproveRequest
462464
},
463465
viewOptions: {
464-
groupBy: ['user', 'approved'],
466+
groupBy: ['user', 'approved', 'execution'],
465467
orderBy: [
466468
['approved', SortingOrder.Descending],
467469
['modifiedOn', SortingOrder.Descending],
@@ -473,14 +475,18 @@ export function createModel (builder: Builder): void {
473475
strict: true
474476
},
475477
config: [
478+
'user',
479+
{
480+
key: '',
481+
presenter: view.component.GrowPresenter,
482+
displayProps: { grow: true }
483+
},
484+
'reason',
476485
{
477486
key: '',
478487
label: process.string.ApproveRequest,
479488
presenter: process.component.ApproveRequestPresenter
480-
},
481-
'user',
482-
'approved',
483-
'reason'
489+
}
484490
]
485491
},
486492
process.viewlet.CardRequests

models/server-process/src/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,14 @@ export function createModel (builder: Builder): void {
139139
func: serverProcess.func.LockSection
140140
})
141141

142+
builder.mixin(process.method.UnlockCard, process.class.Method, serverProcess.mixin.MethodImpl, {
143+
func: serverProcess.func.UnlockCard
144+
})
145+
146+
builder.mixin(process.method.UnlockSection, process.class.Method, serverProcess.mixin.MethodImpl, {
147+
func: serverProcess.func.UnlockSection
148+
})
149+
142150
builder.mixin(process.function.FirstValue, process.class.ProcessFunction, serverProcess.mixin.FuncImpl, {
143151
func: serverProcess.transform.FirstValue
144152
})

plugins/process-assets/lang/cs.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,10 @@
137137
"FieldIsEmpty": "Pole je prázdné",
138138
"Reviewers": "Recenzenti",
139139
"LockCard": "Zamknout kartu",
140-
"LockSection": "Zamknout sekci"
140+
"LockSection": "Zamknout sekci",
141+
"Approvers": "Schvalovatelé",
142+
"UnlockCard": "Odemknout kartu",
143+
"UnlockSection": "Odemknout sekci"
141144
},
142145
"error": {
143146
"MethodNotFound": "Metoda nenalezena: {methodId}",

plugins/process-assets/lang/de.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,10 @@
137137
"FieldIsEmpty": "Feld ist leer",
138138
"Reviewers": "Prüfer",
139139
"LockCard": "Karte sperren",
140-
"LockSection": "Abschnitt sperren"
140+
"LockSection": "Abschnitt sperren",
141+
"Approvers": "Genehmiger",
142+
"UnlockCard": "Karte entsperren",
143+
"UnlockSection": "Abschnitt entsperren"
141144
},
142145
"error": {
143146
"MethodNotFound": "Methode nicht gefunden: {methodId}",

plugins/process-assets/lang/en.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,10 @@
142142
"FieldIsEmpty": "Field is empty",
143143
"Reviewers": "Reviewers",
144144
"LockCard": "Lock card",
145-
"LockSection": "Lock section"
145+
"LockSection": "Lock section",
146+
"Approvers": "Approvers",
147+
"UnlockCard": "Unlock card",
148+
"UnlockSection": "Unlock section"
146149
},
147150
"error": {
148151
"MethodNotFound": "Method not found: {methodId}",

plugins/process-assets/lang/es.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,10 @@
142142
"FieldIsEmpty": "Campo vacío",
143143
"Reviewers": "Revisores",
144144
"LockCard": "Bloquear tarjeta",
145-
"LockSection": "Bloquear sección"
145+
"LockSection": "Bloquear sección",
146+
"Approvers": "Aprobadores",
147+
"UnlockCard": "Desbloquear tarjeta",
148+
"UnlockSection": "Desbloquear sección"
146149
},
147150
"error": {
148151
"MethodNotFound": "Método no encontrado: {methodId}",

plugins/process-assets/lang/fr.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,10 @@
142142
"FieldIsEmpty": "Le champ est vide",
143143
"Reviewers": "Relecteurs",
144144
"LockCard": "Verrouiller la carte",
145-
"LockSection": "Verrouiller la section"
145+
"LockSection": "Verrouiller la section",
146+
"Approvers": "Approbateurs",
147+
"UnlockCard": "Déverrouiller la carte",
148+
"UnlockSection": "Déverrouiller la section"
146149
},
147150
"error": {
148151
"MethodNotFound": "Méthode introuvable : {methodId}",

plugins/process-assets/lang/it.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,10 @@
142142
"FieldIsEmpty": "Campo vuoto",
143143
"Reviewers": "Revisori",
144144
"LockCard": "Blocca scheda",
145-
"LockSection": "Blocca sezione"
145+
"LockSection": "Blocca sezione",
146+
"Approvers": "Approvatori",
147+
"UnlockCard": "Sblocca scheda",
148+
"UnlockSection": "Sblocca sezione"
146149
},
147150
"error": {
148151
"MethodNotFound": "Metodo non trovato: {methodId}",

plugins/process-assets/lang/ja.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,10 @@
141141
"FieldIsEmpty": "フィールドが空です",
142142
"Reviewers": "レビュー担当者",
143143
"LockCard": "カードをロック",
144-
"LockSection": "セクションをロック"
144+
"LockSection": "セクションをロック",
145+
"Approvers": "承認者",
146+
"UnlockCard": "カードのロックを解除",
147+
"UnlockSection": "セクションのロックを解除"
145148
},
146149
"error": {
147150
"MethodNotFound": "メソッドが見つかりません: {methodId}",

0 commit comments

Comments
 (0)