Merge pull request #7014 from mvdbeek/fix_inability_to_remove_workflow_from_panel

[18.01] Fix display_in_tool_panel status for shared workflows
This commit is contained in:
Björn Grüning
2018-11-15 15:41:51 +01:00
committed by GitHub
2 changed files with 9 additions and 10 deletions
+7
View File
@@ -3756,6 +3756,13 @@ class StoredWorkflow(HasTags, Dictifiable):
self.latest_workflow_id = None
self.workflows = []
def show_in_tool_panel(self, user_id):
sa_session = object_session(self)
return bool(sa_session.query(StoredWorkflowMenuEntry).filter(
StoredWorkflowMenuEntry.stored_workflow_id == self.id,
StoredWorkflowMenuEntry.user_id == user_id,
).count())
def copy_tags_from(self, target_user, source_workflow):
# Override to only copy owner tags.
for src_swta in source_workflow.owner_tags:
+2 -10
View File
@@ -137,11 +137,7 @@ class WorkflowsAPIController(BaseAPIController, UsesStoredWorkflowMixin, UsesAnn
item['url'] = url_for('workflow', id=encoded_id)
item['owner'] = wf.user.username
item['number_of_steps'] = wf.latest_workflow.step_count
item['show_in_tool_panel'] = False
for x in user.stored_workflow_menu_entries:
if x.stored_workflow_id == wf.id:
item['show_in_tool_panel'] = True
break
item['show_in_tool_panel'] = wf.show_in_tool_panel(user_id=user.id)
rval.append(item)
for wf_sa in trans.sa_session.query(model.StoredWorkflowUserShareAssociation).join(
model.StoredWorkflowUserShareAssociation.stored_workflow).options(
@@ -156,11 +152,7 @@ class WorkflowsAPIController(BaseAPIController, UsesStoredWorkflowMixin, UsesAnn
item['slug'] = wf_sa.stored_workflow.slug
item['owner'] = wf_sa.stored_workflow.user.username
item['number_of_steps'] = wf_sa.stored_workflow.latest_workflow.step_count
item['show_in_tool_panel'] = False
for x in user.stored_workflow_menu_entries:
if x.stored_workflow_id == wf_sa.id:
item['show_in_tool_panel'] = True
break
item['show_in_tool_panel'] = wf_sa.stored_workflow.show_in_tool_panel(user_id=user.id)
rval.append(item)
if missing_tools:
workflows_missing_tools = []