voussoir
188095c30b
Remove unnecessary intermediate variable syn_lines.
2020-09-12 17:33:45 -07:00
voussoir
c11fb12069
Sort tags as they are added to photo.
2020-09-12 16:52:46 -07:00
voussoir
be7decf330
Rearrange confirm_onclick because they have return statements now.
...
Now that data-onclick begins with a return statement, this code was
not running.
2020-09-12 14:33:15 -07:00
voussoir
2fad1c58fd
Use className instead of classList, as input may have spaces.
2020-09-12 13:14:55 -07:00
voussoir
5dcccae646
Fix add_children all(bail) causing short-circuit.
2020-09-12 13:14:40 -07:00
voussoir
bbadd15129
Put the callbacks next to their respective form functions.
2020-09-12 11:59:03 -07:00
voussoir
eccb260a2b
Pull onclicks into separate _form functions.
2020-09-12 11:48:08 -07:00
voussoir
a51d22bf71
Rename argument specific_tag -> tagname like the other endpoints.
2020-09-12 11:43:53 -07:00
voussoir
42d4b7fafb
Add give_token, catch_etiquette_exception to all endpoints at once.
2020-09-12 11:43:25 -07:00
voussoir
f7e5b639e3
Remove *args from common.render_template. Just template_name.
2020-09-12 10:13:24 -07:00
voussoir
d00d7b4acf
Refocus add_tag_box after removing a tag.
2020-09-12 01:19:16 -07:00
voussoir
d41bad63e7
Move reset of cached_tag_flat_dict out of GroupableMixin into Tag.
...
That should not have been there!
Needed to add the BAIL sentinel so that Tag methods would only
reset the cache if the internal method actually did made any changes.
2020-09-12 01:19:03 -07:00
voussoir
74445d0a1f
Add internal _add_child so that plural doesn't call transacted.
...
add_children was calling add_child in a loop. Since this is a parent
class, that call would actually call the subclasses' add_child method,
which has a transaction decorator, and create unnecessary transactions.
2020-09-12 01:00:39 -07:00
voussoir
21921dc8fc
Rename cached_frozen_children -> cached_tag_flat_dict.
2020-09-12 00:56:32 -07:00
voussoir
b59c2700db
Update _lift_children docstring.
2020-09-12 00:53:12 -07:00
voussoir
1a53af8821
Replace horrible flat_dict algorithm with actual recursion.
2020-09-12 00:21:37 -07:00
voussoir
ee28779138
Pass separate tag_count into tags.html to prevent double-counting.
...
Foolishly, I was checking the length of the outputted easybake format,
which included lines for synonyms and multi-parent tags that shouldn't
be part of the tag count.
2020-09-11 23:52:23 -07:00
voussoir
2a9b2cd095
Add methods PDB.get_thing_count for all thing types.
2020-09-11 23:51:57 -07:00
voussoir
f640268793
Gzip responses.
2020-09-11 23:12:37 -07:00
voussoir
b0dcc6d3c6
Separately count photo results to fix included albums counting.
...
I'm currently running an experiment where albums are also included in
search results, but they don't cost you any of your limit parameter.
So the len(results) was often bigger than limit and tricking this
paginator into thinking we needed a next page when really we didn't.
This workaround can be undone when I decide how to make the album
results more official.
2020-09-11 23:12:23 -07:00
voussoir
cfb48a8d11
Add disclaimer about yield order to get_things_by_id.
2020-09-11 22:13:30 -07:00
voussoir
30c9efc043
Rename generate_thumbnail_for_video -> _form.
2020-09-11 17:06:50 -07:00
voussoir
0a608bcb69
In database_upgrader, use DROP INDEX IF EXISTS.
2020-09-11 16:15:42 -07:00
voussoir
08f6c21286
Add return to these onchange and ondrag attributes.
...
I skipped them during the commit where I added return to all onclicks
because I figure I won't be wrapping these kinds of attributes.
But I feel like it's better to be consistent and you never know when
it might happen.
2020-09-11 16:03:15 -07:00
voussoir
ad26f09ee0
On photo.html, add and remove tag lis dynamically.
...
Instead of requiring a page refresh to see the new tags. They
just won't be sorted.
Slight bummer, the datalist dropdown pretty much obscures the
whole thing anyway.
2020-09-11 15:57:06 -07:00
voussoir
0cdd8c0d71
Add detailed doctstring to digest_directory.
2020-09-11 15:49:02 -07:00
voussoir
4a3236babe
Update digest_directory to handle plural albums at every step.
2020-09-11 15:48:37 -07:00
voussoir
dea746c45a
Alphabetize Album's methods.
2020-09-11 15:21:13 -07:00
voussoir
1cc70616a5
Replace get_album_by_path with get_albums_by_path generator.
2020-09-11 15:15:12 -07:00
voussoir
7705848714
Let new_album take multiple associated directories.
2020-09-11 15:02:33 -07:00
voussoir
519bcf32e6
Add separate plural method Album.add_associated_directories.
2020-09-11 15:02:15 -07:00
voussoir
892390c77a
Rewrite entry_with_history hook and use keydown instead of keyup.
2020-09-10 08:21:20 -07:00
voussoir
8aa2b8dd3c
Rewrite photo_clipboard actions to take ids instead of cards.
...
Following the previous commit about the checkbox on the /photo page,
this fixes all of the code assuming that we're dealing with photo_card
divs, the majority of which was doing nothing but accessing the id.
2020-09-10 08:20:55 -07:00
voussoir
6184476485
Let the specific_tag have class=tag_object so it looks the part.
2020-09-10 08:18:20 -07:00
voussoir
4b76bc0628
Don't access response.data.tagname until we know it's not an error.
...
This wasn't causing any issues, because it was just setting itself
to undefined, but I realized I should move it.
2020-09-10 06:48:56 -07:00
voussoir
2d01297729
Adjust photo_card_searchhidden to 2px dotted border.
2020-09-09 23:55:46 -07:00
voussoir
8d2af3255b
Add endpoints set_searchhidden, unset_searchhidden and checkbox.
2020-09-09 20:51:15 -07:00
voussoir
4569e7848c
Let apply_check_all search for the checkboxes, not the photo cards.
2020-09-09 20:09:41 -07:00
voussoir
7762a8ff07
Rename post_photo_searchhidden -> post_batch_photos_searchidden.
2020-09-09 19:27:22 -07:00
voussoir
193c8645ed
Save the user's CSS theme in a cookie so it stays across pages.
2020-09-09 19:26:11 -07:00
voussoir
804afe912f
Add css class .photo_card_searchhidden.
2020-09-09 19:24:43 -07:00
voussoir
cb881ed640
Add httponly to session cookie.
2020-09-09 19:19:35 -07:00
voussoir
2ba4a3bb91
Add constant RESPONSE_TYPES for use in isinstance checks.
2020-09-09 18:53:51 -07:00
voussoir
049d620789
Convert cookies to werkzeug MultiDict instead of plain dict.
...
I discovered that werkzeug stores cookies in lists, with its .get
returning only the first item of the list. By converting the cookies
to a plain dict, I was breaking that functionality of cookies.get.
So, using werkzeug's MultiDict is the correct choice.
2020-09-09 18:53:26 -07:00
voussoir
82758ed336
Rename color_3d_shadow -> color_shadow.
2020-09-09 15:57:53 -07:00
voussoir
f5eb2467dc
Add synonyms div to specific tag page.
2020-09-09 15:52:09 -07:00
voussoir
97bb9da8a6
Use (+) (x) links on /tags page, link main tag object to info.
2020-09-09 15:51:57 -07:00
voussoir
270dcadf4e
Let tag_object also link to mays, forbids.
2020-09-09 14:08:06 -07:00
voussoir
c425d55331
Use decorators in jinja_filters to automatically register them.
2020-09-09 13:23:16 -07:00
voussoir
199a4af658
Remove unnecessary intermediate variable view.
2020-09-09 13:15:21 -07:00