def project_notifications(request, project_slug): """Project notification view and form view""" project = get_object_or_404(Project.objects.for_admin_user(request.user), slug=project_slug) email_form = EmailHookForm(data=request.POST or None, project=project) webhook_form = WebHookForm(data=request.POST or None, project=project) if request.method == 'POST': if email_form.is_valid(): email_form.save() if webhook_form.is_valid(): webhook_form.save() project_dashboard = reverse('projects_notifications', args=[project.slug]) return HttpResponseRedirect(project_dashboard) emails = project.emailhook_notifications.all() urls = project.webhook_notifications.all() return render_to_response( 'projects/project_notifications.html', { 'email_form': email_form, 'webhook_form': webhook_form, 'project': project, 'emails': emails, 'urls': urls, }, context_instance=RequestContext(request) )
def project_notifications(request, project_slug): """Project notification view and form view""" project = get_object_or_404(Project.objects.for_admin_user(request.user), slug=project_slug) email_form = EmailHookForm(data=request.POST or None, project=project) webhook_form = WebHookForm(data=request.POST or None, project=project) if request.method == 'POST': if email_form.is_valid(): email_form.save() if webhook_form.is_valid(): webhook_form.save() project_dashboard = reverse('projects_notifications', args=[project.slug]) return HttpResponseRedirect(project_dashboard) emails = project.emailhook_notifications.all() urls = project.webhook_notifications.all() return render_to_response('projects/project_notifications.html', { 'email_form': email_form, 'webhook_form': webhook_form, 'project': project, 'emails': emails, 'urls': urls, }, context_instance=RequestContext(request))
def test_emailhookform(self): self.assertEqual(self.project.emailhook_notifications.all().count(), 0) data = {'email': '*****@*****.**'} form = EmailHookForm(data=data, project=self.project) self.assertTrue(form.is_valid()) form.save() self.assertEqual(self.project.emailhook_notifications.all().count(), 1)
def test_emailhookform(self): self.assertEqual(self.project.emailhook_notifications.all().count(), 0) data = { 'email': '*****@*****.**' } form = EmailHookForm(data=data, project=self.project) self.assertTrue(form.is_valid()) form.save() self.assertEqual(self.project.emailhook_notifications.all().count(), 1)
def project_notifications(request, project_slug): """Project notification view and form view.""" project = get_object_or_404( Project.objects.for_admin_user(request.user), slug=project_slug, ) email_form = EmailHookForm(data=None, project=project) webhook_form = WebHookForm(data=None, project=project) if request.method == 'POST': if 'email' in request.POST.keys(): email_form = EmailHookForm(data=request.POST, project=project) if email_form.is_valid(): email_form.save() elif 'url' in request.POST.keys(): webhook_form = WebHookForm(data=request.POST, project=project) if webhook_form.is_valid(): webhook_form.save() emails = project.emailhook_notifications.all() urls = project.webhook_notifications.all() return render( request, 'projects/project_notifications.html', { 'email_form': email_form, 'webhook_form': webhook_form, 'project': project, 'emails': emails, 'urls': urls, }, )
def test_wrong_inputs_in_emailhookform(self): self.assertEqual(self.project.emailhook_notifications.all().count(), 0) data = { 'email': 'wrong_email@' } form = EmailHookForm(data=data, project=self.project) self.assertFalse(form.is_valid()) self.assertDictEqual(form.errors, {'email': ['Enter a valid email address.']}) self.assertEqual(self.project.emailhook_notifications.all().count(), 0) data = { 'email': '' } form = EmailHookForm(data=data, project=self.project) self.assertFalse(form.is_valid()) self.assertDictEqual(form.errors, {'email': ['This field is required.']}) self.assertEqual(self.project.emailhook_notifications.all().count(), 0)
def project_notifications(request, project_slug): project = get_object_or_404(Project.objects.for_admin_user(request.user), slug=project_slug) email_form = EmailHookForm(data=request.POST or None, project=project) webhook_form = WebHookForm(data=request.POST or None, project=project) if request.method == "POST": if email_form.is_valid(): email_form.save() if webhook_form.is_valid(): webhook_form.save() project_dashboard = reverse("projects_notifications", args=[project.slug]) return HttpResponseRedirect(project_dashboard) emails = project.emailhook_notifications.all() urls = project.webhook_notifications.all() return render_to_response( "projects/project_notifications.html", {"email_form": email_form, "webhook_form": webhook_form, "project": project, "emails": emails, "urls": urls}, context_instance=RequestContext(request), )
def test_wrong_inputs_in_emailhookform(self): self.assertEqual(self.project.emailhook_notifications.all().count(), 0) data = {'email': 'wrong_email@'} form = EmailHookForm(data=data, project=self.project) self.assertFalse(form.is_valid()) self.assertDictEqual(form.errors, {'email': ['Enter a valid email address.']}) self.assertEqual(self.project.emailhook_notifications.all().count(), 0) data = {'email': ''} form = EmailHookForm(data=data, project=self.project) self.assertFalse(form.is_valid()) self.assertDictEqual(form.errors, {'email': ['This field is required.']}) self.assertEqual(self.project.emailhook_notifications.all().count(), 0)