Revision fd3870ee flowspec/views.py

b/flowspec/views.py
11 11
from django.shortcuts import get_object_or_404, render_to_response
12 12
from django.core.context_processors import request
13 13
from django.template.context import RequestContext
14
from django.template.loader import get_template
14
from django.template.loader import get_template, render_to_string
15 15
from django.utils import simplejson
16 16
from django.core.urlresolvers import reverse
17 17
from django.contrib import messages
......
30 30

  
31 31
from django.views.decorators.cache import never_cache
32 32
from django.conf import settings
33
from django.core.mail import mail_admins, mail_managers, send_mail
33 34

  
34 35

  
35 36
def days_offset(): return datetime.date.today() + datetime.timedelta(days = settings.EXPIRATION_DAYS_OFFSET)
......
80 81
            route.save()
81 82
            form.save_m2m()
82 83
            route.commit_add()
84
            mail_body = render_to_string("rule_add_mail.txt",
85
                                             {"route": route})
86
            mail_admins("Rule %s creation request submitted by %s" %(route.name, route.applier.username),
87
                          mail_body, fail_silently=True)
83 88
            return HttpResponseRedirect(reverse("group-routes"))
84 89
        else:
85 90
            return render_to_response('apply.html', {'form': form, 'applier':applier},
......
127 132
        messages.add_message(request, messages.WARNING,
128 133
                             "Cannot edit the expired rule %s. Contact helpdesk to enable it" %(route_slug))
129 134
        return HttpResponseRedirect(reverse("group-routes"))
135
    if route_edit.status == "PENDING" :
136
        messages.add_message(request, messages.WARNING,
137
                             "Cannot edit a pending rule: %s." %(route_slug))
138
        return HttpResponseRedirect(reverse("group-routes"))
130 139
    route_original = deepcopy(route_edit)
131 140
    if request.POST:
132 141
        form = RouteForm(request.POST, instance = route_edit)
......
139 148
            route.save()
140 149
            form.save_m2m()
141 150
            route.commit_edit()
151
            mail_body = render_to_string("rule_edit_mail.txt",
152
                                             {"route": route})
153
            mail_admins("Rule %s edit request submitted by %s" %(route.name, route.applier.username),
154
                          mail_body, fail_silently=True)
142 155
            return HttpResponseRedirect(reverse("group-routes"))
143 156
        else:
144 157
            return render_to_response('apply.html', {'form': form, 'edit':True, 'applier': applier},
......
160 173
        if applier_peer == requester_peer:
161 174
            route.status = "PENDING"
162 175
            route.commit_delete()
176
            mail_body = render_to_string("rule_delete_mail.txt",
177
                                             {"route": route})
178
            mail_admins("Rule %s removal request submitted by %s" %(route.name, route.applier.username),
179
                          mail_body, fail_silently=True)
163 180
        html = "<html><body>Done</body></html>"
164 181
        return HttpResponse(html)
165 182
    else:

Also available in: Unified diff