Пример #1
0
 def test_email_not_sent_when_watcher_removed(self, notifications):
     dispatch_uid = "publicweb.models.decision_signal_handler"
     Signal.disconnect(signals.post_save, sender=Decision,
                       dispatch_uid=dispatch_uid)
     decision = self.create_and_return_decision()
     data = {
           'description': decision.description,
           'status': decision.status,
           'deadline': decision.deadline,
           'people': decision.people,
           'watch': True
     }
     form = DecisionForm(data, instance=decision)
     form.watch = False
     form.is_valid()
     form.save()
     Signal.connect(
         signals.post_save,
         sender=Decision,
         receiver=decision_signal_handler,
         dispatch_uid=dispatch_uid
     )
     self.assertFalse(notifications.called)
Пример #2
0
def _process_post_and_redirect(request, decision, template_name):
    if request.POST.get('submit', None) == "Cancel":
        return HttpResponseRedirect(reverse(object_list_by_status, args=[decision.status]))
    else:
        form = DecisionForm(request.POST, instance=decision)
        
        if form.is_valid():
            decision = form.save()
            if form.cleaned_data['watch']:
                decision.add_watcher(request.user)
            else:
                decision.remove_watcher(request.user)
            return HttpResponseRedirect(reverse(object_list_by_status, args=[decision.status]))
        
        data = dict(form=form)
        context = RequestContext(request, data)
        return render_to_response(template_name, context)