コード例 #1
0
ファイル: api.py プロジェクト: dairdr/notes
	def post(self, request):
		status = 'ok'
		error = [0, '']
		if request.user.is_authenticated():
			id = request.POST.get('id', '')
			tags = request.POST.get('tags', '')
			text = request.POST.get('text', '')
			time = request.POST.get('time', '')
			subject = request.POST.get('subject', '')
			grade = request.POST.get('grade', '')

			try:
				with transaction.atomic():
					t = Time.objects.get(id=time)
					s = Subject.objects.get(id=subject)
					g = Grade.objects.get(id=grade)
					try:
						if id != '' and id != 0 and id != '0':
							a = MAchievement.objects.get(id=id)
						else:
							raise ObjectDoesNotExist
					except ObjectDoesNotExist as e:
						a = MAchievement(tags=tags, text=text, time=t, subject=s, grade=g, user=request.user)
						a.save()
					else:
						a.tags = tags
						a.text = text
						a.time = t
						a.subject = s
						a.grade = g
						a.user = request.user
						a.save()
			except IntegrityError as e:
				status = 'fail'
				error = e.args
			except:
				status = 'fail'
				error = [100, 'error inesperado']
		else:
			status = 'fail'
			error = [401, 'permiso denegado']
		return HttpResponse(json.dumps({'status':status, 'error':error}), content_type='application/json')