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)
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)