Arbeitsblätter: Zeit für eigene Git-Pushes nachtragen

70 von 78 Arbeitsblättern sind Git-Pushes, die das Kundenportal mit
employeeId "gitea" anlegt; in employeeName steht der Gitea-Name des
Pushers ("knso", "ANDJ", "JUSN" oder der volle Name). Sie gehören dem
Mitarbeiter mit diesem Kürzel oder Namen - der eigene employees-Eintrag
kommt jetzt aus dem AuthContext.

Bei offenen Pushes heißt der Button "Zeit nachtragen": Beginn ist Pflicht,
das Ende ist der Push. Beim Speichern wird isComment false, damit die Zeit
in der Arbeitszeit zählt (wie früher im Modal der alten Ticketzeile).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-09-27 09:55:34 +00:00
1 parent 149b38b94b
commit 0c884a57d7
7 files changed
+69 -31

No files matched your search

+12 -5
View File
@@ -70,9 +70,10 @@ async function createSessionWithCleanup(email, password) {
}
}
// Hilfsfunktion: Fügt User automatisch zur employees Collection hinzu
// Hilfsfunktion: Fügt User automatisch zur employees Collection hinzu und liefert
// den Mitarbeiter-Eintrag (Kürzel = Gitea-Name, siehe isWorksheetCreator) oder null
async function ensureEmployeeExists(user) {
if (!user || DEMO_MODE) return
if (!user || DEMO_MODE) return null
try {
const response = await databases.listDocuments(
@@ -82,7 +83,7 @@ async function ensureEmployeeExists(user) {
)
if (response.documents.length === 0) {
await databases.createDocument(
const employee = await databases.createDocument(
DATABASE_ID,
COLLECTIONS.EMPLOYEES,
ID.unique(),
@@ -94,16 +95,20 @@ async function ensureEmployeeExists(user) {
}
)
console.log('✅ User automatisch zur Mitarbeiter-Liste hinzugefügt')
return employee
}
return response.documents[0]
} catch (error) {
if (error.code !== 404) {
console.warn('Could not add user to employees collection:', error.message)
}
return null
}
}
export function AuthProvider({ children }) {
const [user, setUser] = useState(null)
const [employee, setEmployee] = useState(null)
const [loading, setLoading] = useState(true)
useEffect(() => {
@@ -129,7 +134,7 @@ export function AuthProvider({ children }) {
try {
const session = await account.get()
setUser(session)
await ensureEmployeeExists(session)
setEmployee(await ensureEmployeeExists(session))
} catch (error) {
if (error.code !== 401 && error.code !== 404) {
console.error('Unexpected error checking user:', error)
@@ -160,7 +165,7 @@ export function AuthProvider({ children }) {
const session = await account.get()
setUser(session)
await ensureEmployeeExists(session)
setEmployee(await ensureEmployeeExists(session))
return { success: true }
} catch (error) {
@@ -202,6 +207,7 @@ export function AuthProvider({ children }) {
} finally {
clearAllLocalAppwriteSessions()
setUser(null)
setEmployee(null)
}
}
@@ -209,6 +215,7 @@ export function AuthProvider({ children }) {
const value = {
user,
employee,
loading,
login,
logout,