redo Status SetMessage so it defaults to success and danger is a force in the setting of the message, to fix BUG-52 where a success message ended up with danger colour somehow -- might not perfectly fix it, but its neater and if it does not fix it, then its a timing issue I am not sure how to test/fix

This commit is contained in:
2021-09-16 21:18:09 +10:00
parent 67b1c0dd49
commit 85902bbc3c
7 changed files with 8 additions and 27 deletions

1
BUGs
View File

@@ -1,3 +1,2 @@
### Next: 59
BUG-52: updated tag on person, and it said successful, but the colour was red/danger
BUG-56: when making a viewing list of AI:mich, (any search?) and going past the page_size, it gets the wrong data from the DB for the 'next' entry

1
ai.py
View File

@@ -50,6 +50,5 @@ def run_ai_on():
for el in request.form:
jex.append( JobExtra( name=f"{el}", value=request.form[el] ) )
job=NewJob( "run_ai_on", 0, None, jex )
st.SetAlert("success")
st.SetMessage( f"Created&nbsp;<a href=/job/{job.id}>Job #{job.id}</a>&nbsp;to Look for face(s) in selected file(s)")
return render_template("base.html")

View File

@@ -321,7 +321,6 @@ def search():
@login_required
def scannow():
job=NewJob("scannow" )
st.SetAlert("success")
st.SetMessage("scanning for new files in:&nbsp;<a href=/job/{}>Job #{}</a>&nbsp;(Click the link to follow progress)".format( job.id, job.id) )
return render_template("base.html")
@@ -332,7 +331,6 @@ def scannow():
@login_required
def forcescan():
job=NewJob("forcescan" )
st.SetAlert("success")
st.SetMessage("force scan & rebuild data for files in:&nbsp;<a href=/job/{}>Job #{}</a>&nbsp;(Click the link to follow progress)".format( job.id, job.id) )
return render_template("base.html")
@@ -343,7 +341,6 @@ def forcescan():
@login_required
def scan_sp():
job=NewJob("scan_sp" )
st.SetAlert("success")
st.SetMessage("scanning for new files in:&nbsp;<a href=/job/{}>Job #{}</a>&nbsp;(Click the link to follow progress)".format( job.id, job.id) )
return render_template("base.html")
@@ -359,7 +356,6 @@ def fix_dups():
rows = db.engine.execute( "select e1.id as id1, f1.hash, d1.rel_path as rel_path1, d1.eid as did1, e1.name as fname1, p1.id as path1, p1.type_id as path_type1, e2.id as id2, d2.rel_path as rel_path2, d2.eid as did2, e2.name as fname2, p2.id as path2, p2.type_id as path_type2 from entry e1, file f1, dir d1, entry_dir_link edl1, path_dir_link pdl1, path p1, entry e2, file f2, dir d2, entry_dir_link edl2, path_dir_link pdl2, path p2 where e1.id = f1.eid and e2.id = f2.eid and d1.eid = edl1.dir_eid and edl1.entry_id = e1.id and edl2.dir_eid = d2.eid and edl2.entry_id = e2.id and p1.type_id != (select id from path_type where name = 'Bin') and p1.id = pdl1.path_id and pdl1.dir_eid = d1.eid and p2.type_id != (select id from path_type where name = 'Bin') and p2.id = pdl2.path_id and pdl2.dir_eid = d2.eid and f1.hash = f2.hash and e1.id != e2.id and f1.size_mb = f2.size_mb order by path1, rel_path1, fname1");
if rows.returns_rows == False:
st.SetAlert("success")
st.SetMessage(f"Err, no dups - should now clear the FE 'danger' message?")
return render_template("base.html")
@@ -403,7 +399,6 @@ def rm_dups():
jex.append( JobExtra( name="pagesize", value=10 ) )
job=NewJob( "rmdups", 0, None, jex )
st.SetAlert("success")
st.SetMessage( f"Created&nbsp;<a href=/job/{job.id}>Job #{job.id}</a>&nbsp;to delete duplicate files")
return render_template("base.html")
@@ -419,7 +414,6 @@ def restore_files():
jex.append( JobExtra( name=f"{el}", value=request.form[el] ) )
job=NewJob( "restore_files", 0, None, jex )
st.SetAlert("success")
st.SetMessage( f"Created&nbsp;<a href=/job/{job.id}>Job #{job.id}</a>&nbsp;to restore selected file(s)")
return render_template("base.html")
@@ -434,7 +428,6 @@ def delete_files():
jex.append( JobExtra( name=f"{el}", value=request.form[el] ) )
job=NewJob( "delete_files", 0, None, jex )
st.SetAlert("success")
st.SetMessage( f"Created&nbsp;<a href=/job/{job.id}>Job #{job.id}</a>&nbsp;to delete selected file(s)")
return render_template("base.html")
@@ -448,7 +441,6 @@ def move_files():
for el in request.form:
jex.append( JobExtra( name=f"{el}", value=request.form[el] ) )
job=NewJob( "move_files", 0, None, jex )
st.SetAlert("success")
st.SetMessage( f"Created&nbsp;<a href=/job/{job.id}>Job #{job.id}</a>&nbsp;to move selected file(s)")
return render_template("base.html")

