diff --git a/waltz-data/src/main/java/org/finos/waltz/data/entity_relationship/EntityRelationshipDao.java b/waltz-data/src/main/java/org/finos/waltz/data/entity_relationship/EntityRelationshipDao.java
index 86117f5b73..988b1d543a 100644
--- a/waltz-data/src/main/java/org/finos/waltz/data/entity_relationship/EntityRelationshipDao.java
+++ b/waltz-data/src/main/java/org/finos/waltz/data/entity_relationship/EntityRelationshipDao.java
@@ -89,13 +89,13 @@ public class EntityRelationshipDao {
.a(ImmutableEntityReference.builder()
.kind(EntityKind.valueOf(record.getKindA()))
.id(record.getIdA())
- .name(r.get(NAME_A))
+ .name(Optional.ofNullable(r.get(NAME_A)).orElse("_Removed_"))
.externalId(Optional.ofNullable(r.get(EXT_ID_A)))
.build())
.b(ImmutableEntityReference.builder()
.kind(EntityKind.valueOf(record.getKindB()))
.id(record.getIdB())
- .name(r.get(NAME_B))
+ .name(Optional.ofNullable(r.get(NAME_B)).orElse("_Removed_"))
.externalId(Optional.ofNullable(r.get(EXT_ID_B)))
.build())
.provenance(record.getProvenance())
diff --git a/waltz-model/src/main/java/org/finos/waltz/model/EntityKind.java b/waltz-model/src/main/java/org/finos/waltz/model/EntityKind.java
index 5dfdf7a4d4..a2eba28b7b 100644
--- a/waltz-model/src/main/java/org/finos/waltz/model/EntityKind.java
+++ b/waltz-model/src/main/java/org/finos/waltz/model/EntityKind.java
@@ -76,6 +76,7 @@ public enum EntityKind {
RELATIONSHIP_KIND("Relationship Kind"),
REPORT_GRID("Report Grid"),
ROADMAP("Roadmap"),
+ ROLE("Role"),
SCENARIO("Scenario"),
SERVER("Server"),
SERVER_USAGE("Server usage"),
diff --git a/waltz-ng/client/attestation/attestation-instance-list-user-view.js b/waltz-ng/client/attestation/attestation-instance-list-user-view.js
index 725cd43831..5909d468bd 100644
--- a/waltz-ng/client/attestation/attestation-instance-list-user-view.js
+++ b/waltz-ng/client/attestation/attestation-instance-list-user-view.js
@@ -106,7 +106,7 @@ function controller($q,
const index = _.findIndex(instances, i => i.id === instance.id)
const nextInstanceId = _.get(instances, [index + 1, "id"]);
- attest(serviceBroker, instance.parentEntity, instance.attestedEntityKind, instance.attestedEntityId)
+ return attest(serviceBroker, instance.parentEntity, instance.attestedEntityKind, instance.attestedEntityId)
.then(() => loadData())
.then(() => {
const remainingInstances = getInstancesForRun(vm.runsWithInstances, instance.attestationRunId);
diff --git a/waltz-ng/client/change-log/components/change-log-section.html b/waltz-ng/client/change-log/components/change-log-section.html
index eb986d5626..7352372889 100644
--- a/waltz-ng/client/change-log/components/change-log-section.html
+++ b/waltz-ng/client/change-log/components/change-log-section.html
@@ -30,14 +30,16 @@
Log
-
-
+
+
+
+
{
if (vm.parentEntityRef || vm.userName) {
loadEntries();
+ vm.allowApplicationChangeCalendar = _.includes(allowedAppCalendarKinds, vm.parentEntityRef.kind);
}
};
diff --git a/waltz-ng/client/common/services/enums/entity.js b/waltz-ng/client/common/services/enums/entity.js
index 4a68032070..628adc4806 100644
--- a/waltz-ng/client/common/services/enums/entity.js
+++ b/waltz-ng/client/common/services/enums/entity.js
@@ -311,6 +311,13 @@ export const entity = {
description: null,
position: 235
},
+ ROLE: {
+ key: "ROLE",
+ name: "Role",
+ icon: "key",
+ description: null,
+ position: 236
+ },
SCENARIO: {
key: "SCENARIO",
name: "Scenario",
diff --git a/waltz-ng/client/survey/components/survey-section.html b/waltz-ng/client/survey/components/survey-section.html
index 9dae9b873f..25d5f6d6a0 100644
--- a/waltz-ng/client/survey/components/survey-section.html
+++ b/waltz-ng/client/survey/components/survey-section.html
@@ -63,33 +63,41 @@
Select the survey template to issue
-
-
-
- Name |
- Description |
- Owner |
-
-
-
-
-
-
-
-
- |
-
-
- |
-
-
-
- |
-
-
-
+
+
diff --git a/waltz-ng/client/survey/components/survey-section.js b/waltz-ng/client/survey/components/survey-section.js
index e13c9aa194..68286f3218 100644
--- a/waltz-ng/client/survey/components/survey-section.js
+++ b/waltz-ng/client/survey/components/survey-section.js
@@ -37,7 +37,8 @@ const initialState = {
issuanceKind: "GROUP",
recipients: [],
owningRole: null
- }
+ },
+ templateQuery: null
};
diff --git a/waltz-ng/client/survey/survey-template-edit.js b/waltz-ng/client/survey/survey-template-edit.js
index 5bcb7b1000..3298fb6340 100644
--- a/waltz-ng/client/survey/survey-template-edit.js
+++ b/waltz-ng/client/survey/survey-template-edit.js
@@ -42,7 +42,9 @@ See the documentation for a complete list of functions and their arguments. Bel
* \`dataTypeUsages(name|extId)\`: returns set of usage kinds for the given data types (use the \`=~\` operator to test for membership)
* \`isRetiring()\`: (application only) true if app has planned retirement date but no actual retirement date
* \`hasDataType(name|extId)\`: returns whether the specified datatype (or a descendent) is in use by the app
-* \`hasInvolvement(roleName)\`: returns whether the subject entity has any involvment record with the given role name
+* \`hasInvolvement(roleName)\`: returns whether the subject entity has any involvement record with the given role name
+* \`hasLifecyclePhase(lifecyclePhase)\`: returns true of the given lifecycle phase matches the entities lifecycles phase. (PRODUCTION, DEVELOPMENT, CONCEPTUAL, RETIRED)
+* \`isAppKind(applicationKind)\`: returns true of the given app kind phase matches the application kind. ( IN_HOUSE, INTERNALLY_HOSTED, EXTERNALLY_HOSTED, EUC, THIRD_PARTY, CUSTOMISED, EXTERNAL)
`;
@@ -243,4 +245,4 @@ const page = {
};
-export default page;
\ No newline at end of file
+export default page;
diff --git a/waltz-service/src/main/java/org/finos/waltz/service/survey/inclusion_evaluator/QuestionAppPredicateNamespace.java b/waltz-service/src/main/java/org/finos/waltz/service/survey/inclusion_evaluator/QuestionAppPredicateNamespace.java
index 9297b6cab2..396fcf8fee 100644
--- a/waltz-service/src/main/java/org/finos/waltz/service/survey/inclusion_evaluator/QuestionAppPredicateNamespace.java
+++ b/waltz-service/src/main/java/org/finos/waltz/service/survey/inclusion_evaluator/QuestionAppPredicateNamespace.java
@@ -75,7 +75,7 @@ public boolean belongsToOrgUnit(String name) {
}
- public boolean isKind(String name) {
+ public boolean isAppKind(String name) {
return dsl.fetchExists(DSL
.select()
.from(APPLICATION)