Skip to content

Commit

Permalink
Change the way we pass the control data between vue components
Browse files Browse the repository at this point in the history
When passing control data between vue component, we now use an object
instead of the id.
  • Loading branch information
Sylvain committed Apr 19, 2019
1 parent c9950d6 commit b127082
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 15 deletions.
6 changes: 6 additions & 0 deletions control/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ class Meta:
def __str__(self):
return self.title

def data(self):
return {
'id': self.id,
'title': self.title,
}


class Questionnaire(OrderedModel, WithNumberingMixin):
title = models.CharField("titre", max_length=255)
Expand Down
6 changes: 3 additions & 3 deletions static/src/users/UserCreate.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>

<div class="modal fade modal-add-user" :id="'modalAddUser' + controlId" tabindex="-1" role="dialog" :aria-labelledby="'modalAddUser' + controlId" aria-hidden="true">
<div class="modal fade modal-add-user" :id="'modalAddUser' + control.id" tabindex="-1" role="dialog" :aria-labelledby="'modalAddUser' + control.id" aria-hidden="true">
<div class="modal-dialog" role="document">
<form @submit.prevent="addUser">
<div class="modal-content">
Expand Down Expand Up @@ -74,7 +74,7 @@
export default Vue.extend({
props: {
controlId: Number
control: Object
},
data: () {
return {
Expand All @@ -96,7 +96,7 @@
$('.modal-add-user').modal('hide');
},
addUser() {
this.formData.controls.push(this.controlId)
this.formData.controls.push(this.control.id)
this.axios.post('/api/user/', this.formData)
.then(response => {
this.postResult = response.data
Expand Down
4 changes: 2 additions & 2 deletions static/src/users/UserDeactivate.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
export default Vue.extend({
props: {
user: Object,
controlId: Number
control: Object
},
methods: {
modalId() {
return 'modalDeactivateUser' + this.controlId + '-' + this.user.id
return 'modalDeactivateUser' + this.control.id + '-' + this.user.id
}
}
})
Expand Down
6 changes: 3 additions & 3 deletions static/src/users/UserList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
<small class="d-block item-except text-sm text-muted h-1x"><a :href="'mailto:' + user.email">{{ user.email }}</a></small>
</div>
<div class="col-auto mr-4">
<button class="fe fe-user-x btn btn-outline-primary" data-toggle="modal" :data-target="'#modalDeactivateUser' + controlId + '-' + user.id"> Désactiver</button>
<button class="fe fe-user-x btn btn-outline-primary" data-toggle="modal" :data-target="'#modalDeactivateUser' + control.id + '-' + user.id"> Désactiver</button>
</div>
</div>
<user-deactivate :user="user" :controlId="controlId"></user-deactivate>
<user-deactivate :user="user" :control="control"></user-deactivate>
</li>
</ul>
</div>
Expand All @@ -35,7 +35,7 @@
props: {
users: Array,
profileType: String,
controlId: Number,
control: Object,
},
components: {
UserDeactivate,
Expand Down
12 changes: 6 additions & 6 deletions static/src/users/Users.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@
<div class="card-body">

<div class="card" v-if="requestUserProfileType==='inspector'">
<button class="fe fe-plus btn btn-primary" data-toggle="modal" :data-target="'#modalAddUser' + controlId"> Ajouter une personne</button>
<button class="fe fe-plus btn btn-primary" data-toggle="modal" :data-target="'#modalAddUser' + control.id"> Ajouter une personne</button>
</div>

<user-list :users="inspectorUsers()" profile-type="inspector" :control-id="controlId"></user-list>
<user-list :users="inspectorUsers()" profile-type="inspector" :control="control"></user-list>

<user-list :users="auditedUsers()" profile-type="audited" :control-id="controlId"></user-list>
<user-list :users="auditedUsers()" profile-type="audited" :control="control"></user-list>

<div data-toggle="card-collapse" class="text-center bg-blue cursor-pointer text-white" style="cursor: pointer;"><i class="fe fe-chevron-up"></i></div>

<user-create :control-id="controlId"></user-create>
<user-create :control="control"></user-create>

</div>
</div>
Expand All @@ -34,7 +34,7 @@
export default Vue.extend({
props: {
controlId: Number,
control: Object,
requestUserProfileType: String
},
data() {
Expand All @@ -46,7 +46,7 @@
getUsers() {
Vue.axios.get('/api/user/', {
params: {
controls: this.controlId
controls: this.control.id
}
}).then((response) => {
this.users = response.data
Expand Down
2 changes: 1 addition & 1 deletion templates/ecc/questionnaire_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ <h5 class="pb-2">{{ questionnaire.title }}</h5>

<tr>
<td colspan="2">
<users-for-control :control-id={{ control.id }} request-user-profile-type={{ user.profile.profile_type }} :key={{ control.id }}></users-for-control>
<users-for-control :control="{{ control.data }}" request-user-profile-type={{ user.profile.profile_type }} :key={{ control.id }}></users-for-control>
</td>
</tr>

Expand Down

0 comments on commit b127082

Please sign in to comment.