added reference image class, also tweaked DB classes to have foreign keys, so you cant delete a person connected to a file (tested). Also made refimg class do some quirky bootstrap/jquery to get file dialogs not looking like crap

This commit is contained in:
2021-01-12 23:58:12 +11:00
parent a3a95f636e
commit ed3a85b8f0
4 changed files with 105 additions and 6 deletions

View File

@@ -6,6 +6,8 @@ from sqlalchemy import Sequence
from sqlalchemy.exc import SQLAlchemyError
from status import st, Status
from files import Files
################################################################################
# Class describing Person in the database, and via sqlalchemy, connected to the DB as well
################################################################################
@@ -18,6 +20,14 @@ class Person(db.Model):
def __repr__(self):
return "<tag: {}, firstname: {}, surname: {}>".format(self.tag,self.firstname, self.surname)
class File_Person_Link(db.Model):
__tablename__ = "file_person_link"
file_id = db.Column(db.Integer, db.ForeignKey('files.id'), unique=True, nullable=False, primary_key=True)
person_id = db.Column(db.Integer, db.ForeignKey('person.id'), unique=True, nullable=False, primary_key=True)
def __repr__(self):
return "<file_id: {}, person_id: {}>".format(self.file_id, self.person_id)
################################################################################
# Helper class that inherits a .dump() method to turn class Person into json / useful in jinja2
################################################################################
@@ -100,9 +110,3 @@ def person(id):
person = Person.query.get(id)
form = PersonForm(request.values, obj=person)
return render_template("person.html", object=person, form=form, page_title = page_title, alert=st.GetAlert(), message=st.GetMessage() )
################################################################################
# helper fund to GetPersons -> person_list -> jinja2 for person drop-down in book.html
################################################################################
def GetPersons():
return Person.query.order_by('surname','firstname').all()