pass amendmentTypes to client in query_data, make query_data single func to remove duplicate code, reference new amend.py for class defintions
This commit is contained in:
43
files.py
43
files.py
@@ -22,6 +22,7 @@ import pytz
|
|||||||
import html
|
import html
|
||||||
from flask_login import login_required, current_user
|
from flask_login import login_required, current_user
|
||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
|
from amend import EntryAmendment, AmendmentType
|
||||||
|
|
||||||
# Local Class imports
|
# Local Class imports
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -33,6 +34,7 @@ from person import Refimg, Person, PersonRefimgLink
|
|||||||
from settings import Settings, SettingsIPath, SettingsSPath, SettingsRBPath
|
from settings import Settings, SettingsIPath, SettingsSPath, SettingsRBPath
|
||||||
from shared import SymlinkName, ICON, PA
|
from shared import SymlinkName, ICON, PA
|
||||||
from dups import Duplicates
|
from dups import Duplicates
|
||||||
|
from amend import getAmendments
|
||||||
from face import Face, FaceFileLink, FaceRefimgLink, FaceOverrideType, FaceNoMatchOverride, FaceForceMatchOverride
|
from face import Face, FaceFileLink, FaceRefimgLink, FaceOverrideType, FaceNoMatchOverride, FaceForceMatchOverride
|
||||||
|
|
||||||
# pylint: disable=no-member
|
# pylint: disable=no-member
|
||||||
@@ -126,20 +128,6 @@ class FileType(PA,db.Model):
|
|||||||
id = db.Column(db.Integer, db.Sequence('file_type_id_seq'), primary_key=True )
|
id = db.Column(db.Integer, db.Sequence('file_type_id_seq'), primary_key=True )
|
||||||
name = db.Column(db.String, unique=True, nullable=False )
|
name = db.Column(db.String, unique=True, nullable=False )
|
||||||
|
|
||||||
class AmendmentType(PA,db.Model):
|
|
||||||
__tablename__ = "amendment_type"
|
|
||||||
id = db.Column(db.Integer, db.Sequence('file_type_id_seq'), primary_key=True )
|
|
||||||
which = db.Column(db.String, nullable=False )
|
|
||||||
what = db.Column(db.String, nullable=False )
|
|
||||||
colour = db.Column(db.String, nullable=False )
|
|
||||||
|
|
||||||
class EntryAmendment(PA,db.Model):
|
|
||||||
__tablename__ = "entry_amendment"
|
|
||||||
eid = db.Column(db.Integer, db.ForeignKey("entry.id"), primary_key=True )
|
|
||||||
amend_type = db.Column(db.Integer, db.ForeignKey("amendment_type.id"))
|
|
||||||
type = db.relationship("AmendmentType", backref="entry_amendment")
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# this is how we order all queries based on value of 'noo' - used with
|
# this is how we order all queries based on value of 'noo' - used with
|
||||||
# access *order_map.get(OPT.noo)
|
# access *order_map.get(OPT.noo)
|
||||||
@@ -282,6 +270,8 @@ entries_schema = EntrySchema(many=True)
|
|||||||
FOT_Schema = FaceOverrideTypeSchema(many=True)
|
FOT_Schema = FaceOverrideTypeSchema(many=True)
|
||||||
path_Schema = PathSchema(many=True)
|
path_Schema = PathSchema(many=True)
|
||||||
person_Schema = PersonSchema(many=True)
|
person_Schema = PersonSchema(many=True)
|
||||||
|
et_schema = AmendmentTypeSchema(many=True)
|
||||||
|
ea_schema = EntryAmendmentSchema(many=True)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# /get_entries_by_ids -> route where we supply list of entry ids (for next/prev
|
# /get_entries_by_ids -> route where we supply list of entry ids (for next/prev
|
||||||
@@ -319,9 +309,7 @@ def process_ids():
|
|||||||
# get any pending entry amendments
|
# get any pending entry amendments
|
||||||
stmt = select(EntryAmendment).join(AmendmentType)
|
stmt = select(EntryAmendment).join(AmendmentType)
|
||||||
ea = db.session.execute(stmt).unique().scalars().all()
|
ea = db.session.execute(stmt).unique().scalars().all()
|
||||||
ea_schema = EntryAmendmentSchema(many=True)
|
|
||||||
ea_data=ea_schema.dump(ea)
|
ea_data=ea_schema.dump(ea)
|
||||||
print( ea_data )
|
|
||||||
|
|
||||||
return jsonify(entries=entries_schema.dump(sorted_data), amend=ea_data)
|
return jsonify(entries=entries_schema.dump(sorted_data), amend=ea_data)
|
||||||
|
|
||||||
@@ -379,17 +367,21 @@ def getPeople():
|
|||||||
people=db.session.execute(stmt).scalars().all()
|
people=db.session.execute(stmt).scalars().all()
|
||||||
return person_Schema.dump(people)
|
return person_Schema.dump(people)
|
||||||
|
|
||||||
|
def initQueryData():
|
||||||
################################################################################
|
|
||||||
# Get all relevant Entry.ids based on search_term passed in and OPT visuals
|
|
||||||
################################################################################
|
|
||||||
def GetSearchQueryData(OPT):
|
|
||||||
query_data={}
|
query_data={}
|
||||||
query_data['entry_list']=None
|
query_data['entry_list']=None
|
||||||
query_data['root_eid']=0
|
query_data['root_eid']=0
|
||||||
query_data['NMO'] = getFOT()
|
query_data['NMO'] = getFOT()
|
||||||
query_data['move_paths'] = getMoveDetails()
|
query_data['move_paths'] = getMoveDetails()
|
||||||
query_data['people'] = getPeople()
|
query_data['people'] = getPeople()
|
||||||
|
query_data['amendTypes'] = et_schema.dump( getAmendments() )
|
||||||
|
return query_data
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Get all relevant Entry.ids based on search_term passed in and OPT visuals
|
||||||
|
################################################################################
|
||||||
|
def GetSearchQueryData(OPT):
|
||||||
|
query_data=initQueryData()
|
||||||
|
|
||||||
search_term = OPT.search_term
|
search_term = OPT.search_term
|
||||||
# turn * wildcard into sql wildcard of %
|
# turn * wildcard into sql wildcard of %
|
||||||
@@ -426,11 +418,7 @@ def GetSearchQueryData(OPT):
|
|||||||
# Get all relevant Entry.ids based on files_ip/files_sp/files_rbp and OPT visuals
|
# Get all relevant Entry.ids based on files_ip/files_sp/files_rbp and OPT visuals
|
||||||
#################################################################################
|
#################################################################################
|
||||||
def GetQueryData( OPT ):
|
def GetQueryData( OPT ):
|
||||||
query_data={}
|
query_data=initQueryData()
|
||||||
query_data['entry_list']=None
|
|
||||||
query_data['NMO'] = getFOT()
|
|
||||||
query_data['move_paths'] = getMoveDetails()
|
|
||||||
query_data['people'] = getPeople()
|
|
||||||
|
|
||||||
# always get the top of the (OPT.prefix) Path's eid and keep it for OPT.folders toggling/use
|
# always get the top of the (OPT.prefix) Path's eid and keep it for OPT.folders toggling/use
|
||||||
dir_stmt=(
|
dir_stmt=(
|
||||||
@@ -721,7 +709,8 @@ def transform():
|
|||||||
@login_required
|
@login_required
|
||||||
def check_transform_job():
|
def check_transform_job():
|
||||||
job_id = request.form['job_id']
|
job_id = request.form['job_id']
|
||||||
job = Job.query.get(job_id)
|
stmt=select(Job).where(Job.id==job_id)
|
||||||
|
job=db.session.execute(stmt).scalars().one_or_none()
|
||||||
j=jsonify( finished=False )
|
j=jsonify( finished=False )
|
||||||
if job.pa_job_state == 'Completed':
|
if job.pa_job_state == 'Completed':
|
||||||
id=[jex.value for jex in job.extra if jex.name == "id"][0]
|
id=[jex.value for jex in job.extra if jex.name == "id"][0]
|
||||||
|
|||||||
Reference in New Issue
Block a user