diff --git a/.deployment-files b/.deployment-files old mode 100644 new mode 100755 diff --git a/.deployment-info b/.deployment-info old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.google.oauth b/.google.oauth old mode 100644 new mode 100755 diff --git a/ANDROID_FRONTEND_PLAN.md b/ANDROID_FRONTEND_PLAN.md old mode 100644 new mode 100755 diff --git a/ANDROID_TECHNICAL_NEXT_STEPS.md b/ANDROID_TECHNICAL_NEXT_STEPS.md old mode 100644 new mode 100755 diff --git a/APACHE2_DEPLOYMENT.md b/APACHE2_DEPLOYMENT.md old mode 100644 new mode 100755 diff --git a/AUTH.md b/AUTH.md old mode 100644 new mode 100755 diff --git a/CHECK_SERVICES.md b/CHECK_SERVICES.md old mode 100644 new mode 100755 diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md old mode 100644 new mode 100755 diff --git a/DEPLOYMENT_CHECKLIST.md b/DEPLOYMENT_CHECKLIST.md old mode 100644 new mode 100755 diff --git a/FIX_TERSER.md b/FIX_TERSER.md old mode 100644 new mode 100755 diff --git a/GOOGLE_OAUTH_MANUAL_STEPS.md b/GOOGLE_OAUTH_MANUAL_STEPS.md old mode 100644 new mode 100755 diff --git a/OAUTH_SETUP.md b/OAUTH_SETUP.md old mode 100644 new mode 100755 diff --git a/PLAYSTORE_DATENSCHUTZERKLAERUNG.md b/PLAYSTORE_DATENSCHUTZERKLAERUNG.md old mode 100644 new mode 100755 diff --git a/QUICKSTART.md b/QUICKSTART.md old mode 100644 new mode 100755 diff --git a/QUICKSTART_DEPLOYMENT.md b/QUICKSTART_DEPLOYMENT.md old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/SETUP.md b/SETUP.md old mode 100644 new mode 100755 diff --git a/apache2.conf b/apache2.conf old mode 100644 new mode 100755 diff --git a/backend/.gitignore b/backend/.gitignore old mode 100644 new mode 100755 diff --git a/backend/ARCHITECTURE.md b/backend/ARCHITECTURE.md old mode 100644 new mode 100755 diff --git a/backend/DATABASE.md b/backend/DATABASE.md old mode 100644 new mode 100755 diff --git a/backend/DB_SETUP.md b/backend/DB_SETUP.md old mode 100644 new mode 100755 diff --git a/backend/ID_HASHING.md b/backend/ID_HASHING.md old mode 100644 new mode 100755 diff --git a/backend/MIGRATION_timewish_dates.md b/backend/MIGRATION_timewish_dates.md old mode 100644 new mode 100755 diff --git a/backend/MYSQL_SETUP.md b/backend/MYSQL_SETUP.md old mode 100644 new mode 100755 diff --git a/backend/README.md b/backend/README.md old mode 100644 new mode 100755 diff --git a/backend/SEQUELIZE.md b/backend/SEQUELIZE.md old mode 100644 new mode 100755 diff --git a/backend/SQL_EXECUTION_ORDER.md b/backend/SQL_EXECUTION_ORDER.md old mode 100644 new mode 100755 diff --git a/backend/add-missing-wednesday.sql b/backend/add-missing-wednesday.sql old mode 100644 new mode 100755 diff --git a/backend/add-sick-index.sql b/backend/add-sick-index.sql old mode 100644 new mode 100755 diff --git a/backend/add-timewish-dates.sql b/backend/add-timewish-dates.sql old mode 100644 new mode 100755 diff --git a/backend/add-vacation-index.sql b/backend/add-vacation-index.sql old mode 100644 new mode 100755 diff --git a/backend/adjust-overtime-offset-to-3h.sql b/backend/adjust-overtime-offset-to-3h.sql old mode 100644 new mode 100755 diff --git a/backend/create-invitation-table.sql b/backend/create-invitation-table.sql old mode 100644 new mode 100755 diff --git a/backend/create-watcher-table.sql b/backend/create-watcher-table.sql old mode 100644 new mode 100755 diff --git a/backend/database-schema.sql b/backend/database-schema.sql old mode 100644 new mode 100755 diff --git a/backend/env.production.template b/backend/env.production.template old mode 100644 new mode 100755 diff --git a/backend/fix-timezone-correct.js b/backend/fix-timezone-correct.js old mode 100644 new mode 100755 diff --git a/backend/fix-timezone.js b/backend/fix-timezone.js old mode 100644 new mode 100755 diff --git a/backend/fix-worklog-timezone.sql b/backend/fix-worklog-timezone.sql old mode 100644 new mode 100755 diff --git a/backend/migrate-timewish-simple.sql b/backend/migrate-timewish-simple.sql old mode 100644 new mode 100755 diff --git a/backend/migrate-timewish.sql b/backend/migrate-timewish.sql old mode 100644 new mode 100755 diff --git a/backend/nodemon.json b/backend/nodemon.json old mode 100644 new mode 100755 diff --git a/backend/package.json b/backend/package.json old mode 100644 new mode 100755 diff --git a/backend/replace-thursday-data.sql b/backend/replace-thursday-data.sql old mode 100644 new mode 100755 diff --git a/backend/rollback-timezone.js b/backend/rollback-timezone.js old mode 100644 new mode 100755 diff --git a/backend/set-password.js b/backend/set-password.js old mode 100644 new mode 100755 diff --git a/backend/set-user-admin.sql b/backend/set-user-admin.sql old mode 100644 new mode 100755 diff --git a/backend/setup-timewish-complete.sql b/backend/setup-timewish-complete.sql old mode 100644 new mode 100755 diff --git a/backend/src/config/database.js b/backend/src/config/database.js old mode 100644 new mode 100755 diff --git a/backend/src/config/passport.js b/backend/src/config/passport.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/AuthController.js b/backend/src/controllers/AuthController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/CalendarController.js b/backend/src/controllers/CalendarController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/ExportController.js b/backend/src/controllers/ExportController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/HolidayController.js b/backend/src/controllers/HolidayController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/InviteController.js b/backend/src/controllers/InviteController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/OAuthController.js b/backend/src/controllers/OAuthController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/PasswordController.js b/backend/src/controllers/PasswordController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/ProfileController.js b/backend/src/controllers/ProfileController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/RolesController.js b/backend/src/controllers/RolesController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/SickController.js b/backend/src/controllers/SickController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/TimeEntryController.js b/backend/src/controllers/TimeEntryController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/TimefixController.js b/backend/src/controllers/TimefixController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/TimewishController.js b/backend/src/controllers/TimewishController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/VacationController.js b/backend/src/controllers/VacationController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/WatcherController.js b/backend/src/controllers/WatcherController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/WeekOverviewController.js b/backend/src/controllers/WeekOverviewController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/WorkdaysController.js b/backend/src/controllers/WorkdaysController.js old mode 100644 new mode 100755 diff --git a/backend/src/index.js b/backend/src/index.js old mode 100644 new mode 100755 diff --git a/backend/src/middleware/auth.js b/backend/src/middleware/auth.js old mode 100644 new mode 100755 diff --git a/backend/src/middleware/hashResponse.js b/backend/src/middleware/hashResponse.js old mode 100644 new mode 100755 diff --git a/backend/src/middleware/unhashRequest.js b/backend/src/middleware/unhashRequest.js old mode 100644 new mode 100755 diff --git a/backend/src/models/AuthIdentity.js b/backend/src/models/AuthIdentity.js old mode 100644 new mode 100755 diff --git a/backend/src/models/AuthInfo.js b/backend/src/models/AuthInfo.js old mode 100644 new mode 100755 diff --git a/backend/src/models/AuthToken.js b/backend/src/models/AuthToken.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Holiday.js b/backend/src/models/Holiday.js old mode 100644 new mode 100755 diff --git a/backend/src/models/HolidayState.js b/backend/src/models/HolidayState.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Invitation.js b/backend/src/models/Invitation.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Sick.js b/backend/src/models/Sick.js old mode 100644 new mode 100755 diff --git a/backend/src/models/SickType.js b/backend/src/models/SickType.js old mode 100644 new mode 100755 diff --git a/backend/src/models/State.js b/backend/src/models/State.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Timefix.js b/backend/src/models/Timefix.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Timewish.js b/backend/src/models/Timewish.js old mode 100644 new mode 100755 diff --git a/backend/src/models/User.js b/backend/src/models/User.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Vacation.js b/backend/src/models/Vacation.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Watcher.js b/backend/src/models/Watcher.js old mode 100644 new mode 100755 diff --git a/backend/src/models/WeeklyWorktime.js b/backend/src/models/WeeklyWorktime.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Worklog.js b/backend/src/models/Worklog.js old mode 100644 new mode 100755 diff --git a/backend/src/models/index.js b/backend/src/models/index.js old mode 100644 new mode 100755 diff --git a/backend/src/repositories/UserRepository.js b/backend/src/repositories/UserRepository.js old mode 100644 new mode 100755 diff --git a/backend/src/repositories/WorklogRepository.js b/backend/src/repositories/WorklogRepository.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/auth.js b/backend/src/routes/auth.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/calendar.js b/backend/src/routes/calendar.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/export.js b/backend/src/routes/export.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/holidays.js b/backend/src/routes/holidays.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/invite.js b/backend/src/routes/invite.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/password.js b/backend/src/routes/password.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/profile.js b/backend/src/routes/profile.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/roles.js b/backend/src/routes/roles.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/sick.js b/backend/src/routes/sick.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/timeEntries.js b/backend/src/routes/timeEntries.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/timefix.js b/backend/src/routes/timefix.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/timewish.js b/backend/src/routes/timewish.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/vacation.js b/backend/src/routes/vacation.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/watcher.js b/backend/src/routes/watcher.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/weekOverview.js b/backend/src/routes/weekOverview.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/workdays.js b/backend/src/routes/workdays.js old mode 100644 new mode 100755 diff --git a/backend/src/services/AuthService.js b/backend/src/services/AuthService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/CalendarService.js b/backend/src/services/CalendarService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/ExportService.js b/backend/src/services/ExportService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/HolidayService.js b/backend/src/services/HolidayService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/InviteService.js b/backend/src/services/InviteService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/OAuthService.js b/backend/src/services/OAuthService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/PasswordService.js b/backend/src/services/PasswordService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/ProfileService.js b/backend/src/services/ProfileService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/RolesService.js b/backend/src/services/RolesService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/SickService.js b/backend/src/services/SickService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/TimeEntryService.js b/backend/src/services/TimeEntryService.js old mode 100644 new mode 100755 index 1688d81..ef37537 --- a/backend/src/services/TimeEntryService.js +++ b/backend/src/services/TimeEntryService.js @@ -1361,7 +1361,15 @@ class TimeEntryService { (Array.isArray(pairs) ? pairs : []).forEach(pair => { if (!pair.start_time) return; - const startDate = new Date(pair.start_time); + // Der Start kann durch eine Korrektur auf einen anderen Zeitpunkt (und + // damit auch auf einen anderen Kalendertag) verschoben worden sein. + const startFix = timefixMap.get(pair.id)?.find(f => f.fix_type === 'start work'); + const effectiveStartTime = startFix + ? (typeof startFix.fix_date_time === 'string' + ? startFix.fix_date_time.replace(' ', 'T') + 'Z' + : startFix.fix_date_time) + : pair.start_time; + const startDate = new Date(effectiveStartTime); const dayKey = `${startDate.getFullYear()}-${(startDate.getMonth()+1).toString().padStart(2,'0')}-${startDate.getDate().toString().padStart(2,'0')}`; if (!dayData[dayKey]) return; @@ -1379,7 +1387,6 @@ class TimeEntryService { let workEndUTC = new Date(pair.end_time); // Prüfe auf Timefix-Korrekturen - const startFix = timefixMap.get(pair.id)?.find(f => f.fix_type === 'start work'); const endFixEntry = allEntries.find(e => { const action = (typeof e.state === 'string' ? JSON.parse(e.state) : e.state)?.action || e.state; return action === 'stop work' && e.relatedTo_id === pair.id; @@ -1433,9 +1440,11 @@ class TimeEntryService { const originalEndHours = origEnd.hours; const originalEndMinutes = origEnd.minutes; - // Berechne Arbeitszeit (Dauer bleibt gleich, da beide gleich verschoben sind) - const workStartMs = typeof pair.start_time === 'string' ? new Date(pair.start_time).getTime() : workStartUTC.getTime(); - const workEndMs = typeof pair.end_time === 'string' ? new Date(pair.end_time).getTime() : workEndUTC.getTime(); + // Die Dauer muss ebenfalls die korrigierten Stempel verwenden. Zuvor + // wurden hier stets die Originalwerte aus dem Worklog verwendet; + // dadurch waren Nettozeit und Wochensumme trotz korrekter Anzeige falsch. + const workStartMs = workStartUTC.getTime(); + const workEndMs = workEndUTC.getTime(); const workDuration = workEndMs - workStartMs; const workHours = Math.floor(workDuration / (1000 * 60 * 60)); const workMinutes = Math.floor((workDuration % (1000 * 60 * 60)) / (1000 * 60)); @@ -1609,8 +1618,6 @@ class TimeEntryService { // Laufender Arbeitstag // Prüfe auf Timefix-Korrektur für Start - const startFix = timefixMap.get(pair.id)?.find(f => f.fix_type === 'start work'); - const parseTimeString = (timeStr) => { if (typeof timeStr === 'string') { const parts = timeStr.split(' ')[1]; // "HH:MM:SS" diff --git a/backend/src/services/TimefixService.js b/backend/src/services/TimefixService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/TimewishService.js b/backend/src/services/TimewishService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/VacationService.js b/backend/src/services/VacationService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/WatcherService.js b/backend/src/services/WatcherService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/WorkdaysService.js b/backend/src/services/WorkdaysService.js old mode 100644 new mode 100755 diff --git a/backend/src/utils/hashId.js b/backend/src/utils/hashId.js old mode 100644 new mode 100755 diff --git a/backend/test-password.js b/backend/test-password.js old mode 100644 new mode 100755 diff --git a/backend/update-overtime-offset.sql b/backend/update-overtime-offset.sql old mode 100644 new mode 100755 diff --git a/deployment-configs/stechuhr3.tsschulz.de-le-ssl.conf b/deployment-configs/stechuhr3.tsschulz.de-le-ssl.conf old mode 100644 new mode 100755 diff --git a/deployment-configs/stechuhr3.tsschulz.de.conf b/deployment-configs/stechuhr3.tsschulz.de.conf old mode 100644 new mode 100755 diff --git a/ecosystem.config.js b/ecosystem.config.js old mode 100644 new mode 100755 diff --git a/frontend/.env.development b/frontend/.env.development old mode 100644 new mode 100755 diff --git a/frontend/.env.production b/frontend/.env.production old mode 100644 new mode 100755 diff --git a/frontend/.gitignore b/frontend/.gitignore old mode 100644 new mode 100755 diff --git a/frontend/README.md b/frontend/README.md old mode 100644 new mode 100755 diff --git a/frontend/images/stechuhr.png b/frontend/images/stechuhr.png old mode 100644 new mode 100755 diff --git a/frontend/index.html b/frontend/index.html old mode 100644 new mode 100755 diff --git a/frontend/package.json b/frontend/package.json old mode 100644 new mode 100755 diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico old mode 100644 new mode 100755 diff --git a/frontend/public/stechuhr.png b/frontend/public/stechuhr.png old mode 100644 new mode 100755 diff --git a/frontend/src/App.vue b/frontend/src/App.vue old mode 100644 new mode 100755 diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css old mode 100644 new mode 100755 diff --git a/frontend/src/components/AppBrand.vue b/frontend/src/components/AppBrand.vue old mode 100644 new mode 100755 diff --git a/frontend/src/components/Modal.vue b/frontend/src/components/Modal.vue old mode 100644 new mode 100755 diff --git a/frontend/src/components/SideMenu.vue b/frontend/src/components/SideMenu.vue old mode 100644 new mode 100755 diff --git a/frontend/src/components/StatusBox.vue b/frontend/src/components/StatusBox.vue old mode 100644 new mode 100755 diff --git a/frontend/src/composables/useModal.js b/frontend/src/composables/useModal.js old mode 100644 new mode 100755 diff --git a/frontend/src/config/api.js b/frontend/src/config/api.js old mode 100644 new mode 100755 diff --git a/frontend/src/config/version.js b/frontend/src/config/version.js old mode 100644 new mode 100755 diff --git a/frontend/src/main.js b/frontend/src/main.js old mode 100644 new mode 100755 diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js old mode 100644 new mode 100755 diff --git a/frontend/src/stores/authStore.js b/frontend/src/stores/authStore.js old mode 100644 new mode 100755 diff --git a/frontend/src/stores/timeStore.js b/frontend/src/stores/timeStore.js old mode 100644 new mode 100755 diff --git a/frontend/src/views/AccountDeletion.vue b/frontend/src/views/AccountDeletion.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Calendar.vue b/frontend/src/views/Calendar.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Dashboard.vue b/frontend/src/views/Dashboard.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Entries.vue b/frontend/src/views/Entries.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Export.vue b/frontend/src/views/Export.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Holidays.vue b/frontend/src/views/Holidays.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Invite.vue b/frontend/src/views/Invite.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/OAuthCallback.vue b/frontend/src/views/OAuthCallback.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/PasswordChange.vue b/frontend/src/views/PasswordChange.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/PasswordForgot.vue b/frontend/src/views/PasswordForgot.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/PasswordReset.vue b/frontend/src/views/PasswordReset.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Permissions.vue b/frontend/src/views/Permissions.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Privacy.vue b/frontend/src/views/Privacy.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Profile.vue b/frontend/src/views/Profile.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Register.vue b/frontend/src/views/Register.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Roles.vue b/frontend/src/views/Roles.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Sick.vue b/frontend/src/views/Sick.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Stats.vue b/frontend/src/views/Stats.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Timefix.vue b/frontend/src/views/Timefix.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Timewish.vue b/frontend/src/views/Timewish.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Vacation.vue b/frontend/src/views/Vacation.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/WeekOverview.vue b/frontend/src/views/WeekOverview.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Workdays.vue b/frontend/src/views/Workdays.vue old mode 100644 new mode 100755 diff --git a/frontend/vite.config.js b/frontend/vite.config.js old mode 100644 new mode 100755 diff --git a/mobile-app/README.md b/mobile-app/README.md old mode 100644 new mode 100755 diff --git a/mobile-app/build.gradle.kts b/mobile-app/build.gradle.kts old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/build.gradle.kts b/mobile-app/composeApp/build.gradle.kts old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/release/composeApp-release.aab b/mobile-app/composeApp/release/composeApp-release.aab old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/debug/AndroidManifest.xml b/mobile-app/composeApp/src/debug/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/AndroidManifest.xml b/mobile-app/composeApp/src/main/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/MainActivity.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/MainActivity.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/TimeClockApplication.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/TimeClockApplication.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/config/AppConfig.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/config/AppConfig.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/admin/AdminRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/admin/AdminRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AdminDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AdminDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/ApiException.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/ApiException.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AuthDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AuthDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/BookingDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/BookingDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/FlexibleStringSerializer.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/FlexibleStringSerializer.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/SettingsDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/SettingsDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeClockApiClient.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeClockApiClient.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/AuthRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/AuthRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/TokenStore.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/TokenStore.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/booking/BookingRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/booking/BookingRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/offline/OfflineClockQueue.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/offline/OfflineClockQueue.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/settings/SettingsRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/settings/SettingsRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/time/TimeRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/time/TimeRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/TimeClockApp.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/TimeClockApp.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/AuthViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/AuthViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/LoginScreen.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/LoginScreen.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcBrandTitle.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcBrandTitle.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcButton.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcButton.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcCard.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcCard.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcNavigation.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcNavigation.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcScaffold.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcScaffold.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStateViews.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStateViews.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStatusBox.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStatusBox.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcTextField.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcTextField.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/MockData.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/MockData.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/UiModels.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/UiModels.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/VersionScreen.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/VersionScreen.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/theme/TimeClockTheme.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/theme/TimeClockTheme.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/StatusDisplay.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/StatusDisplay.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/drawable-nodpi/ic_stechuhr_logo.png b/mobile-app/composeApp/src/main/res/drawable-nodpi/ic_stechuhr_logo.png old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/values/colors.xml b/mobile-app/composeApp/src/main/res/values/colors.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/values/styles.xml b/mobile-app/composeApp/src/main/res/values/styles.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/api/ApiSerializationTest.kt b/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/api/ApiSerializationTest.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/offline/PendingClockActionTest.kt b/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/offline/PendingClockActionTest.kt old mode 100644 new mode 100755 diff --git a/mobile-app/gradle.properties b/mobile-app/gradle.properties old mode 100644 new mode 100755 diff --git a/mobile-app/gradle/wrapper/gradle-wrapper.jar b/mobile-app/gradle/wrapper/gradle-wrapper.jar old mode 100644 new mode 100755 diff --git a/mobile-app/gradle/wrapper/gradle-wrapper.properties b/mobile-app/gradle/wrapper/gradle-wrapper.properties old mode 100644 new mode 100755 diff --git a/mobile-app/gradlew.bat b/mobile-app/gradlew.bat old mode 100644 new mode 100755 diff --git a/mobile-app/settings.gradle.kts b/mobile-app/settings.gradle.kts old mode 100644 new mode 100755 diff --git a/nginx.conf b/nginx.conf old mode 100644 new mode 100755 diff --git a/package-lock.json b/package-lock.json old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/renovate.json b/renovate.json old mode 100644 new mode 100755 diff --git a/scripts/README.md b/scripts/README.md old mode 100644 new mode 100755 diff --git a/timeclock.service b/timeclock.service old mode 100644 new mode 100755 diff --git a/worklog_backup_20251015_215729.sql b/worklog_backup_20251015_215729.sql old mode 100644 new mode 100755