ldc-com-app-bo/resources/js/components/EditUserComponent.vue
Vincent BRIDIER f01e1501b4 init
2021-01-15 14:47:59 +01:00

97 lines
3.7 KiB
Vue

<template>
<form :action="'/users/' + userDatas.id +'/update'" method="POST" @submit="checkForm">
<input type="hidden" name="_token" :value="this.csrf">
<div class="form-group">
<div class="row">
<div class="col-md-6">
<input type="text" name="surname" placeholder="Nom" class="form-control" v-model="userDatas.surname" required>
</div>
<div class="col-md-6">
<input type="text" name="firstname" placeholder="Prénom" class="form-control" v-model="userDatas.firstname" required>
</div>
</div>
</div>
<div class="form-group">
<input type="email" name="email" placeholder="Email" class="form-control" v-model="userDatas.email" required>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-6">
<input type="password" name="new_password" placeholder="Nouveau mot de passe" class="form-control">
</div>
<div class="col-md-6">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="UserActivated" id="UserActivated" :checked="userDatas.activated">
<label class="form-check-label" for="UserActivated">Activé ?</label>
</div>
</div>
</div>
</div>
<div class="form-group">
<label>Rôle :</label>
<select class="form-control" v-model="userDatas.role">
<option value="USER">Commercial</option>
<option value="TOTAL">Commercial sans restrictions</option>
</select>
</div>
<div class="form-group" v-if="userDatas.role === 'USER'">
<v-select v-model="selectedFolders" :options="directories" label="name" multiple>
<template v-slot:option="option">
<span v-for="parent in option.parents">{{JSON.parse(parent.name).fr}} / </span>
{{JSON.parse(option.name).fr}}
</template>
</v-select>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-12 d-flex justify-content-between">
<a href="/users" class="btn btn-secondary">Retour</a>
<input type="submit" value="Enregistrer" class="btn btn-success">
<input type="hidden" name="role" :value="role">
<input type="hidden" name="authorized_folders" :value="authorizedFolders">
</div>
</div>
</div>
</form>
</template>
<script>
export default {
props: [
'user',
'csrf',
'folders'
],
mounted() {
console.log('EditDocument Component mounted.');
let parseDirectories = JSON.parse(this.folders);
this.directories = parseDirectories;
this.userDatas = JSON.parse(this.user);
this.selectedFolders = JSON.parse(this.userDatas.authorizedFolders);
},
data() {
return {
userDatas: [],
directories: [],
selectedFolders: [],
authorizedFolders: '',
role: 'USER',
}
},
methods: {
checkForm: function (e) {
this.authorizedFolders = JSON.stringify(this.selectedFolders);
this.role = this.userDatas.role;
return true;
e.preventDefault();
}
}
}
</script>
<style lang="scss">
</style>