def email_user(self, request, template, subject, context={}): context = RequestContext(request, context) context['author'] = context['user'] context['user'] = self email_html = render_to_string('_email/%s.html' % template, context_instance=context) email_text = render_to_string('_email/%s.txt' % template, context_instance=context) # Set message recipient if settings.DEBUG and settings.CATCH_ALL_EMAIL_ADDRESS: recipient = settings.CATCH_ALL_EMAIL_ADDRESS else: recipient = self.email # Set message author if settings.board_name: sender = '%s <%s>' % (settings.board_name.replace("<", "(").replace(">", ")"), settings.EMAIL_HOST_USER) else: sender = settings.EMAIL_HOST_USER # Build message and add it to queue email = EmailMultiAlternatives(subject, email_text, sender, [recipient]) email.attach_alternative(email_html, "text/html") request.mails_queue.append(email)
def email_user(self, request, template, subject, context={}): context = RequestContext(request, context) context['author'] = context['user'] context['user'] = self email_html = render_to_string('_email/%s.html' % template, context_instance=context) email_text = render_to_string('_email/%s.txt' % template, context_instance=context) # Set message recipient if settings.DEBUG and settings.CATCH_ALL_EMAIL_ADDRESS: recipient = settings.CATCH_ALL_EMAIL_ADDRESS else: recipient = self.email # Set message author if settings.board_name: sender = '%s <%s>' % (settings.board_name.replace( "<", "(").replace(">", ")"), settings.DEFAULT_FROM_EMAIL) else: sender = settings.DEFAULT_FROM_EMAIL # Build message and add it to queue email = EmailMultiAlternatives(subject, email_text, sender, [recipient]) email.attach_alternative(email_html, "text/html") request.mails_queue.append(email)
def clear_recent(request): if not request.is_ajax() or not request.method == 'POST': return error404(request) del request.session['recent_alerts'] response_html = render_to_string('alerts/cleared.html', context_instance=RequestContext(request)) return json_response(request, json={'html': response_html})
def clear_recent(request): if not request.is_ajax() or not request.method == 'POST': return error404(request) try: del request.session['recent_alerts'] except KeyError: pass response_html = render_to_string('alerts/cleared.html', context_instance=RequestContext(request)) return json_response(request, json={'html': response_html})
def alerts(request): if request.is_ajax(): if request.session.get('recent_alerts'): alerts_qs = request.user.alert_set.filter(date__gte=request.session['recent_alerts']).order_by('-id') else: alerts_qs = () response_html = render_to_string('alerts/modal.html', {'alerts': alerts_qs}, context_instance=RequestContext(request)) if request.user.alerts: request.user.alerts = 0 request.user.alerts_date = timezone.now() request.user.save(force_update=True) return json_response(request, json={'html': response_html}) if not request.user.alerts_date: request.user.alerts_date = request.user.join_date now = localtime(timezone.now()) yesterday = now - timedelta(days=1) alerts = {} for alert in request.user.alert_set.order_by('-id'): alert.new = alert.date > request.user.alerts_date alert_date = localtime(deepcopy(alert.date)) diff = now - alert_date if now.date() == alert_date.date(): try: alerts['today'].append(alert) except KeyError: alerts['today'] = [alert] elif yesterday.date() == alert_date.date(): try: alerts['yesterday'].append(alert) except KeyError: alerts['yesterday'] = [alert] elif diff.days <= 7: try: alerts['week'].append(alert) except KeyError: alerts['week'] = [alert] elif diff.days <= 30: try: alerts['month'].append(alert) except KeyError: alerts['month'] = [alert] else: try: alerts['older'].append(alert) except KeyError: alerts['older'] = [alert] new_alerts = request.user.alerts request.user.alerts = 0 request.user.alerts_date = now request.user.save(force_update=True) return render_to_response('alerts/list.html', { 'new_alerts': new_alerts, 'alerts': alerts, }, context_instance=RequestContext(request))
def alerts(request): if request.is_ajax(): if request.session.get('recent_alerts'): alerts_qs = request.user.alert_set.filter( date__gte=request.session['recent_alerts']).order_by('-id') else: alerts_qs = () response_html = render_to_string( 'alerts/modal.html', {'alerts': alerts_qs}, context_instance=RequestContext(request)) if request.user.alerts: request.user.alerts = 0 request.user.alerts_date = timezone.now() request.user.save(force_update=True) return json_response(request, json={'html': response_html}) if not request.user.alerts_date: request.user.alerts_date = request.user.join_date now = localtime(timezone.now()) yesterday = now - timedelta(days=1) alerts = {} for alert in request.user.alert_set.order_by('-id'): alert.new = alert.date > request.user.alerts_date alert_date = localtime(deepcopy(alert.date)) diff = now - alert_date if now.date() == alert_date.date(): try: alerts['today'].append(alert) except KeyError: alerts['today'] = [alert] elif yesterday.date() == alert_date.date(): try: alerts['yesterday'].append(alert) except KeyError: alerts['yesterday'] = [alert] elif diff.days <= 7: try: alerts['week'].append(alert) except KeyError: alerts['week'] = [alert] elif diff.days <= 30: try: alerts['month'].append(alert) except KeyError: alerts['month'] = [alert] else: try: alerts['older'].append(alert) except KeyError: alerts['older'] = [alert] new_alerts = request.user.alerts request.user.alerts = 0 request.user.alerts_date = now request.user.save(force_update=True) return render_to_response('alerts/list.html', { 'new_alerts': new_alerts, 'alerts': alerts, }, context_instance=RequestContext(request))