Пример #1
0
def notify_admins(sender, **kwargs):
    """
        Very simple signal handler which sends emails to site
        admins when a new user has been registered!

        .. warning::

            This handler isn't connected to the ``USER_REGISTERED_SIGNAL`` by default!
    """
    from django.urls import reverse
    from django.conf import settings

    from tcms.core.utils.mailto import mailto
    from tcms.core.utils import request_host_link

    request = kwargs.get('request')
    user = kwargs.get('user')

    admin_emails = []
    for _name, email in settings.ADMINS:
        admin_emails.append(email)

    user_url = request_host_link(request) + reverse('admin:auth_user_change',
                                                    args=[user.pk])

    mailto(template_name='email/user_registered/notify_admins.txt',
           recipients=admin_emails,
           subject=str(_('New user awaiting approval')),
           context={
               'username': user.username,
               'user_url': user_url,
           })
Пример #2
0
def get_attachments_for(request, obj):
    host_link = request_host_link(request)
    result = []
    for attachment in Attachment.objects.attachments_for_object(obj):
        result.append({
            "pk": attachment.pk,
            "url": host_link + attachment.attachment_file.url,
            "owner_pk": attachment.creator.pk,
            "owner_username": attachment.creator.username,
            "date": attachment.created.isoformat(),
        })
    return result
Пример #3
0
def get_attachments_for(request, obj):
    host_link = request_host_link(request)
    result = []
    for attachment in Attachment.objects.attachments_for_object(obj):
        result.append({
            'pk': attachment.pk,
            'url': host_link + attachment.attachment_file.url,
            'owner_pk': attachment.creator.pk,
            'owner_username': attachment.creator.username,
            'date': attachment.created.isoformat(),
        })
    return result
Пример #4
0
 def send_confirm_mail(self, request, activation_key):
     current_site = Site.objects.get(pk=settings.SITE_ID)
     confirm_url = '%s%s' % (
         request_host_link(request, current_site.domain),
         reverse('tcms-confirm', args=[
             activation_key.activation_key,
         ]))
     mailto(template_name='email/confirm_registration.txt',
            recipients=self.cleaned_data['email'],
            subject=_('Your new %s account confirmation') %
            current_site.domain,
            context={
                'user': self.instance,
                'site_domain': current_site.domain,
                'confirm_url': confirm_url,
            })
Пример #5
0
 def send_confirm_mail(self, request, activation_key,
                       template_name='registration/confirm_email.html'):
     current_site = Site.objects.get_current()
     confirm_url = '%s%s' % (
         request_host_link(request, current_site.domain),
         reverse('tcms-confirm',
                 args=[activation_key.activation_key, ])
     )
     mailto(
         template_name=template_name, recipients=self.cleaned_data['email'],
         subject='Your new %s account confirmation' % current_site.domain,
         context={
             'user': self.instance,
             'site': current_site,
             'active_key': activation_key,
             'confirm_url': confirm_url,
         }
     )
Пример #6
0
    def send_confirm_mail(self, request, activation_key):
        current_site = Site.objects.get(pk=settings.SITE_ID)
        confirm_url = request_host_link(request, current_site.domain) + reverse(
            "tcms-confirm",
            args=[
                activation_key.activation_key,
            ],
        )

        mailto(
            template_name="email/confirm_registration.txt",
            recipients=self.cleaned_data["email"],
            subject=_("Your new %s account confirmation") % current_site.domain,
            context={
                "user": self.instance,
                "site_domain": current_site.domain,
                "confirm_url": confirm_url,
            },
        )
Пример #7
0
 def send_confirm_mail(self, request, active_key, template_name = 'registration/confirm_email.html'):
     from django.core.urlresolvers import reverse
     from django.contrib.sites.models import Site
     from tcms.core.utils import mailto, request_host_link
     s = Site.objects.get_current()
     cu = '%s%s' % (
         request_host_link(request, s.domain),
         reverse('tcms.core.contrib.auth.views.confirm', args=[active_key.activation_key, ])
     )
     mailto(
         template_name = template_name, to_mail = self.cleaned_data['email'],
         subject = 'Your new %s account confirmation' % s.domain,
         context = {
             'user': self.instance,
             'site': s,
             'active_key': active_key,
             'confirm_url': cu,
         }
     )
Пример #8
0
def notify_admins(sender, **kwargs):
    """
    Very simple signal handler which sends emails to site
    admins when a new user has been registered!

    .. warning::

        This handler isn't connected to the ``USER_REGISTERED_SIGNAL`` by default!
    """
    from django.conf import settings
    from django.contrib.auth import get_user_model
    from django.urls import reverse

    from tcms.core.utils import request_host_link
    from tcms.core.utils.mailto import mailto

    if kwargs.get("raw", False):
        return

    admin_emails = set()
    # super-users can approve others
    for super_user in get_user_model().objects.filter(is_superuser=True):
        admin_emails.add(super_user.email)
    # site admins should be able to do so as well
    for _name, email in settings.ADMINS:
        admin_emails.add(email)

    request = kwargs.get("request")
    user = kwargs.get("user")
    user_url = request_host_link(request) + reverse("admin:auth_user_change",
                                                    args=[user.pk])

    mailto(
        template_name="email/user_registered/notify_admins.txt",
        recipients=list(admin_emails),
        subject=str(_("New user awaiting approval")),
        context={
            "username": user.username,
            "user_url": user_url,
        },
    )
Пример #9
0
    def send_confirm_mail(self,
                          request,
                          active_key,
                          template_name='registration/confirm_email.html'):
        from django.core.urlresolvers import reverse
        from django.contrib.sites.models import Site
        from tcms.core.utils.mailto import mailto
        from tcms.core.utils import request_host_link

        s = Site.objects.get_current()
        cu = '%s%s' % (request_host_link(request, s.domain),
                       reverse('nitrate-activation-confirm',
                               args=[active_key.activation_key]))
        mailto(template_name=template_name,
               to_mail=self.cleaned_data['email'],
               subject='Your new %s account confirmation' % s.domain,
               context={
                   'user': self.instance,
                   'site': s,
                   'active_key': active_key,
                   'confirm_url': cu,
               })
Пример #10
0
 def get_full_url(self):
     site = Site.objects.get_current()
     host_link = request_host_link(None, site.domain)
     return '{}/{}'.format(host_link, self._get_absolute_url().strip('/'))
Пример #11
0
 def get_full_url(self):
     site = Site.objects.get(pk=settings.SITE_ID)
     host_link = request_host_link(None, site.domain)
     return "{}/{}/".format(host_link, self._get_absolute_url().strip("/"))
Пример #12
0
 def get_full_url(self):
     site = Site.objects.get(pk=settings.SITE_ID)
     host_link = request_host_link(None, site.domain)
     _absolute_url = self._get_absolute_url().strip("/")
     return f"{host_link}/{_absolute_url}/"