Exemple #1
0
    def setUp(self):
        super(AuditTestCaseMixin, self).setUp()
        EmailTemplate.objects.get_or_create(name='audit/staff_member/invite')
        EmailTemplate.objects.get_or_create(
            name='audit/engagement/submit_to_auditor')
        EmailTemplate.objects.get_or_create(
            name='audit/engagement/reported_by_auditor')

        GroupWrapper.invalidate_instances()

        self.auditor_firm = AuditPartnerFactory()

        self.auditor = UserFactory(
            auditor=True,
            partner_firm=self.auditor_firm,
            profile__countries_available=[connection.tenant])
        self.unicef_user = UserFactory(
            first_name='UNICEF User',
            unicef_user=True,
            profile__countries_available=[connection.tenant])
        self.unicef_focal_point = UserFactory(
            first_name='UNICEF Audit Focal Point',
            audit_focal_point=True,
            profile__countries_available=[connection.tenant])
        self.usual_user = UserFactory(
            first_name='Unknown user',
            profile__countries_available=[connection.tenant])
Exemple #2
0
    def setUpTestData(cls):
        call_command('update_tpm_permissions', verbosity=0)
        call_command('update_notifications')

        # clearing groups cache
        GroupWrapper.invalidate_instances()

        cls.pme_user = UserFactory(pme=True)
        cls.unicef_user = UserFactory(unicef_user=True)

        cls.tpm_partner = TPMPartnerFactory()
        cls.tpm_user = UserFactory(tpm=True, tpm_partner=cls.tpm_partner)
Exemple #3
0
        return queryset.filter(tpm_activity__isnull=False)


class TPMActionPoint(ActionPoint):
    """
    This proxy class is for easier permissions assigning.
    """
    objects = TPMActionPointManager()

    class Meta(ActionPoint.Meta):
        verbose_name = _('Engagement Action Point')
        verbose_name_plural = _('Engagement Action Points')
        proxy = True

    def get_mail_context(self, user=None, include_token=False):
        context = super(TPMActionPoint,
                        self).get_mail_context(user=user,
                                               include_token=include_token)
        if self.tpm_activity:
            context['tpm_activity'] = self.tpm_activity.get_mail_context(
                user=user, include_token=include_token)
        return context


PME = GroupWrapper(code='pme', name='PME')

ThirdPartyMonitor = GroupWrapper(code='third_party_monitor',
                                 name='Third Party Monitor')

UNICEFUser = GroupWrapper(code='unicef_user', name='UNICEF User')
Exemple #4
0
    class Meta(ActionPoint.Meta):
        verbose_name = _('Engagement Action Point')
        verbose_name_plural = _('Engagement Action Points')
        proxy = True

    @transition('status',
                source=ActionPoint.STATUSES.open,
                target=ActionPoint.STATUSES.completed,
                permission=has_action_permission(action='complete'),
                conditions=[])
    def complete(self):
        self._do_complete()

    def get_mail_context(self, user=None, include_token=False):
        context = super(EngagementActionPoint,
                        self).get_mail_context(user=user,
                                               include_token=include_token)
        if self.engagement:
            context['engagement'] = self.engagement_subclass.get_mail_context(
                user=user, include_token=include_token)
        return context


UNICEFAuditFocalPoint = GroupWrapper(code='unicef_audit_focal_point',
                                     name='UNICEF Audit Focal Point')

Auditor = GroupWrapper(code='auditor', name='Auditor')

UNICEFUser = GroupWrapper(code='unicef_user', name='UNICEF User')
Exemple #5
0
    def setUp(self):
        super(ActionPointsTestCaseMixin, self).setUp()

        # clearing groups cache
        GroupWrapper.invalidate_instances()
Exemple #6
0
            'environment': get_environment(),
            'action_point': self.get_mail_context(user=recipient),
            'recipient': recipient.get_full_name(),
        }
        context.update(additional_context or {})

        notification = Notification.objects.create(
            sender=self,
            recipients=[recipient.email], template_name=template_name,
            template_data=context
        )
        notification.send_notification()

    def _do_complete(self):
        self.send_email(self.assigned_by, 'action_points/action_point/completed')

    @transition(status, source=STATUSES.open, target=STATUSES.completed,
                permission=has_action_permission(action='complete'),
                conditions=[
                    ActionPointCompleteActionsTakenCheck.as_condition()
                ])
    def complete(self):
        self._do_complete()


PME = GroupWrapper(code='pme',
                   name='PME')

UNICEFUser = GroupWrapper(code='unicef_user',
                          name='UNICEF User')