diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod index 216bd7edc35de46d351e4445f05f8fd7eb2a6766..bb8da25f8479cfe79c72359ccf9337de2dc82abd 100644 --- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod +++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod @@ -30,7 +30,6 @@ <icon>VAADIN:GROUP</icon> <node name="Group4" kind="123" title=""> <node name="Campaign" kind="10077" /> - <node name="CampaignParticipant" kind="10077" /> <node name="INTERNAL_ADMINISTRATOR" kind="159" /> </node> </node> diff --git a/entity/CampaignAnalysis_entity/CampaignAnalysis_entity.aod b/entity/CampaignAnalysis_entity/CampaignAnalysis_entity.aod index 36bac7b06524ab5025e405ec3b44aee477768884..51526f4a6afc84be6dfcbcb72e73031f357d7fd3 100644 --- a/entity/CampaignAnalysis_entity/CampaignAnalysis_entity.aod +++ b/entity/CampaignAnalysis_entity/CampaignAnalysis_entity.aod @@ -20,6 +20,7 @@ </entityField> <entityField> <name>LABEL</name> + <title>Count</title> </entityField> <entityField> <name>COUNT</name> diff --git a/entity/CampaignAnalysis_entity/recordcontainers/jdito/contentProcess.js b/entity/CampaignAnalysis_entity/recordcontainers/jdito/contentProcess.js index a5223be3ddb70ef32aaf2cba0e6834cec3c08774..0076f1fbd38971c5bfacbe323b69ed4091915d3c 100644 --- a/entity/CampaignAnalysis_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/CampaignAnalysis_entity/recordcontainers/jdito/contentProcess.js @@ -4,16 +4,14 @@ import("system.result"); import("system.util"); import("system.db"); -logging.log(" -> etz warad i im condition...."); - var ret = []; -var campaignstepid = vars.get("$param.campaignStepId_param"); -var newParticipants = vars.get("$param.campaignParticipants_param"); +var campaignstepid = "86a6f7cc-5a1d-4e68-a05d-c99a355365df";//TODO: Refresh problem - vars.get("$param.campaignStepId_param"); +var newParticipants = JSON.parse(vars.get("$param.campaignParticipants_param")).length; var query = "select MAXPARTICIPANTS, count(CAMPAIGNPARTICIPANTID) from CAMPAIGNSTEP " + "join CAMPAIGNPARTICIPANT on CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID = CAMPAIGNSTEP.CAMPAIGNSTEPID " - + "where CAMPAIGNSTEP_ID = '" + campaignstepid + "'" + + "where CAMPAIGNSTEP_ID = '" + campaignstepid + "' " + "group by CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID, MAXPARTICIPANTS"; var maxCurrentParticipants = db.table(query); @@ -21,9 +19,10 @@ var maxCurrentParticipants = db.table(query); if(maxCurrentParticipants.length > 0) { logging.log("hallo2"); - ret[0] = [util.getNewUUID(), "Current Participants", maxCurrentParticipants[0][1], 0]; - ret[1] = [util.getNewUUID(), "New Participants", newParticipants, 0]; - ret[2] = [util.getNewUUID(), "Max Participants", Number(maxCurrentParticipants[0][0]) - (Number(maxCurrentParticipants[0][1] + Number(newParticipants))), 2]; + ret[0] = [util.getNewUUID(), "Current participants", maxCurrentParticipants[0][1], 0]; + ret[1] = [util.getNewUUID(), "New participants", newParticipants, 1]; + logging.log(maxCurrentParticipants[0][0]); + ret[2] = [util.getNewUUID(), "Free participant slots", Number(maxCurrentParticipants[0][0]) - (Number(maxCurrentParticipants[0][1]) + Number(newParticipants)), 2]; } result.object(ret); \ No newline at end of file diff --git a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js b/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js index 50b15240cd35c3d097b8449f5652768c9c590473..0bdd6ffe53aaf400d4d3a66bbaa316f2e8709ee2 100644 --- a/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js +++ b/entity/CampaignParticipant_entity/entityfields/campaignstep_id/displayValueProcess.js @@ -2,4 +2,4 @@ import("system.vars"); import("system.db"); import("system.result"); -result.string(db.cell("select NAME from CAMPAIGNSTEP where CAMPAIGNSTEPID = '" + vars.get("$param.CampaignStepId_param") + "'")); \ No newline at end of file +result.string(db.cell("select NAME from CAMPAIGNSTEP where CAMPAIGNSTEPID = '" + vars.get("$field.CAMPAIGNSTEP_ID") + "'")); \ No newline at end of file diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod index 5331e0ea56c1292838f470e7cfa9351f58a7ad87..f0f1015f31fc6ea38bcba42a02571ae6214add58 100644 --- a/entity/CampaignStep_entity/CampaignStep_entity.aod +++ b/entity/CampaignStep_entity/CampaignStep_entity.aod @@ -22,8 +22,10 @@ <entityField> <name>EMPLOYEE_CONTACT_ID</name> <title>Zuständiger</title> - <consumer>PersonsConsumer</consumer> + <consumer>Employees</consumer> <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>NAME</name> @@ -136,15 +138,6 @@ <title>Max participants</title> <mandatory v="true" /> </entityField> - <entityConsumer> - <name>PersonsConsumer</name> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>Person_entity</entityName> - <fieldName>Contacts</fieldName> - </dependency> - </entityConsumer> <entityConsumer> <name>CampaignParticipantsConsumer</name> <title>Participants</title> @@ -182,6 +175,15 @@ <title>Description</title> <contentType>LONG_TEXT</contentType> </entityField> + <entityConsumer> + <name>Employees</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Employee_entity</entityName> + <fieldName>Employees</fieldName> + </dependency> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/CampaignStep_entity/entityfields/employee_contact_id/displayValueProcess.js b/entity/CampaignStep_entity/entityfields/employee_contact_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..037d5e264baf41f4e2b0ebcfce8103d365ee7e13 --- /dev/null +++ b/entity/CampaignStep_entity/entityfields/employee_contact_id/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +result.string(ContactUtils.getTitleByContactId(vars.get("$field.EMPLOYEE_CONTACT_ID"))); \ No newline at end of file diff --git a/entity/CampaignStep_entity/entityfields/employee_contact_id/valueProcess.js b/entity/CampaignStep_entity/entityfields/employee_contact_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1e62e7551ccb20b0b0d7aca34f64b6e448b5dda7 --- /dev/null +++ b/entity/CampaignStep_entity/entityfields/employee_contact_id/valueProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); +import("Employee_lib"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(EmployeeUtils.getCurrentContactId()); \ No newline at end of file diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod index b8686f82dac4a89608bf61ee1ad1634631ef2fe3..6f1e76900876010557002c6dad9ddb84f26684a4 100644 --- a/entity/Campaign_entity/Campaign_entity.aod +++ b/entity/Campaign_entity/Campaign_entity.aod @@ -12,6 +12,7 @@ </entityProvider> <entityField> <name>CAMPAIGNID</name> + <searchable v="false" /> <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaignid/valueProcess.js</valueProcess> </entityField> <entityField> @@ -39,9 +40,11 @@ </entityField> <entityField> <name>EMPLOYEE_CONTACT_ID</name> - <title>Hauptverantwortlicher</title> + <title>Hauptverantw.</title> + <consumer>Employee</consumer> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Campaign_entity/entityfields/employee_contact_id/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>DESCRIPTION</name> @@ -50,25 +53,29 @@ </entityField> <entityField> <name>USER_NEW</name> + <searchable v="false" /> <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/user_new/valueProcess.js</valueProcess> </entityField> <entityField> <name>DATE_NEW</name> <contentType>DATE</contentType> + <searchable v="false" /> <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/date_new/valueProcess.js</valueProcess> </entityField> <entityField> <name>USER_EDIT</name> + <searchable v="false" /> <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/user_edit/valueProcess.js</valueProcess> </entityField> <entityField> <name>DATE_EDIT</name> <contentType>DATE</contentType> + <searchable v="false" /> <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/date_edit/valueProcess.js</valueProcess> </entityField> <entityConsumer> <name>CampaignSteps</name> - <title>Schritte</title> + <title>Steps</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> @@ -152,6 +159,15 @@ </entityParameter> </children> </entityConsumer> + <entityConsumer> + <name>Employee</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Employee_entity</entityName> + <fieldName>Employees</fieldName> + </dependency> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Campaign_entity/entityfields/employee_contact_id/displayValueProcess.js b/entity/Campaign_entity/entityfields/employee_contact_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..037d5e264baf41f4e2b0ebcfce8103d365ee7e13 --- /dev/null +++ b/entity/Campaign_entity/entityfields/employee_contact_id/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +result.string(ContactUtils.getTitleByContactId(vars.get("$field.EMPLOYEE_CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js b/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1e62e7551ccb20b0b0d7aca34f64b6e448b5dda7 --- /dev/null +++ b/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); +import("Employee_lib"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(EmployeeUtils.getCurrentContactId()); \ No newline at end of file diff --git a/entity/Employee_entity/Employee_entity.aod b/entity/Employee_entity/Employee_entity.aod index 748fd22d321b296b99cfb1c9072045c3068be6c6..b519ec2a71e5ead5066c0fcbbae644d258205ef9 100644 --- a/entity/Employee_entity/Employee_entity.aod +++ b/entity/Employee_entity/Employee_entity.aod @@ -1,272 +1,284 @@ -<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.1"> - <name>Employee_entity</name> - <title>Employee</title> - <majorModelMode>DISTRIBUTED</majorModelMode> - <onValidation>%aditoprj%/entity/Employee_entity/onValidation.js</onValidation> - <afterOperatingState>%aditoprj%/entity/Employee_entity/afterOperatingState.js</afterOperatingState> - <iconId>VAADIN:GROUP</iconId> - <titleProcess>%aditoprj%/entity/Employee_entity/titleProcess.js</titleProcess> - <recordContainer>jdito</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <lookupIdfield>CONTACT_ID</lookupIdfield> - </entityProvider> - <entityField> - <name>UID</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/uid/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>TITLE</name> - <title>Username</title> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/title/valueProcess.js</valueProcess> - <onValidation>%aditoprj%/entity/Employee_entity/entityfields/title/onValidation.js</onValidation> - </entityField> - <entityField> - <name>CONTACT_ID</name> - <title>Person</title> - <consumer>Contacts</consumer> - <linkedContext>Person</linkedContext> - <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/contact_id/stateProcess.js</stateProcess> - <onValidation>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValidation.js</onValidation> - <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValueChange.js</onValueChange> - </entityField> - <entityField> - <name>FIRSTNAME</name> - <title>Firstname</title> - </entityField> - <entityField> - <name>LASTNAME</name> - <title>Lastname</title> - <mandatory v="false" /> - </entityField> - <entityField> - <name>ISACTIVE</name> - <title>Active</title> - <contentType>BOOLEAN</contentType> - <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/possibleItemsProcess.js</possibleItemsProcess> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>EMAIL_ADDRESS</name> - <title>Email</title> - <mandatory v="true" /> - <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/email_address/possibleItemsProcess.js</possibleItemsProcess> - <newItemsAllowed v="true" /> - <onValidation>%aditoprj%/entity/Employee_entity/entityfields/email_address/onValidation.js</onValidation> - </entityField> - <entityField> - <name>PASSWORD</name> - <title>Password</title> - <contentType>PASSWORD</contentType> - <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/password/mandatoryProcess.js</mandatoryProcess> - <searchable v="false" /> - <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/password/stateProcess.js</stateProcess> - </entityField> - <entityField> - <name>CONFIRM_PASSWORD</name> - <title>Confirm password</title> - <contentType>PASSWORD</contentType> - <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/mandatoryProcess.js</mandatoryProcess> - <searchable v="false" /> - <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/stateProcess.js</stateProcess> - </entityField> - <entityActionField> - <name>setPassword</name> - <fieldType>ACTION</fieldType> - <title>Set password</title> - <onActionProcess>%aditoprj%/entity/Employee_entity/entityfields/setpassword/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PASSWORD</iconId> - </entityActionField> - <entityParameter> - <name>PasswordChange_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OnlyActives_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/onlyactives_param/valueProcess.js</valueProcess> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityConsumer> - <name>Contacts</name> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>Person_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Attributes</name> - <title>Attributes</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>RelationsForSpecificObject</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityFieldGroup> - <name>NAME_fieldGroup</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/name_fieldgroup/valueProcess.js</valueProcess> - <title>Name</title> - <description>FIELDGROUP</description> - <fields> - <element>FIRSTNAME</element> - <element>LASTNAME</element> - </fields> - </entityFieldGroup> - <entityField> - <name>IMAGE</name> - <contentType>IMAGE</contentType> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/image/valueProcess.js</valueProcess> - <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/image/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - </onValueChangeTypes> - </entityField> - <entityField> - <name>DEPARTMENT</name> - <title>Department</title> - <state>INVISIBLE</state> - </entityField> - <entityField> - <name>DESCRIPTION</name> - <title>Description</title> - <contentType>LONG_TEXT</contentType> - </entityField> - <entityField> - <name>ROLES</name> - </entityField> - <entityConsumer> - <name>EmployeeRoles</name> - <title>Roles</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>EmployeeRole_entity</entityName> - <fieldName>EmployeeRoles</fieldName> - </dependency> - <children> - <entityParameter> - <name>UserTitle_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employeeroles/children/usertitle_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>AttributeTree</name> - <title>Attribute Tree</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>AttributeRelationTree_entity</entityName> - <fieldName>TreeProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Documents</name> - <title>Documents</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentName_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentname_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityProvider> - <name>Employees</name> - <fieldType>DEPENDENCY_IN</fieldType> - <lookupIdfield>CONTACT_ID</lookupIdfield> - <dependencies> - <entityDependency> - <name>0ca415b9-a940-424e-bee8-05c007b20659</name> - <entityName>Activity_entity</entityName> - <fieldName>Employees</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>73f93f34-bfe9-48fd-b9ce-7f8ba46014c9</name> - <entityName>Timetracking_entity</entityName> - <fieldName>Employees</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>OnlyActives_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employees/children/onlyactives_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityProvider> - <entityField> - <name>TITLE_ORIGINAL</name> - <searchable v="false" /> - </entityField> - </entityFields> - <recordContainers> - <jDitoRecordContainer> - <name>jdito</name> - <jDitoRecordAlias>Data_alias</jDitoRecordAlias> - <contentProcess>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/contentProcess.js</contentProcess> - <onInsert>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onInsert.js</onInsert> - <onUpdate>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onUpdate.js</onUpdate> - <onDelete>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onDelete.js</onDelete> - <recordFields> - <element>UID.value</element> - <element>TITLE.value</element> - <element>TITLE_ORIGINAL.value</element> - <element>ISACTIVE.value</element> - <element>FIRSTNAME.value</element> - <element>LASTNAME.value</element> - <element>EMAIL_ADDRESS.value</element> - <element>EMAIL_ADDRESS.displayValue</element> - <element>DESCRIPTION.value</element> - <element>CONTACT_ID.value</element> - <element>CONTACT_ID.displayValue</element> - <element>STORED_SELECTIONS.value</element> - </recordFields> - </jDitoRecordContainer> - </recordContainers> -</entity> +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.1"> + <name>Employee_entity</name> + <title>Employee</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <onValidation>%aditoprj%/entity/Employee_entity/onValidation.js</onValidation> + <afterOperatingState>%aditoprj%/entity/Employee_entity/afterOperatingState.js</afterOperatingState> + <iconId>VAADIN:GROUP</iconId> + <titleProcess>%aditoprj%/entity/Employee_entity/titleProcess.js</titleProcess> + <recordContainer>jdito</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <lookupIdfield>CONTACT_ID</lookupIdfield> + </entityProvider> + <entityField> + <name>UID</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/uid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>TITLE</name> + <title>Username</title> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/title/valueProcess.js</valueProcess> + <onValidation>%aditoprj%/entity/Employee_entity/entityfields/title/onValidation.js</onValidation> + </entityField> + <entityField> + <name>CONTACT_ID</name> + <title>Person</title> + <consumer>Contacts</consumer> + <linkedContext>Person</linkedContext> + <mandatory v="true" /> + <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/contact_id/stateProcess.js</stateProcess> + <onValidation>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValidation.js</onValidation> + <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>FIRSTNAME</name> + <title>Firstname</title> + </entityField> + <entityField> + <name>LASTNAME</name> + <title>Lastname</title> + <mandatory v="false" /> + </entityField> + <entityField> + <name>ISACTIVE</name> + <title>Active</title> + <contentType>BOOLEAN</contentType> + <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/possibleItemsProcess.js</possibleItemsProcess> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>EMAIL_ADDRESS</name> + <title>Email</title> + <mandatory v="true" /> + <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/email_address/possibleItemsProcess.js</possibleItemsProcess> + <newItemsAllowed v="true" /> + <onValidation>%aditoprj%/entity/Employee_entity/entityfields/email_address/onValidation.js</onValidation> + </entityField> + <entityField> + <name>PASSWORD</name> + <title>Password</title> + <contentType>PASSWORD</contentType> + <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/password/mandatoryProcess.js</mandatoryProcess> + <searchable v="false" /> + <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/password/stateProcess.js</stateProcess> + </entityField> + <entityField> + <name>CONFIRM_PASSWORD</name> + <title>Confirm password</title> + <contentType>PASSWORD</contentType> + <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/mandatoryProcess.js</mandatoryProcess> + <searchable v="false" /> + <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/stateProcess.js</stateProcess> + </entityField> + <entityActionField> + <name>setPassword</name> + <fieldType>ACTION</fieldType> + <title>Set password</title> + <onActionProcess>%aditoprj%/entity/Employee_entity/entityfields/setpassword/onActionProcess.js</onActionProcess> + <iconId>VAADIN:PASSWORD</iconId> + </entityActionField> + <entityParameter> + <name>PasswordChange_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OnlyActives_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/onlyactives_param/valueProcess.js</valueProcess> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>Contacts</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Person_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>Attributes</name> + <title>Attributes</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>RelationsForSpecificObject</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityFieldGroup> + <name>NAME_fieldGroup</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/name_fieldgroup/valueProcess.js</valueProcess> + <title>Name</title> + <description>FIELDGROUP</description> + <fields> + <element>FIRSTNAME</element> + <element>LASTNAME</element> + </fields> + </entityFieldGroup> + <entityField> + <name>IMAGE</name> + <contentType>IMAGE</contentType> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/image/valueProcess.js</valueProcess> + <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/image/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>DEPARTMENT</name> + <title>Department</title> + <state>INVISIBLE</state> + </entityField> + <entityField> + <name>DESCRIPTION</name> + <title>Description</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityField> + <name>ROLES</name> + </entityField> + <entityConsumer> + <name>EmployeeRoles</name> + <title>Roles</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>EmployeeRole_entity</entityName> + <fieldName>EmployeeRoles</fieldName> + </dependency> + <children> + <entityParameter> + <name>UserTitle_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employeeroles/children/usertitle_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>AttributeTree</name> + <title>Attribute Tree</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>AttributeRelationTree_entity</entityName> + <fieldName>TreeProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Documents</name> + <title>Documents</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>Documents</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentName_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentname_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityProvider> + <name>Employees</name> + <fieldType>DEPENDENCY_IN</fieldType> + <lookupIdfield>CONTACT_ID</lookupIdfield> + <dependencies> + <entityDependency> + <name>0ca415b9-a940-424e-bee8-05c007b20659</name> + <entityName>Activity_entity</entityName> + <fieldName>Employees</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>73f93f34-bfe9-48fd-b9ce-7f8ba46014c9</name> + <entityName>Timetracking_entity</entityName> + <fieldName>Employees</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>02bacafb-433c-497d-8561-96c426da61e9</name> + <entityName>Campaign_entity</entityName> + <fieldName>Employee</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>fefc05d2-6087-4600-bc77-80804654809e</name> + <entityName>CampaignStep_entity</entityName> + <fieldName>Employees</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>OnlyActives_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employees/children/onlyactives_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityProvider> + <entityField> + <name>TITLE_ORIGINAL</name> + <searchable v="false" /> + </entityField> + </entityFields> + <recordContainers> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + <contentProcess>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <onInsert>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onInsert.js</onInsert> + <onUpdate>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onUpdate.js</onUpdate> + <onDelete>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onDelete.js</onDelete> + <recordFields> + <element>UID.value</element> + <element>TITLE.value</element> + <element>TITLE_ORIGINAL.value</element> + <element>ISACTIVE.value</element> + <element>FIRSTNAME.value</element> + <element>LASTNAME.value</element> + <element>EMAIL_ADDRESS.value</element> + <element>EMAIL_ADDRESS.displayValue</element> + <element>DESCRIPTION.value</element> + <element>CONTACT_ID.value</element> + <element>CONTACT_ID.displayValue</element> + <element>STORED_SELECTIONS.value</element> + </recordFields> + </jDitoRecordContainer> + </recordContainers> +</entity> diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 8d4e21b1c94884c183dfc6af1235e605495611cd..b03a5ae680b0103b1321948860d5b124eb84d529 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -2952,6 +2952,9 @@ <entry> <key>This cannot be undone!</key> </entry> + <entry> + <key>Campaign status</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 2b4091c0772e3861ad6a8c9fd33c009e29243e7c..0dd9fd1b421fbaaab2cfc2d80c0eba1c406ebe6d 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -10,6 +10,10 @@ <key>SalesprojectState</key> <value>Status</value> </entry> + <entry> + <key>Steps</key> + <value>Stufen</value> + </entry> <entry> <key>Project management</key> <value>Projektmanagement</value> @@ -150,6 +154,10 @@ <key>Austria</key> <value>Österreich</value> </entry> + <entry> + <key>Set campaign step</key> + <value>Kampagnenstufe setzen</value> + </entry> <entry> <key>New time tracking</key> <value>Neuer Zeiteintrag</value> @@ -351,7 +359,7 @@ </entry> <entry> <key>Add participants to Campaign</key> - <value>Teilnehmer/innen zu Kampagne hinzufügen</value> + <value>Kampagnenteilnehmer/innen hinzufügen</value> </entry> <entry> <key>Firstname</key> @@ -3154,6 +3162,10 @@ <entry> <key>Tree Entity</key> </entry> + <entry> + <key>Add participant to Campaign</key> + <value>Kampagnenteilnehmer/in hinzufügen</value> + </entry> <entry> <key>Relationtype</key> <value>Beziehungsart</value> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index a5fe0c8172457cc1d14a011fa076416828b4b51e..bb50e50bbcc940e13937066bac206f1c63a489ee 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -2983,6 +2983,9 @@ <entry> <key>This cannot be undone!</key> </entry> + <entry> + <key>Campaign status</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod b/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod index a7cd72ca7c8309559d82b0ec9678c5b8f93ba056..50d76cc762daa12dd149c1b0525cfa3f33f751d0 100644 --- a/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod +++ b/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod @@ -1,6 +1,7 @@ <?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> <name>CampaignParticipantEdit_view</name> + <title>Add participant to Campaign</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> diff --git a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod index 7245f8689fc2851857ee32f20e54206b58e868c1..2146216bedd0443006c2c0f56d68f4df663ce3fe 100644 --- a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod +++ b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod @@ -1,8 +1,8 @@ <?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> <name>CampaignParticipantFilter_view</name> - <title>Kontakteasdasd</title> - <description>asd</description> + <title></title> + <description></description> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> diff --git a/neonView/CampaignPreview_view/CampaignPreview_view.aod b/neonView/CampaignPreview_view/CampaignPreview_view.aod index 2293d5bbed0c78adbbd98c91a03e52566f755b10..8eee0f92715eae0704930c954bd54b7ac0fd6a6a 100644 --- a/neonView/CampaignPreview_view/CampaignPreview_view.aod +++ b/neonView/CampaignPreview_view/CampaignPreview_view.aod @@ -16,6 +16,7 @@ <subtitleField>STATE</subtitleField> <descriptionField>DESCRIPTION</descriptionField> <entityField>#ENTITY</entityField> + <title></title> </cardViewTemplate> <genericViewTemplate> <name>TimespanGeneric</name> diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod index 918e08b8a4338f1a689095c669c22244125cab62..d95444c38df13ee28b6b3f22ad2bee4a72b13d98 100644 --- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod +++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod @@ -2,7 +2,7 @@ <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.1.0"> <name>_____PREFERENCES_PROJECT</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <projectName>xRM-Basic_current</projectName> + <projectName>xRM-Basic - neon - 2019</projectName> <jditoMaxContentSize v="57671680" /> <calendarCategoriesEvent> <entry> diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js index 82e745ad5f5166c3363d316dfb89d23a1f6dca8a..56850c02747ec01631a4b56583c89ccad6540aa8 100644 --- a/process/Campaign_lib/process.js +++ b/process/Campaign_lib/process.js @@ -90,11 +90,10 @@ CampaignUtils.getCampaignStatusByCampaignId = function(pCampaignId) CampaignUtils.createLogEntry = function(pCampaignId, pCampaignStepId, pContactId, pCampaignParticipantId) { let colsCampaignParticipantLog = CampaignUtils.getParticipantLogInsertColumnNames(); - let colTypesCampaignParticipantLog = CampaignUtils.getParticipantLogInsertColumnTypes(); let valsCampaignParticipantLog = new Array(pCampaignId, pCampaignStepId, pContactId, pCampaignParticipantId, vars.get("$sys.user"), vars.get("$sys.date")); - let rows = db.insertData("CAMPAIGNPARTICIPANTLOG", colsCampaignParticipantLog, colTypesCampaignParticipantLog, valsCampaignParticipantLog); + let rows = db.insertData("CAMPAIGNPARTICIPANTLOG", colsCampaignParticipantLog, null, valsCampaignParticipantLog); return (rows == 1); }