예제 #1
0
def element(request, type, id):
	"""
	Controller to get element page
	:param request: HTTP request
	:param type: element type
	:param id: element id
	:return:
	"""
	if type == 'scrb' or type == 'pr':

		transact = DBService.get_transact(id)

		if not transact:
			return default_404(request)

		as_partial = bool(request.GET.get('as_partial', False))
		return render_to_response('transact_element_partial.html' if as_partial else 'element_base.html', {'transact': transact, 'type': type}, context_instance=RequestContext(request))
	elif type == 'profile':

		try:
			profile = User.objects.get(email=id)
		except ObjectDoesNotExist as e:
			return default_404(request)

		return render_to_response('profile.html', {'profile': profile}, context_instance=RequestContext(request))
	return HttpResponse(status=200)
예제 #2
0
def create_new_user(request, template):
	"""
	Create new user controller
	:param request: HTTP request
	:param template: html template
	:return:
	"""
	if request.POST:
		new_user_form = NewUserForm(request.POST)
		transact_id = request.POST.get('transactId')
		transact = DBService.get_transact(transact_id)

		if new_user_form.errors:
			return JsonResponse({'data': new_user_form.errors}, status=400)

		result = ProfileService.create_profile(new_user_form.data)

		if result.is_success:
			if transact:
				transact.confirm()

			message = MailMessage(settings.INFO_EMAIL, 'Данные вашего профиля', 'mail_tmpl_profile_created.html', {
					'username': new_user_form.data['userName'],
					'password': new_user_form.data['userPassword']
				}, new_user_form.data['userEmail'])
			message.send()
			return HttpResponse(status=201)

		logger.error(Code.PCRERR, data=result.data)
		return HttpResponse(status=500, content=result.data)

	else:
		params = {}
		transact_id = request.GET.get('transact_id')
		transact = DBService.get_transact(transact_id)

		if transact:
			params['transact_id'] = transact.transact_id
			params['username'] = transact.username
			params['email'] = transact.email

		return render_to_response(template, params, context_instance=RequestContext(request))
예제 #3
0
def transact_action(request, action):
	"""
	Controller to execute transact action
	:param request: HTTP request
	:return: JsonResponse instance
	"""
	transact_id = request.POST.get('transactId')

	transact = DBService.get_transact(transact_id)
	if not transact:
		return HttpResponse(status=500)

	result = transact.__getattribute__(action)(request=request)
	if result:
		return JsonResponse({'transactId': transact.transact_id})

	return HttpResponse(status=500)