فهرست منبع

parameters pages

Vincent GUFFON 3 سال پیش
والد
کامیت
9ac8b7638c

+ 80 - 0
components/Form/Parameters/Cycle.vue

@@ -0,0 +1,80 @@
+<!-- Component d'un formulaire d'une adresse postale d'organization -->
+<template>
+  <main>
+    <LayoutContainer>
+      <v-card class="mb-5 mt-4">
+        <FormToolbar title="cycle" icon="fa-bars"/>
+
+        <UiForm
+          :id="id"
+          :model="model"
+          :query="query()"
+          :submitActions="submitActions">
+          <template #form.input="{entry, updateRepository}">
+            <v-container fluid class="container">
+              <v-row>
+
+                <v-col cols="12" sm="6">
+                  <UiInputText field="label" label="title" :data="entry['label']" @update="updateRepository" />
+                </v-col>
+
+              </v-row>
+            </v-container>
+
+          </template>
+
+          <template #form.button>
+            <NuxtLink :to="{ path: '/parameters/education'}" class="no-decoration">
+              <v-btn class="mr-4 ot_light_grey ot_grey--text">
+                {{ $t('back') }}
+              </v-btn>
+            </NuxtLink>
+          </template>
+
+        </UiForm>
+      </v-card>
+    </LayoutContainer>
+  </main>
+</template>
+
+<script lang="ts">
+import { defineComponent, computed} from '@nuxtjs/composition-api'
+import { Repository as VuexRepository } from '@vuex-orm/core/dist/src/repository/Repository'
+import { Query, Model } from '@vuex-orm/core'
+import { SUBMIT_TYPE} from '~/types/enums'
+import { repositoryHelper } from '~/services/store/repository'
+import {AnyJson} from "~/types/interfaces";
+import {Cycle} from "~/models/Education/Cycle";
+
+export default defineComponent({
+  props: {
+    id:{
+      type: [Number, String],
+      required: true
+    }
+  },
+  setup () {
+    const repository: VuexRepository<Model> = repositoryHelper.getRepository(Cycle)
+    const query: Query = repository.query()
+
+    const submitActions = computed(() => {
+      let actions:AnyJson = {}
+      actions[SUBMIT_TYPE.SAVE_AND_BACK] = { path: `/parameters/education` }
+      actions[SUBMIT_TYPE.SAVE] = { path: `/parameters/education/cycle/` }
+      return actions
+    })
+
+    /** Computed properties needs to be returned as functions until nuxt3 : https://github.com/nuxt-community/composition-api/issues/207 **/
+    return {
+      model: Cycle,
+      query: () => query,
+      panel: 0,
+      submitActions
+    }
+  },
+  beforeDestroy() {
+    repositoryHelper.cleanRepository(Cycle)
+  }
+})
+
+</script>

+ 80 - 0
components/Form/Parameters/ResidenceArea.vue

