Esempio n. 1
0
    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)
        )
Esempio n. 2
0
 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)
Esempio n. 3
0
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)
Esempio n. 4
0
 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)
Esempio n. 5
0
 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')
Esempio n. 6
0
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)
Esempio n. 7
0
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)