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 | ||||
|     return jsonify.make_json_response(response) | ||||
| 
 | ||||
| 
 | ||||
| @site.route('/album/<albumid>/edit', methods=['POST']) | ||||
| @session_manager.give_token | ||||
| def post_album_edit(albumid): | ||||
|  | @ -696,7 +695,22 @@ def post_album_edit(albumid): | |||
|     title = request.form.get('title', None) | ||||
|     description = request.form.get('description', None) | ||||
|     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) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -49,8 +49,23 @@ function bind_box_to_button(box, button, ctrl_enter) | |||
|             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) | ||||
| { | ||||
|     //console.log(event.keyCode);
 | ||||
|  |  | |||
|  | @ -74,20 +74,15 @@ p | |||
|     {% endif %} | ||||
| 
 | ||||
|     {% set sub_albums = album.children() %} | ||||
|     {% if sub_albums %} | ||||
|     <h3>Sub-albums</h3> | ||||
|     <ul> | ||||
|         {% for sub_album in sub_albums|sort(attribute='title') %} | ||||
|         <li><a href="/album/{{sub_album.id}}{{viewparam}}">{{sub_album.display_name}}</a> | ||||
|         </li> | ||||
|         <li><a href="/album/{{sub_album.id}}{{viewparam}}">{{sub_album.display_name}}</a></li> | ||||
|         {% endfor %} | ||||
|         <li><button class="green_button" onclick="var parent='{{album.id}}'; create_album_and_follow(parent);">Create child</button></li> | ||||
|     </ul> | ||||
|     {% endif %} | ||||
| 
 | ||||
|     {% set photos = album.photos() %} | ||||
|     {% if photos or sub_albums %} | ||||
|     {% endif %} | ||||
| 
 | ||||
|     {% if photos %} | ||||
|         <h3>Photos</h3> | ||||
|         {% if view != "list" %} | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
|     <title>Albums</title> | ||||
|     <meta charset="UTF-8"> | ||||
|     <link rel="stylesheet" href="/static/common.css"> | ||||
|     <script src="/static/common.js"></script> | ||||
| 
 | ||||
| <style> | ||||
| #content_body | ||||
|  | @ -23,6 +24,7 @@ | |||
|         {% for album in albums %} | ||||
|         <li><a href="/album/{{album.id}}">{{album.display_name}}</a></li> | ||||
|         {% endfor %} | ||||
|         <li><button class="green_button" onclick="create_album_and_follow();">Create album</button></li> | ||||
|     </ul> | ||||
| </div> | ||||
| </body> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue