Example #1
0
    def test_func(self) -> bool:
        if not self.subscription.family_members.filter(
                username=self.username).exists():
            return False

        if self.subscription.owner == self.request.user:
            return True

        return is_membership_secretary(self.request.user)
Example #2
0
    def __init__(self, *args: Any, authorized_user: User, **kwargs: Any):
        data = kwargs.pop('data', None)

        if data is not None and not is_membership_secretary(authorized_user):
            data = data.copy()
            for field in self._membership_secretary_only_fields:
                if field in data:
                    data.pop(field)

        super().__init__(data, *args, **kwargs)
        self.authorized_user = authorized_user

        self.fields['first_name'].required = True
        self.fields['last_name'].required = True

        self.fields['address_line_1'].required = True
        self.fields['address_city'].required = True
        self.fields['address_state'].required = True
        self.fields['address_postal_code'].required = True
        self.fields['address_country'].required = True
Example #3
0
    def __init__(self, *args: Any, requested_user: User,
                 authenticated_user: User, **kwargs: Any):
        super().__init__(*args, **kwargs)
        self.show_all_membership_choices = (
            is_membership_secretary(authenticated_user)
            and authenticated_user != requested_user)

        if self.show_all_membership_choices:
            self.fields['membership_type'] = forms.ChoiceField(
                choices=MembershipType.choices)
        else:
            self.fields['membership_type'] = forms.ChoiceField(choices=[
                (MembershipType.regular.value, MembershipType.regular.label),
                (MembershipType.student.value, MembershipType.student.label),
                (MembershipType.international.value,
                 MembershipType.international.label),
            ])

        # Defining this field in __init__ so that it comes after membership type
        self.fields['donation'] = forms.IntegerField(required=False,
                                                     min_value=0)
Example #4
0
    def test_func(self) -> bool:
        if self.subscription.owner == self.request.user:
            return True

        return is_membership_secretary(self.request.user)
 def test_func(self) -> bool:
     return (is_membership_secretary(self.request.user)
             or self.request.user.has_perm('accounts.board_member'))
 def test_func(self) -> bool:
     return is_membership_secretary(self.request.user)