コード例 #1
0
def get_album(user_name, album_title):
    log_request(request, current_user)
    logger.debug('{View|Edit} get_album(%s, %s)', user_name, album_title)

    if not is_allowed(current_user, user_name):
        return jsonify({})

    return load_album(current_user, user_name, album_title)
コード例 #2
0
def upload_image(user_name, album_title):
    log_request(request, current_user)
    logger.debug('{View|Edit} upload_image(%s, %s)', user_name, album_title)

    if not is_allowed(current_user, user_name):
        return abort(404)

    if request.method == 'POST':
        f = request.files['file']
        result = store_image(f, user_name, album_title)
        return jsonify({'success': result})
コード例 #3
0
def set_item_visibility(user_name, album_title):
    log_request(request, current_user)
    logger.debug('{View|Edit} set_item_visibility(%s, %s)', user_name, album_title)

    if not is_allowed(current_user, user_name):
        return abort(404)

    if request.method == 'POST':
        data = json.loads(request.data)
        id_item = data['item-id'] if 'item-id' in data else None
        item_visibility = data['item-visibility'] if 'item-visibility' in data else None
        result = change_item_visibility(user_name, album_title, id_item, item_visibility)
        return jsonify({'success': result})
コード例 #4
0
def index(user_name, album_title):
    log_request(request, current_user)
    logger.debug('{View|Edit} index(%s, %s)', user_name, album_title)

    if not is_allowed(current_user, user_name):
        return abort(404)

    env = {
        'module': 'Edit %s/%s' % (user_name, album_title),
        'user_name': user_name,
        'album_title': album_title,
    }
    return render_template('edit.html', **env)
コード例 #5
0
def save_items(user_name, album_title):
    log_request(request, current_user)
    logger.debug('{View|Edit} save_items(%s, %s)', user_name, album_title)

    if not is_allowed(current_user, user_name):
        return jsonify({'success': False})

    result = False
    if request.method == 'POST':
        data = request.get_json()
        del data['_csrf_token']
        result = store_items(user_name, album_title, data)

    return jsonify({'success': result})
コード例 #6
0
def index(user_name, album_title):
    log_request(request, current_user)
    logger.debug('{View|Share} index(%s, %s)', user_name, album_title)

    if not is_allowed(current_user, user_name):
        return abort(404)

    if request.method == 'POST':
        share_type = escape(request.form['share_type']) if 'share_type' in request.form else 'Private'
        result = share_album(user_name, album_title, share_type)
        flash(result['msg'], 'info')
        return redirect(url_for('user.index', user_name=user_name))

    env = {
        'module': 'Share album',
        'title': album_title,
        'share_type': get_share_type(escape(user_name), escape(album_title)),
        'share_types': get_share_types()
    }
    return render_template('share.html', **env)
コード例 #7
0
def delete_item(user_name, album_title, id_item):
    log_request(request, current_user)
    logger.debug('{View|Edit} delete_item(%s, %s, %s)', user_name, album_title, id_item)

    if not is_allowed(current_user, user_name):
        return abort(404)

    if request.method == 'POST':
        result = delete_one_item(get_user_id(user_name), album_title, id_item)
        if result['success']:
            if result['success']:
                flash('Successfully deleted item', 'success')
                return redirect(url_for('edit.index', user_name=user_name, album_title=album_title))
            else:
                flash('Can\'t delete item!', 'danger')

    env = {
        'user_name': user_name,
        'album_title': album_title,
        'id_item': id_item
    }
    return render_template('item_delete.html', **env)