Ejemplo n.º 1
0
    def for_model(cls, model, **kwargs):
        """
        Generate a SettingsActionButton for a model, auto-wiring the URL.

        :param model: Model class
        :rtype: shuup.admin.toolbar.SettingsActionButton|None
        """
        if "url" not in kwargs:
            try:
                url = get_model_url(model, kind="list_settings")
            except NoModelUrl:
                return None
            return_url = kwargs.get("return_url")
            if not return_url:
                return_url = camelcase_to_snakecase(model.__name__)
            kwargs["url"] = url + "?module=%s&model=%s&return_url=%s" % (model.__module__, model.__name__, return_url)

        return cls(**kwargs)
Ejemplo n.º 2
0
    def for_model(cls, model, **kwargs):
        """
        Generate a SettingsActionButton for a model, auto-wiring the URL.

        :param model: Model class
        :rtype: shuup.admin.toolbar.SettingsActionButton|None
        """
        if "url" not in kwargs:
            try:
                url = get_model_url(model, kind="list_settings")
            except NoModelUrl:
                return None
            return_url = kwargs.get("return_url")
            if not return_url:
                return_url = camelcase_to_snakecase(model.__name__)
            kwargs["url"] = url + "?module=%s&model=%s&return_url=%s" % (
                model.__module__, model.__name__, return_url)

        return cls(**kwargs)