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

Merge branch 'sales_1086490_FixDisableAdvertisingItemsIfStatusEqualsSent' into '2021.2'

[Projekt: xRM-Sales][TicketNr.: 1086490][Werbemittelworkflows - Status...

See merge request xrm/basic!1501
parents 8dcc7f40 6d0d7347
No related branches found
No related tags found
No related merge requests found
Showing
with 47 additions and 44 deletions
......@@ -5,7 +5,7 @@
<documentation>Workflow for handling Advertisingmaterials</documentation>
<startEvent id="startEvent1" flowable:formFieldValidation="true"></startEvent>
<exclusiveGateway id="sid-ADD3DA2A-E320-4E07-9D04-73D8A9625D1E"></exclusiveGateway>
<userTask id="sid-3EB74D83-9BE8-427C-A5E8-72D906429892" name="Test Post Versand" flowable:candidateGroups="PROJECT_OfficeStaff,PROJECT_Marketing" flowable:formFieldValidation="true">
<userTask id="sid-3EB74D83-9BE8-427C-A5E8-72D906429892" name="Post Versand" flowable:candidateGroups="PROJECT_OfficeStaff,PROJECT_Marketing" flowable:formFieldValidation="true">
<extensionElements>
<modeler:group-info-name-PROJECT_OfficeStaff xmlns:modeler="http://flowable.org/modeler"><![CDATA[Office staff]]></modeler:group-info-name-PROJECT_OfficeStaff>
<modeler:group-info-name-PROJECT_Marketing xmlns:modeler="http://flowable.org/modeler"><![CDATA[Marketing]]></modeler:group-info-name-PROJECT_Marketing>
......
......@@ -4,6 +4,9 @@
<title>Advertising item</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/AdvertisingItem_entity/documentation.adoc</documentation>
<grantCreateProcess>%aditoprj%/entity/AdvertisingItem_entity/grantCreateProcess.js</grantCreateProcess>
<grantUpdateProcess>%aditoprj%/entity/AdvertisingItem_entity/grantUpdateProcess.js</grantUpdateProcess>
<grantDeleteProcess>%aditoprj%/entity/AdvertisingItem_entity/grantDeleteProcess.js</grantDeleteProcess>
<iconId>VAADIN:PACKAGE</iconId>
<titlePlural>Advertising items</titlePlural>
<recordContainer>db</recordContainer>
......@@ -87,18 +90,6 @@
<valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/quantity/valueProcess.js</valueProcess>
<onValidation>%aditoprj%/entity/AdvertisingItem_entity/entityfields/quantity/onValidation.js</onValidation>
</entityField>
<entityField>
<name>SENT</name>
<title>Sent</title>
<contentType>BOOLEAN</contentType>
<mandatory v="false" />
<valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/sent/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>STATUS</name>
<title>Status</title>
<mandatory v="false" />
</entityField>
<entityField>
<name>TARGETAMOUNT</name>
<title>Target amount</title>
......@@ -283,14 +274,6 @@
<name>QUANTITY.value</name>
<recordfield>ADVERTISINGITEM.QUANTITY</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>SENT.value</name>
<recordfield>ADVERTISINGITEM.SENT</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>STATUS.value</name>
<recordfield>ADVERTISINGITEM.STATUS</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>TARGETAMOUNT.value</name>
<recordfield>ADVERTISINGITEM.TARGETAMOUNT</recordfield>
......
import("KeywordRegistry_basic");
import("system.neon");
import("system.vars");
import("system.result");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
{
var ret = 0;
//when an item was handover personal the item is already at its destination
if(vars.get("$field.DELIVERY") == $KeywordRegistry.advertisingDelivery$personal())
{
ret = 1;
}
result.string(ret);
}
\ No newline at end of file
import("Advertising_lib");
import("system.vars");
import("system.result");
result.string(AdvertisingUtils.isEditable(AdvertisingUtils.getStatus(vars.get("$param.AdvertisingId_param"))));
\ No newline at end of file
import("Advertising_lib");
import("system.vars");
import("system.result");
result.string(AdvertisingUtils.isEditable(AdvertisingUtils.getStatus(vars.get("$param.AdvertisingId_param"))));
\ No newline at end of file
import("Advertising_lib");
import("system.vars");
import("system.result");
result.string(AdvertisingUtils.isEditable(AdvertisingUtils.getStatus(vars.get("$param.AdvertisingId_param"))));
\ No newline at end of file
......@@ -251,6 +251,7 @@
<name>db</name>
<conditionProcess>%aditoprj%/entity/Advertising_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<orderClauseProcess>%aditoprj%/entity/Advertising_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
<onDBDelete>%aditoprj%/entity/Advertising_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
<alias>Data_alias</alias>
<recordFieldMappings>
<dbRecordFieldMapping>
......
import("Sql_lib");
newWhere("ADVERTISINGITEM.ADVERTISING_ID", "$field.ADVERTISINGID")
.deleteData();
\ No newline at end of file
......@@ -47,10 +47,6 @@
<name>e53a6f55-c4d4-49df-8785-55fa8ee8a657</name>
<entityField>DELIVERY</entityField>
</neonTableColumn>
<neonTableColumn>
<name>5f359ff4-06c6-4d6d-bf10-2f8dbf1fbb01</name>
<entityField>SENT</entityField>
</neonTableColumn>
<neonTableColumn>
<name>007e2ca8-d7c8-4f9e-891f-a53f3d0e6b5a</name>
<entityField>INFO</entityField>
......
......@@ -16,10 +16,6 @@
<name>4f14ad89-679c-43c5-bf2d-9a7050a84b4c</name>
<entityField>PRODUCT_ID</entityField>
</neonTableColumn>
<neonTableColumn>
<name>9cc62b40-e77e-46d9-b44f-9f0ee42d7116</name>
<entityField>STATUS</entityField>
</neonTableColumn>
<neonTableColumn>
<name>a54cbe2d-b6d4-42b9-9998-48a92b157147</name>
<entityField>DELIVERY</entityField>
......
......@@ -93,6 +93,24 @@ AdvertisingUtils.getNextItemPos = function (pAdvertisingId)
}
return itemPos;
}
/*
* Returns the status of an advertising
*
* @param {String} pAdvertisingId the advertising id
*
* @return {String} Status
*/
AdvertisingUtils.getStatus = function(pAdvertisingId)
{
var status = newSelect("ADVERTISING.STATUS")
.from("ADVERTISING")
.where("ADVERTISING.ADVERTISINGID", pAdvertisingId)
.cell();
return status;
}
/*
* checks if the advertising is editable, currently it's editable when it's not sent and not followed up
*
......
import("KeywordRegistry_basic");
import("Sql_lib");
import("system.vars");
......@@ -8,4 +9,8 @@ if (variables.targetContext && variables.targetContext == "Advertising" && varia
newWhere("ADVERTISINGITEM.ADVERTISING_ID", variables.targetId).and("ADVERTISINGITEM.DELIVERY", variables.handover).updateFields({
"SENT": '1'
});
newWhere("ADVERTISING.ADVERTISINGID", variables.targetId).updateFields({
"STATUS": $KeywordRegistry.advertisingStatus$Sent()
});
}
\ 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