@@ -0,0 +1,80 @@
+<!-- Component d'un formulaire d'une adresse postale d'organization -->
+<template>
+  <main>
+    <LayoutContainer>
+      <v-card class="mb-5 mt-4">
+        <FormToolbar title="residenceArea" icon="fa-globe-europe"/>
+
+        <UiForm
+          :id="id"
+          :model="model"
+          :query="query()"
+          :submitActions="submitActions">
+          <template #form.input="{entry, updateRepository}">
+            <v-container fluid class="container">
+              <v-row>
+
+                <v-col cols="12" sm="6">
+                  <UiInputText field="label" label="title" :data="entry['label']" @update="updateRepository" />
+                </v-col>
+
+              </v-row>
+            </v-container>
+
+          </template>
+
+          <template #form.button>
+            <NuxtLink :to="{ path: '/parameters/billing'}" class="no-decoration">
+              <v-btn class="mr-4 ot_light_grey ot_grey--text">
+                {{ $t('back') }}
+              </v-btn>
+            </NuxtLink>
+          </template>
+
+        </UiForm>
+      </v-card>
+    </LayoutContainer>
+  </main>
+</template>
+
+<script lang="ts">
+import { defineComponent, computed} from '@nuxtjs/composition-api'
+import { Repository as VuexRepository } from '@vuex-orm/core/dist/src/repository/Repository'
+import { Query, Model } from '@vuex-orm/core'
+import { SUBMIT_TYPE} from '~/types/enums'
+import { repositoryHelper } from '~/services/store/repository'
+import {AnyJson} from "~/types/interfaces";
+import {ResidenceArea} from "~/models/Billing/ResidenceArea";
+
+export default defineComponent({
+  props: {
+    id:{
+      type: [Number, String],
+      required: true
+    }
+  },
+  setup () {
+    const repository: VuexRepository<Model> = repositoryHelper.getRepository(ResidenceArea)
+    const query: Query = repository.query()
+
+    const submitActions = computed(() => {
+      let actions:AnyJson = {}
+      actions[SUBMIT_TYPE.SAVE_AND_BACK] = { path: `/parameters/billing` }
+      actions[SUBMIT_TYPE.SAVE] = { path: `/parameters/billing/residence_area/` }
+      return actions
+    })
+
+    /** Computed properties needs to be returned as functions until nuxt3 : https://github.com/nuxt-community/composition-api/issues/207 **/
+    return {
+      model: ResidenceArea,
+      query: () => query,
+      panel: 0,
+      submitActions
+    }
+  },
+  beforeDestroy() {
+    repositoryHelper.cleanRepository(ResidenceArea)
+  }
+})
+
+</script>

+ 1 - 1
composables/layout/Menus/parametersMenu.ts

