コード例 #1
0
ファイル: forms.py プロジェクト: yurkobb/shuup
    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop("request")
        super(ContactGroupPriceDisplayForm, self).__init__(*args, **kwargs)
        shop = get_shop(self.request)
        if self.instance.pk:
            self.fields["group"].choices = [(self.instance.group.id, self.instance.group.name)]
            self.fields["group"].initial = self.instance.group
        else:
            self.fields["group"].choices = [
                (group.id, group.name) for group in get_groups_for_price_display_create(shop)
            ]

        self.fields["shop"] = forms.ModelChoiceField(
            queryset=Shop.objects.filter(pk=shop.id),
            initial=shop,
            widget=HiddenInput(),
            label=_("shop"),
            required=False,
        )

        self.fields["price_display_mode"] = forms.ChoiceField(
            choices=PriceDisplayChoices.choices(),
            label=_("Price display mode"),
            initial=get_price_display_mode(self.request, self.instance),
            help_text=_("Set how prices are displayed to contacts in this group."),
        )
コード例 #2
0
def test_display_queryset(regular_user):
    shop = get_default_shop()
    anonymous_group = AnonymousContact().get_default_group()
    PersonContact().get_default_group()
    CompanyContact().get_default_group()
    assert get_groups_for_price_display_create(shop).count() == 3
    assert get_price_displays_for_shop(None).count() == 3
    assert get_price_displays_for_shop(shop).count() == 3

    get_person_contact(regular_user)

    assert get_price_displays_for_shop(shop).count() == 3

    # create new group display (from admin usually)
    ContactGroupPriceDisplay.objects.create(group=anonymous_group, shop=shop)

    for_create = get_groups_for_price_display_create(shop)
    assert for_create.count() == 2
    assert anonymous_group not in for_create


    items = get_price_displays_for_shop(shop)
    assert items.count() == 3
    for item in items:
        if item.group == anonymous_group:
            assert item.shop
        else:
            assert not item.shop
        assert item.group.identifier in PROTECTED_CONTACT_GROUP_IDENTIFIERS

    new_group = ContactGroup.objects.create(identifier="test", shop=shop)

    items = get_price_displays_for_shop(shop)
    assert items.count() == 4
    for item in items:
        if item.group in [new_group, anonymous_group]:
            assert item.shop
        else:
            assert not item.shop
        if item.group != new_group:
            assert item.group.identifier in PROTECTED_CONTACT_GROUP_IDENTIFIERS
        else:
            assert item.group.identifier == "test"
コード例 #3
0
def test_display_queryset(regular_user):
    shop = get_default_shop()
    anonymous_group = AnonymousContact().get_default_group()
    PersonContact().get_default_group()
    CompanyContact().get_default_group()
    assert get_groups_for_price_display_create(shop).count() == 3
    assert get_price_displays_for_shop(None).count() == 3
    assert get_price_displays_for_shop(shop).count() == 3

    get_person_contact(regular_user)

    assert get_price_displays_for_shop(shop).count() == 3

    # create new group display (from admin usually)
    ContactGroupPriceDisplay.objects.create(group=anonymous_group, shop=shop)

    for_create = get_groups_for_price_display_create(shop)
    assert for_create.count() == 2
    assert anonymous_group not in for_create

    items = get_price_displays_for_shop(shop)
    assert items.count() == 3
    for item in items:
        if item.group == anonymous_group:
            assert item.shop
        else:
            assert not item.shop
        assert item.group.identifier in PROTECTED_CONTACT_GROUP_IDENTIFIERS

    new_group = ContactGroup.objects.create(identifier="test", shop=shop)

    items = get_price_displays_for_shop(shop)
    assert items.count() == 4
    for item in items:
        if item.group in [new_group, anonymous_group]:
            assert item.shop
        else:
            assert not item.shop
        if item.group != new_group:
            assert item.group.identifier in PROTECTED_CONTACT_GROUP_IDENTIFIERS
        else:
            assert item.group.identifier == "test"
コード例 #4
0
ファイル: list.py プロジェクト: ruqaiya/shuup
    def get_context_data(self, **kwargs):
        context = super(ContactGroupPriceDisplayListView, self).get_context_data(**kwargs)
        if self.request.user.is_superuser:
            settings_button = SettingsActionButton.for_model(
                ContactGroupPriceDisplay, return_url="contact_group_price_display")
        else:
            settings_button = None

        shop = get_shop(self.request)
        can_create = len(get_groups_for_price_display_create(shop))
        context["toolbar"] = Toolbar([
            NewActionButton("shuup_admin:contact_group_price_display.new") if can_create else None,
            settings_button
        ], view=self)
        return context
コード例 #5
0
    def get_context_data(self, **kwargs):
        context = super(ContactGroupPriceDisplayListView, self).get_context_data(**kwargs)
        if self.request.user.is_superuser:
            settings_button = SettingsActionButton.for_model(
                ContactGroupPriceDisplay, return_url="contact_group_price_display")
        else:
            settings_button = None

        shop = get_shop(self.request)
        can_create = len(get_groups_for_price_display_create(shop))
        context["toolbar"] = Toolbar([
            NewActionButton("shuup_admin:contact_group_price_display.new") if can_create else None,
            settings_button
        ], view=self)
        return context
コード例 #6
0
ファイル: forms.py プロジェクト: ruqaiya/shuup
    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop("request")
        super(ContactGroupPriceDisplayForm, self).__init__(*args, **kwargs)
        shop = get_shop(self.request)
        if self.instance.pk:
            self.fields["group"].choices = [(self.instance.group.id, self.instance.group.name)]
            self.fields["group"].initial = self.instance.group
        else:
            self.fields["group"].choices = [
                (group.id, group.name) for group in get_groups_for_price_display_create(shop)]

        self.fields["shop"] = forms.ModelChoiceField(
            queryset=Shop.objects.filter(pk=shop.id),
            initial=shop,
            widget=HiddenInput(),
            label=_('shop'),
            required=False)

        self.fields['price_display_mode'] = forms.ChoiceField(
            choices=PriceDisplayChoices.choices(),
            label=_("Price display mode"),
            initial=get_price_display_mode(self.request, self.instance),
            help_text=_("Set how prices are displayed to contacts in this group."))