FileModel => DocumentModel

This commit is contained in:
mike cullerton 2022-04-13 08:15:23 -04:00
parent b732fee675
commit 216c15ed1c
3 changed files with 16 additions and 19 deletions

View File

@ -1,7 +1,7 @@
from crc import session
from crc.api.common import ApiError
from crc.models.data_store import DataStoreModel
from crc.models.file import FileModel
from crc.models.file import DocumentModel
from crc.models.task_event import TaskEventModel
from crc.scripts.script import Script
from crc.services.document_service import DocumentService
@ -38,14 +38,14 @@ class DeleteTaskData(Script):
TaskEventModel.study_id == study_id).filter(TaskEventModel.task_name == task_spec_name).filter_by(
action=WorkflowService.TASK_ACTION_COMPLETE).delete()
files_to_delete = session.query(FileModel). \
filter(FileModel.workflow_id == workflow_id). \
filter(FileModel.task_spec == task_spec_name).all()
files_to_delete = session.query(DocumentModel). \
filter(DocumentModel.workflow_id == workflow_id). \
filter(DocumentModel.task_spec == task_spec_name).all()
# delete files
for file in files_to_delete:
UserFileService().delete_file(file.id)
# delete the data store
session.query(DataStoreModel). \
filter(DataStoreModel.file_id == file.id).delete()
# session.query(DataStoreModel). \
# filter(DataStoreModel.file_id == file.id).delete()

View File

@ -1,7 +1,7 @@
from crc import session
from crc.api.common import ApiError
from crc.api.file import to_file_api
from crc.models.file import FileModel, FileDataModel, FileSchema
from crc.models.file import DocumentModel, FileSchema
from crc.scripts.script import Script
from crc.services.study_service import StudyService
@ -36,7 +36,7 @@ class GetZippedFiles(Script):
zip_filename = 'attachments.zip'
file_ids = kwargs['file_ids']
files = session.query(FileModel).filter(FileModel.id.in_(file_ids)).all()
files = session.query(DocumentModel).filter(DocumentModel.id.in_(file_ids)).all()
if files:
# Create a temporary zipfile with the requested files
with tempfile.NamedTemporaryFile() as temp_file:
@ -44,8 +44,8 @@ class GetZippedFiles(Script):
for file in files:
zip_key_words = doc_info[file.irb_doc_code]['zip_key_words']
file_name = f'{study_id} {zip_key_words} {file.name}'
file_data = session.query(FileDataModel).filter(FileDataModel.file_model_id == file.id).first()
zfw.writestr(file_name, file_data.data)
# file_data = session.query(FileDataModel).filter(FileDataModel.file_model_id == file.id).first()
zfw.writestr(file_name, file.data)
with open(temp_file.name, mode='rb') as handle:
if 'doc_code' in kwargs:

View File

@ -1,6 +1,6 @@
from crc import session
from crc.api.common import ApiError
from crc.models.file import FileModel, FileDataModel
from crc.models.file import DocumentModel
from crc.scripts.script import Script
from io import BytesIO
@ -44,19 +44,16 @@ class ModifySpreadsheet(Script):
parameters = self.get_parameters(args, kwargs)
if len(parameters) == 3:
spreadsheet = session.query(FileModel). \
filter(FileModel.workflow_id == workflow_id). \
filter(FileModel.irb_doc_code == parameters['irb_doc_code']).\
spreadsheet = session.query(DocumentModel). \
filter(DocumentModel.workflow_id == workflow_id). \
filter(DocumentModel.irb_doc_code == parameters['irb_doc_code']).\
first()
if spreadsheet:
spreadsheet_data = session.query(FileDataModel).\
filter(FileDataModel.file_model_id==spreadsheet.id).\
first()
workbook = load_workbook(BytesIO(spreadsheet_data.data))
workbook = load_workbook(BytesIO(spreadsheet.data))
sheet = workbook.active
sheet[parameters['cell']] = parameters['text']
data_string = save_virtual_workbook(workbook)
spreadsheet_data.data = data_string
spreadsheet.data = data_string
session.commit()
else:
raise ApiError(code='missing_spreadsheet',