diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2017-05-17 13:54:09 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2017-05-17 13:54:09 +0000 |
commit | 81c69c288b626a5bea2d5abddfe5dab1107e35e1 (patch) | |
tree | aced138d4dd63d86e1f00599a995150be9c077e4 /app/assets/javascripts/issue_show/components | |
parent | 4693aa9c9c67bc65145bb92d0476ad1a259cf7ca (diff) | |
parent | 6963442d6719f1428105d39e017438f26eeae928 (diff) | |
download | gitlab-ce-81c69c288b626a5bea2d5abddfe5dab1107e35e1.tar.gz |
Merge branch 'issue-edit-inline-confidential' into 'issue-edit-inline'
Issue edit inline confidential
See merge request !11389
Diffstat (limited to 'app/assets/javascripts/issue_show/components')
3 files changed, 39 insertions, 1 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue index eb594cfb60b..87757b1a35d 100644 --- a/app/assets/javascripts/issue_show/components/app.vue +++ b/app/assets/javascripts/issue_show/components/app.vue @@ -41,6 +41,10 @@ export default { required: false, default: '', }, + isConfidential: { + type: Boolean, + required: true, + }, markdownPreviewUrl: { type: String, required: true, @@ -78,6 +82,7 @@ export default { this.showForm = true; this.store.formState = { title: this.state.titleText, + confidential: this.isConfidential, description: this.state.descriptionText, }; }, @@ -86,7 +91,13 @@ export default { }, updateIssuable() { this.service.updateIssuable(this.store.formState) - .then(() => { + .then((res) => { + const data = res.json(); + + if (data.confidential !== this.isConfidential) { + location.reload(); + } + eventHub.$emit('close.form'); }) .catch(() => { diff --git a/app/assets/javascripts/issue_show/components/fields/confidential_checkbox.vue b/app/assets/javascripts/issue_show/components/fields/confidential_checkbox.vue new file mode 100644 index 00000000000..a0ff08e9111 --- /dev/null +++ b/app/assets/javascripts/issue_show/components/fields/confidential_checkbox.vue @@ -0,0 +1,23 @@ +<script> + export default { + props: { + formState: { + type: Object, + required: true, + }, + }, + }; +</script> + +<template> + <fieldset class="checkbox"> + <label for="issue-confidential"> + <input + type="checkbox" + value="1" + id="issue-confidential" + v-model="formState.confidential" /> + This issue is confidential and should only be visible to team members with at least Reporter access. + </label> + </fieldset> +</template> diff --git a/app/assets/javascripts/issue_show/components/form.vue b/app/assets/javascripts/issue_show/components/form.vue index cba3c0830a7..4288c5f8d90 100644 --- a/app/assets/javascripts/issue_show/components/form.vue +++ b/app/assets/javascripts/issue_show/components/form.vue @@ -2,6 +2,7 @@ import titleField from './fields/title.vue'; import descriptionField from './fields/description.vue'; import editActions from './edit_actions.vue'; + import confidentialCheckbox from './fields/confidential_checkbox.vue'; export default { props: { @@ -26,6 +27,7 @@ titleField, descriptionField, editActions, + confidentialCheckbox, }, }; </script> @@ -34,6 +36,8 @@ <form> <title-field :form-state="formState" /> + <confidential-checkbox + :form-state="formState" /> <description-field :form-state="formState" :markdown-preview-url="markdownPreviewUrl" |