- Add dynamic fields to DocumentVersion in case the Catalog requires it.

This commit is contained in:
Josako
2024-10-30 13:52:18 +01:00
parent 43547287b1
commit 532073d38e
11 changed files with 146 additions and 75 deletions

View File

@@ -27,6 +27,7 @@ def create_document_stack(api_input, file, filename, extension, tenant_id):
api_input.get('language', 'en'),
api_input.get('user_context', ''),
api_input.get('user_metadata'),
api_input.get('catalog_properties')
)
db.session.add(new_doc_vers)
@@ -63,7 +64,7 @@ def create_document(form, filename, catalog_id):
return new_doc
def create_version_for_document(document, tenant_id, url, language, user_context, user_metadata):
def create_version_for_document(document, tenant_id, url, language, user_context, user_metadata, catalog_properties):
new_doc_vers = DocumentVersion()
if url != '':
new_doc_vers.url = url
@@ -79,6 +80,9 @@ def create_version_for_document(document, tenant_id, url, language, user_context
if user_metadata != '' and user_metadata is not None:
new_doc_vers.user_metadata = user_metadata
if catalog_properties != '' and catalog_properties is not None:
new_doc_vers.catalog_properties = catalog_properties
new_doc_vers.document = document
set_logging_information(new_doc_vers, dt.now(tz.utc))
@@ -273,9 +277,10 @@ def edit_document(document_id, name, valid_from, valid_to):
return None, str(e)
def edit_document_version(version_id, user_context):
def edit_document_version(version_id, user_context, catalog_properties):
doc_vers = DocumentVersion.query.get_or_404(version_id)
doc_vers.user_context = user_context
doc_vers.catalog_properties = catalog_properties
update_logging_information(doc_vers, dt.now(tz.utc))
try:
@@ -300,6 +305,7 @@ def refresh_document_with_info(doc_id, tenant_id, api_input):
api_input.get('language', old_doc_vers.language),
api_input.get('user_context', old_doc_vers.user_context),
api_input.get('user_metadata', old_doc_vers.user_metadata),
api_input.get('catalog_properties', old_doc_vers.catalog_properties),
)
set_logging_information(new_doc_vers, dt.now(tz.utc))
@@ -337,7 +343,8 @@ def refresh_document(doc_id, tenant_id):
api_input = {
'language': old_doc_vers.language,
'user_context': old_doc_vers.user_context,
'user_metadata': old_doc_vers.user_metadata
'user_metadata': old_doc_vers.user_metadata,
'catalog_properties': old_doc_vers.catalog_properties,
}
return refresh_document_with_info(doc_id, tenant_id, api_input)
@@ -348,3 +355,5 @@ def mark_tenant_storage_dirty(tenant_id):
tenant = db.session.query(Tenant).filter_by(id=int(tenant_id)).first()
tenant.storage_dirty = True
db.session.commit()