Unverified Commit f3f89287 authored by Nate Coraor's avatar Nate Coraor
Browse files

Make `default_panel_view` a `_by_host` option

parent 9d601f8c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2903,6 +2903,7 @@ mapping:
        type: str
        default: default
        required: false
        per_host: true
        desc: |
          Default tool panel view for the current Galaxy configuration. This should refer to an id of
          a panel view defined using the panel_views or panel_views_dir configuration options or an
+6 −3
Original line number Diff line number Diff line
@@ -156,7 +156,7 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
        Create a toolbox from the config files named by `config_filenames`, using
        `tool_root_dir` as the base directory for finding individual tool config files.
        """
        self._default_panel_view = default_panel_view
        self.__default_panel_view = default_panel_view
        # The _dynamic_tool_confs list contains dictionaries storing
        # information about the tools defined in each shed-related
        # shed_tool_conf.xml file.
@@ -238,6 +238,9 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
        if save_integrated_tool_panel:
            self._save_integrated_tool_panel()

    def _default_panel_view(self, trans):
        return self.app.config.config_value_for_host("default_panel_view", trans.host) or self.__default_panel_view

    def create_tool(self, config_file, tool_shed_repository=None, guid=None, **kwds):
        raise NotImplementedError()

@@ -1275,7 +1278,7 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
    def tool_panel_contents(self, trans, view=None, **kwds):
        """Filter tool_panel contents for displaying for user."""
        if view is None:
            view = self._default_panel_view
            view = self._default_panel_view(trans)
        if view not in self._tool_panel_view_rendered:
            raise RequestParameterInvalidException(f"No panel view {view} found.")
        filter_method = self._build_filter_method(trans)
@@ -1338,7 +1341,7 @@ class AbstractToolBox(Dictifiable, ManagesIntegratedToolPanelMixin):
            {section_id: { section but with .tools=List[all tool ids] }, ...}}
        """
        if view == "default_panel_view":
            view = self._default_panel_view
            view = self._default_panel_view(trans)
        view_contents: Dict[str, Dict] = {}
        panel_elts = self.tool_panel_contents(trans, view=view, **kwds)
        for elt in panel_elts:
+1 −1
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ class ToolsController(BaseGalaxyAPIController, UsesVisualizationMixin):
        """

        rval = {}
        rval["default_panel_view"] = self.app.toolbox._default_panel_view
        rval["default_panel_view"] = self.app.toolbox._default_panel_view(trans)
        rval["views"] = self.app.toolbox.panel_view_dicts()
        return rval