Skip to content

Commit d29e015

Browse files
committed
bouton d invit
1 parent 954d9c6 commit d29e015

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

src/components/identityForm/actions.vue

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
div
33
q-btn(color="positive" icon='mdi-content-save-plus' @click="create" v-show="isNew" v-if="crud.create")
44
q-tooltip.text-body2 Créer
5+
q-btn.q-mx-xs(@click="sendInit" color="primary" icon="mdi-mail" :disabled="props.identity.state != IdentityState.SYNCED")
6+
q-tooltip.text-body2(slot="trigger") Envoyer le mail d'initialisation
57
q-btn.q-mx-xs(@click="submit" color="positive" icon="mdi-check" v-show="!isNew" v-if="crud.update")
68
q-tooltip.text-body2(slot="trigger") Enregistrer les modifications
79
q-btn.q-mx-xs(v-if="props.identity?._id" @click="sync" color="orange-8" :disabled="props.identity.state != IdentityState.TO_VALIDATE" icon="mdi-sync")
@@ -21,9 +23,9 @@ import { useFetch } from 'nuxt/app'
2123
import { useIdentityStates } from '~/composables'
2224
import { useErrorHandling } from '#imports'
2325
26+
2427
type IdentityResponse = operations['IdentitiesController_search']['responses']['200']['content']['application/json']
2528
type Identity = components['schemas']['IdentitiesDto']
26-
2729
const props = defineProps({
2830
identity: {
2931
type: Object as PropType<Identity>,
@@ -69,6 +71,28 @@ async function sync() {
6971
emits('sync')
7072
}
7173
74+
async function sendInit(){
75+
//envoi le mail
76+
77+
const { data: result, pending, error, refresh } = await useHttp(`/management/passwd/init`, {
78+
method: 'POST',
79+
body: { uid: props.identity.inetOrgPerson.uid },
80+
});
81+
if (error.value) {
82+
handleError({
83+
error: error.value,
84+
message: 'Erreur lors de l\'envoi du mail'
85+
})
86+
} else {
87+
$q.notify({
88+
message: 'Le mail a été envoyé',
89+
color: 'positive',
90+
position: 'top-right',
91+
icon: 'mdi-check-circle-outline',
92+
})
93+
}
94+
}
95+
7296
function logs() {
7397
router.push(`/jobs?filters[:concernedTo.id]=${(props.identity as any)._id}`)
7498
}

src/components/table/top-left.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ q-btn-group(rounded flat)
88
//- q-tooltip.text-body2(transition-show="scale" transition-hide="scale") Valider les identités sélectionnées
99
q-btn(flat icon="mdi-sync" color="orange-8" rounded @click="openUpdateModale" size="md" :disable="selected.length === 0")
1010
q-tooltip.text-body2(transition-show="scale" transition-hide="scale") Mettre à synchroniser les identités sélectionnées
11+
q-btn(flat icon="mdi-mail" color="orange-8" rounded @click="openUpdateModale" size="md" :disable="selected.length === 0")
12+
q-tooltip.text-body2(transition-show="scale" transition-hide="scale") Envoyer le mail d'initialisation
1113
q-btn(flat icon="mdi-close" color="negative" rounded @click="clearSelection" size="md" :disable="selected.length === 0")
1214
q-tooltip.text-body2(transition-show="scale" transition-hide="scale") Nettoyer la selection
1315
</template>

0 commit comments

Comments
 (0)