Commit graph

125 commits

Author SHA1 Message Date
a9248d8cab Add CSS clipboard_size; and other clip hook improvements.
Any element with class clipboard_size will have its text updated;
Removed the call to on_pageload from save_ because it redundantly
causes a load. Separate those update hooks.
2018-02-20 20:20:20 -08:00
761ae5c30c Add endpoints /batch/photos/add_tag and /remove_tag. 2018-02-20 17:23:51 -08:00
13e8bc4a6f Add more items to to-do list; minor fixes. 2018-02-20 16:50:39 -08:00
ebe0fcee40 Rename URL /photo_cards -> /batch/photos/photo_card. 2018-02-19 23:44:24 -08:00
6ad41eb516 Improve bookmark appearance; don't send edit with blank url. 2018-02-17 19:36:48 -08:00
91d445a877 Add new page /clipboard, with full photo cards. 2018-02-17 19:12:34 -08:00
ef5bbf5fc3 Split HTTP response dict into ["meta"] and ["data"]. 2018-02-17 18:47:17 -08:00
f4756d97e4 Improve html & Jinja indentation. 2018-02-17 18:19:47 -08:00
b02374136f Let the page add its own clipboard load/save hooks. 2018-02-17 16:31:51 -08:00
1b631b33e9 Make separate functions for HTTP get / post. 2018-02-17 16:08:38 -08:00
606a66cbf9 Remove Photo.filepath and real_filepath in favor of real_path. 2018-02-17 15:19:36 -08:00
59cd922a53 Remove unnecessary methods=GET. 2018-02-17 14:59:02 -08:00
574ac9f656 Slightly scale down image thumbnail to match others.
It was too big!
2018-02-16 23:30:27 -08:00
b4a28f5034 Make Photo.bytestring a @property.
This is the kind of thing that should be a @property, because
it's very low processing power and doesn't hit the database.
2018-02-16 23:16:02 -08:00
bbe392ac09 Rename Photo.author -> get_author; no longer a @property. 2018-02-16 23:11:25 -08:00
205c49c21f Rename Photo.albums -> get_containing_albums. 2018-02-16 23:08:44 -08:00
2f9b51b636 Rename Photo.tags -> get_tags. 2018-02-16 23:07:21 -08:00
ac9d7ede22 Rename Album.photos -> get_photos. 2018-02-16 23:03:54 -08:00
6574450ad1 Rename Tag.synonyms -> get_synonyms. 2018-02-16 23:01:07 -08:00
fdcf07940a Rename Groupable.children -> get_children. 2018-02-16 23:00:43 -08:00
75effafaf5 Rename Groupable.parent -> get_parent.
After making the "if x.parent is None" mistake too many times,
forgetting that it was not a @property, I've decided that the
verby name is better.
2018-02-16 22:59:34 -08:00
3c4f69f647 Specify name= on calls to PDB.get_tag.
Sometimes it's easy to forget whether its the name or ID,
and I like the consistency of specifying.
2018-02-16 22:25:56 -08:00
1c1e7f158f Minor fixes & pylint appeasements. 2018-02-16 21:28:36 -08:00
6f4530c88c Let SessionManager.get require Request object; Check IP addr.
So far there is no use case in which get needs to be called with
something other than a Request, and I don't think there will be.
So let's make that part of the design and we can also take the
opportunity to check IP.
2018-02-03 02:10:07 -08:00
c6a396c658 Move ef/endpoints/common.py to ef/common.py
Decided it doesn't belong with the endpoints files.
2018-02-03 01:43:41 -08:00
b39f2e3f7b Create basic_endpoints file. Don't put them in __init__. 2018-02-03 01:34:07 -08:00
20462f1085 Oops, add back missing CSS on mmf deleter. 2018-01-30 19:45:59 -08:00
75953c2999 Add docstrings to the photoclipboard functions. 2018-01-19 22:24:07 -08:00
cf59f96813 Perform serverside expiration of sessions on get attempt.
Also remove unnecessary conversion to int.
2018-01-19 21:59:50 -08:00
cdd8f9e248 Only reload the page if the clip operation was successful. 2018-01-19 21:44:21 -08:00
b00d93901a Apply werkzeug ProxyFix so that request.remote_addr is correct. 2018-01-17 20:53:25 -08:00
7352d1e141 If the user has a token we don't recognize, give them a new one. 2018-01-15 20:04:47 -08:00
55e1281774 Improve technique for finding cookie set by function.
Instead of iterating through all the outgoing headers.
2018-01-15 18:56:41 -08:00
be0fca729f Create sessions for anons as well, instead of just logged in.
It makes sense that anon sessions are still sessions. So @give_token
will ensure that every request has a session. Logged in conditionals
move from 'if session' to 'if session.user'.
2018-01-15 18:41:21 -08:00
8a1f2c65f9 Tighten the types for _normalize_token; include werkzeug wrappers. 2018-01-15 18:39:40 -08:00
526cc7e07d Add search form input for created. 2018-01-13 20:02:12 -08:00
ec4b5b014b Oops, fix missing return statement.
That would cause problems.
2018-01-13 16:14:01 -08:00
57f007d595 Don't use from etiquette import. 2018-01-13 16:12:52 -08:00
d84fc037fe Use urandom instead of uuid for session id. 2018-01-13 15:49:14 -08:00
c049b97bc6 Replace etiquette_flask.py with endpoints package.
Split the object types' endpoints into separate files and group
them better. Should be much easier to navigate and expand.
2018-01-11 19:40:56 -08:00
5fccf5548b Add Before and After search links to the photo sidebar. 2018-01-11 16:11:38 -08:00
fe88cdc413 Add decorator catch_etiquette_exception.
To reduce the number of 500 errors and provide 400 instead.
2018-01-09 21:21:15 -08:00
b89d5f77d5 Oops, add back some css classes that I missed during the rearrangement. 2017-12-20 20:11:34 -08:00
1f7247dbe1 Add paste/unpaste buttons to clipboard tray toolbox for albums. 2017-12-16 14:19:37 -08:00
3d8aeec484 Add API endpoints for add/remove photo from album. 2017-12-16 14:19:00 -08:00
e41532cff1 Rearrange some button CSS classes to be more generic.
Adds CSS variables for the highlight and shadow so they don't need
to be custom-defined for each color of button.
Elements should use more generic classes like green_button instead of
add_tag_button unless there's a good reason.
2017-12-16 14:13:02 -08:00
f59f94cae9 Fix required_fields looking at wrong jsonify file. 2017-12-16 12:25:01 -08:00
4a5583c091 Add tray_lines div so that tray_body might hold more buttons. 2017-12-16 12:24:46 -08:00
443d93ce18 Add the clipboard tray where users manage their photo clipboard.
Appearing on search and album pages, the tray is where you can
remove items from your clipboard without having to click on its
checkbox -- that photo card may not even be on the current page.
2017-12-16 03:47:54 -08:00
0b5f736574 Few minor text fixes. 2017-12-16 03:45:07 -08:00