1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <template lang="pug">
- transition(:duration="400")
- .modal(v-show='isShown', v-cloak)
- transition(name='modal-background')
- .modal-background(v-show='isShown')
- .modal-container
- transition(name='modal-content')
- .modal-content(v-show='isShown')
- header.is-red
- span {{ $t('modal.deleteusertitle') }}
- p.modal-notify(v-bind:class='{ "is-active": isLoading }'): i
- section
- span {{ $t('modal.deleteuserwarning') }}
- footer
- a.button.is-grey.is-outlined(@click='cancel') {{ $t('modal.abort') }}
- a.button.is-red(@click='deleteUser') {{ $t('modal.delete') }}
- </template>
- <script>
- export default {
- name: 'modal-delete-user',
- props: ['currentUser'],
- data() {
- return {
- isLoading: false
- }
- },
- computed: {
- isShown() {
- return this.$store.state.modalDeleteUser.shown
- }
- },
- methods: {
- cancel: function () {
- this.isLoading = false
- this.$store.dispatch('modalDeleteUser/close')
- },
- deleteUser: function () {
- let self = this
- this.isLoading = true
- this.$http.delete('/admin/users/' + this.currentUser).then(resp => {
- return resp.json()
- }).then(resp => {
- if (resp.ok) {
- window.location.assign('/admin/users')
- } else {
- self.isLoading = false
- self.$store.dispatch('alert', {
- style: 'red',
- icon: 'ui-2_square-remove-09',
- msg: resp.msg
- })
- }
- }).catch(err => {
- self.isLoading = false
- self.$store.dispatch('alert', {
- style: 'red',
- icon: 'ui-2_square-remove-09',
- msg: 'Error: ' + err.body.msg
- })
- })
- }
- }
- }
- </script>
|