示例#1
0
文件: views.py 项目: kpx13/solar
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))
示例#2
0
文件: views.py 项目: kpx13/solar
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))