def _send_invitation_email(self, request, queryset, action, custom_message=''): """ action can be: - send: sending the email for the first time - resend: resending the email - force: sending the email with a custom message """ from django.utils import translation n_sent = 0 for obj in queryset: if (action == 'send' and not obj.is_invited) \ or (action == 'resend' and obj.is_invited) \ or action == 'force': cur_language = translation.get_language() try: translation.activate(obj.user_lang) invite_sent.send(sender=self.__class__, email=obj.email, invitation_code=obj.code, request=request, custom_message=custom_message) n_sent += 1 finally: translation.activate(cur_language) messages.info(request, _('{0} invitation email(s) sent correctly.').format(n_sent) )
def save(self, *args, **kwargs): send_email = kwargs.pop('send_email', False) request = kwargs.pop('request', None) if send_email and self.invited and not self.used: invite_sent.send(sender=self.__class__, invitation=self, request=request, user=self.user) super(Invitation, self).save(*args, **kwargs)
def resend_invite(modeladmin, request, queryset): for obj in queryset: if obj.is_invited: invite_sent.send(sender=modeladmin.__class__, email=obj.email, invitation_code=obj.code, user=obj.user, request=request)
def send_invitation_preview(self, request): cur_language = translation.get_language() try: translation.activate(request.POST.get('lang')) invite_sent.send(sender=self.__class__, email=request.user.email, invitation_code='invitationcode', request=request, custom_message=request.POST.get('message') ) finally: translation.activate(cur_language) return HttpResponse('OK')
def resend_invite(self, request, queryset): obj = queryset[0] email_col = 0 code_col = 0 for field in obj._meta.fields: if field.get_attname() == "email": break email_col = email_col + 1 for field in obj._meta.fields: if field.get_attname() == "code": break code_col = code_col + 1 for obj in queryset: email = obj._meta.fields[email_col].value_to_string(obj) code = obj._meta.fields[code_col].value_to_string(obj) if obj.is_invited: invite_sent.send(sender=self.__class__, email=email, invitation_code=code, request=request)