コード例 #1
0
ファイル: test_models.py プロジェクト: alhadheri/etools
    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)
コード例 #2
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)
コード例 #3
0
ファイル: views.py プロジェクト: adi130987/etools
    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
コード例 #4
0
ファイル: views.py プロジェクト: adi130987/etools
    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
コード例 #5
0
ファイル: views.py プロジェクト: adi130987/etools
    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
コード例 #6
0
    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
コード例 #7
0
ファイル: test_views.py プロジェクト: alhadheri/etools
    def test_list_view_without_tpm_organization(self):
        user = UserFactory(unicef_user=True)
        user.groups.add(ThirdPartyMonitor.as_group())

        self._test_list_view(user, [])
コード例 #8
0
ファイル: signals.py プロジェクト: alhadheri/etools
def create_user_receiver(instance, created, **kwargs):
    if created:
        instance.user.groups.add(ThirdPartyMonitor.as_group())
        instance.user.profile.countries_available.add(connection.tenant)
コード例 #9
0
def create_user_receiver(instance, created, **kwargs):
    if created:
        instance.user.groups.add(ThirdPartyMonitor.as_group())