removed fullscreen and added default_search_noo
This commit is contained in:
2
main.py
2
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 we already have a valid user/session, and say the web has restarted, just re-use it, dont make more users
|
||||||
if pau:
|
if pau:
|
||||||
return 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.add(pau)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return pau
|
return pau
|
||||||
|
|||||||
11
states.py
11
states.py
@@ -24,7 +24,6 @@ class PA_UserState(db.Model):
|
|||||||
st_offset = db.Column(db.Integer, unique=False, nullable=False )
|
st_offset = db.Column(db.Integer, unique=False, nullable=False )
|
||||||
size = 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 )
|
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 )
|
root = db.Column(db.String, unique=False, nullable=False )
|
||||||
cwd = 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
|
## 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.)
|
# 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
|
# 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):
|
class States(PA):
|
||||||
def __init__(self, request):
|
def __init__(self, request):
|
||||||
@@ -178,8 +177,8 @@ class States(PA):
|
|||||||
self.folders = u.default_storage_folders
|
self.folders = u.default_storage_folders
|
||||||
else:
|
else:
|
||||||
# is a search so...
|
# is a search so...
|
||||||
print( "For now, search defaults for noo / folders are hardcoded" )
|
print( "For now, search does not show in folders, force folders=False")
|
||||||
self.noo = 'Newest'
|
self.noo=u.default_search_noo
|
||||||
self.folders=False
|
self.folders=False
|
||||||
|
|
||||||
self.cwd=self.root
|
self.cwd=self.root
|
||||||
@@ -227,10 +226,6 @@ class States(PA):
|
|||||||
# possible to not be set for an AI: search
|
# possible to not be set for an AI: search
|
||||||
if 'cwd' in request.form:
|
if 'cwd' in request.form:
|
||||||
self.cwd = request.form['cwd']
|
self.cwd = request.form['cwd']
|
||||||
if 'fullscreen' in request.form:
|
|
||||||
self.fullscreen=request.form['fullscreen']
|
|
||||||
else:
|
|
||||||
self.fullscreen=False
|
|
||||||
if 'prev' in request.form:
|
if 'prev' in request.form:
|
||||||
self.offset -= int(self.how_many)
|
self.offset -= int(self.how_many)
|
||||||
# just in case we hit prev too fast, stop this...
|
# just in case we hit prev too fast, stop this...
|
||||||
|
|||||||
11
tables.sql
11
tables.sql
@@ -20,20 +20,21 @@ create table PA_USER(
|
|||||||
DN varchar unique,
|
DN varchar unique,
|
||||||
DEFAULT_IMPORT_NOO varchar,
|
DEFAULT_IMPORT_NOO varchar,
|
||||||
DEFAULT_STORAGE_NOO varchar,
|
DEFAULT_STORAGE_NOO varchar,
|
||||||
|
DEFAULT_SEARCH_NOO varchar,
|
||||||
DEFAULT_GROUPING varchar(16),
|
DEFAULT_GROUPING varchar(16),
|
||||||
DEFAULT_HOW_MANY integer,
|
DEFAULT_HOW_MANY integer,
|
||||||
DEFAULT_SIZE integer,
|
DEFAULT_SIZE integer,
|
||||||
DEFAULT_IMPORT_FOLDERS Boolean,
|
DEFAULT_IMPORT_FOLDERS Boolean,
|
||||||
DEFAULT_STORAGE_FOLDERS Boolean,
|
DEFAULT_STORAGE_FOLDERS Boolean,
|
||||||
DEFAULT_FULLSCREEN Boolean,
|
|
||||||
constraint PK_PA_USER_ID primary key(ID) );
|
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
|
-- 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
|
-- 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),
|
create table PA_USER_STATE ( ID integer, PA_USER_DN varchar(128), PATH_TYPE varchar(16),
|
||||||
GROUPING varchar(16), HOW_MANY integer, ST_OFFSET integer, SIZE integer, FOLDERS Boolean,
|
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,
|
ROOT varchar, CWD varchar,
|
||||||
ORIG_URL varchar, CURRENT integer, FIRST_EID integer, LAST_EID integer, NUM_ENTRIES integer, LAST_USED timestamptz,
|
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 FK_PA_USER_DN foreign key (PA_USER_DN) references PA_USER(DN),
|
||||||
constraint PK_PA_USER_STATES_ID primary key(ID ) );
|
constraint PK_PA_USER_STATES_ID primary key(ID ) );
|
||||||
|
|
||||||
|
|||||||
@@ -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( "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 class="input-group">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="input-group">
|
||||||
|
<label class="py-1 input-group-text col-7 justify-content-end"><b>Search</b> 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="row">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<label class="py-1 input-group-text col-7 justify-content-end">How many thumbnails to show at once:</label>
|
<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 }}
|
{{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>
|
</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="col-7">
|
||||||
|
|
||||||
<div class="row pt-5">
|
<div class="row pt-5">
|
||||||
@@ -86,7 +86,6 @@
|
|||||||
<td>{{st.folders}}</td>
|
<td>{{st.folders}}</td>
|
||||||
<td>{{st.grouping}}</td>
|
<td>{{st.grouping}}</td>
|
||||||
<td>{{st.size}}</td>
|
<td>{{st.size}}</td>
|
||||||
<td>{{st.fullscreen}}</td>
|
|
||||||
<td>{{st.st_offset}}</td>
|
<td>{{st.st_offset}}</td>
|
||||||
<td>{{st.root}}</td>
|
<td>{{st.root}}</td>
|
||||||
<td>{{st.cwd}}</td>
|
<td>{{st.cwd}}</td>
|
||||||
@@ -105,12 +104,13 @@ function ChangeDefault()
|
|||||||
data+="&default_size="+$('#size').val()
|
data+="&default_size="+$('#size').val()
|
||||||
data+="&default_import_noo="+$('#import_noo').val()
|
data+="&default_import_noo="+$('#import_noo').val()
|
||||||
data+="&default_storage_noo="+$('#storage_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_how_many="+$('#how_many').val()
|
||||||
data+="&default_grouping="+$('#grouping').val()
|
data+="&default_grouping="+$('#grouping').val()
|
||||||
data+="&default_import_folders="+$('#import_folders').val()
|
data+="&default_import_folders="+$('#import_folders').val()
|
||||||
data+="&default_storage_folders="+$('#storage_folders').val()
|
data+="&default_storage_folders="+$('#storage_folders').val()
|
||||||
data+="&default_fullscreen="+$('#fullscreen').val()
|
console.log( data )
|
||||||
console.log("Changing Default:"+data )
|
alert(1)
|
||||||
$.ajax({ type: 'POST', data: data, url: '/changedefaults', success: function(data){ window.location='/states'; return false; } })
|
$.ajax({ type: 'POST', data: data, url: '/changedefaults', success: function(data){ window.location='/states'; return false; } })
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
11
user.py
11
user.py
@@ -22,12 +22,12 @@ class PAUser(UserMixin,db.Model):
|
|||||||
dn = db.Column(db.String)
|
dn = db.Column(db.String)
|
||||||
default_import_noo = db.Column(db.String)
|
default_import_noo = db.Column(db.String)
|
||||||
default_storage_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_grouping = db.Column(db.String)
|
||||||
default_how_many = db.Column(db.Integer)
|
default_how_many = db.Column(db.Integer)
|
||||||
default_size = db.Column(db.Integer)
|
default_size = db.Column(db.Integer)
|
||||||
default_import_folders = db.Column(db.Boolean)
|
default_import_folders = db.Column(db.Boolean)
|
||||||
default_storage_folders = db.Column(db.Boolean)
|
default_storage_folders = db.Column(db.Boolean)
|
||||||
default_fullscreen = db.Column(db.Boolean)
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
str=f"<{self.__class__.__name__}("
|
str=f"<{self.__class__.__name__}("
|
||||||
@@ -46,13 +46,11 @@ class PAUser(UserMixin,db.Model):
|
|||||||
@app.route("/changedefaults", methods=["POST"])
|
@app.route("/changedefaults", methods=["POST"])
|
||||||
@login_required
|
@login_required
|
||||||
def changedefaults():
|
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=PAUser.query.filter(PAUser.dn==request.form['dn']).one()
|
||||||
user.default_size = request.form['default_size']
|
user.default_size = request.form['default_size']
|
||||||
user.default_import_noo = request.form['default_import_noo']
|
user.default_import_noo = request.form['default_import_noo']
|
||||||
user.default_storage_noo = request.form['default_storage_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_how_many = request.form['default_how_many']
|
||||||
user.default_grouping = request.form['default_grouping']
|
user.default_grouping = request.form['default_grouping']
|
||||||
if request.form['default_import_folders'] == 'True':
|
if request.form['default_import_folders'] == 'True':
|
||||||
@@ -63,11 +61,6 @@ def changedefaults():
|
|||||||
user.default_storage_folders = True
|
user.default_storage_folders = True
|
||||||
else:
|
else:
|
||||||
user.default_storage_folders = False
|
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.add(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return "done"
|
return "done"
|
||||||
|
|||||||
Reference in New Issue
Block a user