예제 #1
0
def project_unapply(id=None):
    if id == None:
        abort(404)         

    project = Project.find(id)
    if project == None:
        abort(404)

    if current_user not in project.developers.all():
        abort(400)

    project.remove_developer(current_user)

    return redirect('/project/%d' % id) 
예제 #2
0
def project_apply(id=None):
    if id == None:
        abort(404)         

    project = Project.find(id)
    if project == None:
        abort(404)

    if current_user in project.developers.all():
        abort(400)

    new_thread = MessageThread.create([project.proposer, current_user])
    initial_message = Message.create(new_thread, current_user, 'Hi! I would like to work on your project!')

    project.add_developer(current_user)

    return redirect('/project/%d' % id) 
예제 #3
0
def project_page(id=None):
    if id == None:
        abort(404)         
    project = Project.find(id)
    if project == None:
        abort(404)
    
    project_data = { 'name': project.name,
                     'id': project.id,
                     'state': project.state,
                     'proposer': project.proposer,
                     'difficulty': project.difficulty,
                     'time_estimate': project.time_estimate,
                     'description': project.description,
                     'attachments': project.get_attachments(),
                     'skills_needed': project.get_skills(),
                     'currently_working': project.get_current_developers() }

    return render_template('project.html', project=project_data, 
            current_user=current_user)