3
job.py
View File

@@ -81,8 +81,7 @@ def WakePAJobManager():
s.connect((PA_JOB_MANAGER_HOST, PA_JOB_MANAGER_PORT))
s.close()
except Exception as e:
st.SetAlert("danger")
st.SetMessage("Failed to connect to job manager, has it crashed? Exception was:{}".format(e))
st.SetMessage(f"Failed to connect to job manager, has it crashed? Exception was:{e}", "danger")
return
###############################################################################

View File

@@ -117,8 +117,7 @@ def new_person():
st.SetMessage( "Created new Person ({})".format(person.tag) )
return redirect( f'/person/{person.id}' )
except SQLAlchemyError as e:
st.SetAlert( "danger" )
st.SetMessage( "<b>Failed to add Person:</b>&nbsp;{}".format(e.orig) )
st.SetMessage( f"<b>Failed to add Person:</b>&nbsp;{e.orig}", "danger" )
return render_template("person.html", person=person, form=form, page_title = page_title)
################################################################################
@@ -161,8 +160,7 @@ def person(id):
db.session.commit()
return redirect( f'/person/{person.id}' )
except SQLAlchemyError as e:
st.SetAlert( "danger" )
st.SetMessage( "<b>Failed to modify Person:</b>&nbsp;{}".format(e) )
st.SetMessage( f"<b>Failed to modify Person:</b>&nbsp;{e}", "danger" )
return render_template("person.html", form=form, page_title=page_title)
else:
person = Person.query.get(id)
@@ -205,9 +203,7 @@ def add_refimg():
db.session.commit()
st.SetMessage( f"Associated new Refimg ({refimg.fname}) with person: {person.tag}" )
except SQLAlchemyError as e:
st.SetAlert( "danger" )
st.SetMessage( f"<b>Failed to add Refimg:</b>&nbsp;{e.orig}" )
st.SetMessage( f"<b>Failed to add Refimg:</b>&nbsp;{e.orig}", "danger" )
except Exception as e:
st.SetAlert( "danger" )
st.SetMessage( f"<b>Failed to modify Refimg:</b>&nbsp;{e}" )
st.SetMessage( f"<b>Failed to modify Refimg:</b>&nbsp;{e}", "danger" )
return redirect( url_for( 'person', id=person.id) )

View File

@@ -97,8 +97,7 @@ def settings():
db.session.commit()
return redirect( '/settings' )
except SQLAlchemyError as e:
st.SetAlert( "danger" )
st.SetMessage( "<b>Failed to modify Setting:</b>&nbsp;{}".format(e.orig) )
st.SetMessage( f"<b>Failed to modify Setting:</b>&nbsp;{e.orig}", "danger" )
return render_template("settings.html", form=form, page_title=page_title, HELP=HELP)
else:
form = SettingsForm( obj=Settings.query.first() )

View File

@@ -11,15 +11,12 @@ class Status(PA):
def GetAlert(self):
return self.alert
def SetAlert(self, al):
self.alert=al
return
def GetMessage(self):
return self.message
def SetMessage(self, msg):
def SetMessage(self, msg, al="success"):
self.message=msg
self.alert=al
return
def AppendMessage(self, msg):