Commit Graph

297 Commits

Author SHA1 Message Date
d247ecec54 fix up bug where sucess used instead of success, also if we delete/restore/move a file from inside the viewer, then adjust the files* divs, and go out of the viewer (back/up) and show updated files div 2025-10-27 22:06:54 +11:00
bb43cc5623 new TODOs 2025-10-27 22:04:31 +11:00
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
56771308a6 updated BUGs in general to remove older / fixed BUGs relating to the confusion of current/eids, etc.
update amendments in tables.sql to include job_id in entry_ammendment
added amend.py to move amendment-related code into its own file when we create a job (NewJob)
  and that job matches an amendmentType (via job_name or job_name:amt <- where amt relates to how we do a transform_image), then
  we enter a new EntryAmendment pa_job_mgr knows when a Transform job ends, and removes relevant EntryAmendment
files*.js use EntryAmendment data to render thumbnails with relevant AmendmentType
if a normal page load (like /files_ip), and there is an EntryAmendment, mark up the thumb, run the check jobs to look for completion of the job,
  removeal of the EntryAmendment and update the entry based on 'transformed' image

OVERALL: this is a functioning version that uses EntryAmendments and can handle loading a new page with outstanding amendments
  and 'deals' with it.  This is a good base, but does not cater for remove_files or move_files
2025-10-20 19:31:57 +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
a683da13cc gave whole of TODO a once over, removed old stuff 2025-10-12 23:49:35 +11:00
4556afb3bb changed token word 2025-10-12 19:34:00 +11:00
97e738dc13 implemented a quick cache for flat view 2025-10-12 16:29:39 +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
3a053bea49 found new todo around going back in folder view and sort order 2025-10-11 12:13:17 +11:00
6419e20d7e updated as I have fixed the restore/del from the viewer 2025-10-10 23:14:15 +11:00
b51d9e1776 make delete/restore button in viewer be the right colour, and go back to / when the success for the delete or restore finishes 2025-10-10 23:13:03 +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
846bdc4e52 fix up linking between face to refimg when we add that face to a person from right-click 2025-10-07 23:52:06 +11:00
541cbec0de update adding refimg to new or existing person via right-click on a face to use new data structures 2025-10-07 23:43:07 +11:00
f369b6d796 ticked off a couple of items around no content being better displayed 2025-10-07 00:01:30 +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
40f0b5d369 refactor most javascript code, moved what can be moved into files_support.js, made keydown() items only apply when I go to the viewer code 2025-10-04 23:25:46 +10:00
50f9fbee20 update to use new viewing data structures, consolidate to one set of transform functions with successCallback to cover the files vs viewer content. Updated TODO appropriately 2025-10-04 10:39:11 +10:00
d019dc7960 more things to test/fix 2025-10-03 21:40:59 +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
b9b7a24326 removing done items 2025-10-01 23:43:15 +10:00
0895268df2 more thoughts on change over to json, etc 2025-09-26 19:20:47 +10:00
cf9b0996be works with new ldap now, and put forward details of next big change into TODO 2025-09-20 14:48:29 +10:00
df7a81df09 new TODOs 2025-09-16 20:35:03 +10:00
1831c49b15 fixed 2 x TODOs, can now add an existing face as a refimg, and I sped up the recent jobs page 2025-08-19 20:53:26 +10:00
48ca6c5e64 new todos 2025-08-19 20:11:54 +10:00
e460164d83 various TODOs 2025-05-13 18:43:30 +10:00
febdfbbd32 added deepface notes 2025-01-04 21:59:56 +11:00
063c75809a more thoughts now we have a new CPU in mara 2024-03-10 13:40:23 +11:00
98d33b4880 have a solution for multi-select on tablet/phone now 2024-01-28 23:27:20 +11:00
a8ee7b4f89 added TODO for touch and multi-select 2024-01-21 18:14:53 +11:00
9c4da5ec6f add allow actions for wrong person to TODO 2024-01-01 11:49:03 +11:00
48353f0486 have changed the rotation code to use jpegtran so its lossless 2023-11-11 22:28:29 +11:00
024b99d313 added TODO re: newer pg/sqlalchmemy 2023-09-27 14:31:37 +10:00
21a16c3253 a few random new todos 2023-04-09 13:08:16 +10:00
2b478ed505 made SafePath and ensured initital paths and move_paths have valid paths, and all filenames have to be found via os.walk so should be impossible to write to parts of the FS that are unsafe 2023-02-03 16:57:39 +11: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
f1c43906ab delete & restore files now clean up UI and dont reload page by default. For all moves/deletes/restores that start on a search view, they now reload the page instead of just cleaning up the UI as searching by name will cause the UI to need complex redrawing, easier to live with the reload for now 2023-01-15 13:32:25 +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
5c64470d38 reordered/rethink TODO 2023-01-12 17:19:37 +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
e1c0622be6 reordered todo 2023-01-05 21:02:00 +11:00