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])
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)
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')
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')
def setUp(self): super(ActionPointsTestCaseMixin, self).setUp() # clearing groups cache GroupWrapper.invalidate_instances()
'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')