浏览代码

various fixes

Olivier Massot 2 年之前
父节点
当前提交
c7c25acaff

+ 12 - 0
README.md

@@ -105,6 +105,18 @@ Sur les environnements où app est servie par supervisor, on peut consulter les
 > le `-6000` étant le nombre de bytes à afficher
 > Voir plus : http://supervisord.org/running.html#supervisorctl-command-line-options
 
+### Faire fonctionner le HMR
+
+Si le HMR (Hot Module Reload) ne fontionne pas et qu'un message d'erreur est logué en console disant que l'adresse
+n'est pas accessible, alors suivre les étapes suivantes :
+
+- Ouvrir l'inspecteur de son navigateur, onglet Réseau
+- Rafraichir la page
+- Trouver la requête en erreur. Elle devrait être de la forme `https://local.app.opentalent.fr:24678/_nuxt/`
+- Clic droit dessus, puis "ouvrir dans un nouvel onglet"
+- Ajouter une exception de sécurité dans le navigateur
+
+
 ## Plus d'infos
 
 ## Structure du projet

+ 1 - 0
components/Layout/Parameters/EducationTimings.vue

@@ -51,6 +51,7 @@
       </v-col>
     </v-container>
   </LayoutContainer>
+
 </template>
 
 <script setup lang="ts">

+ 3 - 2
components/Layout/SubHeader/Breadcrumbs.vue

@@ -29,9 +29,10 @@ const items: ComputedRef<Array<AnyJson>> = computed(() => {
   pathPart.forEach((part) => {
     path = UrlUtils.join(path, part)
 
-    const match = router.resolve(path)
+    let match
 
-    if (match.name !== null) {
+    match = router.resolve(path)
+    if (match.name) {
       crumbs.push({
         title: !parseInt(part, 10) ? i18n.t(part + '_breadcrumbs') : i18n.t('item'),
         exact: true,

+ 1 - 1
components/Ui/Button/Delete.vue

@@ -40,7 +40,7 @@ import ApiModel from "~/models/ApiModel";
 
 const props = defineProps({
     model: {
-      type: Object,
+      type: Function as any as () => typeof ApiModel,
       required: true
     },
     entity: {

+ 1 - 2
components/Ui/Input/Number.vue

@@ -22,8 +22,7 @@ type Density = null | 'default' | 'comfortable' | 'compact';
 
 const props = defineProps({
   modelValue: {
-    type: Number,
-    required: true
+    type: Number
   },
   /**
    * Nom de la propriété d'une entité lorsque l'input concerne cette propriété

+ 2 - 1
lang/fr.json

@@ -648,5 +648,6 @@
   "Indian/Reunion": "Indian/Reunion",
   "Europe/Zurich": "Europe/Zurich",
   "Europe/Paris": "Europe/Paris",
-  "licenceQrCode": "QrCode pour la licence"
+  "licenceQrCode": "QrCode pour la licence",
+  "education_timings_breadcrumbs": "Durée des cours"
 }

+ 2 - 2
pages/parameters/education_timings/[id].vue

@@ -10,9 +10,9 @@
         :submitActions="submitActions"
       >
         <UiInputNumber
-          field="educationtiming"
+          field="educationTiming"
           v-model="educationTiming.timing"
-          :rules="rules"
+          :rules="rules()"
         />
       </UiForm>
       <v-btn class="mr-12" @click="quit">

+ 10 - 0
pages/parameters/education_timings/index.vue

@@ -0,0 +1,10 @@
+<template>
+</template>
+
+<script setup lang="ts">
+/** Redirect to /parameters?tab=educationTimings */
+const router = useRouter()
+router.push(
+    { path: `/parameters`, query: { tab: 'educationTimings' } }
+)
+</script>

+ 15 - 10
pages/parameters/education_timings/new.vue

@@ -1,12 +1,11 @@
 <template>
   <LayoutContainer>
-    <UiLoadingPanel v-if="pending" />
-    <div v-else>
+    <div>
       <h2>{{ $t("new_education_timing")}}</h2>
       <UiForm
         ref="form"
         :model="EducationTiming"
-        :entity="education_timings"
+        :entity="educationTiming"
         :submitActions="submitActions"
       >
         <v-container :fluid="true" class="container">
@@ -16,7 +15,7 @@
           <v-row>
             <v-col cols="12" sm="6">
               <UiInputNumber
-                v-model="education_timings.timing"
+                v-model="educationTiming.timing"
                 field="new_education_timings"
                 :rules="rules()"
               />
@@ -24,12 +23,15 @@
           </v-row>
         </v-container>
       </UiForm>
+      <v-btn class="mr-12" @click="quit">
+        {{ $t('back') }}
+      </v-btn>
     </div>
   </LayoutContainer>
 </template>
 
 <script setup lang="ts">
-import { ref, computed } from 'vue'
+import { computed } from 'vue'
 import { AnyJson } from '~/types/data'
 import { SUBMIT_TYPE } from '~/types/enum/enums'
 import EducationTiming from '~/models/Education/EducationTiming'
@@ -37,12 +39,11 @@ import { useI18n } from 'vue-i18n'
 import { useEntityManager } from '~/composables/data/useEntityManager'
 
 const i18n = useI18n()
-
+const router = useRouter()
 const { em } = useEntityManager()
 
-const education_timings = ref(
-  em.newInstance(EducationTiming) as EducationTiming
-)
+//@ts-ignore
+let educationTiming: EducationTiming = reactive(em.newInstance(EducationTiming))
 
 const goBackRoute = { path: `/parameters`, query: { tab: 'educationTimings' } }
 
@@ -53,7 +54,11 @@ const submitActions = computed(() => {
 })
 
 const rules = () => [
-  (timing: number ) =>
+  (timing: number | null ) =>
     (timing !== null && timing > 0) || i18n.t('please_enter_a_value'),
 ]
+
+const quit = () => {
+  router.push(goBackRoute)
+}
 </script>

+ 10 - 0
pages/parameters/subdomains/index.vue

@@ -0,0 +1,10 @@
+<template>
+</template>
+
+<script setup lang="ts">
+/** Redirect to /parameters?tab=educationTimings */
+const router = useRouter()
+router.push(
+    { path: `/parameters`, query: { tab: 'website' } }
+)
+</script>