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

Merge branch 'District_merge' into 'master'

District merge

See merge request xrm/basic!577
parents 714a052a 8be0b746
No related branches found
No related tags found
No related merge requests found
Showing
with 228 additions and 93 deletions
import("system.result");
import("Sql_lib");
result.string(newSelect("DISTRICT.DISTRICT_NAME")
.from("DISTRICT")
.where("DISTRICT.DISTRICTID = DISTRICTCONTACT.DISTRICT_ID")
.toString());
\ No newline at end of file
import("KeywordRegistry_basic");
import("system.result");
import("Keyword_lib");
var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.districtOrigin(), "DISTRICTCONTACT.ORIGIN");
result.string(sql);
\ No newline at end of file
import("KeywordRegistry_basic");
import("system.result");
import("Keyword_lib");
var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contactStatus(), "DISTRICTCONTACT.STATUS");
result.string(sql);
\ No newline at end of file
......@@ -5,27 +5,24 @@
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/DistrictResponsible_entity/documentation.adoc</documentation>
<icon>VAADIN:GLOBE</icon>
<grantDeleteProcess>%aditoprj%/entity/DistrictResponsible_entity/grantDeleteProcess.js</grantDeleteProcess>
<contentTitleProcess>%aditoprj%/entity/DistrictResponsible_entity/contentTitleProcess.js</contentTitleProcess>
<iconIdProcess>%aditoprj%/entity/DistrictResponsible_entity/iconIdProcess.js</iconIdProcess>
<image>VAADIN:GLOBE</image>
<usePermissions v="false" />
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>DEPARTMENT_ATTRIBUTE_ID</name>
<title>Department</title>
<consumer>Departments</consumer>
<state>AUTO</state>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/department_attribute_id/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>EMPLOYEE_CONTACT_ID</name>
<title>{$DISTRICT_RESPONSIBLE}</title>
<consumer>Employees</consumer>
<consumer>Persons</consumer>
<linkedContext>Person</linkedContext>
<mandatory v="true" />
<selectionMode>SINGLE</selectionMode>
<stateProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/employee_contact_id/stateProcess.js</stateProcess>
<displayValueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
......@@ -35,29 +32,6 @@
<linkedContext>District</linkedContext>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/district_id/valueProcess.js</valueProcess>
</entityField>
<entityConsumer>
<name>Departments</name>
<dependency>
<name>dependency</name>
<entityName>Attribute_entity</entityName>
<fieldName>SpecificAttribute</fieldName>
</dependency>
<children>
<entityParameter>
<name>ParentId_param</name>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departments/children/parentid_param/valueProcess.js</valueProcess>
<description>parent id, this is used for filtering by the parent in the content process</description>
</entityParameter>
</children>
</entityConsumer>
<entityConsumer>
<name>Employees</name>
<dependency>
<name>dependency</name>
<entityName>Employee_entity</entityName>
<fieldName>Employees</fieldName>
</dependency>
</entityConsumer>
<entityConsumer>
<name>Districts</name>
<dependency>
......@@ -87,14 +61,13 @@
</entityField>
<entityProvider>
<name>DistrictResponsibles</name>
<lookupIdfield>DISTRICTRESPONSIBLEID</lookupIdfield>
<documentation>%aditoprj%/entity/DistrictResponsible_entity/entityfields/districtresponsibles/documentation.adoc</documentation>
<titlePlural>Responsibles</titlePlural>
<dependencies>
<entityDependency>
<name>ef26fdb6-5fcf-416e-bcc8-380b5751b523</name>
<name>ae1dcbbe-b302-44df-ab4c-f7937d197cd5</name>
<entityName>District_entity</entityName>
<fieldName>DistrictResponsibles</fieldName>
<fieldName>DistrictResponsibleUIDs</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
......@@ -146,14 +119,6 @@
</entityParameter>
</children>
</entityConsumer>
<entityField>
<name>departmentAttributeName</name>
<documentation>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departmentattributename/documentation.adoc</documentation>
<title>Department</title>
<state>READONLY</state>
<stateProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departmentattributename/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/departmentattributename/valueProcess.js</valueProcess>
</entityField>
<entityProvider>
<name>OrganisationResponsibles</name>
<targetContextField>targetContext</targetContextField>
......@@ -205,6 +170,95 @@
<name>targetContext</name>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/targetcontext/valueProcess.js</valueProcess>
</entityField>
<entityConsumer>
<name>Persons</name>
<dependency>
<name>dependency</name>
<entityName>Person_entity</entityName>
<fieldName>Contacts</fieldName>
</dependency>
<children>
<entityParameter>
<name>ExcludedContactIds_param</name>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/persons/children/excludedcontactids_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityField>
<name>ADVISER_ROLE</name>
<title>Adviser role</title>
<consumer>AdviserRoles</consumer>
<displayValueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/adviser_role/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>ADVISER_STATUS</name>
<title>Adviser status</title>
<consumer>AdviserStates</consumer>
<groupable v="true" />
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/adviser_status/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/adviser_status/displayValueProcess.js</displayValueProcess>
</entityField>
<entityConsumer>
<name>AdviserStates</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/adviserstates/children/containername_param/valueProcess.js</valueProcess>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>ExcludedKeyIdsSubquery_param</name>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/adviserstates/children/excludedkeyidssubquery_param/valueProcess.js</valueProcess>
</entityParameter>
<entityParameter>
<name>BlacklistIds_param</name>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/adviserstates/children/blacklistids_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityField>
<name>VALID_FROM</name>
<title>Valid from</title>
<contentType>DATE</contentType>
<resolution>DAY</resolution>
</entityField>
<entityField>
<name>VALID_UNTIL</name>
<title>Valid to</title>
<contentType>DATE</contentType>
<resolution>DAY</resolution>
</entityField>
<entityConsumer>
<name>AdviserRoles</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/adviserroles/children/containername_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityProvider>
<name>DistrictResponsibleAdvisers</name>
<lookupIdfield>EMPLOYEE_CONTACT_ID</lookupIdfield>
<dependencies>
<entityDependency>
<name>ac067a2d-e313-44b7-b219-f834ef4a7629</name>
<entityName>DistrictContact_entity</entityName>
<fieldName>Advisers</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
</entityFields>
<recordContainers>
<dbRecordContainer>
......@@ -216,11 +270,6 @@
<cacheType>GLOBAL</cacheType>
<cacheKeyProcess>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/cacheKeyProcess.js</cacheKeyProcess>
<recordFieldMappings>
<dbRecordFieldMapping>
<name>DEPARTMENT_ATTRIBUTE_ID.value</name>
<recordfield>DISTRICTRESPONSIBLE.DEPARTMENT_ATTRIBUTE_ID</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>DISTRICT_ID.value</name>
<recordfield>DISTRICTRESPONSIBLE.DISTRICT_ID</recordfield>
......@@ -256,10 +305,6 @@
<recordfield>DISTRICTRESPONSIBLE.DATE_NEW</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>DEPARTMENT_ATTRIBUTE_ID.displayValue</name>
<recordfield>DISTRICTRESPONSIBLE.DEPARTMENT_ATTRIBUTE_ID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>MAIL.value</name>
<expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/mail.value/expression.js</expression>
......@@ -268,25 +313,47 @@
<name>PHONE.value</name>
<expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/phone.value/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>DISTRICT_ID.displayValue</name>
<expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/district_id.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>EMPLOYEE_CONTACT_ID.displayValue</name>
<expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>ADVISER_ROLE.value</name>
<recordfield>DISTRICTRESPONSIBLE.ADVISER_ROLE</recordfield>
<isFilterable v="true" />
<isLookupFilter v="false" />
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>ADVISER_STATUS.value</name>
<recordfield>DISTRICTRESPONSIBLE.ADVISER_STATUS</recordfield>
<isFilterable v="true" />
<isLookupFilter v="false" />
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>VALID_FROM.value</name>
<recordfield>DISTRICTRESPONSIBLE.VALID_FROM</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>VALID_UNTIL.value</name>
<recordfield>DISTRICTRESPONSIBLE.VALID_UNTIL</recordfield>
<isFilterable v="true" />
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>DISTRICT_ID.displayValue</name>
<expression>%aditoprj%/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/district_id.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
</recordFieldMappings>
<linkInformation>
<linkInformation>
<name>d24296ec-5040-4b40-ad5b-668d3e02b4aa</name>
<name>d0fee359-92fb-4d5e-b50c-3e74251440d8</name>
<tableName>DISTRICTRESPONSIBLE</tableName>
<primaryKey>DISTRICTRESPONSIBLEID</primaryKey>
<isUIDTable v="true" />
<readonly v="false" />
</linkInformation>
<linkInformation>
<name>86f9ab94-0d69-4a3a-9a04-615f61be2c23</name>
<name>33f6c941-5245-4847-a8a3-3cbddc30a104</name>
<tableName>CONTACT</tableName>
<primaryKey>CONTACTID</primaryKey>
<isUIDTable v="false" />
......
import("system.logging");
import("system.vars");
import("system.result");
import("Employee_lib");
import("Contact_lib");
var contactId = vars.get("$field.EMPLOYEE_CONTACT_ID");
var res = "";
if(contactId)
res = EmployeeUtils.getUsersDepartment(contactId, true);
res = ContactUtils.getFullTitleByContactId(contactId, false);
result.string(res)
\ No newline at end of file
import("system.result");
import("system.vars");
import("Keyword_lib");
import("KeywordRegistry_basic");
result.string(KeywordUtils.getViewValue($KeywordRegistry.adviserRole(), vars.get("$field.ADVISER_ROLE")));
\ No newline at end of file
import("system.result");
import("system.vars");
import("Keyword_lib");
import("KeywordRegistry_basic");
result.string(KeywordUtils.getViewValue($KeywordRegistry.contactStatus(), vars.get("$field.ADVISER_STATUS")));
import("system.vars");
import("system.result");
import("system.neon");
import("KeywordRegistry_basic");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
result.string($KeywordRegistry.contactStatus$active());
\ No newline at end of file
import("system.result");
import("Keyword_lib");
import("KeywordRegistry_basic");
result.string($KeywordRegistry.adviserRole());
\ No newline at end of file
import("system.result");
import("KeywordRegistry_basic");
var excludedIds = [$KeywordRegistry.contactStatus$inReview()];
result.string(JSON.stringify(excludedIds));
\ No newline at end of file
import("system.result");
import("Keyword_lib");
import("KeywordRegistry_basic");
result.string($KeywordRegistry.contactStatus());
\ No newline at end of file
import("system.result");
import("KeywordRegistry_basic");
import("Sql_lib");
var cond = newSelect("AB_KEYWORD_ENTRY.KEYID")
.from("AB_KEYWORD_ENTRY")
.where("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.contactStatus())
.and("AB_KEYWORD_ENTRY.KEYID", $KeywordRegistry.contactStatus$inReview(), SqlBuilder.LIKE());
result.string(cond.toString());
\ No newline at end of file
import("system.vars");
import("system.result");
import("system.tools");
var employeesContactId = vars.get("$field.EMPLOYEE_CONTACT_ID");
var departmentsAttrId = ""
if (employeesContactId)
{
departmentsAttrId = tools.getUsersByAttribute(tools.CONTACTID, [employeesContactId])[0][tools.PARAMS].department;
}
result.string(departmentsAttrId);
\ No newline at end of file
Used in DistrictPreview_view and also in the contentProcess of the JDito RC from Member_entity.
\ No newline at end of file
import("system.logging");
import("system.vars");
import("system.result");
import("Attribute_lib");
var departmentAttrId = vars.get("$field.DEPARTMENT_ATTRIBUTE_ID");
var departmentDisplayName = "";
if (departmentAttrId)
{
departmentDisplayName = AttributeUtil.getSimpleAttributeName(departmentAttrId, true);
}
result.string(departmentDisplayName);
\ No newline at end of file
import("AttributeRegistry_basic");
import("system.result");
result.string($AttributeRegistry.departments());
\ No newline at end of file
import("system.neon");
import("system.vars");
import("system.result");
import("Sql_lib");
import("system.db");
var count = newSelect("COUNT(*)")
.from("DISTRICTCONTACT")
.join("DISTRICTRESPONSIBLE", "DISTRICTCONTACT.ADVISER_CONTACT_ID = DISTRICTRESPONSIBLE.EMPLOYEE_CONTACT_ID")
.where("DISTRICTRESPONSIBLE.EMPLOYEE_CONTACT_ID", vars.get("$field.EMPLOYEE_CONTACT_ID"))
.cell();
if(count == 0)
result.string(neon.COMPONENTSTATE_EDITABLE);
else
result.string(neon.COMPONENTSTATE_READONLY);
\ No newline at end of file
import("system.result");
import("system.db");
import("Sql_lib");
result.string(JSON.stringify(newSelect("EMPLOYEE_CONTACT_ID")
.from("DISTRICTRESPONSIBLE")
.where("DISTRICTRESPONSIBLE.DISTRICT_ID", "$param.DistrictId_param")
.arrayColumn())
);
\ No newline at end of file
import("Context_lib");
import("system.vars");
import("system.result");
import("Entity_lib");
var rowId = vars.get("$field.DISTRICTRESPONSIBLEID");
var currentContext = ContextUtils.getCurrentContextId();
var canDelete = new HasLinkedObjectTester()
.andNoEntityRows("DistrictContact_entity", "DistrictContacts", {ObjectId_param : currentContext, RowId_param : rowId}) //District Contact
.validate();
result.string(canDelete);
\ No newline at end of file
......@@ -4,4 +4,4 @@ import("Sql_lib");
result.string(newSelect("DISTRICT.DISTRICT_NAME")
.from("DISTRICT")
.where("DISTRICT.DISTRICTID = DISTRICTRESPONSIBLE.DISTRICT_ID")
.toString());
.toString());
\ 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