Example #1
0
def create_project():
    if request.method == 'GET':
        form = CreateProjectForm(request.form)
        return render_template('create_project.html', form=form)
    name = request.form['name']
    code = request.form['code']
    company = request.form['company']
    description = request.form['description']
    budget = request.form['budget']
    contingency = request.form['contingency']
    leader = request.form['leader']
    coordinator = request.form['coordinator']
    status = 3
    cat_id = request.form['category']
    sub_cat_id = request.form['sub_category']
    category = db.session.query(Category).get(cat_id)
    sub_category = db.session.query(SubCategory).get(sub_cat_id)
    if request.form.get('is_old') is not None:
        is_old = True
    else:
        is_old = False
    member_list = request.form.getlist('member')
    adviser_list = request.form.getlist('adviser')
    member_list.append(int(leader))
    skill_list = request.form.getlist('skill')
    deadline = datetime.strptime(request.form['deadline'], "%m/%d/%Y").date()
    start_date = datetime.strptime(request.form['start_date'],
                                   "%m/%d/%Y").date()
    is_duplicate = Project.query.filter_by(code=code, name=name).first()
    if is_duplicate is None:
        project = Project(name, code, company, description, budget,
                          contingency, leader, coordinator, is_old, start_date,
                          deadline, status)
        # To add new skill
        for i in skill_list:
            skill = db.session.query(Skill).get(i)
            project.skills.append(skill)
        # To add new member
        for i in member_list:
            member = db.session.query(Student).get(i)
            project.members.append(member)
        # To add new adviser
        for i in adviser_list:
            adviser = db.session.query(Stakeholder).get(i)
            project.advisers.append(adviser)
        project.categories.append(category)
        project.sub_categories.append(sub_category)
        project.created_at = datetime.now()
        generate_planning_hour(project)
        db.session.add(project)
        db.session.commit()
        flash('Project created')
        return redirect('/project/projects')
    else:
        form = CreateProjectForm(request.form)
        error = 'Duplicate entry'
        return render_template('create_project.html', error=error, form=form)
def actionUpdate(request, project_id):
    """Update record"""

    if not request.user.is_authenticated() or not request.user.is_superuser:
        return {'code': 'noaccess'}, 404

    json_data = False

    if request.method == 'POST':
        json_data = json.loads(request.body)

    if json_data is False:
        return {'code': 'nodata'}, 404

    from app.project.models import Project

    validateResult, validateCode = Project.validateJsonObject(json_data)

    if validateCode != 200:
        return validateResult, validateCode

    try:
        project = Project.objects.get(pk=project_id)
    except Project.DoesNotExist:
        return {'code': 'project/nofound', 'values': [project]}, 404

    #try:
    validateResult, validateCode = project.updateFromJsonObject(json_data)
    if validateCode != 200:
        return validateResult, validateCode
    project.save()
    #except:
    #    return {'code': 'project/fail/update'}, 404

    return {'code': 'ok', 'data': helpers.itemsToJsonObject([project])}
def actionCreate(request):
    """Create record"""

    json_data = False

    if request.method == 'POST':
        json_data = json.loads(request.body)

    if json_data is False:
        return {'code': 'nodata'}, 404

    from app.project.models import Project

    validateResult, validateCode = Project.validateJsonObject(json_data)

    if validateCode != 200:
        return validateResult, validateCode

    project = Project.objects.create(name=json_data['name'], type=1)

    # try:
    validateResult, validateCode = project.updateFromJsonObject(json_data)
    if validateCode != 200:
        return validateResult, validateCode
    project.save()
    # except:
    #     return {'code': 'project/fail/create'}, 404

    return {'code': 'ok', 'data': helpers.itemsToJsonObject([project])}
def actionUpdate(request, project_id):
    """Update record"""

    json_data = False

    if request.method == 'POST':
        json_data = json.loads(request.body)

    if json_data is False:
        return {'code': 'nodata'}, 404

    from app.project.models import Project

    validateResult, validateCode = Project.validateJsonObject(json_data)

    if validateCode != 200:
        return validateResult, validateCode

    return {'code': 'ok', 'data': [json_data]}
def actionCreate(request):
    """Create record"""

    json_data = False

    if request.method == 'POST':
        json_data = json.loads(request.body)

    if json_data is False:
        return {'code': 'nodata'}, 404

    from app.project.models import Project

    validateResult, validateCode = Project.validateJsonObject(json_data)

    if validateCode != 200:
        return validateResult, validateCode

    json_data['tags'][0]['id'] = 101
    json_data['images'][0]['id'] = 101
    return {'code': 'ok', 'data': [json_data]}