def wf_lock_and_update( request: HttpRequest, workflow: Workflow, create_session: Optional[bool] = False, ) -> Workflow: """Lock a workflow and updates the value in the session. :param request: Http request to update :param workflow: Object to store """ workflow.lock(request, create_session) # Update nrows in case it was asynch modified store_workflow_nrows_in_session(request, workflow) return workflow
def _wf_lock_and_update( session: SessionStore, user: get_user_model(), workflow: models.Workflow, create_session: Optional[bool] = False, ) -> models.Workflow: """Lock a workflow and updates the value in the session. :param session: Session being used :param user: User requesting the lock :param workflow: Workflow being modified :param create_session: Boolean encoding if a session needs to be created. :param workflow: Object to store """ workflow.lock(session, user, create_session) # Update nrows in case it was asynch modified _store_workflow_nrows_in_session(session, workflow) return workflow