Added Archivable Prop to Datatypes wich are archivable
Added Filtering to SupabaseSelect Composable for Archived
This commit is contained in:
@@ -1,10 +1,13 @@
|
|||||||
|
import {useDataStore} from "~/stores/data.js";
|
||||||
|
|
||||||
|
|
||||||
export const useSupabaseSelect = async (relation,select = '*', sortColumn = null, ascending = true) => {
|
export const useSupabaseSelect = async (relation,select = '*', sortColumn = null, ascending = true) => {
|
||||||
const supabase = useSupabaseClient()
|
const supabase = useSupabaseClient()
|
||||||
const profileStore = useProfileStore()
|
const profileStore = useProfileStore()
|
||||||
let data = null
|
let data = null
|
||||||
|
const dataStore = useDataStore()
|
||||||
|
|
||||||
|
const dataType = dataStore.dataTypes[relation]
|
||||||
|
|
||||||
if(sortColumn !== null ) {
|
if(sortColumn !== null ) {
|
||||||
data = (await supabase
|
data = (await supabase
|
||||||
@@ -19,6 +22,10 @@ export const useSupabaseSelect = async (relation,select = '*', sortColumn = null
|
|||||||
.eq("tenant", profileStore.currentTenant)).data
|
.eq("tenant", profileStore.currentTenant)).data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(dataType && dataType.isArchivable) {
|
||||||
|
data = data.filter(i => !i.archived)
|
||||||
|
}
|
||||||
|
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
|
|
||||||
const dataTypes = {
|
const dataTypes = {
|
||||||
tasks: {
|
tasks: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Aufgaben",
|
label: "Aufgaben",
|
||||||
labelSingle: "Aufgabe",
|
labelSingle: "Aufgabe",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -146,6 +147,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
showTabs: [{label: 'Informationen'}]
|
showTabs: [{label: 'Informationen'}]
|
||||||
},
|
},
|
||||||
customers: {
|
customers: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Kunden",
|
label: "Kunden",
|
||||||
labelSingle: "Kunde",
|
labelSingle: "Kunde",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -310,6 +312,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
showTabs: [{label: 'Informationen'},{label: 'Ansprechpartner'},{label: 'Dateien'},{label: 'Ausgangsbelege'},{label: 'Projekte'},{label: 'Objekte'},{label: 'Verträge'}]
|
showTabs: [{label: 'Informationen'},{label: 'Ansprechpartner'},{label: 'Dateien'},{label: 'Ausgangsbelege'},{label: 'Projekte'},{label: 'Objekte'},{label: 'Verträge'}]
|
||||||
},
|
},
|
||||||
contacts: {
|
contacts: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Kontakte",
|
label: "Kontakte",
|
||||||
labelSingle: "Kontakt",
|
labelSingle: "Kontakt",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -414,6 +417,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
contracts: {
|
contracts: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Verträge",
|
label: "Verträge",
|
||||||
labelSingle: "Vertrag",
|
labelSingle: "Vertrag",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -561,6 +565,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
showTabs: [{label: 'Informationen'},{label: 'Dateien'}]
|
showTabs: [{label: 'Informationen'},{label: 'Dateien'}]
|
||||||
},
|
},
|
||||||
absencerequests: {
|
absencerequests: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Abwesenheiten",
|
label: "Abwesenheiten",
|
||||||
labelSingle: "Abwesenheit",
|
labelSingle: "Abwesenheit",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -650,6 +655,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
showTabs: [{label: 'Informationen'}]
|
showTabs: [{label: 'Informationen'}]
|
||||||
},
|
},
|
||||||
plants: {
|
plants: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Objekte",
|
label: "Objekte",
|
||||||
labelSingle: "Objekt",
|
labelSingle: "Objekt",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -702,6 +708,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
products: {
|
products: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Artikel",
|
label: "Artikel",
|
||||||
labelSingle: "Artikel",
|
labelSingle: "Artikel",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -793,6 +800,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
projects: {
|
projects: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Projekte",
|
label: "Projekte",
|
||||||
labelSingle: "Projekt",
|
labelSingle: "Projekt",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -923,6 +931,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
}*/]
|
}*/]
|
||||||
},
|
},
|
||||||
vehicles: {
|
vehicles: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Fahrzeuge",
|
label: "Fahrzeuge",
|
||||||
labelSingle: "Fahrzeug",
|
labelSingle: "Fahrzeug",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1020,6 +1029,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
vendors: {
|
vendors: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Lieferanten",
|
label: "Lieferanten",
|
||||||
labelSingle: "Lieferant",
|
labelSingle: "Lieferant",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1158,6 +1168,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
labelSingle: "Nachricht"
|
labelSingle: "Nachricht"
|
||||||
},
|
},
|
||||||
spaces: {
|
spaces: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Lagerplätze",
|
label: "Lagerplätze",
|
||||||
labelSingle: "Lagerplatz",
|
labelSingle: "Lagerplatz",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1288,6 +1299,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
labelSingle: "Benutzer"
|
labelSingle: "Benutzer"
|
||||||
},
|
},
|
||||||
createddocuments: {
|
createddocuments: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Dokumente",
|
label: "Dokumente",
|
||||||
labelSingle: "Dokument"
|
labelSingle: "Dokument"
|
||||||
},
|
},
|
||||||
@@ -1297,6 +1309,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
redirect:true
|
redirect:true
|
||||||
},
|
},
|
||||||
inventoryitems: {
|
inventoryitems: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Inventarartikel",
|
label: "Inventarartikel",
|
||||||
labelSingle: "Inventarartikel",
|
labelSingle: "Inventarartikel",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1436,6 +1449,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
inventoryitemgroups: {
|
inventoryitemgroups: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Inventarartikelgruppen",
|
label: "Inventarartikelgruppen",
|
||||||
labelSingle: "Inventarartikelgruppe",
|
labelSingle: "Inventarartikelgruppe",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1500,6 +1514,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
services: {
|
services: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Leistungen",
|
label: "Leistungen",
|
||||||
labelSingle: "Leistung",
|
labelSingle: "Leistung",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1626,6 +1641,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
events: {
|
events: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Termine",
|
label: "Termine",
|
||||||
labelSingle: "Termin",
|
labelSingle: "Termin",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1750,16 +1766,19 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
historyItemHolder: "profile"
|
historyItemHolder: "profile"
|
||||||
},
|
},
|
||||||
workingtimes: {
|
workingtimes: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Anwesenheiten",
|
label: "Anwesenheiten",
|
||||||
labelSingle: "Anwesenheit",
|
labelSingle: "Anwesenheit",
|
||||||
redirect: true,
|
redirect: true,
|
||||||
redirectToList: true
|
redirectToList: true
|
||||||
},
|
},
|
||||||
texttemplates: {
|
texttemplates: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Textvorlagen",
|
label: "Textvorlagen",
|
||||||
labelSingle: "Textvorlage"
|
labelSingle: "Textvorlage"
|
||||||
},
|
},
|
||||||
bankstatements: {
|
bankstatements: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Kontobewegungen",
|
label: "Kontobewegungen",
|
||||||
labelSingle: "Kontobewegung",
|
labelSingle: "Kontobewegung",
|
||||||
historyItemHolder: "bankStatement",
|
historyItemHolder: "bankStatement",
|
||||||
@@ -1769,6 +1788,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
labelSingle: "Bankzuweisung"
|
labelSingle: "Bankzuweisung"
|
||||||
},
|
},
|
||||||
productcategories: {
|
productcategories: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Artikelkategorien",
|
label: "Artikelkategorien",
|
||||||
labelSingle: "Artikelkategorie",
|
labelSingle: "Artikelkategorie",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1806,6 +1826,7 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
servicecategories: {
|
servicecategories: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Leistungskategorien",
|
label: "Leistungskategorien",
|
||||||
labelSingle: "Leistungskategorie",
|
labelSingle: "Leistungskategorie",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
@@ -1849,12 +1870,14 @@ export const useDataStore = defineStore('data', () => {
|
|||||||
historyItemHolder: "trackingtrip",
|
historyItemHolder: "trackingtrip",
|
||||||
},
|
},
|
||||||
projecttypes: {
|
projecttypes: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Projekttypen",
|
label: "Projekttypen",
|
||||||
labelSingle: "Projekttyp",
|
labelSingle: "Projekttyp",
|
||||||
redirect: true,
|
redirect: true,
|
||||||
historyItemHolder: "projecttype"
|
historyItemHolder: "projecttype"
|
||||||
},
|
},
|
||||||
checks: {
|
checks: {
|
||||||
|
isArchivable: true,
|
||||||
label: "Überprüfungen",
|
label: "Überprüfungen",
|
||||||
labelSingle: "Überprüfung",
|
labelSingle: "Überprüfung",
|
||||||
isStandardEntity: true,
|
isStandardEntity: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user