removed fullscreen and added default_search_noo

This commit is contained in:
2022-01-30 23:02:42 +11:00
parent 075fa2b6f4
commit c6efd29a48
5 changed files with 21 additions and 32 deletions

View File

@@ -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

View File

@@ -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...

View File

@@ -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 ) );

View File

@@ -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 }}
</div class="input-group">
</div>
<div class="row">
<div class="input-group">
<label class="py-1 input-group-text col-7 justify-content-end"><b>Search</b>&nbsp; path ordered by:</label>
{{CreateSelect( "search_noo", user.default_search_noo, ["Oldest", "Newest","A to Z", "Z to A"], "ChangeDefault();return false", "col-2 rounded-end")|safe }}
</div class="input-group">
</div>
<div class="row">
<div class="input-group">
<label class="py-1 input-group-text col-7 justify-content-end">How many thumbnails to show at once:</label>
@@ -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 }}
</div>
</div>
<div class="row">
<div class="input-group">
<label class="py-1 input-group-text col-7 justify-content-end">When viewing show in fullscreen:</label>
{{CreateSelect( "fullscreen", user.default_fullscreen, [True,False], "ChangeDefault();return false", "col-2 rounded-end")|safe }}
</div>
</div>
</div class="col-7">
<div class="row pt-5">
@@ -86,7 +86,6 @@
<td>{{st.folders}}</td>
<td>{{st.grouping}}</td>
<td>{{st.size}}</td>
<td>{{st.fullscreen}}</td>
<td>{{st.st_offset}}</td>
<td>{{st.root}}</td>
<td>{{st.cwd}}</td>
@@ -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; } })
}
</script>

11
user.py
View File

@@ -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"