diff --git a/main.py b/main.py index be1726c..616f736 100644 --- a/main.py +++ b/main.py @@ -92,7 +92,7 @@ def save_user(dn, username, data, memberships): # if we already have a valid user/session, and say the web has restarted, just re-use it, dont make more users if pau: return pau - pau=PAUser(dn=dn, default_import_noo="Oldest", default_storage_noo="A to Z", default_grouping="None", default_how_many=50, default_size=128, default_import_folders=False, default_storage_folders=True, default_fullscreen=False) + pau=PAUser(dn=dn, default_import_noo="Oldest", default_storage_noo="A to Z", default_search_noo="Newest", default_grouping="None", default_how_many=50, default_size=128, default_import_folders=False, default_storage_folders=True ) db.session.add(pau) db.session.commit() return pau diff --git a/states.py b/states.py index 2d3cd4b..b2c201e 100644 --- a/states.py +++ b/states.py @@ -24,7 +24,6 @@ class PA_UserState(db.Model): st_offset = db.Column(db.Integer, unique=False, nullable=False ) size = db.Column(db.Integer, unique=False, nullable=False ) folders = db.Column(db.Boolean, unique=False, nullable=False ) - fullscreen = db.Column(db.Boolean, unique=False, nullable=False ) root = db.Column(db.String, unique=False, nullable=False ) cwd = db.Column(db.String, unique=False, nullable=False ) ## for now being lazy and not doing a separate table until I settle on needed fields and when @@ -46,7 +45,7 @@ class PA_UserState(db.Model): ################################################################################ # States: class to store set of default values for viewing (order/size, etc.) # and if a request object (from a POST) is passed in, it returns those instead -# it also handles the cwd appropriately, paths, fullscreen, search, etc. +# it also handles the cwd appropriately, paths, search, etc. ################################################################################ class States(PA): def __init__(self, request): @@ -178,8 +177,8 @@ class States(PA): self.folders = u.default_storage_folders else: # is a search so... - print( "For now, search defaults for noo / folders are hardcoded" ) - self.noo = 'Newest' + print( "For now, search does not show in folders, force folders=False") + self.noo=u.default_search_noo self.folders=False self.cwd=self.root @@ -227,10 +226,6 @@ class States(PA): # possible to not be set for an AI: search if 'cwd' in request.form: self.cwd = request.form['cwd'] - if 'fullscreen' in request.form: - self.fullscreen=request.form['fullscreen'] - else: - self.fullscreen=False if 'prev' in request.form: self.offset -= int(self.how_many) # just in case we hit prev too fast, stop this... diff --git a/tables.sql b/tables.sql index b59376f..d98673c 100644 --- a/tables.sql +++ b/tables.sql @@ -20,20 +20,21 @@ create table PA_USER( DN varchar unique, DEFAULT_IMPORT_NOO varchar, DEFAULT_STORAGE_NOO varchar, + DEFAULT_SEARCH_NOO varchar, DEFAULT_GROUPING varchar(16), DEFAULT_HOW_MANY integer, DEFAULT_SIZE integer, DEFAULT_IMPORT_FOLDERS Boolean, DEFAULT_STORAGE_FOLDERS Boolean, - DEFAULT_FULLSCREEN Boolean, constraint PK_PA_USER_ID primary key(ID) ); -- this is totally not 3rd normal form, but when I made it that, it was so complex, it was stupid -- so for the little data here, I'm deliberately doing a redundant data structure -create table PA_USER_STATE ( ID integer, PA_USER_DN varchar(128), PATH_TYPE varchar(16), NOO varchar(16), - GROUPING varchar(16), HOW_MANY integer, ST_OFFSET integer, SIZE integer, FOLDERS Boolean, - FULLSCREEN Boolean, ROOT varchar, CWD varchar, VIEW_EID integer, ORIG_PTYPE varchar, ORIG_SEARCH_TERM varchar, - ORIG_URL varchar, CURRENT integer, FIRST_EID integer, LAST_EID integer, NUM_ENTRIES integer, LAST_USED timestamptz, +create table PA_USER_STATE ( ID integer, PA_USER_DN varchar(128), PATH_TYPE varchar(16), + NOO varchar(16), GROUPING varchar(16), HOW_MANY integer, ST_OFFSET integer, SIZE integer, FOLDERS Boolean, + ROOT varchar, CWD varchar, + ORIG_PTYPE varchar, ORIG_SEARCH_TERM varchar, ORIG_URL varchar, + VIEW_EID integer, CURRENT integer, FIRST_EID integer, LAST_EID integer, NUM_ENTRIES integer, LAST_USED timestamptz, constraint FK_PA_USER_DN foreign key (PA_USER_DN) references PA_USER(DN), constraint PK_PA_USER_STATES_ID primary key(ID ) ); diff --git a/templates/states.html b/templates/states.html index b1e81d9..5a9f231 100644 --- a/templates/states.html +++ b/templates/states.html @@ -25,6 +25,12 @@ {{CreateSelect( "storage_noo", user.default_storage_noo, ["Oldest", "Newest","A to Z", "Z to A"], "ChangeDefault();return false", "col-2 rounded-end")|safe }} +
+
+ + {{CreateSelect( "search_noo", user.default_search_noo, ["Oldest", "Newest","A to Z", "Z to A"], "ChangeDefault();return false", "col-2 rounded-end")|safe }} +
+
@@ -49,12 +55,6 @@ {{CreateSelect( "storage_folders", user.default_storage_folders, ["In Folder", "Flat View"], "ChangeDefault();return false", "col-2 rounded-end", { 0:true, 1:false } )|safe }}
-
-
- - {{CreateSelect( "fullscreen", user.default_fullscreen, [True,False], "ChangeDefault();return false", "col-2 rounded-end")|safe }} -
-
@@ -86,7 +86,6 @@ {{st.folders}} {{st.grouping}} {{st.size}} - {{st.fullscreen}} {{st.st_offset}} {{st.root}} {{st.cwd}} @@ -105,12 +104,13 @@ function ChangeDefault() data+="&default_size="+$('#size').val() data+="&default_import_noo="+$('#import_noo').val() data+="&default_storage_noo="+$('#storage_noo').val() + data+="&default_search_noo="+$('#search_noo').val() data+="&default_how_many="+$('#how_many').val() data+="&default_grouping="+$('#grouping').val() data+="&default_import_folders="+$('#import_folders').val() data+="&default_storage_folders="+$('#storage_folders').val() - data+="&default_fullscreen="+$('#fullscreen').val() - console.log("Changing Default:"+data ) + console.log( data ) + alert(1) $.ajax({ type: 'POST', data: data, url: '/changedefaults', success: function(data){ window.location='/states'; return false; } }) } diff --git a/user.py b/user.py index ac8700d..807ae9f 100644 --- a/user.py +++ b/user.py @@ -22,12 +22,12 @@ class PAUser(UserMixin,db.Model): dn = db.Column(db.String) default_import_noo = db.Column(db.String) default_storage_noo = db.Column(db.String) + default_search_noo = db.Column(db.String) default_grouping = db.Column(db.String) default_how_many = db.Column(db.Integer) default_size = db.Column(db.Integer) default_import_folders = db.Column(db.Boolean) default_storage_folders = db.Column(db.Boolean) - default_fullscreen = db.Column(db.Boolean) def __repr__(self): str=f"<{self.__class__.__name__}(" @@ -46,13 +46,11 @@ class PAUser(UserMixin,db.Model): @app.route("/changedefaults", methods=["POST"]) @login_required def changedefaults(): - print( "change defaults -- need to sanitize form!?" ) - for el in request.form: - print( f"{el}={request.form[el]}" ) user=PAUser.query.filter(PAUser.dn==request.form['dn']).one() user.default_size = request.form['default_size'] user.default_import_noo = request.form['default_import_noo'] user.default_storage_noo = request.form['default_storage_noo'] + user.default_search_noo = request.form['default_search_noo'] user.default_how_many = request.form['default_how_many'] user.default_grouping = request.form['default_grouping'] if request.form['default_import_folders'] == 'True': @@ -63,11 +61,6 @@ def changedefaults(): user.default_storage_folders = True else: user.default_storage_folders = False - if request.form['default_fullscreen'] == 'True': - user.default_fullscreen = True - else: - user.default_fullscreen = False - print( user ) db.session.add(user) db.session.commit() return "done"