Add 'Create Album' endpoint and interface.
This commit is contained in:
parent
956c55ac9a
commit
1ad83937b4
4 changed files with 36 additions and 10 deletions
|
@ -684,7 +684,6 @@ def post_album_add_tag(albumid):
|
||||||
response['tagname'] = tag.name
|
response['tagname'] = tag.name
|
||||||
return jsonify.make_json_response(response)
|
return jsonify.make_json_response(response)
|
||||||
|
|
||||||
|
|
||||||
@site.route('/album/<albumid>/edit', methods=['POST'])
|
@site.route('/album/<albumid>/edit', methods=['POST'])
|
||||||
@session_manager.give_token
|
@session_manager.give_token
|
||||||
def post_album_edit(albumid):
|
def post_album_edit(albumid):
|
||||||
|
@ -696,7 +695,22 @@ def post_album_edit(albumid):
|
||||||
title = request.form.get('title', None)
|
title = request.form.get('title', None)
|
||||||
description = request.form.get('description', None)
|
description = request.form.get('description', None)
|
||||||
album.edit(title=title, description=description)
|
album.edit(title=title, description=description)
|
||||||
response = {'title': album.title, 'description': album.description}
|
response = etiquette.jsonify.album(album, minimal=True)
|
||||||
|
return jsonify.make_json_response(response)
|
||||||
|
|
||||||
|
@site.route('/albums/create_album', methods=['POST'])
|
||||||
|
def post_albums_create():
|
||||||
|
print(dict(request.form))
|
||||||
|
title = request.form.get('title', None)
|
||||||
|
description = request.form.get('description', None)
|
||||||
|
parent = request.form.get('parent', None)
|
||||||
|
if parent is not None:
|
||||||
|
parent = P_album(parent)
|
||||||
|
|
||||||
|
album = P.new_album(title=title, description=description)
|
||||||
|
if parent is not None:
|
||||||
|
parent.add(album)
|
||||||
|
response = etiquette.jsonify.album(album, minimal=False)
|
||||||
return jsonify.make_json_response(response)
|
return jsonify.make_json_response(response)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,8 +49,23 @@ function bind_box_to_button(box, button, ctrl_enter)
|
||||||
button.click();
|
button.click();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function create_album_and_follow(parent)
|
||||||
|
{
|
||||||
|
var url = "/albums/create_album";
|
||||||
|
var data = new FormData();
|
||||||
|
if (parent !== undefined)
|
||||||
|
{
|
||||||
|
data.append("parent", parent);
|
||||||
|
}
|
||||||
|
function receive_callback(response)
|
||||||
|
{
|
||||||
|
window.location.href = "/album/" + response["id"];
|
||||||
|
}
|
||||||
|
post(url, data, receive_callback);
|
||||||
|
}
|
||||||
|
|
||||||
function entry_with_history_hook(box, button)
|
function entry_with_history_hook(box, button)
|
||||||
{
|
{
|
||||||
//console.log(event.keyCode);
|
//console.log(event.keyCode);
|
||||||
|
|
|
@ -74,20 +74,15 @@ p
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% set sub_albums = album.children() %}
|
{% set sub_albums = album.children() %}
|
||||||
{% if sub_albums %}
|
|
||||||
<h3>Sub-albums</h3>
|
<h3>Sub-albums</h3>
|
||||||
<ul>
|
<ul>
|
||||||
{% for sub_album in sub_albums|sort(attribute='title') %}
|
{% for sub_album in sub_albums|sort(attribute='title') %}
|
||||||
<li><a href="/album/{{sub_album.id}}{{viewparam}}">{{sub_album.display_name}}</a>
|
<li><a href="/album/{{sub_album.id}}{{viewparam}}">{{sub_album.display_name}}</a></li>
|
||||||
</li>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
<li><button class="green_button" onclick="var parent='{{album.id}}'; create_album_and_follow(parent);">Create child</button></li>
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% set photos = album.photos() %}
|
{% set photos = album.photos() %}
|
||||||
{% if photos or sub_albums %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if photos %}
|
{% if photos %}
|
||||||
<h3>Photos</h3>
|
<h3>Photos</h3>
|
||||||
{% if view != "list" %}
|
{% if view != "list" %}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
<title>Albums</title>
|
<title>Albums</title>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<link rel="stylesheet" href="/static/common.css">
|
<link rel="stylesheet" href="/static/common.css">
|
||||||
|
<script src="/static/common.js"></script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
#content_body
|
#content_body
|
||||||
|
@ -23,6 +24,7 @@
|
||||||
{% for album in albums %}
|
{% for album in albums %}
|
||||||
<li><a href="/album/{{album.id}}">{{album.display_name}}</a></li>
|
<li><a href="/album/{{album.id}}">{{album.display_name}}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
<li><button class="green_button" onclick="create_album_and_follow();">Create album</button></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
Loading…
Reference in a new issue