Browse Source

add IEL availability alert bar

Olivier Massot 2 years ago
parent
commit
ccedd04742

+ 41 - 0
components/Layout/AlertBar/OnlineRegistration.vue

@@ -0,0 +1,41 @@
+<!--
+Barre d'alerte sur l'ouverture ou non de l'inscription en ligne
+
+-->
+
+<template>
+  <UiSystemBar
+      v-if="show"
+      :text="$t(message)"
+      icon="fas fa-id-card"
+      class="theme-secondary-alt"
+  />
+</template>
+
+<script setup lang="ts">
+
+import {useEntityFetch} from "~/composables/data/useEntityFetch";
+import {useAccessProfileStore} from "~/stores/accessProfile";
+import RegistrationAvailability from "~/models/OnlineRegistration/RegistrationAvailability";
+import {ComputedRef} from "@vue/reactivity";
+
+const { fetch } = useEntityFetch()
+
+const accessProfile = useAccessProfileStore()
+
+const { data: registrationAvailability, pending } = fetch(RegistrationAvailability, accessProfile.id ?? 0)
+
+const show: ComputedRef<boolean> = computed(() => {
+  return !pending && (registrationAvailability.value as RegistrationAvailability).available
+})
+
+const message: ComputedRef<string> = computed(() => {
+  return (registrationAvailability.value as RegistrationAvailability).message
+})
+
+
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 2 - 4
components/Layout/AlertBar/RegistrationStatus.vue

@@ -1,5 +1,5 @@
 <!--
-Barre d'alerte quand au statut de l'inscription en ligne de l'utilisateur
+Barre d'alerte quand au statut (l'avancement) de l'inscription en ligne de l'utilisateur
 
 -->
 
@@ -8,10 +8,8 @@ Barre d'alerte quand au statut de l'inscription en ligne de l'utilisateur
       v-if="!pending && message"
       :text="$t(message)"
       icon="fas fa-id-card"
-      class="theme-secondary-alt"
+      class="theme-secondary"
   />
-
-<!--  #2B3844  -->
 </template>
 
 <script setup lang="ts">

+ 18 - 0
models/OnlineRegistration/RegistrationAvailability.ts

@@ -0,0 +1,18 @@
+import ApiResource from "~/models/ApiResource";
+import {Bool, Str, Uid} from "pinia-orm/dist/decorators";
+
+/**
+ * Disponibilité (ouverture) de l'IEL
+ */
+export default class RegistrationAvailability extends ApiResource {
+    static entity = 'online_registration/availability'
+
+    @Uid()
+    declare id: number | string | null
+
+    @Bool(false)
+    declare available: boolean
+
+    @Str(null)
+    declare message: string
+}

+ 1 - 1
models/OnlineRegistration/RegistrationStatus.ts

@@ -8,7 +8,7 @@ import ApiResource from "~/models/ApiResource";
  * @see https://gitlab.2iopenservice.com/opentalent/ap2i/-/blob/develop/src/Entity/Core/File.php
  */
 export default class RegistrationStatus extends ApiResource {
-  static entity = 'online_registration/registration_status'
+  static entity = 'online_registration/status'
 
   @Uid()
   declare id: number | string | null