Exemplo n.º 1
0
def advisors_new_project():
    try:

        data = request.get_json(force=True)
        print(request.headers.get('Content-Type'))
        print(data)
        print(request.get_json())
        if data is None:
            return jsonify({'error': 'Request JSON was not found'}), Status.BAD

        required_fields = ['title', 'description', 'location', 'duration', \
            'budget',  'specialtyId', 'occupationId', 'requiredQualifications', \
            'preferredQualifications', 'startDate', 'advisorWhoPostedId', 'referralFee']

        for r_field in required_fields:
            if data.get(r_field, None) is None:
                return jsonify({'error':
                                r_field + ' was not given'}), Status.BAD

        new_proj = Project()
        new_proj.title = data.get('title', '')
        new_proj.description = data.get('description', '')
        new_proj.location = data.get('location', '')
        new_proj.duration = data.get('duration', 0.0)
        new_proj.budget = data.get('budget', 0.0)
        #new_proj.project_image_url = data.get('projectImageUrl', '')
        #new_proj.file_attachments = data.get('fileAttachments', [])
        specialty = data.get('specialtyId')
        #new_proj.specialty_id = db.session.query(Specialty).filter_by(name = specialty).first().pk_id

        occupation = data.get('occupationId')
        #new_proj.occupation_id = db.session.query(Occupation).filter_by(name = occupation).first().pk_id
        #new_proj.preferred_previous_bigfirm_id = data.get('preferredPrevBigFirmId', None)
        #new_proj.status = data.get('status', '')
        #new_proj.required_years_experience = data.get('requiredYearsExp', 0)
        #new_proj.requested
        new_proj.required_qualifications = data.get('requiredQualifications',
                                                    '')
        new_proj.preferred_qualifications = data.get('preferredQualifications',
                                                     '')
        new_proj.start_date = data.get('startDate', None)

        db.session.add(new_proj)
        if new_proj not in db.session:
            db.session.rollback()
            db.session.close()
            return jsonify({'error': "Couldn't insert project successfully"
                            }), Status.BAD
        else:
            db.session.commit()
            return jsonify({}), Status.COMPLETED
    except:
        db.session.rollback()
        db.session.close()
        e = sys.exc_info()[0]
        v = sys.exc_info()[1]
        print(str(e))
        print(str(v))
        return jsonify({'error': str(e), 'value': str(v)}), Status.BAD