コード例 #1
0
def add_notification(request):
	if request.method == "POST":
		form_data = JSONMiddleware()
		form_data.process_request(request)
		notification_instance = Notification()
		# if the user has failed to enter required form data return Key Error as error and status 500
		try:
			notification_obj = NotificationType.objects.get(id=request.POST['notification_type'])
			notification_instance.notification_type = notification_obj
			notification_instance.notification_title = request.POST['notification_name']
			notification_instance.notification_subject = request.POST['subject']
			notification_instance.notification_body = request.POST['body']
			print notification_instance
		except (ValueError, KeyError):
			return HttpResponse(json.dumps({'error':'Key Error'}), status=500)
		# if the user input data fails validation return Validation Error as error and status 500
		try:
			notification_instance.full_clean()
			notification_instance.save()
			notification_contacts = request.POST.getlist('notification_contacts')
			notification_instance.notification_contacts.add(*notification_contacts)
		except ValidationError as error:
			return HttpResponse(json.dumps({'error':'Validation Error'}), status=500)
		return redirect('notification')