Commit Graph

193 Commits

Author SHA1 Message Date
9bdd9d5b78 revamp whole EA flow. Server created EAs when we do certain jobs (transform, delete_files, restore_files), then instead of faking amendments in the jscript, get job creation to return EA from job ORM, then check is now generic for end of any amendment job, and when it finishes, use that to clear our amendments in document, and redraw through normal UI code. No smarts in client, all driven by state from server, and if we reload a page mid jobs, it has required state, and because an amendment job is still progressing, it runs check code again 2025-10-25 18:21:28 +11:00
dc6b831481 remove overkill use of make_response 2025-10-20 19:16:25 +11:00
d65f3b32d3 pass amendmentTypes to client in query_data, make query_data single func to remove duplicate code, reference new amend.py for class defintions 2025-10-19 11:29:10 +11:00
80ceb7aaed removed __repr__ from classes in files.py, and added in sqlalchemy class and marshmallow schemas for entry amendments, then load amendments on get_entry_by_id - so any page load (first or next/prev) will see amendments, we then display them into the files list and now add a white circle inside the throbber and overlay that with approrpiate icon/image - all of which is taken from amendment type and eid. tables.sql also updated to create the amendment data, tweaked icons.svg to remove hardcoded-colours for flip_[vh] 2025-10-15 23:06:05 +11:00
9ffb704648 fix bug where AI search used wrong query as I rewrote the search_term and lost AI: now compares original / OPT.search_term. Also, the union/sql did not work with otdering, rewrote this to use python code to remove duplicates from the 3 separate queries and remove duplicates (if any) 2025-10-12 21:23:45 +11:00
78b112d050 when we change file options, make sure we call correct query data function - search needs GetSerachQueryData 2025-10-12 19:31:45 +11:00
b61f048dec reverted partial client side back button logic, but also now tested / validated if somehow we are in a flat view and ask for entries and dont get all of them back, or we are in folder view and we try to go into a folder or back up a folder and we get no data as someone deleted it since we made the view, so then show appropriate client-side errors 2025-10-12 16:02:21 +11:00
e3f6b416ce forgot to add js_vers for search, fixed 2025-10-12 13:24:53 +11:00
0ac0eedef9 handle going into Dirs and back from Dirs by doing logic of parent dir on server side, only return eids, and get normal code to handle rendering, no specific get_dir_entries route -> its not get_dir_eids, and the rest is normal code. Much cleaner/simpler. At this point I think the major rewrite it functional, commiting before more testing and then merge code and removed firstEntryOnPage bug (its now pageList[0]) 2025-10-12 13:14:53 +11:00
517b5c6167 made more of the javascript hopefulyl honour versions, sort of works, not fully deployed consistently but works well enough for home use in dev. Also tweaked how the layout looks on a phone so that la / ra buttons on beside the image. Still oddly needs me to shrink that page, but it is now visually right - odd 2025-10-11 15:02:58 +11:00
16d28bc02e first pass of versioning, working for files.html only for now 2025-10-11 12:47:53 +11:00
da0019ecdc adding a get_version function that gets the mtime of the jscript file and then lets us embed that into the
<script src=>
Note, accidentally committed, partially tested
2025-10-11 12:27:59 +11:00
ee1c9b5494 all override add and remove now use new datastructures, close to be able to test / augment as per TODO 2025-10-09 23:56:27 +11:00
747f524343 remove more dead code 2025-10-07 23:41:38 +11:00
eb7bb84e09 add some padding, and set root_eid - Its 0 when nothing at all in Path (first run/empty). Also, started override for marshmallow, but overrides wont work yet 2025-10-07 00:00:50 +11:00
e5d6ce9b73 move MoveDBox into full javascript and fold it into internal/js/files_support.js, also remove unused parameter for MoveDBox, and use marshmallow to pass people in query_data - overall just cleaner more consistent code for existing functionality 2025-10-05 23:20:17 +11:00
525b823632 dont crash server if we have not scanned the Path yet 2025-10-04 10:34:54 +10:00
cd73c16545 include refimg_lnk and facefile_lnk into Face to be used in viewer 2025-10-03 21:10:52 +10:00
b0c738fcc1 moved cFO() to changeOPT() into internal/js, transformed file_list_ip to work with new query_data model, made the Size buttons use modern bootstrap5 radio buttons and work again without the form for all file* routes. Removed a lot of dead code, moved code to resetNextPrev buttons to anytime we getPage, reducing code, handle setting OPT in jscript via a to_dict() for States. Overall, search and file_list_ip now work. Only main thing left is the override code 2025-10-02 23:11:14 +10:00
2e952deda0 added code to support changing noo/how_many/folders and do this with json data back and forth, update the UI, all works - only search is missing now. Lots of dead code can still be deleted 2025-10-01 23:48:19 +10:00
70ca93b14e convert files_rbp to new query_data model 2025-09-30 18:37:15 +10:00
a0e06717ac viewer now works for files_ip, still have broken bits everywhere - files_rbp, change_opts, do I want a back button? lots of dead/old code, probably cam move more js into *_support, and do I want to keep files_support separate to view_support 2025-09-30 00:29:11 +10:00
b67f2d9dcb now allow files_sp paths to work (and support folders). Highlighting with folders is broken (likely dodgy ecnt). viewing still broken, but basic navigations is finally working with folders now 2025-09-27 12:42:01 +10:00
d2db7f6184 hash is a string not an Integer, not sure how this issue has been here so long. Also, first pass of using query data to allow display of files_ip only. Definitely NOT, a usable version of PA at the moment 2025-09-26 19:26:23 +10:00
aaf04e7f9b AI search now does not wildcard, so only exact matches person when you do AI:<xxx> 2025-09-20 14:46:57 +10:00
391fd52332 commented out more debugs 2025-08-19 20:55:20 +10:00
c7c08c1c32 made AI:<tag> be literal, e.g. no wildcards to stop AI:kath matching AI:katherine, also removed unused fid var and commented out debugs 2025-08-19 20:18:30 +10:00
37c0125fbd Fixed BUG-136, now can search with a * or % as wildcards, and fix bug where no search results broke pa 2024-12-31 15:13:17 +11:00
9dac54ae97 removing cant_close=True on this one, ultimately, its just viewing order is wrong, so no actual data/file issues - let it be persistent but able to be closed 2024-07-28 17:31:35 +10:00
4885acea80 adding extra debugs for weird bugs with losing data when viewing 2024-04-07 20:18:40 +10:00
6ef12d7636 change key warning to be persistent, so I dont miss what it said 2024-03-10 13:39:21 +11:00
a3350b9316 default for similar folder by date is now +/- 2 weeks not 1 AND fix use of SetFELog with log_level="error" => level="danger" 2024-01-21 18:17:03 +11:00
262efd89d4 Fixed BUG-121: crashing when cannot find a match when searching 2024-01-01 11:49:41 +11:00
db7f6c07d7 updated for newer postgres and sqlachemy, mainly use text() for explicit sqls, made sure value is a string in JobExtra, removed incorrect use of distinct in GetEntries query, finally used ORM to work out last/num_entry counts instead of raw sql 2023-09-27 14:27:31 +10:00
a84ff49413 added BUG-120, somehow losing pref info. No prints are working in PROD, so changed a lot of printf( in the F/E to SetFELog with error and persistent/cant_close set across many files. Also used opportunity to remove a few unnecessary debugs 2023-04-09 13:10:28 +10:00
4b1bbcb2bf broad (small) changes to make style of all routes and jobs to be consistent, e.g. use underscords between words 2023-01-15 23:17:59 +11:00
cc9e827474 fixed bug, where directories with the same name but different path were being lost due to distinct query in DB. I dont really remember why I decided I needed distinct, so this might introduce other issues, but theere is an array merge later that should remove any redundant data, so I think this is better/good for now 2023-01-15 13:31:04 +11:00
1679e79165 clean up code to be more readable 2023-01-13 17:21:45 +11:00
f875b50dc8 fixed BUG-114 -> only show path-specific existing options in movedbox. Added test doc to read to TODO 2023-01-13 16:48:35 +11:00
e1af427fad fixed BUG-115 move to existing paths can contain dashes 2023-01-12 17:12:48 +11:00
af3adeee8b remove debug 2023-01-12 16:48:17 +11:00
ef9f26189a another large clean up of code, all POSTs are now using make_response() and returning json OR are for a form that flask handles with rendering direct html. Where there is a POST with json response, the jscript now calls CheckForJobs() to show it in the F/E. Removed several debugs. Fixed up undocumented BUG where import datetime was wrong, and prefix/suffix also to offer directories near the date of an image. Removed unused routes for clearing messages 2023-01-12 16:47:43 +11:00
a29cbb143c Huge change, removed Status class and all "alert" messages are now shown as BS toast() and are via the DB and handled async in the F/E in jscript via Ajax. Fixed BUG-113 where toasts() were repeating. Removed many of the explicit alert messages (other than errors) and hooked {New|Finish}Job to consistently send messages to the F/E. Other messages (F/E without a job, like save settings) now use this model as well. Finally converted most of the older POST responses to formal json 2023-01-11 13:50:05 +11:00
0784861331 added persistent and cant_close to PA_JobManager_FE_Message, used them from pa_job_manager to set status messages with persistence/close buttons appropriately for items like fix_dups/stale_jobs. When "fixing" now, the persistent Status message stays, but its now positioned approx. below the navbar on the right and is ok. Started on changing status to a more sensible naming conventions (away from alert to level) - more work to complete this 2023-01-10 17:45:02 +11:00
56c2d586b6 clean up how we create toasts() [no longer try to reuse dom elements, just add new ones each time], support persistent notifications and close button or not [via separate booleans], created a clear message route and use that now in templates/base.html to clear FE messages. This will break for check dups as I am not setting persistence / close buttons correctly for those jobs, that is next. Converted move_files to new format 2023-01-09 13:13:51 +11:00
1ba9bf4312 renamed toast.js to jobs.js and moved Job related calls to jobs.py form files.py AND get job.py to allow job_mgr msgs to go to F/E via a POST of /checkforjobs (picked up in templates/base.html). move files also calls new CheckForJobs() to pick up when move job finishes without needing a page reload 2023-01-06 17:37:15 +11:00
c3971eb495 first-pass of popups for job creation for more than just move files, and fix BUG-112 (after move highlighting is broken) 2023-01-04 12:26:25 +11:00
0eeb68658b move files now has bs toast pop for success and stays on the page you are on for more moves 2023-01-03 22:46:29 +11:00
972eac5b5b first pass of move_files not redirecting to / and staying put for an other move_files, works, but needs success/toast 2023-01-03 15:48:13 +11:00
b952fe82f6 large refactor of code to use venv (in .python) for DEV, to use consistent python versions with PROD, sepcifically flask 2.2.2 to address the deprecation of FLASK_ENV -> replaced with ENV. Fixed up git and dockerignores to be more stringent 2022-12-31 15:42:03 +11:00