Commit graph

1604 commits

Author SHA1 Message Date
b314d6376f Update the hrefs when saving the bookmark editor. 2018-07-29 00:43:12 -07:00
fd23b563cf Implement bookmark delete on frontend. 2018-07-29 00:36:50 -07:00
8447fb3343 Make deleting and unlinking tags require confirmation.
Added text inside the delete buttons and made them confirm.
2018-07-28 20:25:25 -07:00
fd6943fce1 Add code for creating buttions with confirmation prompts. 2018-07-28 20:21:20 -07:00
949f7177de Add css class gray_button, for more neutral / cancel actions.
Red seems too aggressive and indicates danger when not appropriate.
Gray seems better for reverting to an already safe state.
2018-07-28 20:18:10 -07:00
6cb545af8b Fix incorrect error message when deleting invalid synonym.
Because P_tag was raising 404 with "no such tag" when
we know it should have been "no such synonym".
2018-07-28 19:14:02 -07:00
22d2efa289 Add 'event' to toggle_hoverzoom header for firefox's benefit. 2018-07-28 16:16:16 -07:00
dfff79baa7 Oops, fix broken clipboard reference due to namespace change. 2018-07-28 16:15:15 -07:00
89850497da Apply the squared 3d button css to all <button>. 2018-07-28 16:04:57 -07:00
9c354249c9 Rename variable editor -> ed to avoid conflicting with the module.
Even in cases that were not causing problems, for consistency.
2018-07-28 15:17:18 -07:00
1b90850818 Oops, add the required_feature decorators to remove_child. 2018-07-22 21:06:16 -07:00
977b47522d Add autocomplete to /clipboard. 2018-07-22 20:45:16 -07:00
2a45f4e17e Add parameter albums to purge_empty_albums as starting set.
Like purge_deleted_files, you can provide a list of albums to
act as the starting point instead of letting it use the default
of all albums.
2018-07-22 20:21:00 -07:00
c840845c7d Add namespacing to albums.js. 2018-07-22 20:21:00 -07:00
1bff642ca7 Add namespacing to hotkeys.js. 2018-07-22 20:21:00 -07:00
63a3ecfa88 Add namespacing to editor.js. 2018-07-22 20:21:00 -07:00
d7b9020585 Add namespacing to photoclipboard.js. 2018-07-22 20:21:00 -07:00
c7cce5a4e5 Add namespacing to common.js. 2018-07-22 20:21:00 -07:00
cf9b6d0725 Workaround autocomplete box sticking around after submitting. 2018-07-22 20:20:54 -07:00
5ec38a93b1 On the tag ancestors, don't display the current tag name.
I was finding it too confusing.
2018-07-22 20:19:05 -07:00
8a12a24e8e Add tag_autocomplete.js.
Instead of embedding the entire tag list in the search.html template
every single time, this script loads the tags from the new,
cache-enabled endpoint /all_tags.json. Then we can use html5
datalists to create autocomplete forms on the search and photo pages.
2018-07-22 20:19:05 -07:00
bbf07f4401 Fix image thumbnail wrong variable bug.
How long has that been there?
2018-07-22 20:19:05 -07:00
5ac3a8a121 Add caching.cached_endpoint decorator for 304'ing any url. 2018-07-22 20:19:05 -07:00
d740e6d686 Oops, fix read_filebytes not stopping at the range_max properly. 2018-07-22 20:18:58 -07:00
4c65ccaf68 Big! Liberate Groupables from strict heirarchy. Multiple parents.
I found that the strict heirarchy was not satisfying the situation
where one tag is the intersection of two others, but we can only
pick one as the parent

For example, does red_jacket belong under clothes.red_clothes or
clothes.jackets? A search for "red_clothes AND jackets" might
give us someone wearing red pants and a black jacket, so this
definitely needs to be a separate tag, but picking only one
parent for it is not sufficient. Now, a search for red_clothes
and a search for jackets will both find our red_jacket photo.

The change also applies to Albums because why not, and I'm sure
a similar case can be made.

Unfortunately this means tags no longer have one true qualname.
The concept of qualnames has not been completely phased out but
it's in progress.

This commit is very big because I was not sure for a long time
whether to go through with it, and so much stuff had to change
that I don't want to go back and figure out what could be grouped
together.
2018-07-20 13:09:06 -07:00
c2cfa99752 Alphabetize imports in endpoints files. 2018-07-18 18:37:21 -07:00
4987db4bd0 Switch to f-string formatting in many places. 2018-07-18 18:36:36 -07:00
4a39873fed Increase default tag cache to 10,000. 2018-07-18 18:27:18 -07:00
38bac41eb9 Add helpers.split_easybake_string for prelim parsing.
Helps to remove some distractions from the main easybake method.
2018-07-15 14:23:43 -07:00
f06b0915ab Add new_photo_kwargs to the create_or_get call.
Due to the closure, it was already working just fine, but I
want the explicitness of having it there.
2018-07-15 13:52:08 -07:00
57a9e0d4dc Move PDB.close out of the sqlmixin, into main class.
Doesn't really deserve to be with the sql stuff.
2018-07-15 13:27:04 -07:00
5c97086df3 Improve hotkey framework by making own file & register function. 2018-07-14 14:19:13 -07:00
2901fefe65 Add more clipboard feature hotkeys. 2018-07-14 02:54:39 -07:00
984f6eb3c7 Add a clear button to the clipboard tray. 2018-07-14 02:49:45 -07:00
c37b54b456 Add dividers and rearrange some of the table column parsing. 2018-07-13 19:22:05 -07:00
2f83bc2808 Add a simple docstring to the flask launch files. 2018-06-30 12:59:10 -07:00
0852630cd1 Alphabetize _extract_table_name. 2018-06-30 12:55:30 -07:00
c930228d3f Rearrange order of Album.delete ops to not void FK contraint. 2018-06-30 12:51:09 -07:00
c736c33165 Add caching of tag synonyms. 2018-05-06 21:09:15 -07:00
c6b71f1a0d Revert caching of qualified names. Causing too many problems.
The world is just not ready for it. Was having issues about the
parents being deleted / renamed and needing to propogate those
changes in a not-ugly way.
Will reassess in the future.
2018-05-06 21:09:09 -07:00
0c8a57b6aa Make the assert methods public. 2018-05-06 21:09:09 -07:00
40c255b0d0 Pass object instantiations through a cacher.
I want the system to only have one instance of a particular
object at any time, so that we can effectively cache things
in them.
2018-05-06 21:09:08 -07:00
11fda94968 Make the SQL_COLUMNS code a bit easier to read. 2018-05-06 21:09:02 -07:00
db28b6819c Replace individual cache instantiations with all at once. 2018-05-06 21:08:56 -07:00
96d79f2b25 Oops, let separate loading of pragmas for not-first-time load.
Since DB_INIT was only run during first time setup, all future
loads were not running the pragmas, not even the FK restriction.
2018-05-03 19:02:53 -07:00
64449569ea Rearrange statements during tag delete to not voilate FK. 2018-05-03 18:59:50 -07:00
23cc769357 Take advantage of parent's cached_qualname when making mine. 2018-05-03 18:45:57 -07:00
943deb9bf7 Move child-lifting code to its own helper method. 2018-05-03 18:32:44 -07:00
ae46b097e4 Let get_tag_by_name return inputted Tag right away.
For caller's convenience most functions assume you are passing
name as a string, but if you already have the Tag we'll just use it.
2018-05-03 18:20:48 -07:00
a0e3e037c1 Bail out of join_group early if already immediate parent.
I'd rather make the extra select than a delete and reinsert.
2018-05-03 18:18:13 -07:00