diff --git a/ee/app/assets/javascripts/approvals/components/settings.vue b/ee/app/assets/javascripts/approvals/components/app.vue
similarity index 53%
rename from ee/app/assets/javascripts/approvals/components/settings.vue
rename to ee/app/assets/javascripts/approvals/components/app.vue
index d9b931553630f562970a4ca455f25c335c6ccc27..a8bf84caa400511f2035c414b6d61e8288b36d64 100644
--- a/ee/app/assets/javascripts/approvals/components/settings.vue
+++ b/ee/app/assets/javascripts/approvals/components/app.vue
@@ -1,27 +1,29 @@
@@ -41,25 +40,21 @@ export default {
-
+
-
-
+
+
- {{
+ {{
__('Add approvers')
}}
-
-
+
+
+
diff --git a/ee/app/assets/javascripts/approvals/components/approvers_list.vue b/ee/app/assets/javascripts/approvals/components/approvers_list.vue
index bf2d57f84bd4a0665afcd8a1fe944ac21d20f681..cf92a36bdb75262c0556d35f4cae008e3e986a0d 100644
--- a/ee/app/assets/javascripts/approvals/components/approvers_list.vue
+++ b/ee/app/assets/javascripts/approvals/components/approvers_list.vue
@@ -29,7 +29,7 @@ export default {
v-for="(approver, index) in value"
:key="approver.type + approver.id"
:approver="approver"
- @remove="removeApprover(index);"
+ @remove="removeApprover(index)"
/>
diff --git a/ee/app/assets/javascripts/approvals/components/approvers_list_item.vue b/ee/app/assets/javascripts/approvals/components/approvers_list_item.vue
index 15cdbf86b0e9c0145f46316e3aa9ac65b75dbeea..1ad19127ab0e9030ab3b8aa6f9d263934a924363 100644
--- a/ee/app/assets/javascripts/approvals/components/approvers_list_item.vue
+++ b/ee/app/assets/javascripts/approvals/components/approvers_list_item.vue
@@ -35,7 +35,7 @@ export default {
diff --git a/ee/app/assets/javascripts/approvals/components/project_settings/app.vue b/ee/app/assets/javascripts/approvals/components/project_settings/app.vue
new file mode 100644
index 0000000000000000000000000000000000000000..3133244d61d7c395088faa054103dafc0413bed0
--- /dev/null
+++ b/ee/app/assets/javascripts/approvals/components/project_settings/app.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/ee/app/assets/javascripts/approvals/components/project_settings/project_rules.vue b/ee/app/assets/javascripts/approvals/components/project_settings/project_rules.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9c4332529338d66b7ed3ee07b5349e4931ca6671
--- /dev/null
+++ b/ee/app/assets/javascripts/approvals/components/project_settings/project_rules.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+ | {{ s__('ApprovalRule|Name') }} |
+ {{ s__('ApprovalRule|Members') }} |
+ {{ s__('ApprovalRule|No. approvals required') }} |
+ |
+
+
+
+
+ {{ rule.name }}
+ {{ summaryText(rule) }}
+ |
+
+
+ |
+
+
+ {{ rule.approvalsRequired }}
+ |
+ |
+
+
+
diff --git a/ee/app/assets/javascripts/approvals/components/rule_controls.vue b/ee/app/assets/javascripts/approvals/components/rule_controls.vue
new file mode 100644
index 0000000000000000000000000000000000000000..a4f17a080a93a4546ad184efd957f00d50976955
--- /dev/null
+++ b/ee/app/assets/javascripts/approvals/components/rule_controls.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/ee/app/assets/javascripts/approvals/components/rule_form.vue b/ee/app/assets/javascripts/approvals/components/rule_form.vue
index 10e6d8e148f819a79b6d152911cd44a82873761c..7bded15b27bb3767ffa60553efa32e0db53ddffd 100644
--- a/ee/app/assets/javascripts/approvals/components/rule_form.vue
+++ b/ee/app/assets/javascripts/approvals/components/rule_form.vue
@@ -35,11 +35,17 @@ export default {
approversByType() {
return _.groupBy(this.approvers, x => x.type);
},
+ users() {
+ return this.approversByType[TYPE_USER] || [];
+ },
+ groups() {
+ return this.approversByType[TYPE_GROUP] || [];
+ },
userIds() {
- return (this.approversByType[TYPE_USER] || []).map(x => x.id);
+ return this.users.map(x => x.id);
},
groupIds() {
- return (this.approversByType[TYPE_GROUP] || []).map(x => x.id);
+ return this.groups.map(x => x.id);
},
validation() {
if (!this.showValidation) {
@@ -84,6 +90,8 @@ export default {
approvalsRequired: this.approvalsRequired,
users: this.userIds,
groups: this.groupIds,
+ userRecords: this.users,
+ groupRecords: this.groups,
};
this.showValidation = true;
@@ -131,7 +139,7 @@ export default {