Esempio n. 1
0
 def get_toolbar(self):
     return Toolbar([
         NewActionButton.for_model(
             PersonContact, url=reverse("shuup_admin:contact.new") + "?type=person"),
         NewActionButton.for_model(
             CompanyContact, extra_css_class="btn-info", url=reverse("shuup_admin:contact.new") + "?type=company")
     ])
Esempio n. 2
0
 def get_toolbar(self):
     return Toolbar([
         NewActionButton.for_model(
             PersonContact, url=reverse("shuup_admin:contact.new") + "?type=person"),
         NewActionButton.for_model(
             CompanyContact, extra_css_class="btn-info", url=reverse("shuup_admin:contact.new") + "?type=company"),
         SettingsActionButton.for_model(Contact, return_url="contact")
     ])
Esempio n. 3
0
 def get_toolbar(self):
     if self.request.user.is_superuser:
         settings_button = SettingsActionButton.for_model(Contact, return_url="contact")
     else:
         settings_button = None
     return Toolbar([
         NewActionButton.for_model(
             PersonContact, url=reverse("shuup_admin:contact.new") + "?type=person"
         ),
         NewActionButton.for_model(
             CompanyContact, extra_css_class="btn-info", url=reverse("shuup_admin:contact.new") + "?type=company"
         ),
         settings_button
     ], view=self)
Esempio n. 4
0
 def get_toolbar(self):
     if self.request.user.is_superuser:
         settings_button = SettingsActionButton.for_model(Contact, return_url="contact")
     else:
         settings_button = None
     return Toolbar([
         NewActionButton.for_model(
             PersonContact, url=reverse("shuup_admin:contact.new") + "?type=person"
         ),
         NewActionButton.for_model(
             CompanyContact, extra_css_class="btn-info", url=reverse("shuup_admin:contact.new") + "?type=company"
         ),
         settings_button
     ], view=self)
Esempio n. 5
0
 def get_toolbar(self):
     toolbar = Toolbar([
         NewActionButton.for_model(Order,
                                   url=reverse("shuup_admin:order.new")),
         SettingsActionButton.for_model(Order, return_url="order")
     ],
                       view=self)
     return toolbar
Esempio n. 6
0
 def get_toolbar(self):
     toolbar = Toolbar([
         NewActionButton.for_model(
             Order, url=reverse("shuup_admin:order.new")
         ),
         SettingsActionButton.for_model(Order, return_url="order")
     ], view=self)
     return toolbar
Esempio n. 7
0
 def get_toolbar(self):
     buttons = []
     model = self.model
     if hasattr(self, "get_model"):
         model = self.get_model()
     new_button = NewActionButton.for_model(model)
     if new_button:
         buttons.append(new_button)
     return Toolbar(buttons)
Esempio n. 8
0
 def get_toolbar(self):
     buttons = []
     model = self.model
     if hasattr(self, "get_model"):
         model = self.get_model()
     new_button = NewActionButton.for_model(model)
     if new_button:
         buttons.append(new_button)
     return Toolbar(buttons)
Esempio n. 9
0
    def get_toolbar(self):
        buttons = []
        model = self.model
        if hasattr(self, "get_model"):
            model = self.get_model()
        new_button = NewActionButton.for_model(model)
        if new_button:
            buttons.append(new_button)

        return_url = self.url_identifier if self.url_identifier else None
        settings_button = SettingsActionButton.for_model(model, return_url=return_url)
        if settings_button:
            buttons.append(settings_button)

        return Toolbar(buttons)
Esempio n. 10
0
    def get_toolbar(self):
        buttons = []
        model = self.model
        if hasattr(self, "get_model"):
            model = self.get_model()
        new_button = NewActionButton.for_model(model)
        if new_button:
            buttons.append(new_button)

        return_url = self.url_identifier if self.url_identifier else None
        settings_button = SettingsActionButton.for_model(model, return_url=return_url)
        if settings_button:
            buttons.append(settings_button)

        return Toolbar(buttons)
Esempio n. 11
0
    def get_toolbar(self):
        toolbar = Toolbar()

        model = self.model
        if hasattr(self, "get_model"):
            model = self.get_model()
        new_button = NewActionButton.for_model(model)
        if new_button:
            toolbar.append(new_button)

        return_url = self.url_identifier if self.url_identifier else None
        if self.request.user.is_superuser:
            settings_button = SettingsActionButton.for_model(model, return_url=return_url)
        else:
            settings_button = None
        if settings_button:
            toolbar.append(settings_button)

        toolbar.extend(Toolbar.for_view(self))
        return toolbar
Esempio n. 12
0
    def get_toolbar(self):
        toolbar = Toolbar()

        model = self.model
        if hasattr(self, "get_model"):
            model = self.get_model()
        new_button = NewActionButton.for_model(model)
        if new_button:
            toolbar.append(new_button)

        return_url = self.url_identifier if self.url_identifier else None
        if self.request.user.is_superuser:
            settings_button = SettingsActionButton.for_model(model, return_url=return_url)
        else:
            settings_button = None
        if settings_button:
            toolbar.append(settings_button)

        toolbar.extend(Toolbar.for_view(self))
        return toolbar
Esempio n. 13
0
    assert not rendered_button

    # Set permissions for the user
    set_permissions_for_group(request.user.groups.first(), permissions)
    rendered_button = "".join(bit for bit in button.render(request))
    assert rendered_button


@pytest.mark.parametrize(
    "button, permission, instance",
    [
        (URLActionButton(url=reverse("shuup_admin:shop_product.new")),
         "shop_product.new", URLActionButton),
        (URLActionButton(url=reverse_lazy("shuup_admin:shop_product.new")),
         "shop_product.new", URLActionButton),
        (NewActionButton.for_model(ShopProduct), "shop_product.new",
         URLActionButton),
        (SettingsActionButton.for_model(ShopProduct, return_url="/"),
         "shop_product.list_settings", URLActionButton),

        # for_model without shuup_admin url returns None
        (NewActionButton.for_model(AbstractUser), "abstract_user.new",
         type(None)),
        (SettingsActionButton.for_model(AbstractUser),
         "abstract_user.list_settings", type(None)),
    ])
def test_url_buttons_permission(rf, button, permission, instance):
    request = rf.get("/")

    assert isinstance(button, instance)
Esempio n. 14
0
    request.user = factories.get_default_staff_user()
    button = button_class(required_permissions=permissions, **kwargs)
    rendered_button = "".join(bit for bit in button.render(request))
    assert not rendered_button

    # Set permissions for the user
    set_permissions_for_group(request.user.groups.first(), permissions)
    rendered_button = "".join(bit for bit in button.render(request))
    assert rendered_button


@pytest.mark.parametrize("button, permission, instance", [
    (URLActionButton(url=reverse("shuup_admin:shop_product.new")), "shop_product.new", URLActionButton),
    (URLActionButton(url=reverse_lazy("shuup_admin:shop_product.new")), "shop_product.new", URLActionButton),

    (NewActionButton.for_model(ShopProduct), "shop_product.new", URLActionButton),
    (SettingsActionButton.for_model(ShopProduct, return_url="/"), "shop_product.list_settings", URLActionButton),

    # for_model without shuup_admin url returns None
    (NewActionButton.for_model(AbstractUser), "abstract_user.new", type(None)),
    (SettingsActionButton.for_model(AbstractUser), "abstract_user.list_settings", type(None)),
])
def test_url_buttons_permission(rf, button, permission, instance):
    request = rf.get("/")

    assert isinstance(button, instance)

    if button is not None:
        request.user = factories.get_default_staff_user()
        assert not "".join(bit for bit in button.render(request))