Skip to content
Snippets Groups Projects
Commit 6325c429 authored by Mohamed Mansour's avatar Mohamed Mansour
Browse files

merged origin/master into Receipt

parents 2bf011b0 aba587c0
No related branches found
No related tags found
No related merge requests found
Showing
with 264 additions and 209 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">
<changeSet author="s.listl" id="f1a65325-8a60-409e-9271-512c14b5e1b7">
<addColumn tableName="SERIALLETTER">
<column name="STATUS" type="CHAR(36)"/>
</addColumn>
</changeSet>
</databaseChangeLog>
......@@ -2,4 +2,6 @@
<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">
<include relativeToChangelogFile="true" file="update_attribute_Ticket_Support_Product.xml"/>
<include relativeToChangelogFile="true" file="alter_SerialLetter.xml"/>
</databaseChangeLog>
......@@ -27,6 +27,7 @@
<name>NAME</name>
<title>Name</title>
<mandatory v="true" />
<valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/name/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>SUBJECT</name>
......@@ -36,6 +37,7 @@
<entityField>
<name>DESCRIPTION</name>
<title>Description</title>
<contentType>LONG_TEXT</contentType>
</entityField>
<entityField>
<name>DOCUMENTTEMPLATE_ID</name>
......
import("system.result");
import("Document_lib");
import("system.neon");
import("system.vars");
if (vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
var upload = vars.get("$field.bindata");
if (upload)
{
var filename = DocumentUtil.getFilenameFromUpload(upload);
result.string(filename.split(".")[0]);
}
}
\ No newline at end of file
......@@ -8,7 +8,6 @@ import("system.vars");
if (vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
var upload = vars.get("$field.bindata");
var template;
if (upload)
{
var binData = DocumentUtil.getBindataFromUpload(upload);
......
......@@ -3,7 +3,7 @@ import("Sql_lib");
import("system.db");
db.deleteData("BULKMAILRECIPIENT", SqlCondition.equals("BULKMAILRECIPIENT.BULKMAIL_ID", vars.get("$local.uid"), "1=2"));
var SYSALIAS = "_____SYSTEMALIAS";
var SYSALIAS = SqlUtils.getSystemAlias();
var binaryId = db.cell(SqlCondition.begin(SYSALIAS)
.andPrepareVars("ASYS_BINARIES.ROW_ID", "$local.uid")
.buildSql("select ID from ASYS_BINARIES"), SYSALIAS);
......
import("Sql_lib");
import("DocumentTemplate_lib");
import("system.result");
import("system.vars");
......@@ -20,7 +21,7 @@ if (template.content)
if (!template.filename)
template.filename = bulkMailName + ".html";
db.insertBinary("BULKMAIL", "DOCUMENT", bulkMailId,
"", template.content, template.filename, "", "", "_____SYSTEMALIAS");
"", template.content, template.filename, "", "", SqlUtils.getSystemAlias());
}
var contactIds = JSON.parse(vars.getString("$param.PresetRecipients_param"));
......
......@@ -20,7 +20,7 @@ if (template.content)
{
if (!template.filename)
template.filename = bulkMailName + ".html";
let sysAlias = "_____SYSTEMALIAS";
let sysAlias = SqlUtils.getSystemAlias();
var binaryId = db.cell(SqlCondition.begin(sysAlias)
.andPrepareVars("ASYS_BINARIES.ROW_ID", "$local.uid")
.buildSql("select ID from ASYS_BINARIES", "1=2"), sysAlias);
......
import("Sql_lib");
import("system.db");
import("system.vars");
import("system.neon");
var fileInformation = db.array(db.ROW, SqlCondition.begin()
.andPrepareVars("ASYS_BINARIES.ROW_ID", "$field.DOCUMENTTEMPLATE_ID_CHILD")
.buildSql("select ID, FILENAME from ASYS_BINARIES"), "_____SYSTEMALIAS");
var data = db.getBinaryContent(fileInformation[0], "_____SYSTEMALIAS");
neon.download(data, fileInformation[1]);
import("Sql_lib");
import("system.db");
import("system.vars");
import("system.neon");
var fileInformation = db.array(db.ROW, SqlCondition.begin()
.andPrepareVars("ASYS_BINARIES.ROW_ID", "$field.DOCUMENTTEMPLATE_ID_CHILD")
.buildSql("select ID, FILENAME from ASYS_BINARIES"), SqlUtils.getSystemAlias());
var data = db.getBinaryContent(fileInformation[0], SqlUtils.getSystemAlias());
neon.download(data, fileInformation[1]);
import("Sql_lib");
import("Document_lib");
import("system.util");
import("system.db");
import("system.neon");
import("system.result");
import("system.vars");
if(vars.get("$field.KIND").trim() == "TEX" && vars.get("$field.BINDATA") == "" && vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT)
{
var fileExtension = DocumentUtil.getFileExtensionFromUpload(vars.get("$field.NAME"));
if(fileExtension == "txt")
{
var binaryId = db.cell(SqlCondition.begin()
.andPrepareVars("ASYS_BINARIES.ROW_ID", "$field.DOCUMENTTEMPLATEID")
.buildSql("select ID from ASYS_BINARIES"), "_____SYSTEMALIAS");
result.string(util.decodeBase64String(db.getBinaryContent(binaryId, "_____SYSTEMALIAS")));
}
import("Sql_lib");
import("Document_lib");
import("system.util");
import("system.db");
import("system.neon");
import("system.result");
import("system.vars");
if(vars.get("$field.KIND").trim() == "TEX" && vars.get("$field.BINDATA") == "" && vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT)
{
var fileExtension = DocumentUtil.getFileExtensionFromUpload(vars.get("$field.NAME"));
if(fileExtension == "txt")
{
var binaryId = db.cell(SqlCondition.begin()
.andPrepareVars("ASYS_BINARIES.ROW_ID", "$field.DOCUMENTTEMPLATEID")
.buildSql("select ID from ASYS_BINARIES"), SqlUtils.getSystemAlias());
result.string(util.decodeBase64String(db.getBinaryContent(binaryId, SqlUtils.getSystemAlias())));
}
}
\ No newline at end of file
......@@ -4,6 +4,6 @@ import("system.db");
var binaryId = db.cell(SqlCondition.begin()
.andPrepareVars("ASYS_BINARIES.ROW_ID", "$field.DOCUMENTTEMPLATEID")
.buildSql("select ID from ASYS_BINARIES"), "_____SYSTEMALIAS");
.buildSql("select ID from ASYS_BINARIES"), SqlUtils.getSystemAlias());
db.deleteBinary(binaryId, "_____SYSTEMALIAS");
\ No newline at end of file
db.deleteBinary(binaryId, SqlUtils.getSystemAlias());
\ No newline at end of file
import("system.result");
import("system.vars");
import("system.neon");
import("system.db");
import("system.util");
if(vars.exists("$param.OfferFooter_param") && vars.get("$param.OfferFooter_param"))
result.string(vars.get("$param.OfferFooter_param"));
else if(vars.get("$this.value"))
result.string(vars.get("$this.value"));
else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
result.string("Vielen Dank!")
if (vars.get("$field.ChoosenTEXFooter") != "")
{
var binaryId = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$field.ChoosenTEXFooter") + "'", "_____SYSTEMALIAS");
result.string(util.decodeBase64String(db.getBinaryContent(binaryId, "_____SYSTEMALIAS")));
import("Sql_lib");
import("system.result");
import("system.vars");
import("system.neon");
import("system.db");
import("system.util");
if(vars.exists("$param.OfferFooter_param") && vars.get("$param.OfferFooter_param"))
result.string(vars.get("$param.OfferFooter_param"));
else if(vars.get("$this.value"))
result.string(vars.get("$this.value"));
else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
result.string("Vielen Dank!")
if (vars.get("$field.ChoosenTEXFooter") != "")
{
var binaryId = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$field.ChoosenTEXFooter") + "'", SqlUtils.getSystemAlias());
result.string(util.decodeBase64String(db.getBinaryContent(binaryId, SqlUtils.getSystemAlias())));
}
\ No newline at end of file
import("Sql_lib");
import("system.db");
import("system.vars");
import("system.translate");
import("system.result");
import("Permission_lib");
var alias = "_____SYSTEMALIAS";
var alias = SqlUtils.getSystemAlias();
var actionTitle = vars.get("$field.ACTION");
var permissionId = vars.get("$param.PermissionId_param");
var permCondInput = vars.get("$param.PermissionCondition_param");
......
import("Sql_lib");
import("system.db");
import("system.tools");
import("system.result");
import("system.vars");
import("Permission_lib");
var alias = "_____SYSTEMALIAS";
var alias = SqlUtils.getSystemAlias();
var permissionId = vars.exists("$param.PermissionId_param") && vars.get("$param.PermissionId_param");
if (permissionId) {
......
import("system.util");
import("system.vars");
import("system.db");
import("system.result");
import("Permission_lib");
import("system.project");
var selectedPermission = vars.get("$local.idvalues");
var sqlStr;
var whereCond = " where";
var alias = "_____SYSTEMALIAS";
var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY);
var entityStructure;
var entitiesUsePermFlagSet = [];
var fieldsUsePermFlagSet = [];
// gets all names of the entites which have the 'usePermission'-flag set (positive list)
// gets all names of the fields which have the 'usePermission'-flag set (positive list)
for each (let entityMetaData in entitiesMetaData) {
if (entityMetaData[6] == "true") {
entitiesUsePermFlagSet.push(entityMetaData[0])
entityStructure = project.getEntityStructure(entityMetaData[0]);
for (fieldname in entityStructure.fields) {
field = entityStructure.fields[fieldname];
if (field.usePermissions == true) {
fieldsUsePermFlagSet.push(field.name);
}
}
}
}
whereCond += " ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')";
whereCond += " and (FIELD_ID in ('" + fieldsUsePermFlagSet.join("','") + "') or FIELD_ID is NULL)";
if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) {
whereCond += " and ASYS_PERMISSIONSET.ROLE_ID = '" + vars.getString("$param.RoleTitle_param") + "'";
} else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) {
whereCond += " and ASYS_PERMISSIONSET.ENTITY_ID = '" + vars.getString("$param.EntityTitle_param") + "'";
}
sqlStr =
"select ASYS_PERMISSION.ASYS_PERMISSIONID, ASYS_PERMISSIONSET.ENTITY_ID, ASYS_PERMISSIONSET.ROLE_ID,"
+ " ASYS_PERMISSIONSET.FIELD_ID, ASYS_PERMISSION.COND, ASYS_PERMISSIONACTION.ACTION, ASYS_PERMISSIONSET.ACCESSTYPE, ASYS_PERMISSION.CONDTYPE from ASYS_PERMISSIONSET"
+ " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID"
+ " join ASYS_PERMISSIONACTION on ASYS_PERMISSIONACTION.ASYS_PERMISSION_ID = ASYS_PERMISSION.ASYS_PERMISSIONID"
+ whereCond
+ " order by ASYS_PERMISSION.ASYS_PERMISSIONID";
var sqlRes = db.table(sqlStr, alias);
var permissionTable = PermissionUtil.convertArrToObj(sqlRes);
// group all permissions by permissionid and condition, concat actions
var groupedPermissionTable = [], concatAction;
for (let i = 0; i < permissionTable.length - 1; i++) {
for (let j = i + 1; j < permissionTable.length; j++) {
if (permissionTable[i].permissionid == permissionTable[j].permissionid && permissionTable[i].cond == permissionTable[j].cond) {
var currPermId = permissionTable[i].permissionid;
var indexCurrPermGrouped = PermissionUtil.indexOfPermId(groupedPermissionTable, currPermId);
if (indexCurrPermGrouped > -1) {
// permissionset got already grouped before
// concat current action with the actions which got already grouped
concatAction = groupedPermissionTable[indexCurrPermGrouped].action + "," + permissionTable[j].action;
groupedPermissionTable[indexCurrPermGrouped].action = concatAction;
break;
} else {
concatAction = permissionTable[i].action + "," + permissionTable[j].action;
groupedPermissionTable.push(permissionTable[i]);
groupedPermissionTable[groupedPermissionTable.length-1].action = concatAction;
break;
}
}
}
}
var res = [];
var permissionTableOrigin = PermissionUtil.convertArrToObj(sqlRes);
// no permission selected, return all permission entrys
if (selectedPermission == null) {
for each (let entry in groupedPermissionTable) {
res = prepareResultArray(entry, res);
}
for each (let entry in permissionTableOrigin) {
if (PermissionUtil.indexOfPermId(PermissionUtil.convertArrToObj(res), entry.permissionid) == -1) {
res = prepareResultArray(entry, res);
}
}
} else { // permission selected, return only the selected permission entry
for each (let entry in groupedPermissionTable) {
if (selectedPermission == entry.permissionid) {
res = prepareResultArray(entry, res);
break;
}
}
for each (let entry in permissionTableOrigin) {
if (selectedPermission == entry.permissionid) {
if (PermissionUtil.indexOfPermId(PermissionUtil.convertArrToObj(res), entry.permissionid) == -1) {
res = prepareResultArray(entry, res);
break;
}
}
}
}
result.object(res.sort(sortFunction));
function prepareResultArray(pEntry, pRes) {
var rootPermission = "";
if (pEntry.accesstype != "E") {
if (pEntry.accesstype == "F" && pEntry.cond != "") {
rootPermission = PermissionUtil.getRootFieldPermission(pEntry.permissionid);
if (rootPermission == "") {
rootPermission = PermissionUtil.getRootPermission(pEntry.permissionid);
}
} else
rootPermission = PermissionUtil.getRootPermission(pEntry.permissionid);
}
pRes.push([pEntry.permissionid, pEntry.entity, pEntry.role, pEntry.field, pEntry.cond, pEntry.action, pEntry.accesstype, pEntry.condtype, rootPermission]);
return pRes;
}
// used to sort result array: Entity -> Records -> Fields
function sortFunction(a, b) {
if (a[6] == b[6] && a[6] != "F" && a[6] != "R")
return 0;
else if (a[6] == "E")
return -1;
else if (b[6] == "E")
return 1;
else if (a[6] == "R" && b[6] == "F")
return -1;
else if (a[6] == "F" && b[6] == "R")
return 1;
else if (a[6] == "R" && b[6] == "R" && a[4] == "")
return -1;
else if (a[6] == "R" && b[6] == "R" && b[4] == "")
return 1;
else if (a[6] == "F" && b[6] == "F" && a[4] == "")
return -1;
else if (a[6] == "F" && b[6] == "F" && b[4] == "")
return 1;
else
return 0;
import("Sql_lib");
import("system.util");
import("system.vars");
import("system.db");
import("system.result");
import("Permission_lib");
import("system.project");
var selectedPermission = vars.get("$local.idvalues");
var sqlStr;
var whereCond = " where";
var alias = SqlUtils.getSystemAlias();
var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY);
var entityStructure;
var entitiesUsePermFlagSet = [];
var fieldsUsePermFlagSet = [];
// gets all names of the entites which have the 'usePermission'-flag set (positive list)
// gets all names of the fields which have the 'usePermission'-flag set (positive list)
for each (let entityMetaData in entitiesMetaData) {
if (entityMetaData[6] == "true") {
entitiesUsePermFlagSet.push(entityMetaData[0])
entityStructure = project.getEntityStructure(entityMetaData[0]);
for (fieldname in entityStructure.fields) {
field = entityStructure.fields[fieldname];
if (field.usePermissions == true) {
fieldsUsePermFlagSet.push(field.name);
}
}
}
}
whereCond += " ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')";
whereCond += " and (FIELD_ID in ('" + fieldsUsePermFlagSet.join("','") + "') or FIELD_ID is NULL)";
if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) {
whereCond += " and ASYS_PERMISSIONSET.ROLE_ID = '" + vars.getString("$param.RoleTitle_param") + "'";
} else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) {
whereCond += " and ASYS_PERMISSIONSET.ENTITY_ID = '" + vars.getString("$param.EntityTitle_param") + "'";
}
sqlStr =
"select ASYS_PERMISSION.ASYS_PERMISSIONID, ASYS_PERMISSIONSET.ENTITY_ID, ASYS_PERMISSIONSET.ROLE_ID,"
+ " ASYS_PERMISSIONSET.FIELD_ID, ASYS_PERMISSION.COND, ASYS_PERMISSIONACTION.ACTION, ASYS_PERMISSIONSET.ACCESSTYPE, ASYS_PERMISSION.CONDTYPE from ASYS_PERMISSIONSET"
+ " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID"
+ " join ASYS_PERMISSIONACTION on ASYS_PERMISSIONACTION.ASYS_PERMISSION_ID = ASYS_PERMISSION.ASYS_PERMISSIONID"
+ whereCond
+ " order by ASYS_PERMISSION.ASYS_PERMISSIONID";
var sqlRes = db.table(sqlStr, alias);
var permissionTable = PermissionUtil.convertArrToObj(sqlRes);
// group all permissions by permissionid and condition, concat actions
var groupedPermissionTable = [], concatAction;
for (let i = 0; i < permissionTable.length - 1; i++) {
for (let j = i + 1; j < permissionTable.length; j++) {
if (permissionTable[i].permissionid == permissionTable[j].permissionid && permissionTable[i].cond == permissionTable[j].cond) {
var currPermId = permissionTable[i].permissionid;
var indexCurrPermGrouped = PermissionUtil.indexOfPermId(groupedPermissionTable, currPermId);
if (indexCurrPermGrouped > -1) {
// permissionset got already grouped before
// concat current action with the actions which got already grouped
concatAction = groupedPermissionTable[indexCurrPermGrouped].action + "," + permissionTable[j].action;
groupedPermissionTable[indexCurrPermGrouped].action = concatAction;
break;
} else {
concatAction = permissionTable[i].action + "," + permissionTable[j].action;
groupedPermissionTable.push(permissionTable[i]);
groupedPermissionTable[groupedPermissionTable.length-1].action = concatAction;
break;
}
}
}
}
var res = [];
var permissionTableOrigin = PermissionUtil.convertArrToObj(sqlRes);
// no permission selected, return all permission entrys
if (selectedPermission == null) {
for each (let entry in groupedPermissionTable) {
res = prepareResultArray(entry, res);
}
for each (let entry in permissionTableOrigin) {
if (PermissionUtil.indexOfPermId(PermissionUtil.convertArrToObj(res), entry.permissionid) == -1) {
res = prepareResultArray(entry, res);
}
}
} else { // permission selected, return only the selected permission entry
for each (let entry in groupedPermissionTable) {
if (selectedPermission == entry.permissionid) {
res = prepareResultArray(entry, res);
break;
}
}
for each (let entry in permissionTableOrigin) {
if (selectedPermission == entry.permissionid) {
if (PermissionUtil.indexOfPermId(PermissionUtil.convertArrToObj(res), entry.permissionid) == -1) {
res = prepareResultArray(entry, res);
break;
}
}
}
}
result.object(res.sort(sortFunction));
function prepareResultArray(pEntry, pRes) {
var rootPermission = "";
if (pEntry.accesstype != "E") {
if (pEntry.accesstype == "F" && pEntry.cond != "") {
rootPermission = PermissionUtil.getRootFieldPermission(pEntry.permissionid);
if (rootPermission == "") {
rootPermission = PermissionUtil.getRootPermission(pEntry.permissionid);
}
} else
rootPermission = PermissionUtil.getRootPermission(pEntry.permissionid);
}
pRes.push([pEntry.permissionid, pEntry.entity, pEntry.role, pEntry.field, pEntry.cond, pEntry.action, pEntry.accesstype, pEntry.condtype, rootPermission]);
return pRes;
}
// used to sort result array: Entity -> Records -> Fields
function sortFunction(a, b) {
if (a[6] == b[6] && a[6] != "F" && a[6] != "R")
return 0;
else if (a[6] == "E")
return -1;
else if (b[6] == "E")
return 1;
else if (a[6] == "R" && b[6] == "F")
return -1;
else if (a[6] == "F" && b[6] == "R")
return 1;
else if (a[6] == "R" && b[6] == "R" && a[4] == "")
return -1;
else if (a[6] == "R" && b[6] == "R" && b[4] == "")
return 1;
else if (a[6] == "F" && b[6] == "F" && a[4] == "")
return -1;
else if (a[6] == "F" && b[6] == "F" && b[4] == "")
return 1;
else
return 0;
}
\ No newline at end of file
......@@ -9,7 +9,7 @@ var permId = vars.get("$field.UID");
var accessType = vars.get("$field.ACCESSTYPE");
var parentPermSetId = PermissionUtil.getParentPermissionSet(permId);
var linkedActions = PermissionUtil.getAllChildPermissionActions(permId);
var alias = "_____SYSTEMALIAS";
var alias = SqlUtils.getSystemAlias();
var sqlCondDelAction = SqlCondition.begin()
.and("ASYS_PERMISSIONACTION.ASYS_PERMISSIONACTIONID in ('" + linkedActions.join("','") + "')")
......
import("Sql_lib");
import("Permission_lib");
import("system.neon");
import("system.util");
......@@ -7,7 +8,7 @@ import("system.tools");
import("Permission_lib");
import("Entity_lib");
var alias = "_____SYSTEMALIAS";
var alias = SqlUtils.getSystemAlias();
var tablename = "ASYS_PERMISSION";
var sqlExt = "";
var permissionid = vars.get("$field.UID");
......
......@@ -8,7 +8,7 @@ import("Permission_lib");
var table, cols, vals, cond;
var alias = "_____SYSTEMALIAS";
var alias = SqlUtils.getSystemAlias();
var permissionid = vars.get("$field.UID");
var actionNew = vars.get("$field.ACTION").split(",");
var entityNew = vars.get("$field.ENTITY");
......
......@@ -66,6 +66,7 @@
<name>TITLE</name>
<title>Title</title>
<mandatory v="true" />
<valueProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/title/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>DESCRIPTION</name>
......@@ -97,6 +98,17 @@
<name>bindata</name>
<contentType>FILE</contentType>
</entityField>
<entityField>
<name>STATUS</name>
<title>Status</title>
</entityField>
<entityActionField>
<name>downloadTemplate</name>
<title>Download template</title>
<onActionProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/downloadtemplate/onActionProcess.js</onActionProcess>
<iconId>VAADIN:FILE_FONT</iconId>
<stateProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/downloadtemplate/stateProcess.js</stateProcess>
</entityActionField>
</entityFields>
<recordContainers>
<dbRecordContainer>
......@@ -146,6 +158,10 @@
<recordfield>SERIALLETTER.DESCRIPTION</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>STATUS.value</name>
<recordfield>SERIALLETTER.STATUS</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
</dbRecordContainer>
</recordContainers>
......
import("system.neon");
import("system.vars");
import("DocumentTemplate_lib");
var template = DocumentTemplate.loadTemplate(vars.get("$field.DOCUMENTTEMPLATE_ID"));
if (template.type)
neon.download(template.content, template.filename);
\ 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