2017-08-18 56 views
1

我正在使用Viewflow/Django並嘗試分配由動態節點創建的任務。自動爲用戶分配任務(Viewflow,Django)

我在customnode中使用了相同的nodes.py

但是,我需要根據MOCTask model(受讓人)中的信息自動分配每個新任務。

但是任務不允許使用除特定用戶對象以外的其他任何對象進行賦值,並且我無權訪問MOCTask對象(它們通過外鍵與MOC相關,外鍵與MOCProcess有關,流量本身)。

我的代碼,我試圖(flows.py):

... 
split_on_task_assignment = (
    DynamicSplit(lambda p: MOCTask.objects.filter(MOC=p.MOC).count()) 
    .IfNone(this.end) 
    .Next(this.task_completion) 
) 

task_completion = (
    flow.View(views.TaskCompletion) 
    .Permission('MOC.is_MOC_actor') 
    .Assign(this.assign_actors) 
    .Next(this.join_on_task_completion) 
) 
... 
def assign_actors(self, activation): 
    task = MOCTask.objects.filter(MOC=activation.process.MOC, assigned=False).first() 
    task.assigned = True 
    task.save() 
    return User.objects.filter(email=task.assignee).first() 

但是,我不能把在分配塊this參考,所以我不知道如何着手。

任何想法?

回答

0

用戶可以內部DynamicSplitActivation被分配在創建後續任務時

def activate_next(self): if self._split_count: token_source = Token.split_token_source( self.task.token, self.task.pk) for _ in range(self._split_count): activation = self.flow_task._next.activate( prev_activation=self, token=next(token_source)) activation.activate(..a user..)