def edit_project(request): c = get_common_context(request) user = request.user profile = user.get_profile() proj = Participant.get_project(user) c['slug'] = proj.slug if request.method == 'GET': c['form'] = ProjectForm(instance=proj) else: form = ProjectForm(request.POST, request.FILES, instance=proj) if form.is_valid(): form.save() return HttpResponseRedirect('/project/%s/' % Participant.get_project(user)) else: pass c['form'] = form return render_to_response('edit_project.html', c, context_instance=RequestContext(request))
def participate(request): c = get_common_context(request) if not c['auth']: return HttpResponseRedirect('/accounts/register/') user = request.user profile = user.get_profile() if request.method == 'GET': if Participant.exist(user): return HttpResponseRedirect('/project/%s/' % Participant.get_project(user)) elif Expert.exist(user): c['form'] = None c['msg'] = u'Вы эксперт, поэтому не можете принимать участие.' else: c['form'] = ParticipateForm(initial={'name': user.first_name, 'last_name': user.last_name, 'photo': profile.photo, 'sex': profile.sex, 'date_birth': profile.date_birth, 'school': profile.school, }) c['project_form'] = ProjectForm() else: form = ParticipateForm(request.POST, request.FILES) project_form = ProjectForm(request.POST) if form.is_valid() and project_form.is_valid(): user.first_name = form.data['name'] user.last_name = form.data['last_name'] user.save() if 'photo' in request.FILES: profile.photo = request.FILES.get('photo', '') profile.sex = form.data.get('sex', '') profile.date_birth = form.data['date_birth'] profile.school = form.data['school'] profile.save() part = Participant(user=user, about=form.data['about']) part.save() pf = project_form.save(commit=False) pf.participant = part pf.save() return HttpResponseRedirect('/project/') else: pass c['form'] = form c['project_form'] = project_form c['user_photo'] = profile.photo return render_to_response('participate.html', c, context_instance=RequestContext(request))