Esempio n. 1
0
def project_new(profile, event, form=None):
    participant = Participant.get(user=g.user, event=event)
    if participant == None:
        abort(403)
    if participant.status != PARTICIPANT_STATUS.CONFIRMED:
        abort(403)

    form = ProjectForm()
    if form.validate_on_submit():
        project = Project(participant=participant, event=event)
        form.populate_obj(project)
        project.make_name()
        db.session.add(project)
        project.votes.vote(g.user)

        project_member = ProjectMember(project=project,
                                       participant=participant)
        db.session.add(project_member)
        db.session.commit()
        flash("Project saved")
        return render_redirect(
            url_for('project_view',
                    profile=profile.name,
                    event=event.name,
                    project=project.url_name))
    return render_form(form=form,
                       title=u"New Project",
                       submit=u"Save",
                       cancel_url=url_for('event_view',
                                          profile=profile.name,
                                          event=event.name),
                       ajax=False)
Esempio n. 2
0
def project_edit(profile, project, event):
    if g.user not in project.users:
        abort(403)
    else:
        form = ProjectForm(obj=project)
        if request.method == 'GET':
            form.participating.data = str(int(project.participating))
        if form.validate_on_submit():
            form.populate_obj(project)
            project.make_name()
            db.session.commit()
            flash(u"Your changes have been saved", 'success')
            return render_redirect(project.url_for(), code=303)
        return render_form(form=form, title=u"Edit project", submit=u"Save",
            cancel_url=project.url_for(), ajax=False)
Esempio n. 3
0
def project_edit(profile, project, event):
    if g.user not in project.users:
        abort(403)
    else:
        form = ProjectForm(obj=project)
        if request.method == 'GET':
            form.participating.data = str(int(project.participating))
        if form.validate_on_submit():
            form.populate_obj(project)
            project.make_name()
            db.session.commit()
            flash(u"Your changes have been saved", 'success')
            return render_redirect(project.url_for(), code=303)
        return render_form(form=form,
                           title=u"Edit project",
                           submit=u"Save",
                           cancel_url=project.url_for(),
                           ajax=False)
Esempio n. 4
0
def project_new(profile, event, form=None):
    participant = Participant.get(user=g.user, event=event)
    if participant == None:
        abort(403)
    if participant.status != PARTICIPANT_STATUS.CONFIRMED:
        abort(403)

    form = ProjectForm()
    if form.validate_on_submit():
        project = Project(participant=participant, event=event)
        form.populate_obj(project)
        project.make_name()
        db.session.add(project)
        project.votes.vote(g.user)

        project_member = ProjectMember(project=project, participant=participant)
        db.session.add(project_member)
        db.session.commit()
        flash("Project saved")
        return render_redirect(url_for('project_view', profile=profile.name, event=event.name, project=project.url_name))
    return render_form(form=form, title=u"New Project", submit=u"Save",
        cancel_url=url_for('event_view', profile=profile.name, event=event.name), ajax=False)