Update file permissions for multiple backend and frontend files to executable mode (755)
This commit is contained in:
0
backend/.gitignore
vendored
Normal file → Executable file
0
backend/.gitignore
vendored
Normal file → Executable file
0
backend/ARCHITECTURE.md
Normal file → Executable file
0
backend/ARCHITECTURE.md
Normal file → Executable file
0
backend/DATABASE.md
Normal file → Executable file
0
backend/DATABASE.md
Normal file → Executable file
0
backend/DB_SETUP.md
Normal file → Executable file
0
backend/DB_SETUP.md
Normal file → Executable file
0
backend/ID_HASHING.md
Normal file → Executable file
0
backend/ID_HASHING.md
Normal file → Executable file
0
backend/MIGRATION_timewish_dates.md
Normal file → Executable file
0
backend/MIGRATION_timewish_dates.md
Normal file → Executable file
0
backend/MYSQL_SETUP.md
Normal file → Executable file
0
backend/MYSQL_SETUP.md
Normal file → Executable file
0
backend/README.md
Normal file → Executable file
0
backend/README.md
Normal file → Executable file
0
backend/SEQUELIZE.md
Normal file → Executable file
0
backend/SEQUELIZE.md
Normal file → Executable file
0
backend/SQL_EXECUTION_ORDER.md
Normal file → Executable file
0
backend/SQL_EXECUTION_ORDER.md
Normal file → Executable file
0
backend/add-missing-wednesday.sql
Normal file → Executable file
0
backend/add-missing-wednesday.sql
Normal file → Executable file
0
backend/add-sick-index.sql
Normal file → Executable file
0
backend/add-sick-index.sql
Normal file → Executable file
0
backend/add-timewish-dates.sql
Normal file → Executable file
0
backend/add-timewish-dates.sql
Normal file → Executable file
0
backend/add-vacation-index.sql
Normal file → Executable file
0
backend/add-vacation-index.sql
Normal file → Executable file
0
backend/adjust-overtime-offset-to-3h.sql
Normal file → Executable file
0
backend/adjust-overtime-offset-to-3h.sql
Normal file → Executable file
0
backend/create-invitation-table.sql
Normal file → Executable file
0
backend/create-invitation-table.sql
Normal file → Executable file
0
backend/create-watcher-table.sql
Normal file → Executable file
0
backend/create-watcher-table.sql
Normal file → Executable file
0
backend/database-schema.sql
Normal file → Executable file
0
backend/database-schema.sql
Normal file → Executable file
0
backend/env.production.template
Normal file → Executable file
0
backend/env.production.template
Normal file → Executable file
0
backend/fix-timezone-correct.js
Normal file → Executable file
0
backend/fix-timezone-correct.js
Normal file → Executable file
0
backend/fix-timezone.js
Normal file → Executable file
0
backend/fix-timezone.js
Normal file → Executable file
0
backend/fix-worklog-timezone.sql
Normal file → Executable file
0
backend/fix-worklog-timezone.sql
Normal file → Executable file
0
backend/migrate-timewish-simple.sql
Normal file → Executable file
0
backend/migrate-timewish-simple.sql
Normal file → Executable file
0
backend/migrate-timewish.sql
Normal file → Executable file
0
backend/migrate-timewish.sql
Normal file → Executable file
0
backend/nodemon.json
Normal file → Executable file
0
backend/nodemon.json
Normal file → Executable file
0
backend/package.json
Normal file → Executable file
0
backend/package.json
Normal file → Executable file
0
backend/replace-thursday-data.sql
Normal file → Executable file
0
backend/replace-thursday-data.sql
Normal file → Executable file
0
backend/rollback-timezone.js
Normal file → Executable file
0
backend/rollback-timezone.js
Normal file → Executable file
0
backend/set-password.js
Normal file → Executable file
0
backend/set-password.js
Normal file → Executable file
0
backend/set-user-admin.sql
Normal file → Executable file
0
backend/set-user-admin.sql
Normal file → Executable file
0
backend/setup-timewish-complete.sql
Normal file → Executable file
0
backend/setup-timewish-complete.sql
Normal file → Executable file
0
backend/src/config/database.js
Normal file → Executable file
0
backend/src/config/database.js
Normal file → Executable file
0
backend/src/config/passport.js
Normal file → Executable file
0
backend/src/config/passport.js
Normal file → Executable file
0
backend/src/controllers/AuthController.js
Normal file → Executable file
0
backend/src/controllers/AuthController.js
Normal file → Executable file
0
backend/src/controllers/CalendarController.js
Normal file → Executable file
0
backend/src/controllers/CalendarController.js
Normal file → Executable file
0
backend/src/controllers/ExportController.js
Normal file → Executable file
0
backend/src/controllers/ExportController.js
Normal file → Executable file
0
backend/src/controllers/HolidayController.js
Normal file → Executable file
0
backend/src/controllers/HolidayController.js
Normal file → Executable file
0
backend/src/controllers/InviteController.js
Normal file → Executable file
0
backend/src/controllers/InviteController.js
Normal file → Executable file
0
backend/src/controllers/OAuthController.js
Normal file → Executable file
0
backend/src/controllers/OAuthController.js
Normal file → Executable file
0
backend/src/controllers/PasswordController.js
Normal file → Executable file
0
backend/src/controllers/PasswordController.js
Normal file → Executable file
0
backend/src/controllers/ProfileController.js
Normal file → Executable file
0
backend/src/controllers/ProfileController.js
Normal file → Executable file
0
backend/src/controllers/RolesController.js
Normal file → Executable file
0
backend/src/controllers/RolesController.js
Normal file → Executable file
0
backend/src/controllers/SickController.js
Normal file → Executable file
0
backend/src/controllers/SickController.js
Normal file → Executable file
0
backend/src/controllers/TimeEntryController.js
Normal file → Executable file
0
backend/src/controllers/TimeEntryController.js
Normal file → Executable file
0
backend/src/controllers/TimefixController.js
Normal file → Executable file
0
backend/src/controllers/TimefixController.js
Normal file → Executable file
0
backend/src/controllers/TimewishController.js
Normal file → Executable file
0
backend/src/controllers/TimewishController.js
Normal file → Executable file
0
backend/src/controllers/VacationController.js
Normal file → Executable file
0
backend/src/controllers/VacationController.js
Normal file → Executable file
0
backend/src/controllers/WatcherController.js
Normal file → Executable file
0
backend/src/controllers/WatcherController.js
Normal file → Executable file
0
backend/src/controllers/WeekOverviewController.js
Normal file → Executable file
0
backend/src/controllers/WeekOverviewController.js
Normal file → Executable file
0
backend/src/controllers/WorkdaysController.js
Normal file → Executable file
0
backend/src/controllers/WorkdaysController.js
Normal file → Executable file
0
backend/src/index.js
Normal file → Executable file
0
backend/src/index.js
Normal file → Executable file
0
backend/src/middleware/auth.js
Normal file → Executable file
0
backend/src/middleware/auth.js
Normal file → Executable file
0
backend/src/middleware/hashResponse.js
Normal file → Executable file
0
backend/src/middleware/hashResponse.js
Normal file → Executable file
0
backend/src/middleware/unhashRequest.js
Normal file → Executable file
0
backend/src/middleware/unhashRequest.js
Normal file → Executable file
0
backend/src/models/AuthIdentity.js
Normal file → Executable file
0
backend/src/models/AuthIdentity.js
Normal file → Executable file
0
backend/src/models/AuthInfo.js
Normal file → Executable file
0
backend/src/models/AuthInfo.js
Normal file → Executable file
0
backend/src/models/AuthToken.js
Normal file → Executable file
0
backend/src/models/AuthToken.js
Normal file → Executable file
0
backend/src/models/Holiday.js
Normal file → Executable file
0
backend/src/models/Holiday.js
Normal file → Executable file
0
backend/src/models/HolidayState.js
Normal file → Executable file
0
backend/src/models/HolidayState.js
Normal file → Executable file
0
backend/src/models/Invitation.js
Normal file → Executable file
0
backend/src/models/Invitation.js
Normal file → Executable file
0
backend/src/models/Sick.js
Normal file → Executable file
0
backend/src/models/Sick.js
Normal file → Executable file
0
backend/src/models/SickType.js
Normal file → Executable file
0
backend/src/models/SickType.js
Normal file → Executable file
0
backend/src/models/State.js
Normal file → Executable file
0
backend/src/models/State.js
Normal file → Executable file
0
backend/src/models/Timefix.js
Normal file → Executable file
0
backend/src/models/Timefix.js
Normal file → Executable file
0
backend/src/models/Timewish.js
Normal file → Executable file
0
backend/src/models/Timewish.js
Normal file → Executable file
0
backend/src/models/User.js
Normal file → Executable file
0
backend/src/models/User.js
Normal file → Executable file
0
backend/src/models/Vacation.js
Normal file → Executable file
0
backend/src/models/Vacation.js
Normal file → Executable file
0
backend/src/models/Watcher.js
Normal file → Executable file
0
backend/src/models/Watcher.js
Normal file → Executable file
0
backend/src/models/WeeklyWorktime.js
Normal file → Executable file
0
backend/src/models/WeeklyWorktime.js
Normal file → Executable file
0
backend/src/models/Worklog.js
Normal file → Executable file
0
backend/src/models/Worklog.js
Normal file → Executable file
0
backend/src/models/index.js
Normal file → Executable file
0
backend/src/models/index.js
Normal file → Executable file
0
backend/src/repositories/UserRepository.js
Normal file → Executable file
0
backend/src/repositories/UserRepository.js
Normal file → Executable file
0
backend/src/repositories/WorklogRepository.js
Normal file → Executable file
0
backend/src/repositories/WorklogRepository.js
Normal file → Executable file
0
backend/src/routes/auth.js
Normal file → Executable file
0
backend/src/routes/auth.js
Normal file → Executable file
0
backend/src/routes/calendar.js
Normal file → Executable file
0
backend/src/routes/calendar.js
Normal file → Executable file
0
backend/src/routes/export.js
Normal file → Executable file
0
backend/src/routes/export.js
Normal file → Executable file
0
backend/src/routes/holidays.js
Normal file → Executable file
0
backend/src/routes/holidays.js
Normal file → Executable file
0
backend/src/routes/invite.js
Normal file → Executable file
0
backend/src/routes/invite.js
Normal file → Executable file
0
backend/src/routes/password.js
Normal file → Executable file
0
backend/src/routes/password.js
Normal file → Executable file
0
backend/src/routes/profile.js
Normal file → Executable file
0
backend/src/routes/profile.js
Normal file → Executable file
0
backend/src/routes/roles.js
Normal file → Executable file
0
backend/src/routes/roles.js
Normal file → Executable file
0
backend/src/routes/sick.js
Normal file → Executable file
0
backend/src/routes/sick.js
Normal file → Executable file
0
backend/src/routes/timeEntries.js
Normal file → Executable file
0
backend/src/routes/timeEntries.js
Normal file → Executable file
0
backend/src/routes/timefix.js
Normal file → Executable file
0
backend/src/routes/timefix.js
Normal file → Executable file
0
backend/src/routes/timewish.js
Normal file → Executable file
0
backend/src/routes/timewish.js
Normal file → Executable file
0
backend/src/routes/vacation.js
Normal file → Executable file
0
backend/src/routes/vacation.js
Normal file → Executable file
0
backend/src/routes/watcher.js
Normal file → Executable file
0
backend/src/routes/watcher.js
Normal file → Executable file
0
backend/src/routes/weekOverview.js
Normal file → Executable file
0
backend/src/routes/weekOverview.js
Normal file → Executable file
0
backend/src/routes/workdays.js
Normal file → Executable file
0
backend/src/routes/workdays.js
Normal file → Executable file
0
backend/src/services/AuthService.js
Normal file → Executable file
0
backend/src/services/AuthService.js
Normal file → Executable file
0
backend/src/services/CalendarService.js
Normal file → Executable file
0
backend/src/services/CalendarService.js
Normal file → Executable file
0
backend/src/services/ExportService.js
Normal file → Executable file
0
backend/src/services/ExportService.js
Normal file → Executable file
0
backend/src/services/HolidayService.js
Normal file → Executable file
0
backend/src/services/HolidayService.js
Normal file → Executable file
0
backend/src/services/InviteService.js
Normal file → Executable file
0
backend/src/services/InviteService.js
Normal file → Executable file
0
backend/src/services/OAuthService.js
Normal file → Executable file
0
backend/src/services/OAuthService.js
Normal file → Executable file
0
backend/src/services/PasswordService.js
Normal file → Executable file
0
backend/src/services/PasswordService.js
Normal file → Executable file
0
backend/src/services/ProfileService.js
Normal file → Executable file
0
backend/src/services/ProfileService.js
Normal file → Executable file
0
backend/src/services/RolesService.js
Normal file → Executable file
0
backend/src/services/RolesService.js
Normal file → Executable file
0
backend/src/services/SickService.js
Normal file → Executable file
0
backend/src/services/SickService.js
Normal file → Executable file
21
backend/src/services/TimeEntryService.js
Normal file → Executable file
21
backend/src/services/TimeEntryService.js
Normal file → Executable file
@@ -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"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user