Skip to content
Snippets Groups Projects
Commit 9a3aa55c authored by Johannes Goderbauer's avatar Johannes Goderbauer
Browse files

Merge branch '2020.1'

parents 75016a9b b6a4e7a2
No related branches found
No related tags found
No related merge requests found
Showing
with 179 additions and 31 deletions
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="j.hoermann" id="15176b40-4b5e-48a9-8dfc-4540b01595c8">
<preConditions onFail="CONTINUE">
<not>
<tableExists tableName="TICKET"/>
</not>
</preConditions>
<createTable tableName="TICKET">
<column name="TICKETID" type="CHAR(36)">
<constraints primaryKey="true" primaryKeyName="PK_TICKET_TICKETID"/>
......@@ -12,6 +18,13 @@
<column name="TICKETTYPE" type="VARCHAR(36)"/>
</createTable>
<sql dbms="mssql">
DECLARE @ConstraintName nvarchar(200)
SELECT @ConstraintName = CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_NAME = 'TASK' AND COLUMN_NAME = 'CODE'
IF @ConstraintName IS NOT NULL
EXEC('ALTER TABLE TASK DROP CONSTRAINT ' + @ConstraintName)
</sql>
<dropNotNullConstraint tableName="TASK" columnName="CODE" columnDataType="INTEGER"/>
<dropColumn tableName="TASK" columnName="CODE"/>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -9,13 +9,15 @@
</sql>
</changeSet>
<changeSet author="j.hoermann" id="9a86323f-a299-42a5-937a-f5e37d0db507">
<preConditions onFail="CONTINUE">
<not>
<dbms type="derby" />
</not>
</preConditions>
<changeSet dbms="!derby,!mssql" author="j.hoermann" id="9a86323f-a299-42a5-937a-f5e37d0db507">
<modifyDataType tableName="ACTIVITYLINK" columnName="ACTIVITY_ID" newDataType="CHAR(36)"/>
</changeSet>
<changeSet dbms="mssql" author="s.listl" id="e8961eb9-80af-4a60-98cb-3cd843f2424a">
<dropIndex tableName="ACTIVITYLINK" indexName="IDX_ACTIVITYLINK_ACTIVITY_ID"/>
<modifyDataType tableName="ACTIVITYLINK" columnName="ACTIVITY_ID" newDataType="CHAR(36)"/>
<createIndex indexName="IDX_ACTIVITYLINK_ACTIVITY_ID" tableName="ACTIVITYLINK">
<column name="ACTIVITY_ID" />
</createIndex>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -2,6 +2,11 @@
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.pongratz" id="28627941-6c9b-46e8-922a-b4660b33723c">
<preConditions onFail="CONTINUE">
<columnExists tableName="OBJECTMEMBER" columnName="DECIDER"/>
</preConditions>
<dropNotNullConstraint tableName="OBJECTMEMBER" columnName="DECIDER" columnDataType="TINYINT"/>
<dropDefaultValue tableName="OBJECTMEMBER" columnName="DECIDER"/>
<dropColumn tableName="OBJECTMEMBER" columnName="DECIDER"/>
</changeSet>
</databaseChangeLog>
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.pongratz" id="b2894de0-4a19-4fcb-9412-0a5e91bfec80">
<!--<modifyDataType columnName="VALID_TO" newDataType="DATETIME" tableName="DSGVO"/>-->
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="DSGVO"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="DSGVO"/>
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="CAMPAIGN"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="CAMPAIGN"/>
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="CAMPAIGNCOST"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="CAMPAIGNCOST"/>
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="CAMPAIGNPARTICIPANT"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="CAMPAIGNPARTICIPANT"/>
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="CAMPAIGNSTEP"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="CAMPAIGNSTEP"/>
<!--<modifyDataType columnName="DATE_START" newDataType="DATETIME" tableName="CAMPAIGNSTEP"/>
<modifyDataType columnName="DATE_END" newDataType="DATETIME" tableName="CAMPAIGNSTEP"/>-->
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="DOCUMENTTEMPLATELINK"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="DOCUMENTTEMPLATELINK"/>
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="DUPLICATESCANNER"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="DUPLICATESCANNER"/>
<modifyDataType columnName="DATE_NEW" newDataType="DATETIME" tableName="DUPLICATESCANNERRESULTFIELDCONFIG"/>
<modifyDataType columnName="DATE_EDIT" newDataType="DATETIME" tableName="DUPLICATESCANNERRESULTFIELDCONFIG"/>
<!--<modifyDataType columnName="ENTRYDATE" newDataType="DATETIME" tableName="VISITPLANENTRY"/>
<modifyDataType columnName="DATEOFBIRTH" newDataType="DATETIME" tableName="PERSON"/>-->
</changeSet>
</databaseChangeLog>
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<include relativeToChangelogFile="true" file="AlterTablesToDatetime.xml"/>
</databaseChangeLog>
......@@ -12,6 +12,7 @@
<include relativeToChangelogFile="true" file="basic/2020.0.2/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2020.0.3/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2020.1.0/changelog.xml"/>
<include relativeToChangelogFile="true" file="basic/2020.1.1/changelog.xml"/>
<!--enable this only when you definetly want to overwrite the existing data with demo records:-->
<!--<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>-->
......
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.listl" id="">
<changeSet author="s.listl" id="198892eb-e2a6-4550-9a42-a4d016aa4d11">
<insert tableName="ASYS_USERS">
<column name="GROUPID" value="BASIC"/>
<column name="NAME" value="_____USER_6283cfd9-cf4d-4711-95a1-9b0d74526e01"/>
......
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="m.sieber" id="">
<changeSet author="m.sieber" id="b54fd2e4-77a8-4b5d-b006-5c8290d270b6">
<createTable tableName="ASYS_TIMERS">
<column name="TIMERID" type="VARCHAR(127)">
<constraints primaryKey="true" primaryKeyName="PK_ASYS_TIMERS_TIMERID"/>
......
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="m.sieber" id="">
<changeSet author="m.sieber" id="bbc95b35-05e4-4279-aa6c-fc05f0245e3a">
<createTable tableName="ASYS_TIMERS_SERVERRUNS">
<column name="SERVERID" type="VARCHAR(127)">
<constraints nullable="false"/>
......
......@@ -20,5 +20,8 @@
<column name="DATE_EDIT" type="DATETIME"/>
<column name="DATE_NEW" type="DATETIME"/>
</createTable>
<createIndex indexName="idx_asysusers_groupid" tableName="ASYS_USERS">
<column name="GROUPID"/>
</createIndex>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
import("Sql_lib");
import("system.logging");
import("KeywordRegistry_basic");
import("DataPrivacy_lib");
......@@ -7,7 +8,7 @@ import("Keyword_lib");
var rowdata = vars.get("$local.rowdata");
var addrType = rowdata["ADDRESS.ADDR_TYPE"];
var id = rowdata["ADDRESS.CONTACT_ID"];
var typeParam = vars.get("$param.ContactType_param");
if (!typeParam && vars.exists("$param.PersonContactId_param") && vars.getString("$param.PersonContactId_param"))
......@@ -22,7 +23,27 @@ if (typeParam === "contact")
else if (typeParam === "organisation")
scopeType = "Organisation"
new StandardObject("Address", vars.get("$local.uid"), scopeType, rowdata["ADDRESS.CONTACT_ID"])
.onObjectInsert(vars.exists("$param.ReplaceStandardAddress_param") ? vars.get("$param.ReplaceStandardAddress_param") : undefined)
new StandardObject("Address", vars.get("$local.uid"), scopeType, id)
.onObjectInsert(vars.exists("$param.ReplaceStandardAddress_param") ? vars.get("$param.ReplaceStandardAddress_param") : undefined);
//adds the orgaddress as standard address to all the contact's that were created before the org had an address
if(scopeType == "Organisation")
{
var contacts = newSelect("CONTACTID")
.from("CONTACT")
.where("CONTACT.ORGANISATION_ID", newSelect("CONTACT.ORGANISATION_ID")
.from("CONTACT")
.where("CONTACT.CONTACTID", id)
.cell())
.and("CONTACT.PERSON_ID is not null")
.arrayColumn();
if(contacts.length > 0)
for (var i = 0; i < contacts.length; i++)
{
new StandardObject("Address", vars.get("$local.uid"), "Person", contacts[i])
.onObjectInsert(vars.exists("$param.ReplaceStandardAddress_param") ? vars.get("$param.ReplaceStandardAddress_param") : undefined);
}
}
DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["ADDRESS.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param"));
......@@ -82,10 +82,12 @@
<entityField>
<name>ADDRESS_ID</name>
<title>standard address</title>
<groupable v="true" />
<displayValueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/address_id/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>LANGUAGE</name>
<groupable v="true" />
</entityField>
<entityField>
<name>ORGANISATION_ID</name>
......@@ -98,6 +100,7 @@
</entityField>
<entityField>
<name>STATUS</name>
<groupable v="true" />
</entityField>
<entityField>
<name>contactType</name>
......@@ -177,6 +180,28 @@ See ContactUtils.getRelationTypeByPersOrg for possible values</description>
<name>AvatarText_param</name>
<valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/avatartext_param/valueProcess.js</valueProcess>
</entityParameter>
<entityProvider>
<name>ContactsByIds</name>
<documentation>%aditoprj%/entity/AnyContact_entity/entityfields/contactsbyids/documentation.adoc</documentation>
<dependencies>
<entityDependency>
<name>0206f7a8-fd58-47e8-8b7a-5ff4531e56fb</name>
<entityName>QuickEntry_entity</entityName>
<fieldName>OrgAndPersDuplicates</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>ContactId_param</name>
<expose v="false" />
</entityParameter>
</children>
</entityProvider>
<entityParameter>
<name>ContactIds_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
= AnyContact_entity - ContactsByIds
The list of contacts can be filtered by providing the contact ids in the parameter "ContactIds_param"
\ No newline at end of file
......@@ -24,10 +24,13 @@ if (vars.getString("$param.WithPrivatePersons_param") == "true")
.and("CONTACT.PERSON_ID is not null"));
}
//exclude private organisation
var cond = newWhereIfSet(conditionPrivateOrganisation)
.andIfSet("CONTACT.ORGANISATION_ID", orgContactId);
var contactIds = vars.exists("$param.ContactIds_param") && vars.get("$param.ContactIds_param");
if (contactIds)
cond.andIfSet("CONTACT.CONTACTID", JSON.parse(contactIds), SqlBuilder.IN());
//TODO: use a preparedCondition (.build instead of .toString) when available #1030812 #1034026
result.string(cond.toString());
\ No newline at end of file
......@@ -3,7 +3,7 @@ import("system.result");
import("system.vars");
import("system.neon");
if(vars.get("$sys.selection").length == 1 && vars.get("$field.ATTRIBUTE_TYPE") == $AttributeTypes.GROUP.toString())
result.string(neon.COMPONENTSTATE_EDITABLE)
if(vars.get("$sys.selection").length == 1 && (vars.get("$field.ATTRIBUTE_TYPE") == $AttributeTypes.GROUP.toString() || vars.get("$field.ATTRIBUTE_TYPE") == $AttributeTypes.OBJECTSELECTION.toString()))
result.string(neon.COMPONENTSTATE_EDITABLE);
else
result.string(neon.COMPONENTSTATE_DISABLED)
\ No newline at end of file
result.string(neon.COMPONENTSTATE_DISABLED);
\ No newline at end of file
......@@ -3,17 +3,18 @@
<name>BulkMailAddRecipients_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/BulkMailAddRecipients_entity/documentation.adoc</documentation>
<recordContainer>jdito</recordContainer>
<recordContainer>datalessConfig</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>UID</name>
<state>EDITABLE</state>
</entityField>
<entityField>
<name>recipientCountMessage</name>
<state>READONLY</state>
<state>EDITABLE</state>
<valueProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/recipientcountmessage/valueProcess.js</valueProcess>
</entityField>
<entityField>
......@@ -22,6 +23,7 @@
<consumer>BulkMails</consumer>
<linkedContext>BulkMail</linkedContext>
<mandatory v="true" />
<state>EDITABLE</state>
<displayValueProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/bulkmail_id/displayValueProcess.js</displayValueProcess>
</entityField>
<entityConsumer>
......@@ -39,20 +41,28 @@
<entityField>
<name>recipientContactIds</name>
<description>the filtered contactIds (contactIds that are not already in the bulkmail and don't have a commrestriction)</description>
<state>EDITABLE</state>
<valueProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/recipientcontactids/valueProcess.js</valueProcess>
</entityField>
<entityActionField>
<name>addRecipients</name>
<title>Add Recipients</title>
<onActionProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/addrecipients/onActionProcess.js</onActionProcess>
<iconId>VAADIN:AT</iconId>
<state>DISABLED</state>
<stateProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/addrecipients/stateProcess.js</stateProcess>
</entityActionField>
<entityField>
<name>recipientCount</name>
<documentation>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/recipientcount/documentation.adoc</documentation>
<state>EDITABLE</state>
<valueProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/entityfields/recipientcount/valueProcess.js</valueProcess>
</entityField>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<contentProcess>%aditoprj%/entity/BulkMailAddRecipients_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/BulkMailAddRecipients_entity/recordcontainers/jdito/onInsert.js</onInsert>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
<datalessRecordContainer>
<name>datalessConfig</name>
<alias>Data_alias</alias>
</datalessRecordContainer>
</recordContainers>
</entity>
import("system.neon");
import("system.result");
import("system.vars");
var count = vars.getString("$field.recipientCount");
if (count == "0" || !count || vars.get("$sys.validationerrors"))
result.string(neon.COMPONENTSTATE_DISABLED);
else
result.string(neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
......@@ -5,4 +5,10 @@ import("system.vars");
var contactIds = JSON.parse(vars.getString("$param.ContactIds_param"));
var bulkMailId = vars.get("$field.BULKMAIL_ID");
result.string(JSON.stringify(BulkMailUtils.filterNewRecipients(bulkMailId, contactIds)));
\ No newline at end of file
var res;
if (bulkMailId)
res = JSON.stringify(BulkMailUtils.filterNewRecipients(bulkMailId, contactIds));
else
res = null;
result.string(res);
\ No newline at end of file
This field contains the count of the participants that can be added as string.
A value of null or empty string "" means that the count could not be determined (for example because no bulkmail was chosen).
A value of "0" means that the count could be determined but none of the participants can be added (for example because all selected participants are already in the bulkmail).
For example, a value of "12" means that 12 of the given participants can be added.
This information is needed for disabling the action to proceed and to provide a message for the user.
\ 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