Пример #1
0
    def add_project(payload):
        ''' Add/update a new/existing project based on user inputs '''
        to_create = request.method == 'POST'
        body = request.get_json()
        name = body.get('name', None)
        description = body.get('description', None)
        category = body.get('category', None)
        labels = body.get('labels', None)
        image_link = body.get('image_link', None)
        video_link = body.get('video_link', None)
        user_id = 1  # TODO get user_id from Auth info.

        if not name or not description or not category \
                or not labels or not image_link or not video_link:
            abort(
                400, 'invalid inputs of {} project'.format(
                    'new' if to_create else 'update'))

        try:
            if to_create:
                project = Project(name=name,
                                  description=description,
                                  category=category,
                                  labels=labels,
                                  image_link=image_link,
                                  video_link=video_link,
                                  user_id=user_id)
                project.insert()
            else:  # to update
                project = Project.query.filter_by(name=name).one_or_none()
                project.description = description
                project.category = category
                project.labels = labels
                project.image_link = image_link
                project.video_link = video_link
                project.update()
            return jsonify({
                'success': True,
            })
        except Exception:
            flash('An error occur when adding {} project'.format(
                'new' if to_create else 'update'))
            # print(sys.exc_info())
            abort(
                500, 'failed to add {} project'.format(
                    'new' if to_create else 'update'))
Пример #2
0
def create_new_project(request):
    """
        Takes in an ajax request to create a new project
    """
    returnDict = {}
    if request.method == 'POST':
        print request.POST
        try:
            datadict = json.loads(request.POST['projectdata'])
            print datadict
            #we have stuff to process
            project = Project()
            project.title = datadict['name']
            project.startDate = datetime.datetime.strptime(datadict['startDate'], "%m/%d/%Y")
            project.category = datadict['category']
            project.complete = False
            project.save()
            returnDict['id'] = project.id
        except Exception, e:
            print e
            returnDict['error'] = e.message