Example #1
0
File: views.py Project: Posp/hazard
    def form_valid(self, form):
        """
        V pripade ze zadane KML soubory jsou v poradku, ulozime vyparsovana data
        do databaze.
        """
        ip = self.get_ip()
        redis = connect_redis()
        redis.incr('processing')
        try:
            entry, exists = form.save(ip)
        except:
            raise
        finally:
            redis.decr('processing')

        email_template = None
        if not exists:
            if entry.public:
                email_template = 'new'
                messages.success(self.request, u'Hotovo. Díky!')
            else:
                email_template = 'wiki'
                messages.success(self.request, u'Hotovo. Vaše mapa byla uložena, ale musíme v ní ještě doplnit některé údaje. Až dáme věci do pořádku, zveřejníme ji. Díky!', extra_tags='notice')
        else:
            if not entry.public:
                email_template = 'manual_check'
                messages.warning(self.request, u'Hotovo. Záznam pro %s ale v databázi již máme a Váš příspěvek musíme manuálně zkontrolovat. Pokud bude vše v pořádku, dosavadní informace dáme pryč a Vaše nová data zveřejníme. Díky!' % entry.title, extra_tags='notice')
            else:
                messages.warning(self.request, u'Hotovo. Záznam pro %s byl uspěšně aktualizován. Díky!' % entry.title, extra_tags='notice')

        url = reverse('entry-detail', kwargs={'slug': entry.slug})

        # odeslani notifikacniho emailu
        if email_template and hasattr(settings, 'NOTIFICATION_EMAILS') and settings.NOTIFICATION_EMAILS:
            subject = render_to_string("geo/emails/%s_subject.txt" % email_template, {'entry': entry, 'url': url})
            body = render_to_string("geo/emails/%s_body.txt" % email_template, {'entry': entry, 'url': url})
            send_mail(subject.strip(), body.strip(), '*****@*****.**', settings.NOTIFICATION_EMAILS, fail_silently=True)

        return HttpResponseRedirect(url)
Example #2
0
 def __init__(self, *args, **kwargs):
     self.redis = connect_redis()
     self.bypass = hasattr(settings, 'BYPASS_AE_MIDDLEWARE') and getattr(settings, 'BYPASS_AE_MIDDLEWARE', False)
Example #3
0
 def __init__(self, *args, **kwargs):
     self.redis = connect_redis()
Example #4
0
    def form_valid(self, form):
        """
        V pripade ze zadane KML soubory jsou v poradku, ulozime vyparsovana data
        do databaze.
        """
        ip = self.get_ip()
        redis = connect_redis()
        redis.incr('processing')
        try:
            entry, exists = form.save(ip)
        except:
            raise
        finally:
            redis.decr('processing')

        email_template = None
        if not exists:
            if entry.public:
                email_template = 'new'
                messages.success(self.request, u'Hotovo. Díky!')
            else:
                email_template = 'wiki'
                messages.success(
                    self.request,
                    u'Hotovo. Vaše mapa byla uložena, ale musíme v ní ještě doplnit některé údaje. Až dáme věci do pořádku, zveřejníme ji. Díky!',
                    extra_tags='notice')
        else:
            if not entry.public:
                email_template = 'manual_check'
                messages.warning(
                    self.request,
                    u'Hotovo. Záznam pro %s ale v databázi již máme a Váš příspěvek musíme manuálně zkontrolovat. Pokud bude vše v pořádku, dosavadní informace dáme pryč a Vaše nová data zveřejníme. Díky!'
                    % entry.title,
                    extra_tags='notice')
            else:
                messages.warning(
                    self.request,
                    u'Hotovo. Záznam pro %s byl uspěšně aktualizován. Díky!' %
                    entry.title,
                    extra_tags='notice')

        url = reverse('entry-detail', kwargs={'slug': entry.slug})

        # odeslani notifikacniho emailu
        if email_template and hasattr(
                settings,
                'NOTIFICATION_EMAILS') and settings.NOTIFICATION_EMAILS:
            subject = render_to_string(
                "geo/emails/%s_subject.txt" % email_template, {
                    'entry': entry,
                    'url': url
                })
            body = render_to_string("geo/emails/%s_body.txt" % email_template,
                                    {
                                        'entry': entry,
                                        'url': url
                                    })
            send_mail(subject.strip(),
                      body.strip(),
                      '*****@*****.**',
                      settings.NOTIFICATION_EMAILS,
                      fail_silently=True)

        return HttpResponseRedirect(url)
Example #5
0
 def __init__(self, *args, **kwargs):
     self.redis = connect_redis()
     self.bypass = hasattr(settings, 'BYPASS_AE_MIDDLEWARE') and getattr(
         settings, 'BYPASS_AE_MIDDLEWARE', False)
Example #6
0
 def __init__(self, *args, **kwargs):
     self.redis = connect_redis()