| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- import * as _ from 'lodash'
- import { $roleUtils } from '~/services/rights/roleUtils'
- import { AbilitiesType, accessState, baseAccessState, baseOrganizationState, Historical } from '~/types/interfaces'
- import { GENDER } from '~/types/enums'
- import { MyProfile } from '~/models/Access/MyProfile'
- import { repositoryHelper } from '~/services/store/repository'
- export const state = () => ({
- bearer: null,
- id: null,
- switchId: null,
- name: null,
- givenName: null,
- gender: null,
- avatarId: null,
- activityYear: null,
- historical: [],
- roles: [],
- abilities: [],
- isAdmin: false,
- isAdministratifManager: false,
- isPedagogicManager: false,
- isFinancialManager: false,
- isCaMember: false,
- isStudent: false,
- isTeacher: false,
- isMember: false,
- isOther: false,
- hasLateralMenu: false,
- hasConfigurationMenu: false,
- hasAccessesMenu: false,
- hasFamilyMenu: false,
- multiAccesses: [],
- familyAccesses: [],
- originalAccess: null
- })
- export const mutations = {
- setBearer (state: accessState, bearer: string) {
- state.bearer = bearer
- },
- setId (state: accessState, id: number) {
- state.id = id
- },
- setSwitchId (state: accessState, switchId: number) {
- state.switchId = switchId
- },
- setName (state: accessState, name: string) {
- state.name = name
- },
- setGivenName (state: accessState, givenName: string) {
- state.givenName = givenName
- },
- setGender (state: accessState, gender: GENDER) {
- state.gender = gender
- },
- setAvatarId (state: accessState, avatarId: number) {
- state.avatarId = avatarId
- },
- setActivityYear (state: accessState, activityYear: number) {
- state.activityYear = activityYear
- },
- setHistorical (state: accessState, historical: Historical) {
- state.historical = historical
- },
- setRoles (state: accessState, roles: Array<string>) {
- state.roles = roles
- },
- setAbilities (state: accessState, abilities: Array<AbilitiesType>) {
- state.abilities = abilities
- },
- setIsAdminAccess (state: accessState, isAdminAccess: boolean) {
- state.isAdminAccess = isAdminAccess
- },
- setIsAdmin (state: accessState, isRole: boolean) {
- state.isAdmin = isRole
- },
- setIsAdministratifManager (state: accessState, isRole: boolean) {
- state.isAdministratifManager = isRole
- },
- setIsPedagogicManager (state:accessState, isRole:boolean) {
- state.isPedagogicManager = isRole
- },
- setIsFinancialManager (state: accessState, isRole: boolean) {
- state.isFinancialManager = isRole
- },
- setIsCaMember (state: accessState, isRole: boolean) {
- state.isCaMember = isRole
- },
- setIsStudent (state: accessState, isRole: boolean) {
- state.isStudent = isRole
- },
- setIsTeacher (state: accessState, isRole: boolean) {
- state.isTeacher = isRole
- },
- setIsMember (state: accessState, isRole: boolean) {
- state.isMember = isRole
- },
- setIsOther (state: accessState, isRole: boolean) {
- state.isOther = isRole
- },
- setHasLateralMenu (state: accessState, hasLateralMenu: boolean) {
- state.hasLateralMenu = hasLateralMenu
- },
- setHasConfigurationMenu (state: accessState, hasConfigurationMenu: boolean) {
- state.hasConfigurationMenu = hasConfigurationMenu
- },
- setHasAccessesMenu (state: accessState, hasAccessesMenu: boolean) {
- state.hasAccessesMenu = hasAccessesMenu
- },
- setHasFamilyMenu (state: accessState, hasFamilyMenu: boolean) {
- state.hasFamilyMenu = hasFamilyMenu
- },
- addMultiAccess (state: accessState, access: baseOrganizationState) {
- state.multiAccesses.push(access)
- },
- addFamilyAccess (state: accessState, access: baseAccessState) {
- state.familyAccesses.push(access)
- },
- setOriginalAccess (state: accessState, access: baseAccessState) {
- state.originalAccess = access
- }
- }
- export const actions = {
- setProfile (context: any, profile: any) {
- const rolesArray: Array<string> = Object.values(profile.roles)
- context.commit('setName', profile.name)
- context.commit('setGivenName', profile.givenName)
- context.commit('setGender', profile.gender)
- context.commit('setAvatarId', profile.avatarId)
- context.commit('setActivityYear', profile.activityYear)
- context.commit('setHistorical', profile.historical)
- context.commit('setIsAdminAccess', profile.isAdminAccess)
- context.commit('setIsAdmin', $roleUtils.isA('ADMIN', rolesArray))
- context.commit('setIsAdministratifManager', $roleUtils.isA('ADMINISTRATIF_MANAGER', rolesArray))
- context.commit('setIsPedagogicManager', $roleUtils.isA('PEDAGOGICS_MANAGER', rolesArray))
- context.commit('setIsFinancialManager', $roleUtils.isA('FINANCIAL_MANAGER', rolesArray))
- context.commit('setIsCaMember', $roleUtils.isA('CA', rolesArray))
- context.commit('setIsStudent', $roleUtils.isA('STUDENT', rolesArray))
- context.commit('setIsTeacher', $roleUtils.isA('TEACHER', rolesArray))
- context.commit('setIsMember', $roleUtils.isA('MEMBER', rolesArray))
- context.commit('setIsOther', $roleUtils.isA('OTHER', rolesArray))
- context.commit('setRoles', $roleUtils.filterFunctionRoles(rolesArray))
- context.commit('setIsAdminAccess', profile.isAdminAccess)
- // Time to set Multi Accesses
- context.dispatch('setMultiAccesses', profile.multiAccesses)
- // Time to set Family Accesses
- context.dispatch('setFamilyAccesses', profile.familyAccesses)
- // Time to add the original Access (switch User case)
- context.dispatch('setOriginalAccess', profile.originalAccess)
- // Time to set Oganization Profile
- context.dispatch('profile/organization/setProfile', profile.organization, { root: true })
- context.dispatch('createNewMyProfileVUexOrmInstance', profile)
- },
- setMultiAccesses (context: any, accesses: any) {
- _.each(accesses, (organization) => {
- const o: baseOrganizationState = {
- id: organization.id,
- name: organization.name
- }
- context.commit('addMultiAccess', o)
- })
- },
- setFamilyAccesses (context: any, accesses: any) {
- _.each(accesses, (access) => {
- const a:baseAccessState = {
- id: access.id,
- name: access.name,
- givenName: access.givenName,
- gender: access.gender,
- avatarId: access.avatarId
- }
- context.commit('addFamilyAccess', a)
- })
- },
- setOriginalAccess (context: any, access: any) {
- if (access) {
- const originalAccess:baseAccessState = {
- id: access.id,
- name: access.name,
- givenName: access.givenName,
- gender: access.gender,
- avatarId: access.avatarId
- }
- context.commit('setOriginalAccess', originalAccess)
- }
- },
- /**
- * Créer une nouvelle instance MyProfile dans Vuex ORM
- * @param _context
- * @param access
- */
- createNewMyProfileVUexOrmInstance (_context: any, access: any): void {
- repositoryHelper.persist(MyProfile, access)
- }
- }
|