changing options on files_*, search, also next/prev all now use POST->redirect model, so should allow back/forward browser buttons to work - commit so we can test in PROD
This commit is contained in:
48
user.py
48
user.py
@@ -1,9 +1,12 @@
|
||||
from main import db
|
||||
from sqlalchemy import Sequence
|
||||
from flask_login import UserMixin
|
||||
from flask import request, redirect
|
||||
from flask_login import UserMixin, login_required
|
||||
from main import db, app, ma
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from status import st, Status
|
||||
|
||||
|
||||
# pylint: disable=no-member
|
||||
|
||||
################################################################################
|
||||
@@ -17,9 +20,48 @@ class PAUser(UserMixin,db.Model):
|
||||
__tablename__ = "pa_user"
|
||||
id = db.Column(db.Integer, db.Sequence('pa_user_id_seq'), primary_key=True)
|
||||
dn = db.Column(db.String)
|
||||
default_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_folders = db.Column(db.Boolean)
|
||||
default_fullscreen = db.Column(db.Boolean)
|
||||
|
||||
def __repr__(self):
|
||||
return self.dn
|
||||
|
||||
str=f"<{self.__class__.__name__}("
|
||||
for k, v in self.__dict__.items():
|
||||
str += f"{k}={v!r}, "
|
||||
str=str.rstrip(", ") + ")>"
|
||||
return str
|
||||
|
||||
def get_id(self):
|
||||
return self.dn
|
||||
|
||||
################################################################################
|
||||
# /changedefaults -> POST only -> changes defaults in DB, states.html reloads
|
||||
# /states once its successful
|
||||
################################################################################
|
||||
@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_noo = request.form['default_noo']
|
||||
user.default_how_many = request.form['default_how_many']
|
||||
user.default_grouping = request.form['default_grouping']
|
||||
if request.form['default_folders'] == 'True':
|
||||
user.default_folders = True
|
||||
else:
|
||||
user.default_folders = False
|
||||
print("fullscreen is failing?")
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user