Skip to content
Snippets Groups Projects
Commit 11633229 authored by Sebastian Pongratz's avatar Sebastian Pongratz :ping_pong:
Browse files

Merge branch '2021.1.1' into '2021.1'

2021.1.1

See merge request xrm/basic!1125
parents 97e8b969 f82aae13
No related branches found
No related tags found
No related merge requests found
......@@ -220,31 +220,31 @@
"target": "neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod",
"line": -1,
"description": "Dead Reference \"#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT\" located in: PhaseFunnelChart/defaultGroupFields/#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT [67]",
"groupName": "nb-tasklist-warning"
"groupName": "nb-tasklist-error"
},
{
"target": "neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod",
"line": -1,
"description": "Dead Reference \"#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT\" located in: PhasePieChart/defaultGroupFields/#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT [67]",
"groupName": "nb-tasklist-warning"
"groupName": "nb-tasklist-error"
},
{
"target": "neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod",
"line": -1,
"description": "Dead Reference \"#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT\" located in: PhasePyramidChart/defaultGroupFields/#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT [67]",
"groupName": "nb-tasklist-warning"
"groupName": "nb-tasklist-error"
},
{
"target": "neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod",
"line": -1,
"description": "Dead Reference \"#EXTENSION.Month.Month#NUMBER\" located in: TreeTable/defaultGroupFields/#EXTENSION.Month.Month#NUMBER [67]",
"groupName": "nb-tasklist-warning"
"groupName": "nb-tasklist-error"
},
{
"target": "neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod",
"line": -1,
"description": "Dead Reference \"#EXTENSION.Month.Month#NUMBER\" located in: dynamicChart/defaultGroupFields/#EXTENSION.Month.Month#NUMBER [67]",
"groupName": "nb-tasklist-warning"
"groupName": "nb-tasklist-error"
}
]
}
\ No newline at end of file
......@@ -13,7 +13,7 @@
<contentTitleProcess>%aditoprj%/entity/Member_entity/contentTitleProcess.js</contentTitleProcess>
<iconId>VAADIN:FILE_SOUND</iconId>
<titlePlural>${SALESPROJECT_MEMBER}</titlePlural>
<recordContainer>jdito</recordContainer>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
......@@ -207,7 +207,6 @@
</entityProvider>
<entityProvider>
<name>WithDistrictResponsibles</name>
<recordContainer>jdito</recordContainer>
</entityProvider>
<entityField>
<name>UID</name>
......@@ -450,91 +449,5 @@
</linkInformation>
</linkInformation>
</dbRecordContainer>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isFilterable v="true" />
<contentProcess>%aditoprj%/entity/Member_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/Member_entity/recordcontainers/jdito/onInsert.js</onInsert>
<onUpdate>%aditoprj%/entity/Member_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
<onDelete>%aditoprj%/entity/Member_entity/recordcontainers/jdito/onDelete.js</onDelete>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>OBJECTMEMBERID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>CONTACT_ID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>CONTACT_ID.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>CONTACTROLE.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>DEPARTMENT.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ICON.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>IMAGE.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>MEMBERROLE.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>MEMBERROLE.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>OBJECT_ROWID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>OBJECT_TYPE.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ORG_ORGID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ORGANISATION_NAME.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PERSON_FIRSTNAME.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PERSON_FULL_NAME.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PERSON_LASTNAME.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PERSON_PERSID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PERSON_SALUTATION.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PERSON_TITLE.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>POSITION.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>TARGETCONTEXT.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>recordType.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>MST_MEMBERROLE.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>PERSON_ATTR_LOYALTY.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
</entity>
= Member_entity
Manages the project team in the sales project and in the campaign
This entity has two recordContainers:
* db
* jdito
While for the must purposes the `db`-recordContainer is perfectly fine to use there is one case necessary for the `jdito`-recordContainer:
Salesproject memebers are loaded via the ``-provider and therefor use the `jdito`-recodContainer. This recordContainer first collects the data from
the `db`-rc and then loads additional memebers of the salesprojects district. The additional members are not modifyable, while those from the
`db`-rc are.
\ No newline at end of file
Manages the project team in the sales project and in the campaign
\ No newline at end of file
import("AttributeRegistry_basic");
import("Util_lib");
import("system.translate");
import("system.result");
import("system.vars");
import("system.entities");
import("KeywordRegistry_basic");
import("Sql_lib");
var idValues = vars.get("$local.idvalues");
var filter = vars.get("$local.filter");
var memberLoadingConfig = entities.createConfigForLoadingRows()
.entity("Member_entity")
.provider("Links")
.addParameter("ObjectRowId_param", vars.get("$param.ObjectRowId_param"))
.addParameter("ObjectType_param", vars.get("$param.ObjectType_param"))
.fields(["#UID", "CONTACT_ID", "CONTACT_ID.displayValue", "CONTACTROLE", "DEPARTMENT", "ICON", "IMAGE",
"MEMBERROLE", "MEMBERROLE.displayValue", "OBJECT_ROWID", "OBJECT_TYPE",
"OBJECTMEMBERID", "ORG_ORGID", "ORGANISATION_NAME", "PERSON_FIRSTNAME", "PERSON_FULL_NAME",
"PERSON_LASTNAME", "PERSON_PERSID", "PERSON_SALUTATION", "PERSON_TITLE", "POSITION", "TARGETCONTEXT",
"recordType", "MST_MEMBERROLE", "PERSON_ATTR_LOYALTY"]);
if (idValues)
{
memberLoadingConfig.uids(idValues);
}
if (filter && filter.filter != null)
{
memberLoadingConfig.filter(JSON.stringify(filter.filter));
}
var memberRows = entities.getRows(memberLoadingConfig);
memberRows = memberRows.map(function(row)
{
return [
row["#UID"],
row["OBJECTMEMBERID"],
row["CONTACT_ID"],
row["CONTACT_ID.displayValue"],
row["CONTACTROLE"],
row["DEPARTMENT"],
row["ICON"],
row["IMAGE"],
row["MEMBERROLE"],
row["MEMBERROLE.displayValue"],
row["OBJECT_ROWID"],
row["OBJECT_TYPE"],
row["ORG_ORGID"],
row["ORGANISATION_NAME"],
row["PERSON_FIRSTNAME"],
row["PERSON_FULL_NAME"],
row["PERSON_LASTNAME"],
row["PERSON_PERSID"],
row["PERSON_SALUTATION"],
row["PERSON_TITLE"],
row["POSITION"],
row["TARGETCONTEXT"],
row["recordType"],
row["MST_MEMBERROLE"],
row["PERSON_ATTR_LOYALTY"]
];
});
result.object(memberRows);
\ No newline at end of file
import("system.vars");
import("system.entities");
//While there is no need to implement the insert or update process the delete process needs to be specified because the
//contexts viewmodeProvider for the editView only affect insert and update (delete has no view associated)
//let's do the db-record container the job to remove the record (additional district records can never be removed):
var rowData = vars.get("$local.rowdata");
var memberId = rowData["OBJECTMEMBERID.value"];
if (memberId)
{
var config = entities.createConfigForDeletingRows().entity("Member_entity").uid(memberId);
entities.deleteRow(config);
}
else
throw new Error("Member_entity: Could not delete member entity because the given OBJECTMEMBERID was empty.");
//No insert code, because it is done in via the contexts viewmodeProvider for the editView
\ No newline at end of file
//No update code, because it is done in via the contexts viewmodeProvider for the editView
\ No newline at end of file
......@@ -10,7 +10,7 @@
<children>
<neonViewReference>
<name>4c340a9c-252c-4708-9206-31ca98c06593</name>
<entityField>RecipientPerson</entityField>
<entityField>Persons</entityField>
<view>ContactTitledList_view</view>
</neonViewReference>
</children>
......
......@@ -24,11 +24,6 @@
<element>DESKTOP</element>
</devices>
</neonViewReference>
<neonViewReference>
<name>d0c1344f-c143-43b4-9c44-f823fb525eff</name>
<entityField>Classifications</entityField>
<view>ClassificationTree_view</view>
</neonViewReference>
<neonViewReference>
<name>8a83afee-e02c-4714-9641-13b62c95cea1</name>
<entityField>#ENTITY</entityField>
......
import("Attribute_lib");
import("KeywordRegistry_basic");
import("system.entities");
import("Util_lib");
......
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