Skip to content
Snippets Groups Projects
Commit 379f77c4 authored by S.Listl's avatar S.Listl
Browse files

Serial letter preset activity

parent 150cbfc6
No related branches found
No related tags found
No related merge requests found
Showing
with 100 additions and 38 deletions
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
</databaseChangeLog>
......@@ -165,6 +165,7 @@
<name>Group</name>
<kind v="123" />
<title>Service</title>
<icon>VAADIN:CHAT</icon>
<childNodes>
<entityNode>
<name>Group6</name>
......
......@@ -41,6 +41,7 @@
<title>Description</title>
<contentType>HTML</contentType>
<mandatory v="false" />
<valueProcess>%aditoprj%/entity/Activity_entity/entityfields/info/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>CATEGORY</name>
......@@ -56,6 +57,7 @@
<title>Subject</title>
<groupable v="false" />
<mandatory v="true" />
<valueProcess>%aditoprj%/entity/Activity_entity/entityfields/subject/valueProcess.js</valueProcess>
</entityField>
<entityParameter>
<name>RowId_param</name>
......@@ -472,6 +474,14 @@
<name>Direction_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>Info_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>Subject_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.neon");
import("system.vars");
import("system.result");
if (vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Info_param"))
result.string(vars.get("$param.Info_param"));
\ No newline at end of file
import("system.neon");
import("system.vars");
import("system.result");
if (vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Subject_param"))
result.string(vars.get("$param.Subject_param"));
\ No newline at end of file
......@@ -5,24 +5,17 @@ import("system.vars");
import("DocumentTemplate_lib");
var upload = vars.get("$field.BINDATA");
var contentType, type, filename, template;
var type;
if (upload)
{
filename = DocumentUtil.getFilenameFromUpload(upload);
type = DocumentUtil.getFileExtensionFromUpload(filename);
contentType = ({
"txt" : "LONG_TEXT",
"html" : "HTML",
"htm" : "HTML",
"eml" : "HTML"
})[type] || "LONG_TEXT";
type = DocumentUtil.getMimeTypeFromUpload(upload);
type = DocumentTemplate.types.fromMimeType(type);
}
else
{
template = BulkMailUtils.getBulkMailTemplate(vars.get("$field.BULKMAILID"), vars.get("$field.DOCUMENTTEMPLATE_ID"));
let template = BulkMailUtils.getBulkMailTemplate(vars.get("$field.BULKMAILID"), vars.get("$field.DOCUMENTTEMPLATE_ID"));
type = template.type;
contentType = type == DocumentTemplate.types.HTML || type == DocumentTemplate.types.EML
? "HTML"
: "LONG_TEXT";
}
result.string(contentType);
\ No newline at end of file
result.string(type == DocumentTemplate.types.HTML || type == DocumentTemplate.types.EML
? "HTML"
: "LONG_TEXT");
\ No newline at end of file
......@@ -14,9 +14,8 @@ if (vars.get("$this.value") == null && vars.get("$sys.viewmode") == neon.FRAME_V
if (upload)
{
var binData = DocumentUtil.getBindataFromUpload(upload);
var filename = DocumentUtil.getFilenameFromUpload(upload);
var type = DocumentUtil.getFileExtensionFromUpload(filename);
template = new DocumentTemplate(binData, DocumentTemplate.types.fromFileExtension(type));
var type = DocumentUtil.getMimeTypeFromUpload(upload);
template = new DocumentTemplate(binData, DocumentTemplate.types.fromMimeType(type));
}
else
{
......
......@@ -12,9 +12,8 @@ if (vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPER
if (upload)
{
var binData = DocumentUtil.getBindataFromUpload(upload);
var filename = DocumentUtil.getFilenameFromUpload(upload);
var type = DocumentUtil.getFileExtensionFromUpload(filename);
if (DocumentTemplate.types.fromFileExtension(type) == DocumentTemplate.types.EML)
var type = DocumentUtil.getMimeTypeFromUpload(upload);
if (DocumentTemplate.types.fromMimeType(type) == DocumentTemplate.types.EML)
result.string(Email.fromRFC(binData).subject);
}
}
\ No newline at end of file
......@@ -34,6 +34,17 @@
<name>ContactId_param</name>
<expose v="true" />
</entityParameter>
<entityField>
<name>bindata</name>
<contentType>FILE</contentType>
</entityField>
<entityActionField>
<name>downloadTemplate</name>
<title>Download template</title>
<onActionProcess>%aditoprj%/entity/Letter_entity/entityfields/downloadtemplate/onActionProcess.js</onActionProcess>
<iconId>VAADIN:DOWNLOAD_ALT</iconId>
<stateProcess>%aditoprj%/entity/Letter_entity/entityfields/downloadtemplate/stateProcess.js</stateProcess>
</entityActionField>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
......
import("system.neon");
import("DocumentTemplate_lib");
import("system.vars");
var templateId = vars.get("$field.DOCUMENT_TEMPLATE");
var template = DocumentTemplate.loadTemplate(templateId);
if (template.content)
neon.download(template.content, template.filename);
\ No newline at end of file
import("system.neon");
import("system.vars");
import("system.result");
if (vars.get("$field.DOCUMENT_TEMPLATE"))
result.string(neon.COMPONENTSTATE_EDITABLE);
else
result.string(neon.COMPONENTSTATE_DISABLED);
\ No newline at end of file
import("system.translate");
import("Contact_lib");
import("ActivityTask_lib");
import("system.neon");
import("system.vars");
import("system.text");
import("DocumentTemplate_lib");
import("KeywordRegistry_basic");
......@@ -18,4 +20,4 @@ if (contactId)
links.push([context, contactId]);
}
ActivityUtils.createNewActivity(null, links, null, null, [[template.filename, content, false]], $KeywordRegistry.activityDirection$outgoing());
ActivityUtils.createNewActivity(null, links, null, null, translate.text("Letter"), text.parseDocument(content), $KeywordRegistry.activityDirection$outgoing(), [[template.filename, content, false]]);
......@@ -4,9 +4,9 @@
<majorModelMode>DISTRIBUTED</majorModelMode>
<isSmall v="true" />
<layout>
<boxLayout>
<noneLayout>
<name>layout</name>
</boxLayout>
</noneLayout>
</layout>
<children>
<genericViewTemplate>
......@@ -18,10 +18,6 @@
<name>5919fb0b-13d8-4cd3-8110-89722d97f4e1</name>
<entityField>DOCUMENT_TEMPLATE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>1b614c44-29b5-4557-8ce6-9ef533a55c65</name>
<entityField>CREATEACTIVITY</entityField>
</entityFieldLink>
</fields>
</genericViewTemplate>
</children>
......
......@@ -138,9 +138,19 @@ ActivityUtils.insertDocuments = function (pActivityId, pDocuments)
/**
* Create a new activity
*/
ActivityUtils.createNewActivity = function(pRowId, pAdditionalLinks, pParentContext, pParentId, pDocuments, pDirection)
ActivityUtils.createNewActivity = function(pRowId, pAdditionalLinks, pParentContext, pParentId, pSubject, pInfo, pDirection, pDocuments)
{
_ActivityTaskUtils._createNew("Activity", pRowId, pAdditionalLinks, pParentContext, pParentId, null, pDocuments, pDirection)
var params = {};
if (pDocuments)
params["PresetDocuments_param"] = JSON.stringify(pDocuments);
if (pSubject)
params["Subject_param"] = pSubject;
if (pInfo)
params["Info_param"] = text.text2html(pInfo.trim(), false);
if (pDirection)
params["Direction_param"] = pDirection;
_ActivityTaskUtils._createNew("Activity", pRowId, pAdditionalLinks, pParentContext, pParentId, params)
}
/*
......@@ -246,7 +256,7 @@ function _ActivityTaskUtils() {}
* Create a new task
* @ignore
*/
_ActivityTaskUtils._createNew = function(pContext, pRowId, pAdditionalLinks, pParentContext, pParentId, pParams, pDocuments, pDirection)
_ActivityTaskUtils._createNew = function(pContext, pRowId, pAdditionalLinks, pParentContext, pParentId, pParams)
{
if (pAdditionalLinks == undefined)
pAdditionalLinks = [];
......@@ -272,12 +282,6 @@ _ActivityTaskUtils._createNew = function(pContext, pRowId, pAdditionalLinks, pPa
params["ParentId_param"] = pParentId;
}
if (pDocuments)
params["PresetDocuments_param"] = JSON.stringify(pDocuments);
if (pDirection)
params["Direction_param"] = pDirection;
neon.openContext(pContext, null, null, neon.OPERATINGSTATE_NEW, params);
}
......
......@@ -84,7 +84,7 @@ DocumentTemplate.types = {
return this.TXT;
}
},
fromMimetype : function (pMimetype)
fromMimeType : function (pMimetype)
{
switch (pMimetype)
{
......@@ -122,7 +122,7 @@ DocumentTemplate.loadTemplate = function (pAssignmentRowId, pAssignmentTable)
var binaryId = templateDocument[0][db.BINARY_ID];
var filename = templateDocument[0][db.BINARY_FILENAME];
var mimetype = templateDocument[0][db.BINARY_MIMETYPE];
var type = DocumentTemplate.types.fromMimetype(mimetype);
var type = DocumentTemplate.types.fromMimeType(mimetype);
return new DocumentTemplate(db.getBinaryContent(binaryId, alias), type, filename);
}
......
......@@ -99,4 +99,18 @@ DocumentUtil.getFileExtensionFromUpload = function(pFileName) {
}
else
return '';
}
/**
* Utility function to retrieve the mime type from an uploadcomponent value.
*
* @param {String} pUploadValue the value of the uploadcomponent
* @return {String} the mime type or empty String
*/
DocumentUtil.getMimeTypeFromUpload = function(pUploadValue) {
var res = pUploadValue.split(";");
if(res.length > 1)
return res[2];
else
return '';
}
\ No newline at end of file
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