sms.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <div>
  3. <UiForm
  4. v-if="parameters"
  5. :model="Parameters"
  6. :entity="parameters"
  7. action-position="bottom"
  8. >
  9. <v-row>
  10. <v-col cols="12">
  11. <UiInputText
  12. v-model="parameters.smsSenderName"
  13. field="smsSenderName"
  14. variant="underlined"
  15. />
  16. </v-col>
  17. <v-col cols="12">
  18. <UiInputText
  19. v-model="parameters.usernameSMS"
  20. field="usernameSMS"
  21. label="Nom d'utilisateur SMS"
  22. variant="underlined"
  23. />
  24. </v-col>
  25. <v-col cols="12">
  26. <UiInputText
  27. v-model="parameters.passwordSMS"
  28. field="passwordSMS"
  29. class="password"
  30. variant="underlined"
  31. />
  32. </v-col>
  33. </v-row>
  34. </UiForm>
  35. </div>
  36. </template>
  37. <script setup lang="ts">
  38. import type { AsyncData } from '#app'
  39. import Parameters from '~/models/Organization/Parameters'
  40. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  41. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  42. const { fetch } = useEntityFetch()
  43. const organizationProfile = useOrganizationProfileStore()
  44. if (organizationProfile.parametersId === null) {
  45. throw new Error('Missing organization parameters id')
  46. }
  47. const { data: parameters } = fetch(
  48. Parameters,
  49. organizationProfile.parametersId,
  50. ) as AsyncData<Parameters | null, Error | null>
  51. </script>
  52. <style scoped lang="scss">
  53. /**
  54. Simule une apparence de saisie de type mot de passe
  55. Sans ça, les navigateurs proposent la saisie semi auto et la mémorisation du mot de passe
  56. */
  57. @font-face {
  58. font-family: 'password';
  59. font-style: normal;
  60. font-weight: 400;
  61. font-display: block;
  62. src: url(https://jsbin-user-assets.s3.amazonaws.com/rafaelcastrocouto/password.ttf);
  63. }
  64. :deep(.password input) {
  65. font-family: 'password';
  66. }
  67. </style>