EditProjectRoles component
This commit is contained in:
parent
943ddcb5f2
commit
0a3c43576f
58
js/components/forms/edit_environment_role.js
Normal file
58
js/components/forms/edit_environment_role.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
import FormMixin from '../../mixins/form'
|
||||||
|
import textinput from '../text_input'
|
||||||
|
import Selector from '../selector'
|
||||||
|
import Modal from '../../mixins/modal'
|
||||||
|
import toggler from '../toggler'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'edit-environment-role',
|
||||||
|
|
||||||
|
mixins: [FormMixin, Modal],
|
||||||
|
|
||||||
|
components: {
|
||||||
|
toggler,
|
||||||
|
Modal,
|
||||||
|
Selector,
|
||||||
|
textinput
|
||||||
|
},
|
||||||
|
|
||||||
|
props: {
|
||||||
|
choices: Array,
|
||||||
|
initialData: String,
|
||||||
|
revoke: Boolean,
|
||||||
|
},
|
||||||
|
|
||||||
|
data: function () {
|
||||||
|
return {
|
||||||
|
new_role: this.initialData,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
change: function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
this.new_role = this.revoke ? "" : e.target.value
|
||||||
|
},
|
||||||
|
cancel: function () {
|
||||||
|
this.new_role = this.initialData
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
displayName: function () {
|
||||||
|
for (var arr in this.choices) {
|
||||||
|
if (this.choices[arr][0] == this.new_role) {
|
||||||
|
return this.choices[arr][1].name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this.new_role ? this.new_role : "no access"
|
||||||
|
},
|
||||||
|
label_class: function () {
|
||||||
|
return this.displayName === "no access" ?
|
||||||
|
"label" : "label label--success"
|
||||||
|
},
|
||||||
|
},
|
||||||
|
newRole: function () {
|
||||||
|
return this.revoke ? "" : this.new_role
|
||||||
|
}
|
||||||
|
}
|
23
js/components/forms/edit_project_roles.js
Normal file
23
js/components/forms/edit_project_roles.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import FormMixin from '../../mixins/form'
|
||||||
|
import Modal from '../../mixins/modal'
|
||||||
|
import toggler from '../toggler'
|
||||||
|
import EditEnvironmentRole from './edit_environment_role'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'edit-project-roles',
|
||||||
|
|
||||||
|
mixins: [FormMixin, Modal],
|
||||||
|
|
||||||
|
components: {
|
||||||
|
toggler,
|
||||||
|
EditEnvironmentRole,
|
||||||
|
},
|
||||||
|
|
||||||
|
props: {
|
||||||
|
name: String
|
||||||
|
},
|
||||||
|
|
||||||
|
data: function() {
|
||||||
|
return { revoke: false }
|
||||||
|
}
|
||||||
|
}
|
@ -14,6 +14,7 @@ import financial from './components/forms/financial'
|
|||||||
import toggler from './components/toggler'
|
import toggler from './components/toggler'
|
||||||
import NewProject from './components/forms/new_project'
|
import NewProject from './components/forms/new_project'
|
||||||
import EditEnvironmentRole from './components/forms/edit_environment_role'
|
import EditEnvironmentRole from './components/forms/edit_environment_role'
|
||||||
|
import EditProjectRoles from './components/forms/edit_project_roles'
|
||||||
import Modal from './mixins/modal'
|
import Modal from './mixins/modal'
|
||||||
import selector from './components/selector'
|
import selector from './components/selector'
|
||||||
import BudgetChart from './components/charts/budget_chart'
|
import BudgetChart from './components/charts/budget_chart'
|
||||||
@ -42,6 +43,7 @@ const app = new Vue({
|
|||||||
CcpoApproval,
|
CcpoApproval,
|
||||||
LocalDatetime,
|
LocalDatetime,
|
||||||
EditEnvironmentRole,
|
EditEnvironmentRole,
|
||||||
|
EditProjectRoles,
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted: function() {
|
mounted: function() {
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
|
|
||||||
{% for project in projects %}
|
{% for project in projects %}
|
||||||
{% set revoke_modal_name = project.name + 'RevokeModal' %}
|
{% set revoke_modal_name = project.name + 'RevokeModal' %}
|
||||||
|
<edit-project-roles inline-template v-bind:name="'{{ project.name }}'">
|
||||||
<div is='toggler' default-visible class='block-list project-list-item'>
|
<div is='toggler' default-visible class='block-list project-list-item'>
|
||||||
<template slot-scope='props'>
|
<template slot-scope='props'>
|
||||||
<header class='block-list__header'>
|
<header class='block-list__header'>
|
||||||
@ -68,7 +69,7 @@
|
|||||||
Confirming will revoke access for {{ member.user.full_name }} to any environments associated with {{ project.name }}.
|
Confirming will revoke access for {{ member.user.full_name }} to any environments associated with {{ project.name }}.
|
||||||
</p>
|
</p>
|
||||||
<div class='action-group'>
|
<div class='action-group'>
|
||||||
<a v-on:click="closeModal('{{ revoke_modal_name }}')" class='action-group__action usa-button'>Confirm</a>
|
<a v-on:click="revoke = true; closeModal('{{ revoke_modal_name }}')" class='action-group__action usa-button'>Confirm</a>
|
||||||
<a class='action-group__action icon-link icon-link--danger' v-on:click="closeModal('{{ revoke_modal_name }}'); cancel();">Cancel</a>
|
<a class='action-group__action icon-link icon-link--danger' v-on:click="closeModal('{{ revoke_modal_name }}'); cancel();">Cancel</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -80,7 +81,7 @@
|
|||||||
{% set role = EnvironmentRoles.get(member.user_id, env.id).role %}
|
{% set role = EnvironmentRoles.get(member.user_id, env.id).role %}
|
||||||
|
|
||||||
<li class='block-list__item'>
|
<li class='block-list__item'>
|
||||||
<edit-environment-role inline-template initial-data='{{ role }}' v-bind:choices='{{ choices | tojson }}'>
|
<edit-environment-role inline-template initial-data='{{ role }}' v-bind:choices='{{ choices | tojson }}' v-bind:revoke='revoke'>
|
||||||
<div class='project-list-item__environment'>
|
<div class='project-list-item__environment'>
|
||||||
<span class='project-list-item__environment__link'>
|
<span class='project-list-item__environment__link'>
|
||||||
{{ env.name }}
|
{{ env.name }}
|
||||||
@ -147,6 +148,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
</edit-project-roles>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<div class='action-group'>
|
<div class='action-group'>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user