diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod index 822c4ed01bf224f70746e9e89fd881d472c97624..bad20a19fa0030d0e53c0821fc44435d17f3dbd8 100644 --- a/entity/Document_entity/Document_entity.aod +++ b/entity/Document_entity/Document_entity.aod @@ -20,6 +20,7 @@ <onInsert>%aditoprj%/entity/Document_entity/onInsert.js</onInsert> <onUpdate>%aditoprj%/entity/Document_entity/onUpdate.js</onUpdate> <onDelete>%aditoprj%/entity/Document_entity/onDelete.js</onDelete> + <recordContainer>jdito</recordContainer> <entityFields> <entityIncomingField> <name>#INCOMING</name> @@ -134,4 +135,24 @@ <fieldName>KEYWORD</fieldName> </entityField> </entityFields> + <recordContainers> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>_____SYSTEMALIAS</jDitoRecordAlias> + <contentProcess>%aditoprj%/entity/Document_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <onInsert>%aditoprj%/entity/Document_entity/recordcontainers/jdito/onInsert.js</onInsert> + <onUpdate>%aditoprj%/entity/Document_entity/recordcontainers/jdito/onUpdate.js</onUpdate> + <onDelete>%aditoprj%/entity/Document_entity/recordcontainers/jdito/onDelete.js</onDelete> + <recordFields> + <element>ID.value</element> + <element>NAME.value</element> + <element>SIZE.value</element> + <element>DATE_EDIT.value</element> + <element>PREVIEW_IMAGE.value</element> + <element>TYPE.value</element> + <element>DESCRIPTION.value</element> + <element>KEYWORD.value</element> + </recordFields> + </jDitoRecordContainer> + </recordContainers> </entity> diff --git a/entity/Document_entity/recordcontainers/jdito/contentProcess.js b/entity/Document_entity/recordcontainers/jdito/contentProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c676dbd27c0ad4530caf3072ad0e525cf1f6adc8 --- /dev/null +++ b/entity/Document_entity/recordcontainers/jdito/contentProcess.js @@ -0,0 +1,29 @@ +import("system.vars"); +import("system.result"); +import("system.db"); + +// Check if assignment parameters are present +if(vars.exists("$param.AssignmentTable_param") && + vars.exists("$param.AssignmentName_param") && + vars.exists("$param.AssignmentRowId_param")) { + var assignmentTable = vars.get("$param.AssignmentTable_param"); + var assignmentName = vars.get("$param.AssignmentName_param"); + var assignmentRowId = vars.get("$param.AssignmentRowId_param"); + var alias = db.getCurrentAlias(); + var documents = []; + + // Check if multiple Documents are selected + if(vars.exists("$local.idvalues") && vars.get("$local.idvalues") != '') + metadata = db.getBinaryMetadataForIds(vars.get("$local.idvalues"), true, alias) + else + metadata = db.getBinaryMetadata(assignmentTable, assignmentName, assignmentRowId, false, alias); + + // Iterate through found binary data and populate result array + for( var i = 0; i < metadata.length; i++) { + documents.push( [metadata[i].id, metadata[i].filename, metadata[i].size, + metadata[i].edit, metadata[i].preview, metadata[i].mimetype, + metadata[i].description, metadata[i].keyword]); + } + + result.object(documents); +} diff --git a/entity/Document_entity/recordcontainers/jdito/onDelete.js b/entity/Document_entity/recordcontainers/jdito/onDelete.js new file mode 100644 index 0000000000000000000000000000000000000000..74fe70263290d64f3566a2806e4b2dd25bd81cf4 --- /dev/null +++ b/entity/Document_entity/recordcontainers/jdito/onDelete.js @@ -0,0 +1,2 @@ +import("Document_lib"); +DocumentUtil.deleteCurrentDocument(); diff --git a/entity/Document_entity/recordcontainers/jdito/onInsert.js b/entity/Document_entity/recordcontainers/jdito/onInsert.js new file mode 100644 index 0000000000000000000000000000000000000000..6ca4ff7fcd93fc451a6fedd32d9bd43d55d654af --- /dev/null +++ b/entity/Document_entity/recordcontainers/jdito/onInsert.js @@ -0,0 +1,17 @@ +import("system.db"); +import("system.vars"); +import("Document_lib"); + +var assignmentTable = vars.get("$param.AssignmentTable_param"); +var assignmentName = vars.get("$param.AssignmentName_param"); +var assignmentRowId = vars.get("$param.AssignmentRowId_param"); +var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA_UPLOAD")); +var filename = vars.get("$field.NAME"); +var description = vars.get("$field.DESCRIPTION"); +var alias = db.getCurrentAlias(); +var keyword = vars.get("$field.KEYWORD"); + +if(bindata != '' && filename != ''){ + db.insertBinary(assignmentTable, assignmentName, assignmentRowId, "", + bindata, filename, description, keyword, alias); +} diff --git a/entity/Document_entity/recordcontainers/jdito/onUpdate.js b/entity/Document_entity/recordcontainers/jdito/onUpdate.js new file mode 100644 index 0000000000000000000000000000000000000000..9a1c27e56d5a441a04cefa1c7fc1c338b507c7cd --- /dev/null +++ b/entity/Document_entity/recordcontainers/jdito/onUpdate.js @@ -0,0 +1,22 @@ +import("system.vars"); +import("system.db"); +import("Document_lib"); + +var id = vars.get("$field.ID"); +var parentId = ""; +var fileName = vars.get("$field.NAME"); +var description = vars.get("$field.DESCRIPTION"); +var keyword = vars.get("$field.KEYWORD"); +var alias = db.getCurrentAlias(); + +var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA_UPLOAD")); + +if (bindata == ''){ + bindata = vars.get("$field.BINDATA_UPLOAD") +} + +// Check if bindata is present and execute the corresponding update method +if(bindata != '') + db.updateBinary(id, parentId, bindata, fileName, description, keyword, alias); +else + db.updateBinaryMetadata(id, parentId, fileName, description, keyword, alias); \ No newline at end of file