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