Changes
This commit is contained in:
398
stores/data.js
398
stores/data.js
@@ -490,218 +490,218 @@ export const useDataStore = defineStore('data', () => {
|
||||
//console.log(oldData)
|
||||
//console.log(newData)
|
||||
|
||||
let itemsToCreate = []
|
||||
if(dataTypes[dataType].historyItemHolder){
|
||||
let itemsToCreate = []
|
||||
|
||||
const checkPropState = (key,propContent) => {
|
||||
//console.log(propContent)
|
||||
if(propContent.type && propContent.data){
|
||||
if(propContent.type === "updated" ||propContent.type === "created"){
|
||||
createHistoryItem(key,propContent)
|
||||
const checkPropState = (key,propContent) => {
|
||||
//console.log(propContent)
|
||||
if(propContent.type && propContent.data){
|
||||
if(propContent.type === "updated" ||propContent.type === "created"){
|
||||
createHistoryItem(key,propContent)
|
||||
}
|
||||
} else {
|
||||
for (let prop in propContent) {
|
||||
checkPropState(prop,propContent[prop])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const createHistoryItem = (key,prop) => {
|
||||
|
||||
//console.log("OLD: " + prop.data.o)
|
||||
//console.log("NEW: " + prop.data.n)
|
||||
|
||||
let name = "" || key
|
||||
let oldVal = prop.data.o || "-"
|
||||
let newVal = prop.data.n || "-"
|
||||
|
||||
|
||||
|
||||
if(key === "project") {
|
||||
name = "Projekt"
|
||||
oldVal = oldVal !== "-" ? projects.value.find(i => i.id === prop.data.o).name : "-"
|
||||
newVal = projects.value.find(i => i.id === prop.data.n).name
|
||||
} else if (key === "title") {
|
||||
name = "Titel"
|
||||
} else if(key === "type") {
|
||||
name = "Typ"
|
||||
} else if(key === "notes") {
|
||||
name = "Notizen"
|
||||
} else if(key === "link") {
|
||||
name = "Link"
|
||||
} else if(key === "start") {
|
||||
name = "Start"
|
||||
oldVal = dayjs(prop.data.o).format("DD.MM.YYYY HH:mm")
|
||||
newVal = dayjs(prop.data.n).format("DD.MM.YYYY HH:mm")
|
||||
} else if(key === "end") {
|
||||
name = "Ende"
|
||||
oldVal = dayjs(prop.data.o).format("DD.MM.YYYY HH:mm")
|
||||
newVal = dayjs(prop.data.n).format("DD.MM.YYYY HH:mm")
|
||||
} else if(key === "birthday") {
|
||||
name = "Geburtstag"
|
||||
oldVal = dayjs(prop.data.o).format("DD.MM.YYY")
|
||||
newVal = dayjs(prop.data.n).format("DD.MM.YYY")
|
||||
} else if(key === "resources") {
|
||||
name = "Resourcen"
|
||||
oldVal = prop.data.o.map(i => i.title).join(", ")
|
||||
newVal = prop.data.n.map(i => i.title).join(", ")
|
||||
} else if(key === "customerNumber") {
|
||||
name = "Kundennummer"
|
||||
} else if(key === "active") {
|
||||
name = "Aktiv"
|
||||
if(oldVal === true){
|
||||
oldVal = "Aktiv"
|
||||
newVal = "Gesperrt"
|
||||
} else if(oldVal === "-") {
|
||||
oldVal = "Gesperrt"
|
||||
newVal = "Aktiv"
|
||||
}
|
||||
} else if(key === "isCompany") {
|
||||
name = "Firmenkunde"
|
||||
if(oldVal === true){
|
||||
oldVal = "Firma"
|
||||
newVal = "Privatkunde"
|
||||
} else if(oldVal === "-") {
|
||||
oldVal = "Privatkunde"
|
||||
newVal = "Firma"
|
||||
}
|
||||
} else if(key === "special") {
|
||||
name = "Adresszusatz"
|
||||
} else if(key === "street") {
|
||||
name = "Straße & Hausnummer"
|
||||
} else if(key === "city") {
|
||||
name = "Ort"
|
||||
} else if(key === "zip") {
|
||||
name = "Postleitzahl"
|
||||
} else if(key === "country") {
|
||||
name = "Land"
|
||||
} else if(key === "web") {
|
||||
name = "Webseite"
|
||||
} else if(key === "email") {
|
||||
name = "E-Mail"
|
||||
} else if(key === "tel") {
|
||||
name = "Telefon"
|
||||
} else if(key === "ustid") {
|
||||
name = "USt-ID"
|
||||
} else if(key === "role") {
|
||||
name = "Rolle"
|
||||
} else if(key === "phoneHome") {
|
||||
name = "Festnetz"
|
||||
} else if(key === "phoneMobile") {
|
||||
name = "Mobiltelefon"
|
||||
} else if(key === "salutation") {
|
||||
name = "Anrede"
|
||||
} else if(key === "firstName") {
|
||||
name = "Vorname"
|
||||
} else if(key === "lastName") {
|
||||
name = "Nachname"
|
||||
} else if(key === "name") {
|
||||
name = "Name"
|
||||
} else if(key === "customer") {
|
||||
name = "Kunde"
|
||||
oldVal = customers.value.find(i => i.id === prop.data.o).name
|
||||
newVal = customers.value.find(i => i.id === prop.data.n).name
|
||||
} else if(key === "vendor") {
|
||||
name = "Lieferant"
|
||||
oldVal = vendors.value.find(i => i.id === prop.data.o).name
|
||||
newVal = vendors.value.find(i => i.id === prop.data.n).name
|
||||
} else if(key === "description") {
|
||||
name = "Beschreibung"
|
||||
} else if(key === "categorie") {
|
||||
name = "Kategorie"
|
||||
} else if(key === "profile") {
|
||||
name = "Mitarbeiter"
|
||||
oldVal = profiles.value.find(i => i.id === prop.data.o).fullName
|
||||
newVal = profiles.value.find(i => i.id === prop.data.n).fullName
|
||||
} else if(key === "plant") {
|
||||
name = "Objekt"
|
||||
oldVal = plants.value.find(i => i.id === prop.data.o).name
|
||||
newVal = plants.value.find(i => i.id === prop.data.n).name
|
||||
} else if(key === "annualPaidLeaveDays") {
|
||||
name = "Urlaubstage"
|
||||
} else if(key === "employeeNumber") {
|
||||
name = "Mitarbeiternummer"
|
||||
} else if(key === "weeklyWorkingDays") {
|
||||
name = "Wöchentliche Arbeitstage"
|
||||
} else if(key === "weeklyWorkingHours") {
|
||||
name = "Wöchentliche Arbeitszeit"
|
||||
} else if(key === "licensePlate") {
|
||||
name = "Kennzeichen"
|
||||
} else if(key === "driver") {
|
||||
name = "Fahrer"
|
||||
oldVal = profiles.value.find(i => i.id === prop.data.o).fullName
|
||||
newVal = profiles.value.find(i => i.id === prop.data.n).fullName
|
||||
}
|
||||
|
||||
|
||||
|
||||
let text = ""
|
||||
if(prop.type === "updated" && newVal !== "-" && oldVal !== "-") {
|
||||
text = `Gerändert: ${name} von "${oldVal}" zu "${newVal}"`
|
||||
} else if(prop.type === "updated" && newVal !== "-" && oldVal === "-") {
|
||||
text = `Hinzugefügt: ${name} "${newVal}"`
|
||||
} else if(prop.type === "created") {
|
||||
text = `Hinzugefügt: ${name} "${newVal}"`
|
||||
} else if(prop.type === "updated" && newVal === "-" && oldVal !== "-") {
|
||||
text = `Entfernt: ${name} "${oldVal}"`
|
||||
}
|
||||
|
||||
let historyItem = {
|
||||
text: text,
|
||||
createdBy: activeProfile.value.id,
|
||||
oldVal: prop.data.o,
|
||||
newVal: prop.data.n,
|
||||
tenant: currentTenant.value
|
||||
}
|
||||
|
||||
historyItem[dataTypes[dataType].historyItemHolder] = newData.id
|
||||
|
||||
|
||||
const checkIfNaN = (x) => {
|
||||
return typeof x === "number" && x !== x;
|
||||
}
|
||||
//console.log(key)
|
||||
//console.log(checkIfNaN(key))
|
||||
|
||||
if(key !== "fullName" && key !== "phases") {
|
||||
//console.log(historyItem)
|
||||
itemsToCreate.push(historyItem)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(oldData) {
|
||||
let result = deepDiffMapper.map(oldData,newData)
|
||||
|
||||
//console.log(result)
|
||||
|
||||
for (let prop in result) {
|
||||
//console.log(prop)
|
||||
checkPropState(prop,result[prop])
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
for (let prop in propContent) {
|
||||
checkPropState(prop,propContent[prop])
|
||||
let historyItem = {
|
||||
text: `${dataTypes[dataType].labelSingle} erstellt`,
|
||||
createdBy: activeProfile.value.id,
|
||||
tenant: currentTenant.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const createHistoryItem = (key,prop) => {
|
||||
historyItem[dataTypes[dataType].historyItemHolder] = newData.id
|
||||
|
||||
//console.log("OLD: " + prop.data.o)
|
||||
//console.log("NEW: " + prop.data.n)
|
||||
|
||||
let name = "" || key
|
||||
let oldVal = prop.data.o || "-"
|
||||
let newVal = prop.data.n || "-"
|
||||
|
||||
|
||||
|
||||
if(key === "project") {
|
||||
name = "Projekt"
|
||||
oldVal = projects.value.find(i => i.id === prop.data.o).name
|
||||
newVal = projects.value.find(i => i.id === prop.data.n).name
|
||||
} else if (key === "title") {
|
||||
name = "Titel"
|
||||
} else if(key === "type") {
|
||||
name = "Typ"
|
||||
} else if(key === "notes") {
|
||||
name = "Notizen"
|
||||
} else if(key === "link") {
|
||||
name = "Link"
|
||||
} else if(key === "start") {
|
||||
name = "Start"
|
||||
oldVal = dayjs(prop.data.o).format("DD.MM.YYYY HH:mm")
|
||||
newVal = dayjs(prop.data.n).format("DD.MM.YYYY HH:mm")
|
||||
} else if(key === "end") {
|
||||
name = "Ende"
|
||||
oldVal = dayjs(prop.data.o).format("DD.MM.YYYY HH:mm")
|
||||
newVal = dayjs(prop.data.n).format("DD.MM.YYYY HH:mm")
|
||||
} else if(key === "birthday") {
|
||||
name = "Geburtstag"
|
||||
oldVal = dayjs(prop.data.o).format("DD.MM.YYY")
|
||||
newVal = dayjs(prop.data.n).format("DD.MM.YYY")
|
||||
} else if(key === "resources") {
|
||||
name = "Resourcen"
|
||||
oldVal = prop.data.o.map(i => i.title).join(", ")
|
||||
newVal = prop.data.n.map(i => i.title).join(", ")
|
||||
} else if(key === "customerNumber") {
|
||||
name = "Kundennummer"
|
||||
} else if(key === "active") {
|
||||
name = "Aktiv"
|
||||
if(oldVal === true){
|
||||
oldVal = "Aktiv"
|
||||
newVal = "Gesperrt"
|
||||
} else if(oldVal === "-") {
|
||||
oldVal = "Gesperrt"
|
||||
newVal = "Aktiv"
|
||||
}
|
||||
} else if(key === "isCompany") {
|
||||
name = "Firmenkunde"
|
||||
if(oldVal === true){
|
||||
oldVal = "Firma"
|
||||
newVal = "Privatkunde"
|
||||
} else if(oldVal === "-") {
|
||||
oldVal = "Privatkunde"
|
||||
newVal = "Firma"
|
||||
}
|
||||
} else if(key === "special") {
|
||||
name = "Adresszusatz"
|
||||
} else if(key === "street") {
|
||||
name = "Straße & Hausnummer"
|
||||
} else if(key === "city") {
|
||||
name = "Ort"
|
||||
} else if(key === "zip") {
|
||||
name = "Postleitzahl"
|
||||
} else if(key === "country") {
|
||||
name = "Land"
|
||||
} else if(key === "web") {
|
||||
name = "Webseite"
|
||||
} else if(key === "email") {
|
||||
name = "E-Mail"
|
||||
} else if(key === "tel") {
|
||||
name = "Telefon"
|
||||
} else if(key === "ustid") {
|
||||
name = "USt-ID"
|
||||
} else if(key === "role") {
|
||||
name = "Rolle"
|
||||
} else if(key === "phoneHome") {
|
||||
name = "Festnetz"
|
||||
} else if(key === "phoneMobile") {
|
||||
name = "Mobiltelefon"
|
||||
} else if(key === "salutation") {
|
||||
name = "Anrede"
|
||||
} else if(key === "firstName") {
|
||||
name = "Vorname"
|
||||
} else if(key === "lastName") {
|
||||
name = "Nachname"
|
||||
} else if(key === "name") {
|
||||
name = "Name"
|
||||
} else if(key === "customer") {
|
||||
name = "Kunde"
|
||||
oldVal = customers.value.find(i => i.id === prop.data.o).name
|
||||
newVal = customers.value.find(i => i.id === prop.data.n).name
|
||||
} else if(key === "vendor") {
|
||||
name = "Lieferant"
|
||||
oldVal = vendors.value.find(i => i.id === prop.data.o).name
|
||||
newVal = vendors.value.find(i => i.id === prop.data.n).name
|
||||
} else if(key === "description") {
|
||||
name = "Beschreibung"
|
||||
} else if(key === "categorie") {
|
||||
name = "Kategorie"
|
||||
} else if(key === "profile") {
|
||||
name = "Mitarbeiter"
|
||||
oldVal = profiles.value.find(i => i.id === prop.data.o).fullName
|
||||
newVal = profiles.value.find(i => i.id === prop.data.n).fullName
|
||||
} else if(key === "plant") {
|
||||
name = "Objekt"
|
||||
oldVal = plants.value.find(i => i.id === prop.data.o).name
|
||||
newVal = plants.value.find(i => i.id === prop.data.n).name
|
||||
} else if(key === "annualPaidLeaveDays") {
|
||||
name = "Urlaubstage"
|
||||
} else if(key === "employeeNumber") {
|
||||
name = "Mitarbeiternummer"
|
||||
} else if(key === "weeklyWorkingDays") {
|
||||
name = "Wöchentliche Arbeitstage"
|
||||
} else if(key === "weeklyWorkingHours") {
|
||||
name = "Wöchentliche Arbeitszeit"
|
||||
} else if(key === "licensePlate") {
|
||||
name = "Kennzeichen"
|
||||
} else if(key === "driver") {
|
||||
name = "Fahrer"
|
||||
oldVal = profiles.value.find(i => i.id === prop.data.o).fullName
|
||||
newVal = profiles.value.find(i => i.id === prop.data.n).fullName
|
||||
}
|
||||
|
||||
|
||||
|
||||
let text = ""
|
||||
if(prop.type === "updated" && newVal !== "-" && oldVal !== "-") {
|
||||
text = `Gerändert: ${name} von "${oldVal}" zu "${newVal}"`
|
||||
} else if(prop.type === "updated" && newVal !== "-" && oldVal === "-") {
|
||||
text = `Hinzugefügt: ${name} "${newVal}"`
|
||||
} else if(prop.type === "created") {
|
||||
text = `Hinzugefügt: ${name} "${newVal}"`
|
||||
} else if(prop.type === "updated" && newVal === "-" && oldVal !== "-") {
|
||||
text = `Entfernt: ${name} "${oldVal}"`
|
||||
}
|
||||
|
||||
let historyItem = {
|
||||
text: text,
|
||||
createdBy: activeProfile.value.id,
|
||||
oldVal: prop.data.o,
|
||||
newVal: prop.data.n,
|
||||
tenant: currentTenant.value
|
||||
}
|
||||
|
||||
historyItem[dataTypes[dataType].historyItemHolder] = newData.id
|
||||
|
||||
|
||||
const checkIfNaN = (x) => {
|
||||
return typeof x === "number" && x !== x;
|
||||
}
|
||||
//console.log(key)
|
||||
//console.log(checkIfNaN(key))
|
||||
|
||||
if(key !== "fullName" && key !== "phases") {
|
||||
//console.log(historyItem)
|
||||
itemsToCreate.push(historyItem)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(oldData) {
|
||||
let result = deepDiffMapper.map(oldData,newData)
|
||||
|
||||
//console.log(result)
|
||||
|
||||
for (let prop in result) {
|
||||
//console.log(prop)
|
||||
checkPropState(prop,result[prop])
|
||||
const {data,error} = await supabase.from("historyitems").insert(itemsToCreate)
|
||||
|
||||
if(error) {
|
||||
console.log(error)
|
||||
} else {
|
||||
fetchHistoryItems()
|
||||
}
|
||||
|
||||
} else {
|
||||
let historyItem = {
|
||||
text: `${dataTypes[dataType].labelSingle} erstellt`,
|
||||
createdBy: activeProfile.value.id,
|
||||
tenant: currentTenant.value
|
||||
}
|
||||
|
||||
historyItem[dataTypes[dataType].historyItemHolder] = newData.id
|
||||
|
||||
//console.log(historyItem)
|
||||
itemsToCreate.push(historyItem)
|
||||
}
|
||||
|
||||
const {data,error} = await supabase.from("historyitems").insert(itemsToCreate)
|
||||
|
||||
if(error) {
|
||||
console.log(error)
|
||||
} else {
|
||||
fetchHistoryItems()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user