Skip to content
Snippets Groups Projects
Commit 753d04eb authored by Gerhard Bachmaier's avatar Gerhard Bachmaier
Browse files

1066189: Gebiet: Administratives Prüf-Cockpit

parent 988923a6
No related branches found
No related tags found
No related merge requests found
......@@ -4,6 +4,7 @@
<majorModelMode>DISTRIBUTED</majorModelMode>
<icon>VAADIN:GLOBE</icon>
<title>District Contact</title>
<initFilterProcess>%aditoprj%/entity/DistrictContact_entity/initFilterProcess.js</initFilterProcess>
<iconIdProcess>%aditoprj%/entity/DistrictContact_entity/iconIdProcess.js</iconIdProcess>
<image>VAADIN:GLOBE</image>
<titlePlural>District Contacts</titlePlural>
......@@ -175,11 +176,34 @@
<name>currentOrganisationId_param</name>
<expose v="true" />
</entityParameter>
<entityActionGroup>
<name>setStatus</name>
<children>
<entityActionField>
<name>setActive</name>
<title>Set active</title>
<onActionProcess>%aditoprj%/entity/DistrictContact_entity/entityfields/setstatus/children/setactive/onActionProcess.js</onActionProcess>
<isSelectionAction v="true" />
<iconId>VAADIN:THUMBS_UP</iconId>
<tooltip>Set status to active</tooltip>
</entityActionField>
<entityActionField>
<name>setInactive</name>
<title>Set inactive</title>
<onActionProcess>%aditoprj%/entity/DistrictContact_entity/entityfields/setstatus/children/setinactive/onActionProcess.js</onActionProcess>
<isSelectionAction v="true" />
<iconId>VAADIN:THUMBS_DOWN</iconId>
<tooltip>Set status to inactive</tooltip>
</entityActionField>
</children>
</entityActionGroup>
</entityFields>
<recordContainers>
<dbRecordContainer>
<name>db</name>
<alias>Data_alias</alias>
<isRequireContainerFiltering v="false" />
<hasDependentRecords v="true" />
<fromClauseProcess>%aditoprj%/entity/DistrictContact_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
<conditionProcess>%aditoprj%/entity/DistrictContact_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<linkInformation>
......
import("KeywordRegistry_basic");
import("system.vars");
import("system.neon");
import("District_lib");
var arrIds = vars.get("$sys.selection");
DistrictUtils.setDistrictContactStatus(arrIds, $KeywordRegistry.contactStatus$active());
neon.openHome();
\ No newline at end of file
import("KeywordRegistry_basic");
import("system.vars");
import("system.neon");
import("District_lib");
var arrIds = vars.get("$sys.selection");
DistrictUtils.setDistrictContactStatus(arrIds, $KeywordRegistry.contactStatus$inactive());
neon.openHome();
import("Contact_lib");
import("Employee_lib");
import("Keyword_lib");
import("KeywordRegistry_basic");
import("system.result");
import("system.vars");
import("system.neon");
if (vars.get("$sys.presentationmode") == neon.CONTEXT_PRESENTATIONMODE_DASHBOARD)
{
var statusInReview = $KeywordRegistry.contactStatus$inReview();
var districtOrigin = $KeywordRegistry.districtOrigin$auto();
var currentContactId = EmployeeUtils.getCurrentContactId();
var filter = {
type: "group",
operator: "AND",
childs: [{
type: "row",
name: "STATUS",
operator: "EQUAL",
contenttype: "TEXT",
key: statusInReview,
value: KeywordUtils.getViewValue($KeywordRegistry.contactStatus(), statusInReview)
},
{
type: "row",
name: "ORIGIN",
operator: "EQUAL",
contenttype: "TEXT",
key: districtOrigin,
value: KeywordUtils.getViewValue($KeywordRegistry.districtOrigin(), districtOrigin)
},
{
type: "row",
name: "ADVISER_CONTACT_ID",
operator: "EQUAL",
contenttype: "TEXT",
key: currentContactId,
value: ContactUtils.getFullTitleByContactId(currentContactId, false)
}]
};
result.string(JSON.stringify(filter));
}
......@@ -3,6 +3,21 @@
<name>DistrictContactFilter_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<filterable v="true" />
<dashletConfigurations>
<neonDashletConfiguration>
<name>OwnDistrictContactsToCheck</name>
<title>My district assignments to check</title>
<description>Show my district assignments with status review</description>
<fragment>DistrictContact/filter</fragment>
<icon>VAADIN:GLOBE</icon>
<categories>
<neonDashletCategory>
<name>district</name>
<title>District</title>
</neonDashletCategory>
</categories>
</neonDashletConfiguration>
</dashletConfigurations>
<layout>
<boxLayout>
<name>layout</name>
......@@ -11,6 +26,7 @@
<children>
<tableViewTemplate>
<name>districtContacts</name>
<favoriteActionGroup1>setStatus</favoriteActionGroup1>
<entityField>#ENTITY</entityField>
<linkedColumns />
<fixedFilterFields />
......
......@@ -216,20 +216,12 @@ DistrictUtils.assignDistrict = function (pDistrictId, pAppliedFilter)
if (arrExistingIds.length > 0)
{
invalid = arrExistingIds.length;
for (var l=0; l<arrExistingIds.length; l++)
{
var valsUpdate = [
$KeywordRegistry.contactStatus$inReview(),
vars.get("$sys.user"),
vars.get("$sys.date")
];
var condition = newWhere("DISTRICTCONTACT.DISTRICTCONTACTID", arrExistingIds[l][0]);
updateArray.push(["DISTRICTCONTACT", colsUpdate, null, valsUpdate, condition.build()]);
}
db.updates(updateArray)
//die erste Spalte enthält die Ids der zu aktualisierenden Datensätze
var arrIds = arrExistingIds.map(function(value) { return value[0]; });
DistrictUtils.setDistrictContactStatus (arrIds, $KeywordRegistry.contactStatus$inReview());
}
return {
newAssigned : newAssigned,
invalid : invalid,
......@@ -347,4 +339,35 @@ DistrictUtils._getParentFilter = function (pParentDistrict_DistrictId, pPrevious
}
return resFilter;
}
/**
* This function will set the status of districtcontact datasets
* @param {Array} pArrIds <p>
* IDs of districtcontact<br>
* @param {String} pStatus <p>
* Status, for example $KeywordRegistry.contactStatus$active<br>
* @return {none} <p>
*/
DistrictUtils.setDistrictContactStatus = function (pArrIds, pStatus)
{
var updateArray = [];
var colsUpdate = [
"STATUS",
"USER_EDIT",
"DATE_EDIT"
];
var valsUpdate = [
pStatus,
vars.get("$sys.user"),
vars.get("$sys.date")
];
for (var i=0; i<pArrIds.length; i++)
{
var condition = newWhere("DISTRICTCONTACT.DISTRICTCONTACTID", pArrIds[i]);
updateArray.push(["DISTRICTCONTACT", colsUpdate, null, valsUpdate, condition.build()]);
}
db.updates(updateArray);
}
\ 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