sms.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. definePageMeta({
  43. name: 'parameters_sms_page',
  44. })
  45. const { fetch } = useEntityFetch()
  46. const organizationProfile = useOrganizationProfileStore()
  47. if (organizationProfile.parametersId === null) {
  48. throw new Error('Missing organization parameters id')
  49. }
  50. const { data: parameters } = fetch(
  51. Parameters,
  52. organizationProfile.parametersId,
  53. ) as AsyncData<Parameters | null, Error | null>
  54. </script>
  55. <style scoped lang="scss">
  56. /**
  57. Simule une apparence de saisie de type mot de passe
  58. Sans ça, les navigateurs proposent la saisie semi auto et la mémorisation du mot de passe
  59. */
  60. @font-face {
  61. font-family: 'password';
  62. font-style: normal;
  63. font-weight: 400;
  64. font-display: block;
  65. src: url(https://jsbin-user-assets.s3.amazonaws.com/rafaelcastrocouto/password.ttf);
  66. }
  67. :deep(.password input) {
  68. font-family: 'password';
  69. }
  70. </style>