diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod index 5357bbb040c126c3ebfb5c630e8a0f7fded16c29..cd36a34e3e66dc084e0281bee1ad04a771d3df37 100644 --- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod +++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod @@ -37,6 +37,7 @@ <consumer>KeywordDocumentTemplateType</consumer> <mandatory v="true" /> <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js</onValueChange> </entityField> <entityField> <name>USER_EDIT</name> @@ -143,6 +144,20 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>htmlText</name> + <title>HTML</title> + <contentType>HTML</contentType> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js</stateProcess> + </entityField> + <entityField> + <name>texText</name> + <title>Text</title> + <contentType>LONG_TEXT</contentType> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js</stateProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..98c975d068848e945101f47d0a176190340079f7 --- /dev/null +++ b/entity/DocumentTemplate_entity/entityfields/htmltext/stateProcess.js @@ -0,0 +1,9 @@ +import("system.logging"); +import("system.neon"); +import("system.result"); +import("system.vars"); + +if(vars.get("$field.TYPE").trim() == "MAI" && vars.get("$field.BINDATA") == "") +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..fbe7078587b5a27d6cf21bb4a78d718c76009441 --- /dev/null +++ b/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js @@ -0,0 +1,9 @@ +import("system.logging"); +import("system.neon"); +import("system.result"); +import("system.vars"); + +if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.BINDATA") == "") +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js b/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js b/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js index fe2d80483b5fee45c5a85acfa6d5fa801d4e42d8..4b0594846b2bc749f410dade62902cedcd28f97a 100644 --- a/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js +++ b/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js @@ -1,12 +1,32 @@ import("system.vars"); import("system.db"); +import("system.util"); import("Document_lib"); -var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA")); +//TODO - Function + +var bindataUpload = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA")); +var filename = ""; +var bindata = ""; if(bindata != "") { - db.insertBinary("DOCUMENTTEMPLATE", "DOCUMENT", vars.get("$field.DOCUMENTTEMPLATEID"), "", - bindata, DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA")), - "", "", "_____SYSTEMALIAS"); + filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA")); + bindata = bindataUpload; +} +else if(vars.get("$field.TYPE").trim() == "MAI" && vars.get("$field.htmlText") != "") +{ + filename = vars.get("$field.NAME") + ".html"; + bindata = util.encodeBase64String(vars.get("$field.htmlText")); +} +else if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.texText") != "") +{ + filename = vars.get("$field.NAME") + ".txt"; + bindata = util.encodeBase64String(vars.get("$field.texText")); +} + +if(bindata != "" && filename != "") +{ + db.insertBinary("DOCUMENTTEMPLATE", "DOCUMENT", vars.get("$field.DOCUMENTTEMPLATEID"), + "", bindata, filename, "", "", "_____SYSTEMALIAS"); } \ No newline at end of file diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js b/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js index a5e2e676ed60730d3dc5bf0b54aba0823c46d618..429cc8a2e1cdf354250f0753f78fde2b58f6810a 100644 --- a/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js @@ -1,11 +1,32 @@ +import("system.util"); import("system.vars"); import("system.db"); import("Document_lib"); -var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA")); +//TODO - Function -if(bindata != "") +var bindataUpload = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA")); +var filename = ""; +var bindata = ""; + +if(bindataUpload != "") +{ + bindata = bindataUpload; + filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA")); +} +else if(vars.get("$field.TYPE").trim() == "MAI" && vars.get("$field.htmlText") != "") +{ + filename = vars.get("$field.NAME") + ".html"; + bindata = util.encodeBase64String(vars.get("$field.htmlText")); +} +else if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.texText") != "") +{ + filename = vars.get("$field.NAME") + ".txt"; + bindata = util.encodeBase64String(vars.get("$field.texText")); +} + +if(bindata != "" && filename != "") { - var bId = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$field.DOCUMENTTEMPLATEID") + "'", "_____SYSTEMALIAS"); - db.updateBinary(bId, "", bindata, DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA")), "", "", "_____SYSTEMALIAS"); + var binaryId = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$field.DOCUMENTTEMPLATEID") + "'", "_____SYSTEMALIAS"); + db.updateBinary(binaryId, "", bindata, filename, "", "", "_____SYSTEMALIAS"); } \ No newline at end of file diff --git a/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod b/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod index 7834db84773b5824773827d39f28c8c46f68b5ec..50bc5095a1acad54726e2f600461b460b4e8dee1 100644 --- a/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod +++ b/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod @@ -33,6 +33,14 @@ <name>c25464a6-1111-4f9f-a834-92015c2d87bc</name> <entityField>LANGUAGE</entityField> </entityFieldLink> + <entityFieldLink> + <name>850130f7-75b1-42ef-9da9-da98966d6367</name> + <entityField>htmlText</entityField> + </entityFieldLink> + <entityFieldLink> + <name>bf313ea8-821a-4693-8ba2-4246ad8a4f62</name> + <entityField>texText</entityField> + </entityFieldLink> <entityFieldLink> <name>0fed8c5c-1be5-4599-938d-31241c4c9395</name> <entityField>DESCRIPTION</entityField>