Skip to content
Snippets Groups Projects
Commit eb5be3f9 authored by Markus Escher's avatar Markus Escher
Browse files

add document download/delete process

add DocumentPreview_view
parent e3360104
No related branches found
No related tags found
No related merge requests found
......@@ -17,6 +17,7 @@
<contentProcess>%aditoprj%/entity/Document_entity/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/Document_entity/onInsert.js</onInsert>
<onUpdate>%aditoprj%/entity/Document_entity/onUpdate.js</onUpdate>
<onDelete>%aditoprj%/entity/Document_entity/onDelete.js</onDelete>
<entityFields>
<entityIncomingField>
<name>#INCOMING</name>
......@@ -25,7 +26,6 @@
<name>NAME</name>
<title>Dateiname</title>
<fieldName>FILENAME</fieldName>
<valueProcess>%aditoprj%/entity/Document_entity/entityfields/name/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>TYPE</name>
......@@ -44,11 +44,10 @@
<contentType>DATE</contentType>
</entityField>
<entityField>
<name>PREVIEW</name>
<name>PREVIEW_IMAGE</name>
<title>Vorschau</title>
<fieldName>PREVIEW</fieldName>
<contentType>IMAGE</contentType>
<state>READONLY</state>
</entityField>
<entityIncomingField>
<name>OrgDocument_dfi</name>
......@@ -109,5 +108,9 @@
</entityDependency>
</dependencies>
</entityIncomingField>
<entityField>
<name>ID</name>
<fieldName>UID</fieldName>
</entityField>
</entityFields>
</entity>
import("system.logging");
import("system.vars");
import("system.result");
import("system.db");
......@@ -11,15 +10,18 @@ if(vars.exists("$param.AssignmentTable_param") &&
var assignmentName = vars.get("$param.AssignmentName_param");
var assignmentRowId = vars.get("$param.AssignmentRowId_param");
var alias = db.getCurrentAlias();
var tab = [];
metadata = db.getBinaryMetadata(assignmentTable, assignmentName, assignmentRowId, false, alias);
var documents = [];
// going through the metadata and push the data into the result array. get the bindata via db.getBinaryContent()
// Check for Selection
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);
for( var i = 0; i < metadata.length; i++)
{
tab.push( [metadata[i].id, metadata[i].filename, metadata[i].size, metadata[i].edit, metadata[i].preview, metadata[i].mimetype]);
documents.push( [metadata[i].id, metadata[i].filename, metadata[i].size, metadata[i].edit, metadata[i].preview, metadata[i].mimetype]);
}
result.object(tab);
result.object(documents);
}
import("system.result");
import("system.db");
import("system.logging");
import("system.vars");
//logging.log(db.getBinaryContent(vars.get("$local.idvalue"), null));
\ No newline at end of file
import("Document_lib");
DocumentUtil.downloadSelectedDocuments();
import("Document_lib");
DocumentUtil.deleteCurrentDocument();
......@@ -9,4 +9,5 @@ var bindata = vars.get("$field.BINDATA_UPLOAD");
var filename = vars.get("$field.NAME");
var alias = db.getCurrentAlias();
db.insertBinary(assignmentTable, assignmentName, assignmentRowId, "", bindata, filename, "", "", alias);
if(bindata != '' && filename != '')
db.insertBinary(assignmentTable, assignmentName, assignmentRowId, "", bindata, filename, "", "", alias);
......@@ -6,6 +6,7 @@
<icon>VAADIN:FILE_TEXT_O</icon>
<filterview>DocumentFilter_view</filterview>
<editview>DocumentEdit_view</editview>
<preview>DocumentPreview_view</preview>
<entity>Document_entity</entity>
<references>
<neonViewReference>
......@@ -16,5 +17,9 @@
<name>fcc99fdd-5524-4f32-a418-a88a4b7c0c09</name>
<view>DocumentEdit_view</view>
</neonViewReference>
<neonViewReference>
<name>c3a522f3-897e-4d02-862b-6e44c4873714</name>
<view>DocumentPreview_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
<name>DocumentPreview_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<cardViewTemplate>
<name>DocumentPreview_card</name>
<iconField>PREVIEW_IMAGE</iconField>
<titleField>NAME</titleField>
<descriptionField>DATE_EDIT</descriptionField>
<favoriteAction1>downloadFilesAction</favoriteAction1>
<entityField>#ENTITY</entityField>
</cardViewTemplate>
</children>
</neonView>
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7">
<name>Document_lib</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<process>%aditoprj%/process/Document_lib/process.js</process>
</process>
import("system.result");
import("system.db");
import("system.vars");
import("system.neon");
function DocumentUtil(){
}
DocumentUtil.downloadSelectedDocuments = function(){
var alias = db.getCurrentAlias();
// Multiple Files (=not oppened)
if(vars.exists("$local.uids"))
{
var rows = JSON.parse(vars.get("$local.rows"));
var uids = JSON.parse(vars.get("$local.uids"));
var binaryContents = db.getBinaryContents(uids, alias);
for(var i = 0; i < binaryContents.length; i++)
{
var base64data = binaryContents[i];
var filename = rows[i]["NAME"];
neon.download(base64data, filename);
}
}
// Single File (=already opened)
else if(vars.exists("$field.ID"))
{
var id = vars.get("$field.ID");
var name = vars.get("$field.NAME");
var binaryContent = db.getBinaryContent(id, alias);
neon.download(binaryContent, name);
}
}
DocumentUtil.deleteCurrentDocument = function(){
if(vars.exists("$local.uid"))
{
var uid = vars.get("$local.uid");
var alias = db.getCurrentAlias();
db.deleteBinary(uid, alias);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment