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

Merge branch '1061658_FixVisitPlanEntry_ContactId_OrgId_Confusion' into '2020.1'

1061658 fix visit plan entry contact id org id confusion

See merge request xrm/basic!321
parents b071daaa cb8e4d76
No related branches found
No related tags found
No related merge requests found
Showing
with 97 additions and 84 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 id="3d7f038c-04f1-45a2-9a1c-73c1a8666fea" author="b.ulrich" >
<renameColumn
columnDataType="CHAR(36)"
newColumnName="ORGANISATION_CONTACT_ID"
oldColumnName="ORGANISATION_ID"
tableName="VISITPLANENTRY"/>
</changeSet>
</databaseChangeLog>
......@@ -2,6 +2,7 @@
<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 file="AlterDatatypeOfKeyColumnsToChar/changelog.xml" relativeToChangelogFile="true"/>
<include file="VisitPlanEntry/rename_VisitPlanEntry_ORGANISATION_ID.xml" relativeToChangelogFile="true"/>
<include file="AddNullableToDateNew.xml" relativeToChangelogFile="true" />
<include file="AlterButtonLabelTitles/AlterButtonLabelTitles.xml" relativeToChangelogFile="true" />
</databaseChangeLog>
......@@ -15,7 +15,7 @@
<column name="ENTRYDATE" valueDate="2020-05-18"/>
<column name="BEGIN_TIME" value="10:00"/>
<column name="END_TIME" value="11:00"/>
<column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
<column name="ORGANISATION_CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
<column name ="CONTACT_ID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
<column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
<column name="STATUS" value="VISITSTATUSPLANNED "/>
......@@ -25,7 +25,7 @@
<column name="ENTRYDATE" valueDate="2020-05-19"/>
<column name="BEGIN_TIME" value="14:00"/>
<column name="END_TIME" value="17:00"/>
<column name="ORGANISATION_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
<column name="ORGANISATION_CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
<column name ="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
<column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
<column name="STATUS" value="VISITSTATUSPLANNED "/>
......@@ -35,7 +35,7 @@
<column name="ENTRYDATE" valueDate="2020-05-19"/>
<column name="BEGIN_TIME" value="10:00"/>
<column name="END_TIME" value="11:00"/>
<column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
<column name="ORGANISATION_CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
<column name ="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
<column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
<column name="STATUS" value="VISITSTATUSPLANNED "/>
......@@ -45,7 +45,7 @@
<column name="ENTRYDATE" valueDate="2020-05-20"/>
<column name="BEGIN_TIME" value="10:00"/>
<column name="END_TIME" value="11:00"/>
<column name="ORGANISATION_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
<column name="ORGANISATION_CONTACT_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
<column name ="CONTACT_ID" value="79ce56fc-0022-4d5c-91b1-080c0f1e2191"/>
<column name="VISITPLANEMPLOYEEWEEK_ID" value="821b3424-b6d2-41f8-b0b2-6a7c2c050214"/>
<column name="STATUS" value="VISITSTATUSPLANNED "/>
......@@ -64,7 +64,7 @@
<column name="ENTRYDATE" valueDate="2020-05-25"/>
<column name="BEGIN_TIME" value="10:00"/>
<column name="END_TIME" value="11:00"/>
<column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
<column name="ORGANISATION_CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
<column name="VISITPLANEMPLOYEEWEEK_ID" value="73fbf25a-5668-411f-9ef5-42603d163a77"/>
<column name="STATUS" value="VISITSTATUSPLANNED "/>
</insert>
......@@ -73,7 +73,7 @@
<column name="ENTRYDATE" valueDate="2020-05-26"/>
<column name="BEGIN_TIME" value="10:00"/>
<column name="END_TIME" value="11:00"/>
<column name="ORGANISATION_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
<column name="ORGANISATION_CONTACT_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
<column name="VISITPLANEMPLOYEEWEEK_ID" value="73fbf25a-5668-411f-9ef5-42603d163a77"/>
<column name="STATUS" value="VISITSTATUSPLANNED "/>
</insert>
......@@ -82,7 +82,7 @@
<column name="ENTRYDATE" valueDate="2020-05-27"/>
<column name="BEGIN_TIME" value="10:00"/>
<column name="END_TIME" value="11:00"/>
<column name="ORGANISATION_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
<column name="ORGANISATION_CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
<column name="VISITPLANEMPLOYEEWEEK_ID" value="73fbf25a-5668-411f-9ef5-42603d163a77"/>
<column name="STATUS" value="VISITSTATUSPLANNED "/>
</insert>
......
......@@ -8237,9 +8237,9 @@
<name>DATE_EDIT</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
......@@ -8272,9 +8272,9 @@
<name>DATE_NEW</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
......@@ -8382,13 +8382,13 @@
<entityFieldDb>
<name>DOCUMENTTEMPLATEID</name>
<dbName></dbName>
<primaryKey v="true" />
<primaryKey v="false" />
<columnType v="1" />
<size v="36" />
<scale v="0" />
<notNull v="true" />
<isUnique v="true" />
<index v="true" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
......@@ -8529,9 +8529,9 @@
<name>DATE_EDIT</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
......@@ -8557,9 +8557,9 @@
<name>DATE_NEW</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
......@@ -8647,9 +8647,9 @@
<name>DATE_EDIT</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
......@@ -8696,9 +8696,9 @@
<name>DATE_NEW</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
......@@ -8835,9 +8835,9 @@
<name>DATE_EDIT</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
......@@ -8954,9 +8954,9 @@
<name>DATE_NEW</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
......@@ -9267,9 +9267,9 @@
<name>DATE_EDIT</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
......@@ -9309,9 +9309,9 @@
<name>DATE_NEW</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
......@@ -11573,9 +11573,9 @@
<name>DATE_EDIT</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
......@@ -11601,9 +11601,9 @@
<name>DATE_NEW</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
......@@ -11885,9 +11885,9 @@
<name>DATE_EDIT</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
......@@ -11920,9 +11920,9 @@
<name>DATE_NEW</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="91" />
<size v="10" />
<scale v="0" />
<columnType v="93" />
<size v="29" />
<scale v="9" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
......
......@@ -3,7 +3,7 @@ import("system.db");
import("system.vars");
import("Contact_lib");
var organisationId = vars.get("$field.ORGANISATION_ID");
var res = OrganisationUtils.getNameByOrganisationId(organisationId);
var organisationContactId = vars.get("$field.ORGANISATION_CONTACTID");
var res = OrganisationUtils.getNameByContactId(organisationContactId);
result.string(res);
\ No newline at end of file
......@@ -30,14 +30,14 @@
<displayValueProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>ORGANISATION_ID</name>
<documentation>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_id/documentation.adoc</documentation>
<name>ORGANISATION_CONTACT_ID</name>
<documentation>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_contact_id/documentation.adoc</documentation>
<title>Organisation</title>
<consumer>Organisations</consumer>
<mandatory v="true" />
<stateProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_id/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_id/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_id/displayValueProcess.js</displayValueProcess>
<stateProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_contact_id/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_contact_id/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/VisitPlanEntry_entity/entityfields/organisation_contact_id/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>ENTRYDATE</name>
......@@ -247,10 +247,10 @@
<name>END_TIME.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ORGANISATION_ID.value</name>
<name>ORGANISATION_CONTACT_ID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>ORGANISATION_ID.displayValue</name>
<name>ORGANISATION_CONTACT_ID.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>CONTACT_ID.value</name>
......
......@@ -2,7 +2,8 @@
For storing Visitentries with their information(date, time, contact, and most importantly: it's Status).
Linked to VisitPlanEmployeeWeek_entity so you only see the entries in the chosen week.
ORGANISATION_ID is used to store the company that's being visited, CONTACT_ID to Store the Point-of-Contact,
ORGANISATION_CONTACT_ID is used to store the company that's being visited,
CONTACT_ID to Store the Point-of-Contact,
since you are normally visiting one specific person.
Keep in mind, that only the organization is important for the visitRecommendations and not the Point of Contact.
\ No newline at end of file
......@@ -3,7 +3,7 @@ import("system.result");
import("Contact_lib");
import("system.vars");
var orgId = vars.get("$field.ORGANISATION_ID");
var orgId = vars.get("$field.ORGANISATION_CONTACT_ID");
var contactId = vars.get("$field.CONTACT_ID");
var orgContactId = ContactUtils.getPersOrgIds(contactId)[2];
......
......@@ -12,6 +12,6 @@ if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.v
.from("CONTACT")
.where("CONTACT.CONTACTID", contactId)
.cell();
neon.setFieldValue("$field.ORGANISATION_ID", orgId);
neon.setFieldValue("$field.ORGANISATION_CONTACT_ID", orgId);
result.string(vars.get("$param.ContactId_param"));
}
\ No newline at end of file
......@@ -17,7 +17,7 @@ var pointOfContact = newSelect("CONTACT.CONTACTID", db.getCurrentAlias())
.leftJoin("AB_ATTRIBUTE", "AB_ATTRIBUTE.AB_ATTRIBUTEID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")
.leftJoin("ORGANISATION", "ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID")
.where("AB_ATTRIBUTE.AB_ATTRIBUTEID", $AttributeRegistry.visitPlanPointOfContact())
.and("CONTACT.CONTACTID", vars.get("$field.ORGANISATION_ID"))
.and("CONTACT.CONTACTID", vars.get("$field.ORGANISATION_CONTACT_ID"))
.cell();
var context;
......@@ -25,7 +25,7 @@ if(pointOfContact)
links.push([ContactUtils.getContextByContactId(pointOfContact), pointOfContact]);
else
{
var contactId = vars.get("$field.ORGANISATION_ID");
var contactId = vars.get("$field.ORGANISATION_CONTACT_ID");
context = ContactUtils.getContextByContactId(contactId);
if(context == 'Person')
{
......
......@@ -40,8 +40,8 @@ var entryDateAsLong = selectionRowData[0].ENTRYDATE;
var entryDate = datetime.toDate(entryDateAsLong, "dd-MM-yyyy");
var startTime = selectionRowData[0].BEGIN_TIME;
var endTime = selectionRowData[0].END_TIME;
var organisation_id = selectionRowData[0].ORGANISATION_ID;
var organisationName = OrganisationUtils.getNameByOrganisationId(organisation_id);
var organisationContact_id = selectionRowData[0].ORGANISATION_CONTACT_ID;
var organisationName = OrganisationUtils.getNameByContactId(organisationContact_id);
var contact_id = selectionRowData[0].CONTACT_ID;
var contactName = ContactUtils.getFullTitleByContactId(contact_id);
var contactMail = CommUtil.getStandardSubSqlMail(contact_id)
......@@ -53,9 +53,9 @@ var department = contactData[0];
var contactRole = contactData[1];
var addressId = newSelect("CONTACT.ADDRESS_ID")
.from("CONTACT")
.where("CONTACT.CONTACTID", organisation_id)
.where("CONTACT.CONTACTID", organisationContact_id)
.cell();
var organisationAddress = new AddrObject(organisation_id);
var organisationAddress = new AddrObject(organisationContact_id);
var organisationAddressFormatted = organisationAddress.getFormattedAddress(false, "{salutation_name}\n {street} {buildingno}\n {country_short} - {zip} {city}");
var contactCommunication = newSelect("COMMUNICATION.MEDIUM_ID, COMMUNICATION.ADDR")
.from("COMMUNICATION")
......@@ -105,7 +105,7 @@ columnTypes = db.getColumnTypes("AB_APPOINTMENTLINK", columns, db.getCurrentAlia
values = [util.getNewUUID(),
uidAppointment[0],
"Organisation",
organisation_id]
organisationContact_id]
insert = db.insertData("AB_APPOINTMENTLINK", columns, columnTypes, values)
values = [util.getNewUUID(),
......
......@@ -59,7 +59,7 @@ if(vars.exists("$param.Entries_param") && vars.get("$param.Entries_param"))
var childAddresses = newSelect("ADDRESS, BUILDINGNO, ZIP, CITY, COUNTRY")
.from("ADDRESS")
.leftJoin("VISITPLANENTRY", "ADDRESS.ADDRESSID = (select ADDRESS_ID from CONTACT where CONTACT.CONTACTID \n\
= VISITPLANENTRY.ORGANISATION_ID)")
= VISITPLANENTRY.ORGANISATION_CONTACT_ID)")
.where("VISITPLANENTRY.VISITPLANEMPLOYEEWEEK_ID", entryid)
.and("VISITPLANENTRY.ENTRYDATE", entrydateDB)
.table();
......
......@@ -3,7 +3,7 @@ import("system.db");
import("system.vars");
import("Contact_lib");
var contactid = vars.get("$field.ORGANISATION_ID");
var contactid = vars.get("$field.ORGANISATION_CONTACT_ID");
var res = ContactUtils.getFullTitleByContactId(contactid);
result.string(res);
\ No newline at end of file
......@@ -4,6 +4,6 @@ import("Sql_lib");
var contactIdArray = newSelect("CONTACT.CONTACTID")
.from("CONTACT")
.where("CONTACT.ORGANISATION_ID", vars.get("$field.ORGANISATION_ID"), SqlBuilder.NOT_EQUAL())
.where("CONTACT.ORGANISATION_ID", vars.get("$field.ORGANISATION_CONTACT_ID"), SqlBuilder.NOT_EQUAL())
.arrayColumn()
result.object(contactIdArray)
\ No newline at end of file
......@@ -16,7 +16,7 @@ var items = [];
var group = [];
var entryData = "";
var entrySQL = newSelect("ENTRYDATE, VISITPLANENTRYID, BEGIN_TIME, END_TIME, ORGANISATION_ID, CONTACT_ID,STATUS, VISITPLANEMPLOYEEWEEK_ID, APPOINTMENT_ID")
var entrySQL = newSelect("ENTRYDATE, VISITPLANENTRYID, BEGIN_TIME, END_TIME, ORGANISATION_CONTACT_ID, CONTACT_ID,STATUS, VISITPLANEMPLOYEEWEEK_ID, APPOINTMENT_ID")
.from("VISITPLANENTRY");
if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
......@@ -46,11 +46,11 @@ if(entryData.length > 0)
{
for(var i = 0; i < entryData.length; i++)
{
var entryDateRaw, visitPlanEntryId, beginn_time, end_time, organisation_id, contact_id, status, visitplanemployeeweek_id, appointmentid;
[entryDateRaw, visitPlanEntryId, beginn_time, end_time, organisation_id, contact_id, status, visitplanemployeeweek_id, appointmentid] = entryData[i]
var entryDateRaw, visitPlanEntryId, beginn_time, end_time, organisationContact_id, contact_id, status, visitplanemployeeweek_id, appointmentid;
[entryDateRaw, visitPlanEntryId, beginn_time, end_time, organisationContact_id, contact_id, status, visitplanemployeeweek_id, appointmentid] = entryData[i]
var contactname = db.cell(PersUtils.getResolvingDisplaySubSql("'" + contact_id + "'"));
var orgname = OrganisationUtils.getNameByOrganisationId(organisation_id);
var orgname = OrganisationUtils.getNameByContactId(organisationContact_id);
var parentName = translate.text(datetime.toDate(entryDateRaw, "EEEE"));
entryDate = datetime.toDate(entryDateRaw, "dd.MM.yyyy");
......@@ -58,7 +58,7 @@ if(entryData.length > 0)
var alias = SqlUtils.getSystemAlias();
items.push([visitPlanEntryId, false, parentName + "#" + entryDate, "", beginn_time
, end_time, organisation_id, orgname, contact_id, contactname, entryDateRaw, status, visitplanemployeeweek_id, appointmentid, statusDisplay]);
, end_time, organisationContact_id, orgname, contact_id, contactname, entryDateRaw, status, visitplanemployeeweek_id, appointmentid, statusDisplay]);
if(!vars.get("$local.idvalues"))
{
......
......@@ -58,7 +58,7 @@ var valuesEntry = [
rowData["ENTRYDATE.value"],
rowData["BEGIN_TIME.value"],
rowData["END_TIME.value"],
rowData["ORGANISATION_ID.value"],
rowData["ORGANISATION_CONTACT_ID.value"],
rowData["CONTACT_ID.value"],
visitPlanEmployeeWeekID,
rowData["STATUS.value"]
......@@ -69,7 +69,7 @@ var columnsEntry = [
"ENTRYDATE",
"BEGIN_TIME",
"END_TIME",
"ORGANISATION_ID",
"ORGANISATION_CONTACT_ID",
"CONTACT_ID",
"VISITPLANEMPLOYEEWEEK_ID",
"STATUS"
......
......@@ -10,7 +10,7 @@ var values = [
rowData["ENTRYDATE.value"],
rowData["BEGIN_TIME.value"],
rowData["END_TIME.value"],
rowData["ORGANISATION_ID.value"],
rowData["ORGANISATION_CONTACT_ID.value"],
rowData["STATUS"]
];
......@@ -18,7 +18,7 @@ var columns = [
"ENTRYDATE",
"BEGIN_TIME",
"END_TIME",
"ORGANISATION_ID",
"ORGANISATION_CONTACT_ID",
"STATUS"
];
......
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