def approve_projectapplication(request, application_id): application = get_object_or_404(ProjectApplication, pk=application_id) if not request.user.get_profile() in application.institute.delegates.all(): return HttpResponseForbidden('<h1>Access Denied</h1>') if application.state != Application.WAITING_FOR_DELEGATE: return render_to_response('applications/unable_to_approve.html', {'application': application}, context_instance=RequestContext(request)) if request.method == 'POST': form = ApproveProjectApplicationForm(request.POST, instance=application) if form.is_valid(): application = form.save() if settings.ADMIN_APPROVE_ACCOUNTS: application.state = Application.WAITING_FOR_ADMIN application.save() send_notify_admin(application, request.user.get_full_name()) log(request.user, application.application_ptr, 2, 'Delegate approved application') return HttpResponseRedirect(reverse('kg_projectapplication_pending', args=[application.id])) application.approve() send_project_approved_email(application) log(request.user, application.application_ptr, 2, 'Delegate fully approved') return HttpResponseRedirect(reverse('kg_projectapplication_complete', args=[application.id])) else: form = ApproveProjectApplicationForm(instance=application) return render_to_response('applications/projectapplication_approve.html', {'form': form, 'application': application}, context_instance=RequestContext(request))
def approve_projectapplication(request, application_id): application = get_object_or_404(ProjectApplication, pk=application_id) if application.state != Application.WAITING_FOR_ADMIN: raise Http404 if request.method == 'POST': form = AdminApproveProjectApplicationForm(request.POST, instance=application) if form.is_valid(): application = form.save() project = application.approve(pid=form.cleaned_data['pid']) send_project_approved_email(application) messages.success(request, "Application approved successfully.") log(request.user, application.application_ptr, 2, 'Application fully approved') return HttpResponseRedirect(project.get_absolute_url()) else: form = AdminApproveProjectApplicationForm(instance=application) return render_to_response('applications/approve_projectapplication.html', {'form': form, 'application': application}, context_instance=RequestContext(request))