def test_signal(self): ThirdPartyMonitor.invalidate_cache() staff_member = TPMPartnerStaffMemberFactory(tpm_partner=self.firm) self.assertIn(ThirdPartyMonitor.name, staff_member.user.groups.values_list('name', flat=True)) self.assertEqual(len(mail.outbox), 0)
def get_redirect_url(self, *args, **kwargs): if not self.request.user.is_staff: if ThirdPartyMonitor.as_group() in self.request.user.groups.all(): return '/tpm/' if Auditor.as_group() in self.request.user.groups.all(): return '/ap/' return super().get_redirect_url(*args, **kwargs)
def get_permission_context(self): context = super(TPMVisitViewSet, self).get_permission_context() if ThirdPartyMonitor.as_group() in self.request.user.groups.all() and \ hasattr(self.request.user, 'tpmpartners_tpmpartnerstaffmember'): context += [ TPMStaffMemberCondition( self.request.user.tpmpartners_tpmpartnerstaffmember. tpm_partner, self.request.user), ] return context
def get_queryset(self): queryset = super(TPMVisitViewSet, self).get_queryset() user_groups = self.request.user.groups.all() if UNICEFUser.as_group() in user_groups or PME.as_group( ) in user_groups: # no need to filter queryset pass elif ThirdPartyMonitor.as_group() in user_groups and \ hasattr(self.request.user, 'tpmpartners_tpmpartnerstaffmember'): queryset = queryset.filter( tpm_partner=self.request.user.tpmpartners_tpmpartnerstaffmember .tpm_partner).exclude(status=TPMVisit.STATUSES.draft) else: queryset = queryset.none() return queryset
def get_queryset(self): queryset = super(TPMPartnerViewSet, self).get_queryset() if getattr(self, 'action', None) == 'list': queryset = queryset.country_partners() user_groups = self.request.user.groups.all() if UNICEFUser.as_group() in user_groups or PME.as_group( ) in user_groups: # no need to filter queryset pass elif ThirdPartyMonitor.as_group() in user_groups: queryset = queryset.filter(staff_members__user=self.request.user) else: queryset = queryset.none() return queryset
def get_queryset(self): queryset = super().get_queryset().distinct() user_groups = self.request.user.groups.all() if UNICEFUser.as_group() in user_groups or PME.as_group( ) in user_groups: # no need to filter queryset pass elif ThirdPartyMonitor.as_group() in user_groups and \ hasattr(self.request.user, 'tpmpartners_tpmpartnerstaffmember'): queryset = queryset.filter( tpm_partner=self.request.user. tpmpartners_tpmpartnerstaffmember.tpm_partner).exclude( Q(status=TPMVisit.STATUSES.draft) | Q(status=TPMVisit.STATUSES.cancelled, date_of_assigned__isnull=True) # cancelled draft ) else: queryset = queryset.none() return queryset
def test_list_view_without_tpm_organization(self): user = UserFactory(unicef_user=True) user.groups.add(ThirdPartyMonitor.as_group()) self._test_list_view(user, [])
def create_user_receiver(instance, created, **kwargs): if created: instance.user.groups.add(ThirdPartyMonitor.as_group()) instance.user.profile.countries_available.add(connection.tenant)
def create_user_receiver(instance, created, **kwargs): if created: instance.user.groups.add(ThirdPartyMonitor.as_group())