Team namespace/list managing now uses models/services
All checks were successful
the build was successful

This commit is contained in:
konrad 2019-02-24 19:01:40 +01:00
parent 0077b5d745
commit 9f60fe64b5
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
3 changed files with 21 additions and 35 deletions

View File

@ -10,7 +10,7 @@
<form @submit.prevent="addTeam()" class="add-team-form" v-if="userIsAdmin">
<div class="field is-grouped">
<p class="control has-icons-left is-expanded" v-bind:class="{ 'is-loading': loading}">
<input class="input" v-bind:class="{ 'disabled': loading}" v-model.number="newTeam.team_id" type="text" placeholder="Add a new team...">
<input class="input" v-bind:class="{ 'disabled': loading}" v-model.number="teamStuffModel.teamID" type="text" placeholder="Add a new team...">
<span class="icon is-small is-left">
<icon icon="users"/>
</span>
@ -86,7 +86,6 @@
</template>
<script>
import {HTTP} from '../../http-common'
import auth from '../../auth'
import message from '../../message'
import TeamNamespaceService from '../../services/teamNamespace'
@ -110,7 +109,7 @@
currentUser: auth.user.infos,
typeString: '',
listTeams: [],
newTeam: {team_id: 0},
newTeam: {teamID: 0},
showTeamDeleteModal: false,
teamToDelete: 0,
}
@ -133,71 +132,60 @@
methods: {
loadTeams() {
this.teamService.getAll(this.teamStuffModel)
.then(response => {
this.$set(this, 'listTeams', response.data)
.then(r => {
this.$set(this, 'listTeams', r)
})
.catch(e => {
message.error(e, this)
})
},
deleteTeam() {
const cancel = message.setLoading(this)
HTTP.delete(this.typeString + `s/` + this.id + `/teams/` + this.teamToDelete, {headers: {'Authorization': 'Bearer ' + localStorage.getItem('token')}})
this.teamService.delete(this.teamStuffModel)
.then(() => {
this.showTeamDeleteModal = false;
this.handleSuccess({message: 'The team was successfully deleted from the ' + this.typeString + '.'})
message.success({message: 'The team was successfully deleted from the ' + this.typeString + '.'}, this)
// FIXME: this should remove the team from the list instead of loading it again
this.loadTeams()
cancel()
})
.catch(e => {
cancel()
this.handleError(e)
message.error(e, this)
})
},
addTeam(admin) {
const cancel = message.setLoading(this)
if(admin === null) {
admin = false
}
this.newTeam.right = 0
this.teamStuffModel.right = 0
if (admin) {
this.newTeam.right = 2
this.teamStuffModel.right = 2
}
HTTP.put(this.typeString + `s/` + this.id + `/teams`, this.newTeam, {headers: {'Authorization': 'Bearer ' + localStorage.getItem('token')}})
this.teamService.create(this.teamStuffModel)
.then(() => {
// FIXME: this should add the team to the list instead of loading it again
this.loadTeams()
this.handleSuccess({message: 'The team was successfully added.'})
cancel()
message.success({message: 'The team was successfully added.'}, this)
})
.catch(e => {
cancel()
this.handleError(e)
message.error(e, this)
})
},
toggleTeamType(teamid, current) {
const cancel = message.setLoading(this)
let right = 0
this.teamStuffModel.teamID = teamid
this.teamStuffModel.right = 0
if (!current) {
right = 2
this.teamStuffModel.right = 2
}
HTTP.post(this.typeString + `s/` + this.id + `/teams/` + teamid, {right: right}, {headers: {'Authorization': 'Bearer ' + localStorage.getItem('token')}})
this.teamService.update(this.teamStuffModel)
.then(() => {
// FIXME: this should update the team in the list instead of loading it again
this.loadTeams()
this.handleSuccess({message: 'The team right was successfully updated.'})
cancel()
message.success({message: 'The team right was successfully updated.'}, this)
})
.catch(e => {
cancel()
this.handleError(e)
message.error(e, this)
})
},
handleError(e) {
message.error(e, this)
},
handleSuccess(e) {
message.success(e, this)
}
},
}

View File

@ -7,7 +7,6 @@ export default class TeamListModel extends AbstractModel {
defaults() {
return {
id: 0,
listID: 0,
teamID: 0,
right: 0,

View File

@ -7,7 +7,6 @@ export default class TeamNamespaceModel extends AbstractModel {
defaults() {
return {
id: 0,
namespaceID: 0,
teamID: 0,
right: 0,