149 Commits

Author SHA1 Message Date
ae1aba5e1d swap order of books in series works - still has debugs, and only works on current series, e.g. if you are in a series in a series, it will need you to manually do the same move in both series - I think I wont fix this bit, but we will see 2020-11-28 17:43:03 +11:00
422db5b6aa move buttons in books_for_series in series.html now are form buttons and submit and beginning of code to deal with it exists 2020-11-26 17:35:30 +11:00
ad1f83e046 made loan stick with primary rather than info for color consistency 2020-11-25 20:50:48 +11:00
fe7a4f46d6 Merge branch 'master' of 192.168.0.2:pybook 2020-11-25 18:24:27 +11:00
606c3615cf books_for_series now deals with sub books (hiding ability to reorder them in series), and disables first book (parent or normal) and last book (normal or parent of last sub-book) 2020-11-25 17:53:05 +11:00
Damien De Paoli
9d74376033 display series info at bottom of book.html 2020-11-24 21:24:07 +11:00
Damien De Paoli
3a07c109a0 fix sorting by using proper python printing format str 2020-11-24 21:23:46 +11:00
Damien De Paoli
332335fe03 display loan "card" in book.html 2020-11-24 20:41:45 +11:00
725c362663 cleaned up tabs on comments in main.py, allowed series edit page to stretch full page, shrank font for books in series table, added move up/down buttons (non-functional as yet), and visualised books being in more than one series 2020-11-24 18:12:28 +11:00
a579e7db93 datatables needs to know second column is numeric 2020-11-23 19:59:01 +11:00
c310071db9 series view now orders books in series - still does not deal with series in series 2020-11-23 19:50:00 +11:00
e7c8e645ae first pass for series data, can save, and shows associated books... Does not deal with series inside series 2020-11-23 18:50:53 +11:00
7bd3ff4c26 fixed up author and publisher drop-down lists to have right id/val, not sure if array subscripting the names will work. To be tested, also removed as many divs and margins and paddings as I can, still dont fully understand why some indent more than others, etc. but it works for now 2020-11-22 23:56:34 +11:00
afb132820b actually, no need for a publisher + button, so removed it, made the add button for authors be at the right, is more logical / neater 2020-11-22 12:07:48 +11:00
fc12536a83 reordered add button to be consistent with author and publisher, then allowed author to be a drop-down with a + or - button as appropriate 2020-11-22 12:02:01 +11:00
9466e61db9 moved to using a Get*ById() in condition, covertype, owned files and exposing them in jinja and using them in books.html to fix-up the fact those columns were now raw forein keys (ids) 2020-11-22 00:23:18 +11:00
1edf5082c7 added publisher list in, so publisher in book.html is about done 2020-11-21 17:57:06 +11:00
8641b3b140 first pass at edit/add buttons for publisher 2020-11-21 15:08:41 +11:00
9dee77b057 removed clever code around publiseher/author, etc. it was just too cryptic, and it does not need to be so generic 2020-11-21 14:32:38 +11:00
0b712ef7f3 cleanup, and dont need to calculate 12/cols, just use col 2020-11-21 12:52:30 +11:00
bcf5937869 add helper function GetGenreList - passes all genres to *.html, so horizontal "list" of checkboxes for book can be created 2020-11-21 12:26:38 +11:00
191fcf8f9d added in loans support, also particular route for book_for_loan without markup used as div content on loan.html page via ajax load 2020-11-18 19:58:55 +11:00
6a8d2731ac added in new script_content block for scripts to run after main_content, used by load to retrieve books that are associated with the loan. Also added *Loan menu items to navbar 2020-11-18 19:58:00 +11:00
4ca2183253 added quick debug for loan data in books if there 2020-11-18 19:57:04 +11:00
296ef4c1f7 renamed id_name_form to edit_id_name, then made show_id_name and used it for all appropriate classes. Shaved about 150 LOC / removed 5 x duplication of code :) 2020-11-18 12:30:23 +11:00
5f46636298 created generic id_name_form.html and made condition, covertype, genre, owned, publisher & rating use it for single edit page 2020-11-18 12:09:02 +11:00
8ebf9b73cb rewrite to be more generic 2020-11-18 12:03:02 +11:00
Damien De Paoli
9544790ffa removed all old *_lst tables, added corresponding new classes, etc. fro covertype, owned, rating, and dropped tables from DB, etc. Updated base.html to use new tables as drop-downs that are set correctly. So far slight hack on BookForm, will finish that after syncing this all back to mara. If I do the sync, and export/import this version of DB, then the fixes.sql and fix_db() code included in main.py can be removed. Finally, lamely added a favicon and a static/ to support it 2020-11-17 21:22:15 +11:00
757729f159 tweaked pagination size to 20 now that navbar takes up so much space, also made pagination choices match 2020-11-16 00:05:00 +11:00
797e043c20 sort table by name 2020-11-16 00:04:21 +11:00
58695629dc okay, condition* now works, menu to call them works, just testing it out though, so also a BookForm started but unused at present. Finally, tweaked pagination size to 20 now that navbar takes up so much space, also made pagination choices match 2020-11-16 00:03:28 +11:00
1de0ed27d9 fixed up genres.html, publisers.html to work, tweaked menu structure -- still more placeholders than working for now, but started on an Admin menu to allow dealing with genres, covertypes, conditions, etc. 2020-11-15 14:26:52 +11:00
e39a4da6a2 removed all refs to genre_lst, made genre table confirm to id, name, added classes/routes for genre*, tweaked book format to accommodate multiple authors, etc. still 1-line, but with 12 / num of <authors, etc.> col wide form-controls 2020-11-15 14:16:58 +11:00
7334e4b622 bit of pox code, to go through sub fields like author/publisher, and build readonly links to their edit pages, works. Need to add to books.html - which also only prints the first item - like author anyway 2020-11-15 13:29:49 +11:00
29f8189c97 fixed bug with route to / now needing to be to base.html, not main.html, then just added publisher (list all/edit 1/deleted button) 2020-11-14 15:33:43 +11:00
79a41b4f0e split out old books into book and books.html, all *.html now using extends and {% block %} in jinja2. So navbar is now present in all URLs 2020-11-14 12:09:35 +11:00
b885bf30e4 now using jinja2 block / template, rather than jscript to fill content 2020-11-14 11:20:52 +11:00
5fd4479555 first pass at a token navbar experience 2020-11-13 17:55:48 +11:00
77fd5619f6 now using wtforms for fields, formatting is still not right with bootstrap4, but it will have to do 2020-11-13 17:07:15 +11:00
db47770720 now using wtforms for fields, formatting is still not right with bootstrap4, but it will have to do 2020-11-13 17:07:02 +11:00
a4dca1dbf5 updated README to reflect next steps (will use flask-wtf and flask-boostrap), but proof-of-concept author/<id> works to save to database with a form / POST 2020-11-11 19:23:48 +11:00
14749de303 okay, using ORM, the book_sub_book_link table is actually linked, it is also being used to force the ordering of the quert - although its probably not needed, as the datatables sort can do it by using sub_book_num and parent_id... Those values are still being put in by hand, so need to think about the parent_id bit... we need it to get the sorting to work. I think the sub_book_num would now be there in the normal book.dump() if I try to put it there -- would need to make sure the appropriate Schema is used of course 2020-11-08 19:53:05 +11:00
a57d68ecfa made genre use the schemas properly to return actual joined data, not just genre_id. Also made author/publisher/genre all use many=True, while that is nto true for publisher, it makes the jinja code consisten -- Might need to fix this one day if the writing to the database is somehow more automatic and needs it to be an actual one-to-many, not a many-to-many 2020-11-08 15:46:59 +11:00
c4fe3422a3 Keeping flask-marshmallow as its too hard to do my own objects, due to SqlAlchemy using its own list that is not iterable, etc. Added Genre, ALSO, beware table names with an underscore are messed with, and should be explictly defined - found out this the hard way with genre_lst 2020-11-08 15:07:36 +11:00
761d2af391 first pass at using jinja2 to make an edit form dynamically, its a bit hit and miss :( 2020-11-07 13:03:10 +11:00
1fcd0ed797 okay removed sub_book as a formal db.relationship, its too confusing, using raw sql for now. Still need to ensure ordering of sub_books based on book_id, sub_book_num AND need to pass enough sub_book fields that can vary so that jinja2 can show all subs of a book when editing any of them 2020-11-06 17:26:50 +11:00
21c792203c added in publisher relationship (via book_publisher_link), removed debug, also removed ma.Nested, not needed? 2020-11-04 23:48:09 +11:00
2a7cbe5845 using font awesome, datatables, bootstrap and fixed so class attributes are serialized via marshmallow and it all works with jinja2 now 2020-11-04 19:26:36 +11:00
a51db7c9e4 initial commit of book library in python with sqlalchemy (as an ORM), flask (for the web server) and jinja2 (as the web template front-end bit) 2020-11-03 18:29:41 +11:00