0

我想根据链接的子项对项创建约束。

我有一个名为“项目”的项目,其中包含“任务”的子项目。这两种项目类型都有一个状态字段和相同的值,例如“进行中”、“准备审查”、“完成”等。我想要做的是阻止用户更改“项目”/父项目如果所有“任务”/子项都不处于正确或相同的状态,则状态到下一个状态。一旦所有任务都设置为正确的状态,我想允许项目项状态为高级。那么,这是否可能,如果可以的话,有人可以指点我正确的文档吗?

视觉示例:

(T1)

 Project State:In Progress
      Children:
           Task 1 State:In Progress
           Task 2 State:In Progress

(T2) - 请注意,此时用户将无法将项目状态更改为下一个状态,因为所有任务都未完成。

Project State:In Progress
     Children:
           Task 1 State:Ready For Review
           Task 2 State:In Progress

(T3)

 Project State:In Progress
      Children:
           Task 1 State:Completed
           Task 2 State:Ready For Review

(T4) - 现在用户可以将项目项状态移动到已完成,因为所有子项都处于正确状态。

 Project State:In Progress
      Children:
           Task 1 State:Completed
           Task 2 State:Completed

(T5)

 Project State:Completed
      Children:
           Task 1 State:Completed
           Task 2 State:Completed
4

1 回答 1

0

据我所知,这是不可能通过约束实现的,您可能需要基于自定义规则的触发器来实现此功能。

触发器的事件将类似于 (type = project And state !=state[old value] And state[old value]=In Progress And state[new value]=Completed )

这个触发器会做什么?它将检查所有子任务的状态,如果任何子任务未完成,它将弹出消息“在将项目移动到完成状态之前应完成所有子任务”

于 2016-06-09T12:44:34.010 回答