@@ -42,7 +42,7 @@ class ParametersMenu extends BaseMenu implements Menu {
       children.push(this.constructMenu('education_params', 'fa-graduation-cap',`/parameters/education`, false))
     }
     if (this.$ability.can('display', 'parameters_bills_page')) {
-      children.push(this.constructMenu('bills_params', 'fa-euro-sign',`/parameters/bills`, false))
+      children.push(this.constructMenu('bills_params', 'fa-euro-sign',`/parameters/billing`, false))
     }
     if (this.$ability.can('display', 'parameters_secure_page')) {
       children.push(this.constructMenu('secure_params', 'fa-lock',`/parameters/secure`, false))

+ 5 - 0
lang/content/parameters/fr-FR.js

@@ -0,0 +1,5 @@
+export default (context, locale) => {
+  return ({
+    'help_super_admin': 'Le compte super-admin possède tous les droits de gestion sur votre logiciel. On l’utilise surtout pour la gestion de votre site internet et, à la première connexion au logiciel, afin de créer des comptes pour tous membres de votre structure. Enfin, il peut également être utile en cas de dépannage dans certaines situations particulières.',
+  })
+}

+ 3 - 0
lang/field/fr-FR.js

@@ -1,5 +1,8 @@
 export default (context, locale) => {
   return ({
+    superAdmin: 'Compte super-admin',
+    username: 'Login de connexion',
+    residenceArea: 'Zones de résidence',
     desactivateOpentalentSiteWeb: 'Désactiver le site opentalent',
     passwordSMS: 'Mot de passe SMS',
     usernameSMS: 'Nom d\'utilisateur SMS',

+ 3 - 1
lang/fr-FR.js

@@ -7,6 +7,7 @@ import breadcrumbs from '@/lang/breadcrumbs/fr-FR'
 import menuKey from '@/lang/menuKey/fr-FR'
 import help from '@/lang/help/fr-FR'
 import contentSubscription from '@/lang/content/subscription/fr-FR'
+import contentParameters from '@/lang/content/parameters/fr-FR'
 
 export default (context, locale) => {
   return {
@@ -18,6 +19,7 @@ export default (context, locale) => {
     ...breadcrumbs(context, locale),
     ...menuKey(context, locale),
     ...help(context, locale),
-    ...contentSubscription(context, locale)
+    ...contentSubscription(context, locale),
+    ...contentParameters(context, locale),
   }
 }

+ 2 - 0
lang/rulesAndErrors/fr-FR.js

@@ -1,5 +1,7 @@
 export default (context, locale) => {
   return ({
+    forbidden: 'Vous ne posséder pas les droits nécessaires pour effectuer cette opération',
+    wrong_mobyt_credentials: 'Identifiants SMS incorrects',
     smsSenderName_error: 'Seuls les caractères alphanumériques sont permis, sans espaces, sans accent et sans caractères spéciaux',
     value_need_to_be_beetween_0_100: 'La valeur doit être comprise entre 0 et 100',
     invalide_form: 'Formulaire invalide',

+ 19 - 0
models/Access/Access.ts

@@ -0,0 +1,19 @@
+import {Attr, Num, Model, Uid, HasOne} from '@vuex-orm/core'
+import { Historical } from '~/types/interfaces'
+import {Person} from "~/models/Person/Person";
+
+export class Access extends Model {
+  static entity = 'accesses'
+
+  @Uid()
+  id!: number | string | null
+
+  @HasOne(() => Person, 'accessId')
+  person!: Person | null
+
+  @Num(0, { nullable: true })
+  activityYear!: number
+
+  @Attr({})
+  historical!: Historical
+}

+ 14 - 0
models/Access/AdminAccess.ts

@@ -0,0 +1,14 @@
+import {Model, Str, Uid} from "@vuex-orm/core";
+
+export class AdminAccess extends Model {
+  static entity = 'admin'
+
+  @Uid()
+  id!: number
+
+  @Str(null, { nullable: true })
+  username!: string|null
+
+  @Str(null, { nullable: true })
+  email!: string|null
+}

+ 11 - 0
models/Billing/ResidenceArea.ts

@@ -0,0 +1,11 @@
+import {Str, Model, Uid} from '@vuex-orm/core'
+
+export class ResidenceArea extends Model {
+  static entity = 'residence_areas'
+
+  @Uid()
+  id!: number | string | null
+
+  @Str(null, { nullable: true })
+  label!: string|null
+}

+ 14 - 0
models/Education/Cycle.ts

@@ -0,0 +1,14 @@
+import {Str, Model, Uid, Num} from '@vuex-orm/core'
+
+export class Cycle extends Model {
+  static entity = 'cycles'
+
+  @Uid()
+  id!: number | string | null
+
+  @Str(null, { nullable: true })
+  label!: string|null
+
+  @Num(0)
+  order!: number
+}

+ 14 - 0
models/Person/Person.ts

@@ -0,0 +1,14 @@
+import {Model, Uid, Str, Attr} from '@vuex-orm/core'
+
+export class Person extends Model {
+  static entity = 'people'
+
+  @Uid()
+  id!: number | string | null
+
+  @Attr(null)
+  accessId!: number | null
+
+  @Str(null, { nullable: true })
+  username!: string|null
+}

+ 4 - 0
pages/parameters.vue

@@ -19,6 +19,8 @@ import { defineComponent } from '@nuxtjs/composition-api'
 import { repositoryHelper } from '~/services/store/repository'
 import {Parameters} from "~/models/Organization/Parameters";
 import {Organization} from "~/models/Organization/Organization";
+import {Cycle} from "~/models/Education/Cycle";
+import {AdminAccess} from "~/models/Access/AdminAccess";
 
 export default defineComponent({
   name: 'parameters',
@@ -33,6 +35,8 @@ export default defineComponent({
   beforeDestroy() {
     repositoryHelper.cleanRepository(Parameters)
     repositoryHelper.cleanRepository(Organization)
+    repositoryHelper.cleanRepository(Cycle)
+    repositoryHelper.cleanRepository(AdminAccess)
   },
 })
 

+ 64 - 0
pages/parameters/billing/index.vue

@@ -0,0 +1,64 @@
+<template>
+  <LayoutContainer class="mt-4">
+        <v-expansion-panels  focusable multiple :value="[0]">
+          <!-- Description -->
+          <UiExpansionPanel id="residenceArea" icon="fa-globe-europe">
+            <v-container fluid class="container">
+              <v-row>
+                <v-col cols="12" sm="12">
+                  <UiCollection
+                    :query="query()"
+                    :model="model"
+                    loaderType="image"
+                    newLink="/parameters/billing/residence_area/new"
+                  >
+                    <template #list.item="{items}">
+                      <v-container fluid>
+                        <v-row dense>
+                          <v-col
+                            v-for="item in items"
+                            :key="item.id"
+                            cols="4"
+                          >
+                            <UiCard
+                              :id="item.id"
+                              :link="`/parameters/billing/residence_area/${item.id}`"
+                              :model="model"
+                            >
+                              <template #card.text>
+                                {{ item.label }}
+                              </template>
+                            </UiCard>
+                          </v-col>
+                        </v-row>
+                      </v-container>
+                    </template>
+                  </UiCollection>
+                </v-col>
+              </v-row>
+            </v-container>
+          </UiExpansionPanel>
+
+        </v-expansion-panels>
+  </LayoutContainer>
+</template>
+
+<script lang="ts">
+import {computed, ComputedRef, defineComponent} from '@nuxtjs/composition-api'
+import { repositoryHelper } from '~/services/store/repository'
+import {Query} from "@vuex-orm/core";
+import {ResidenceArea} from "~/models/Billing/ResidenceArea";
+
+export default defineComponent({
+  name: 'residence-areas',
+  setup () {
+    const repository = repositoryHelper.getRepository(ResidenceArea)
+    const query: ComputedRef<Query> = computed(() => repository.query())
+
+    return {
+      query: () => query,
+      model: ResidenceArea
+    }
+  }
+})
+</script>

+ 26 - 0
pages/parameters/billing/residence_area/_id.vue

@@ -0,0 +1,26 @@
+<!-- Page de détails d'une zone de résidence -->
+<template>
+  <main>
+    <FormParametersResidenceArea :id="id" v-if="!fetchState.pending"></FormParametersResidenceArea>
+  </main>
+</template>
+
+<script lang="ts">
+import {defineComponent, useContext} from '@nuxtjs/composition-api'
+import {useDataUtils} from "~/composables/data/useDataUtils";
+import {ResidenceArea} from "~/models/Billing/ResidenceArea";
+
+export default defineComponent({
+  name: 'EditFormParametersResidenceArea',
+  setup () {
+    const {$dataProvider, route} = useContext()
+    const {getItemToEdit} = useDataUtils($dataProvider)
+    const id = parseInt(route.value.params.id)
+    const {fetchState} = getItemToEdit(id, ResidenceArea)
+    return {
+      id,
+      fetchState
+    }
+  }
+})
+</script>

+ 35 - 0
pages/parameters/billing/residence_area/new.vue

@@ -0,0 +1,35 @@
+<!-- Page de détails d'une zone de résidence -->
+<template>
+  <main>
+    <v-skeleton-loader
+      v-if="loading"
+      type="text"
+    />
+    <FormParametersResidenceArea :id="item.id" v-else></FormParametersResidenceArea>
+  </main>
+</template>
+
+<script lang="ts">
+import {defineComponent, useContext} from '@nuxtjs/composition-api'
+import {useDataUtils} from "~/composables/data/useDataUtils";
+import {ResidenceArea} from "~/models/Billing/ResidenceArea";
+
+export default defineComponent({
+  name: 'NewFormParametersResidenceArea',
+  setup () {
+    const {$dataProvider, store} = useContext()
+    const {createItem} = useDataUtils($dataProvider)
+    const {create, loading, item} = createItem(store, ResidenceArea)
+
+    if(process.client){
+      const itemToCreate: ResidenceArea = new ResidenceArea()
+      create(itemToCreate)
+    }
+
+    return {
+      loading,
+      item
+    }
+  }
+})
+</script>

+ 0 - 74
pages/parameters/bills.vue

@@ -1,74 +0,0 @@
-<template>
-  <LayoutContainer v-if="!fetchState.pending">
-    <UiForm :id="id" :model="model" :query="query()">
-      <template #form.input="{entry, updateRepository}">
-        <v-expansion-panels  focusable multiple :value="[0,1]">
-          <!-- Description -->
-          <UiExpansionPanel id="description" icon="fa-info">
-            <v-container fluid class="container">
-              <v-row>
-                <v-col cols="12" sm="6">
-                  <UiInputText field="financialDate" :data="entry['financialDate']" @update="updateRepository" />
-                </v-col>
-              </v-row>
-            </v-container>
-          </UiExpansionPanel>
-
-          <UiExpansionPanel id="salary" icon="fa-users">
-            <v-container class="container">
-              <v-row>
-                <v-col cols="12" sm="6">
-                  <UiInputText field="musicalDate" :data="entry['musicalDate']" @update="updateRepository" />
-                </v-col>
-
-                <v-col cols="12" sm="6">
-                  <UiInputText field="startCourseDate" :data="entry['startCourseDate']" @update="updateRepository" />
-                </v-col>
-
-                <v-col cols="12" sm="6">
-                  <UiInputText field="endCourseDate" :data="entry['endCourseDate']" @update="updateRepository" />
-                </v-col>
-
-              </v-row>
-            </v-container>
-          </UiExpansionPanel>
-        </v-expansion-panels>
-      </template>
-    </UiForm>
-  </LayoutContainer>
-</template>
-
-<script lang="ts">
-import {computed, ComputedRef, defineComponent, useContext} from '@nuxtjs/composition-api'
-import { Organization } from '@/models/Organization/Organization'
-import { repositoryHelper } from '~/services/store/repository'
-import {useDataUtils} from "~/composables/data/useDataUtils";
-import {Parameters} from "~/models/Organization/Parameters";
-import {Query} from "@vuex-orm/core";
-
-export default defineComponent({
-  name: 'parameters',
-  setup () {
-    const {store, $dataProvider} = useContext()
-    const {getItemToEdit} = useDataUtils($dataProvider)
-    const id = store.state.profile.organization.parametersId
-    const {fetchState} = getItemToEdit(id, Parameters)
-
-    const repository = repositoryHelper.getRepository(Parameters)
-    const query: ComputedRef<Query> = computed(() => repository.query())
-
-    return {
-      query: () => query,
-      id,
-      fetchState,
-      model: Organization
-    }
-  }
-})
-</script>
-
-<style scoped>
-.v-icon.v-icon {
-  font-size: 14px;
-}
-</style>

+ 0 - 74
pages/parameters/education.vue

@@ -1,74 +0,0 @@
-<template>
-  <LayoutContainer v-if="!fetchState.pending">
-    <UiForm :id="id" :model="model" :query="query()">
-      <template #form.input="{entry, updateRepository}">
-        <v-expansion-panels  focusable multiple :value="[0,1]">
-          <!-- Description -->
-          <UiExpansionPanel id="description" icon="fa-info">
-            <v-container fluid class="container">
-              <v-row>
-                <v-col cols="12" sm="6">
-                  <UiInputText field="financialDate" :data="entry['financialDate']" @update="updateRepository" />
-                </v-col>
-              </v-row>
-            </v-container>
-          </UiExpansionPanel>
-
-          <UiExpansionPanel id="salary" icon="fa-users">
-            <v-container class="container">
-              <v-row>
-                <v-col cols="12" sm="6">
-                  <UiInputText field="musicalDate" :data="entry['musicalDate']" @update="updateRepository" />
-                </v-col>
-
-                <v-col cols="12" sm="6">
-                  <UiInputText field="startCourseDate" :data="entry['startCourseDate']" @update="updateRepository" />
-                </v-col>
-
-                <v-col cols="12" sm="6">
-                  <UiInputText field="endCourseDate" :data="entry['endCourseDate']" @update="updateRepository" />
-                </v-col>
-
-              </v-row>
-            </v-container>
-          </UiExpansionPanel>
-        </v-expansion-panels>
-      </template>
-    </UiForm>
-  </LayoutContainer>
-</template>
-
-<script lang="ts">
-import {computed, ComputedRef, defineComponent, useContext} from '@nuxtjs/composition-api'
-import { Organization } from '@/models/Organization/Organization'
-import { repositoryHelper } from '~/services/store/repository'
-import {useDataUtils} from "~/composables/data/useDataUtils";
-import {Parameters} from "~/models/Organization/Parameters";
-import {Query} from "@vuex-orm/core";
-
-export default defineComponent({
-  name: 'parameters',
-  setup () {
-    const {store, $dataProvider} = useContext()
-    const {getItemToEdit} = useDataUtils($dataProvider)
-    const id = store.state.profile.organization.parametersId
-    const {fetchState} = getItemToEdit(id, Parameters)
-
-    const repository = repositoryHelper.getRepository(Parameters)
-    const query: ComputedRef<Query> = computed(() => repository.query())
-
-    return {
-      query: () => query,
-      id,
-      fetchState,
-      model: Organization
-    }
-  }
-})
-</script>
-
-<style scoped>
-.v-icon.v-icon {
-  font-size: 14px;
-}
-</style>

+ 26 - 0
pages/parameters/education/cycle/_id.vue

@@ -0,0 +1,26 @@
+<!-- Page de détails d'un cycle -->
+<template>
+  <main>
+    <FormParametersCycle :id="id" v-if="!fetchState.pending"></FormParametersCycle>
+  </main>
+</template>
+
+<script lang="ts">
+import {defineComponent, useContext} from '@nuxtjs/composition-api'
+import {useDataUtils} from "~/composables/data/useDataUtils";
+import {Cycle} from "~/models/Education/Cycle";
+
+export default defineComponent({
+  name: 'EditFormParametersCycle',
+  setup () {
+    const {$dataProvider, route} = useContext()
+    const {getItemToEdit} = useDataUtils($dataProvider)
+    const id = parseInt(route.value.params.id)
+    const {fetchState} = getItemToEdit(id, Cycle)
+    return {
+      id,
+      fetchState
+    }
+  }
+})
+</script>

+ 64 - 0
pages/parameters/education/index.vue

@@ -0,0 +1,64 @@
+<template>
+  <LayoutContainer class="mt-4">
+        <v-expansion-panels  focusable multiple :value="[0]">
+          <!-- Description -->
+          <UiExpansionPanel id="cycle" icon="fa-bars">
+            <v-container fluid class="container">
+              <v-row>
+                <v-col cols="12" sm="12">
+                  <UiCollection
+                    :query="query()"
+                    :model="model"
+                    loaderType="image"
+                  >
+                    <template #list.item="{items}">
+                      <v-container fluid>
+                        <v-row dense>
+                          <v-col
+                            v-for="item in items"
+                            :key="item.id"
+                            cols="4"
+                          >
+                            <UiCard
+                              :id="item.id"
+                              :link="`/parameters/education/cycle/${item.id}`"
+                              :model="model"
+                              :can-delete="false"
+                            >
+                              <template #card.text>
+                                {{ item.label }}
+                              </template>
+                            </UiCard>
+                          </v-col>
+                        </v-row>
+                      </v-container>
+                    </template>
+                  </UiCollection>
+                </v-col>
+              </v-row>
+            </v-container>
+          </UiExpansionPanel>
+
+        </v-expansion-panels>
+  </LayoutContainer>
+</template>
+
+<script lang="ts">
+import {computed, ComputedRef, defineComponent} from '@nuxtjs/composition-api'
+import { repositoryHelper } from '~/services/store/repository'
+import {Query} from "@vuex-orm/core";
+import {Cycle} from "~/models/Education/Cycle";
+
+export default defineComponent({
+  name: 'cycles',
+  setup () {
+    const repository = repositoryHelper.getRepository(Cycle)
+    const query: ComputedRef<Query> = computed(() => repository.query().orderBy('order', 'asc'))
+
+    return {
+      query: () => query,
+      model: Cycle
+    }
+  }
+})
+</script>

+ 19 - 33
pages/parameters/secure.vue

@@ -4,34 +4,23 @@
       <template #form.input="{entry, updateRepository}">
         <v-expansion-panels  focusable multiple :value="[0,1]">
           <!-- Description -->
-          <UiExpansionPanel id="description" icon="fa-info">
+          <UiExpansionPanel id="superAdmin" icon="fa-desktop">
             <v-container fluid class="container">
               <v-row>
-                <v-col cols="12" sm="6">
-                  <UiInputText field="financialDate" :data="entry['financialDate']" @update="updateRepository" />
-                </v-col>
-              </v-row>
-            </v-container>
-          </UiExpansionPanel>
-
-          <UiExpansionPanel id="salary" icon="fa-users">
-            <v-container class="container">
-              <v-row>
-                <v-col cols="12" sm="6">
-                  <UiInputText field="musicalDate" :data="entry['musicalDate']" @update="updateRepository" />
+                <v-col cols="12" sm="12">
+                    {{$t('help_super_admin')}}
                 </v-col>
-
                 <v-col cols="12" sm="6">
-                  <UiInputText field="startCourseDate" :data="entry['startCourseDate']" @update="updateRepository" />
+                  <UiInputText field="username" :data="entry['username']" @update="updateRepository" :readonly="true" />
                 </v-col>
 
                 <v-col cols="12" sm="6">
-                  <UiInputText field="endCourseDate" :data="entry['endCourseDate']" @update="updateRepository" />
+                  <UiInputEmail field="email" :data="entry['email']" @update="updateRepository" />
                 </v-col>
-
               </v-row>
             </v-container>
           </UiExpansionPanel>
+
         </v-expansion-panels>
       </template>
     </UiForm>
@@ -40,35 +29,32 @@
 
 <script lang="ts">
 import {computed, ComputedRef, defineComponent, useContext} from '@nuxtjs/composition-api'
-import { Organization } from '@/models/Organization/Organization'
 import { repositoryHelper } from '~/services/store/repository'
 import {useDataUtils} from "~/composables/data/useDataUtils";
-import {Parameters} from "~/models/Organization/Parameters";
 import {Query} from "@vuex-orm/core";
+import {AdminAccess} from "~/models/Access/AdminAccess";
+import {queryHelper} from "~/services/store/query";
 
 export default defineComponent({
-  name: 'parameters',
+  name: 'secure',
   setup () {
-    const {store, $dataProvider} = useContext()
+    const {$dataProvider} = useContext()
     const {getItemToEdit} = useDataUtils($dataProvider)
-    const id = store.state.profile.organization.parametersId
-    const {fetchState} = getItemToEdit(id, Parameters)
+    const {fetchState} = getItemToEdit(1, AdminAccess)
 
-    const repository = repositoryHelper.getRepository(Parameters)
+    const repository = repositoryHelper.getRepository(AdminAccess)
     const query: ComputedRef<Query> = computed(() => repository.query())
+    const id: ComputedRef<number> = computed(() => {
+      const item:AdminAccess = queryHelper.getFirstItem(query.value) as AdminAccess
+      return item.id
+    })
 
     return {
-      query: () => query,
-      id,
+      query: () => query.value,
       fetchState,
-      model: Organization
+      id,
+      model: AdminAccess
     }
   }
 })
 </script>
-
-<style scoped>
-.v-icon.v-icon {
-  font-size: 14px;
-}
-</style>