Skip to content
Snippets Groups Projects
Commit 6f003b32 authored by Sebastian Listl's avatar Sebastian Listl :speech_balloon:
Browse files

broken dataless recordcontainers corrected

parent 35625cf1
No related branches found
No related tags found
No related merge requests found
Showing
with 165 additions and 257 deletions
......@@ -87,29 +87,9 @@
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isPageable v="true" />
<contentProcess>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/onInsert.js</onInsert>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessConfig</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
......@@ -62,29 +62,9 @@
</entityProvider>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isPageable v="true" />
<contentProcess>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/onInsert.js</onInsert>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessRecordContainer</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
......@@ -59,11 +59,6 @@
</entityConsumer>
<entityConsumer>
<name>CampaignStepConsumer</name>
<dependency>
<name>dependency</name>
<entityName>CampaignStep_entity</entityName>
<fieldName>CampaignSteps</fieldName>
</dependency>
<children>
<entityParameter>
<name>campaignId_param</name>
......@@ -71,11 +66,12 @@
<expose v="true" />
</entityParameter>
</children>
<dependency>
<name>dependency</name>
<entityName>CampaignStep_entity</entityName>
<fieldName>CampaignSteps</fieldName>
</dependency>
</entityConsumer>
<entityField>
<name>UID</name>
<state>EDITABLE</state>
</entityField>
<entityParameter>
<name>currentCampaignId_param</name>
<expose v="true" />
......@@ -156,14 +152,9 @@
</entityProvider>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessConfig</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
......@@ -29,11 +29,6 @@
</entityField>
<entityConsumer>
<name>DocumentTemplates</name>
<dependency>
<name>dependency</name>
<entityName>DocumentTemplate_entity</entityName>
<fieldName>#PROVIDER</fieldName>
</dependency>
<children>
<entityParameter>
<name>DocumentTemplateType_param</name>
......@@ -48,6 +43,11 @@
<valueProcess>%aditoprj%/entity/Email_entity/entityfields/documenttemplates/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
<dependency>
<name>dependency</name>
<entityName>DocumentTemplate_entity</entityName>
<fieldName>#PROVIDER</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>Recipient_param</name>
......@@ -65,17 +65,17 @@
</entityField>
<entityConsumer>
<name>EmailAddresses</name>
<dependency>
<name>dependency</name>
<entityName>Communication_entity</entityName>
<fieldName>EmailCommunications</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContactId_param</name>
<valueProcess>%aditoprj%/entity/Email_entity/entityfields/emailaddresses/children/contactid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
<dependency>
<name>dependency</name>
<entityName>Communication_entity</entityName>
<fieldName>EmailCommunications</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>ContactId_param</name>
......@@ -151,29 +151,9 @@
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isPageable v="true" />
<contentProcess>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/onInsert.js</onInsert>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessRecordContainer</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
......@@ -88,31 +88,10 @@
<useAggregates v="true" />
</entityProvider>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isPageable v="true" />
<contentProcess>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/onInsert.js</onInsert>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessRecordContainer</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
......@@ -82,29 +82,9 @@
</entityProvider>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isPageable v="true" />
<contentProcess>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/onInsert.js</onInsert>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessConfig</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
MSTChooseTeam
============
== Overview ==
MSTChooseTeam is used to link any MST team to a sales project
== A MSTChooseTeam consists of some modules: ==
- MSTChooseTeam itself
== BestPractice ==
== FAQ ==
import("system.result");
import("system.vars");
//TODO: This dummy implementation shouldn't be nescessary here. Remove this process eventually. #1051003
var rows = [];
if (vars.get("$local.idvalues"))
rows = vars.get("$local.idvalues").map(function (id) {return [id, ""];});
result.object(rows);
\ No newline at end of file
import("system.teams");
import("Sql_lib")
import("system.vars")
import("system.teams");
import("system.util");
import("system.neon");
import("MSTeams_lib");
var rowData = vars.get("$local.rowdata");
var teamIdAndName = rowData["MST_TEAM.value"];
if(teamIdAndName)
{
var [teamId, teamName] = JSON.parse(teamIdAndName);
var channelId = teams.getGeneralChannelId(teamId);
var webUrl = teams.getWebUrl(teamId);
var mstTeamId = newSelect("MST_TEAMID")
.from("MST_TEAM")
.where("MST_TEAM.MST_TEAMID", teamId)
.cell();
if (!mstTeamId)
{
new SqlBuilder().insertFields({
"MST_TEAMID" : teamId,
"TEAMNAME" : teamName,
"GENERAL_CHANNELID" : channelId,
"IS_ARCHIVED" : 0,
"WEB_URL" : webUrl
}, "MST_TEAM");
}
MSTeamsUtils.createTeamLink(teamId, vars.get("$param.ObjectRowId_param"), vars.get("$param.ObjectType_param"));
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
<name>MSTChooseTeam_entity</name>
<name>MSTTeamLink_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/MSTChooseTeam_entity/documentation.adoc</documentation>
<siblings />
<recordContainer>jdito</recordContainer>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityField>
<name>MST_TEAMLINKID</name>
</entityField>
<entityField>
<name>MST_TEAM</name>
<name>MST_TEAM_ID</name>
<title>Team</title>
<consumer>Teams</consumer>
<selectionMode>SINGLE</selectionMode>
</entityField>
<entityField>
<name>UID</name>
<name>OBJECT_ROWID</name>
</entityField>
<entityField>
<name>OBJECT_TYPE</name>
</entityField>
<entityParameter>
<name>ObjectRowId_param</name>
<expose v="true" />
</entityParameter>
<entityConsumer>
<name>Teams</name>
<dependency>
<name>dependency</name>
<entityName>MSTTeam_entity</entityName>
<fieldName>#PROVIDER</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>ObjectType_param</name>
<expose v="true" />
</entityParameter>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<contentProcess>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/onInsert.js</onInsert>
<dbRecordContainer>
<name>db</name>
<alias>Data_alias</alias>
<fromClauseProcess>%aditoprj%/entity/MSTTeamLink_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
<conditionProcess>%aditoprj%/entity/MSTTeamLink_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<onDBInsert>%aditoprj%/entity/MSTTeamLink_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
<linkInformation>
<linkInformation>
<name>178230f3-4ee4-4ec0-a7f6-4f4ddddbbb22</name>
<tableName>MST_TEAMLINK</tableName>
<primaryKey>MST_TEAMLINKID</primaryKey>
<isUIDTable v="true" />
<readonly v="false" />
</linkInformation>
<linkInformation>
<name>53378325-f195-4eb3-9e22-68fd769eef03</name>
<tableName>MST_TEAM</tableName>
<primaryKey>MST_TEAMID</primaryKey>
<isUIDTable v="false" />
<readonly v="true" />
</linkInformation>
</linkInformation>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>MST_TEAM.value</name>
</jDitoRecordFieldMapping>
<dbRecordFieldMapping>
<name>MST_TEAMLINKID.value</name>
<recordfield>MST_TEAMLINK.MST_TEAMLINKID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>MST_TEAM_ID.value</name>
<recordfield>MST_TEAMLINK.MST_TEAM_ID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>OBJECT_ROWID.value</name>
<recordfield>MST_TEAMLINK.OBJECT_ROWID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>OBJECT_TYPE.value</name>
<recordfield>MST_TEAMLINK.OBJECT_TYPE</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>MST_TEAM_ID.displayValue</name>
<recordfield>MST_TEAM.TEAMNAME</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</dbRecordContainer>
</recordContainers>
</entity>
import("system.result");
import("Sql_lib");
var condition = newWhereIfSet("MST_TEAMLINK.OBJECT_ROWID", "$param.ObjectRowId_param")
.andIfSet("MST_TEAMLINK.OBJECT_TYPE", "$param.ObjectType_param");
result.string(condition.toString(SqlBuilder.NORESULT_CONDITION()));
\ No newline at end of file
import("system.result");
result.string("MST_TEAMLINK left join MST_TEAM on MST_TEAMLINK.MST_TEAM_ID = MST_TEAM.MST_TEAMID");
\ No newline at end of file
import("system.vars");
import("MSTeams_lib");
var teamLinkId = vars.get("$local.uid");
var rowData = vars.get("$local.rowdata");
//if the linked context is configured to have just one teamLink but the object already has a teamLink, the old teamLink will be deleted
MSTeamsUtils.purgeCorruptTeamLinks(rowData["MST_TEAMLINK.OBJECT_ROWID"], rowData["MST_TEAMLINK.OBJECT_TYPE"], teamLinkId);
\ No newline at end of file
......@@ -13,12 +13,6 @@
<name>#PROVIDER</name>
<lookupIdfield>TEAMID_AND_NAME</lookupIdfield>
<dependencies>
<entityDependency>
<name>31745153-bc31-4529-a6dc-0cddfd2c5b7c</name>
<entityName>MSTChooseTeam_entity</entityName>
<fieldName>Teams</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>9794baf5-ffc8-498e-8aa8-f4eca945441c</name>
<entityName>MSTTeamLink_entity</entityName>
......
import("MSTeams_lib");
import("system.vars");
import("system.neon");
import("system.teams");
import("system.logging");
neon.openContext("MSTChooseTeam", null, null, neon.OPERATINGSTATE_NEW, {
"SalesprojectId_param" : vars.get("$param.ObjectRowId_param")
});
\ No newline at end of file
MSTeamsUtils.changeTeamsLink(vars.get("$field.OBJECT_ROWID"), vars.get("$field.OBJECT_TYPE"));
\ No newline at end of file
......@@ -83,29 +83,9 @@
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isPageable v="true" />
<contentProcess>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/MSTChooseTeam_entity/recordcontainers/jdito/onInsert.js</onInsert>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ALLARCHIVEDTEAMS.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessRecordContainer</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1">
<name>MSTChooseTeam</name>
<name>MSTTeamLink</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<editView>MSTChooseTeamEdit_view</editView>
<entity>MSTChooseTeam_entity</entity>
<entity>MSTTeamLink_entity</entity>
<references>
<neonViewReference>
<name>0c4e977f-1ce1-4782-9a7f-7cabd557c9fc</name>
<view>MSTChooseTeamEdit_view</view>
<name>a165469f-eea5-4427-b5ba-4477fe7e04e6</name>
<view>MSTTeamLinkEdit_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.1.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6">
<name>MSTChooseTeamEdit_view</name>
<name>MSTTeamLinkEdit_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<size>SMALL</size>
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<genericViewTemplate>
<name>Team</name>
<editMode v="true" />
<entityField>#ENTITY</entityField>
<title>Alle Teams</title>
<fields>
<entityFieldLink>
<name>ec6b987e-4f7a-405b-8248-56625c92d3a5</name>
<entityField>MST_TEAM</entityField>
</entityFieldLink>
</fields>
</genericViewTemplate>
</children>
</neonView>
......@@ -44,17 +44,14 @@ MSTeamsUtils.changeTeamsLink = function (pRowId, pObjectType)
.where("MST_TEAMLINK.OBJECT_ROWID", pRowId)
.and("MST_TEAMLINK.OBJECT_TYPE", pObjectType)
.arrayColumn();
var params = {
"ObjectRowId_param": pRowId,
"ObjectType_param": pObjectType
};
if (existingTeamLinks.length === 0 || !linkConfig.singleLinkPerObject)
{
neon.openContext("MSTTeamLink", null, null, neon.OPERATINGSTATE_NEW, {
"ObjectRowId_param": pRowId,
"ObjectType_param": pObjectType
});
}
neon.openContext("MSTTeamLink", null, null, neon.OPERATINGSTATE_NEW, params);
else
{
}
neon.openContext("MSTTeamLink", null, [existingTeamLinks[0]], neon.OPERATINGSTATE_EDIT, params);
}
MSTeamsUtils.purgeCorruptTeamLinks = function (pRowId, pObjectType, pTeamLinkIdToKeep)
......
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