Commit Graph

250 Commits

Author SHA1 Message Date
Torsten Schulz (local)
d18b671532 Ändere Sichtbarkeitseinstellungen für Mitglieder: Standardmäßig sichtbar für alle eingeloggten Mitglieder, es sei denn, sie sind explizit verborgen.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s
2026-02-11 14:37:13 +01:00
Torsten Schulz (local)
af3c0164ef Füge Sichtbarkeitsoptionen für Mitglieder und registrierte Benutzer hinzu; aktualisiere die Sichtbarkeitseinstellungen basierend auf Benutzerpräferenzen in der Mitgliederabfrage und dem Sichtbarkeits-Skript.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 50s
2026-02-11 14:25:49 +01:00
Torsten Schulz (local)
c681194462 Make visibility opt-in by default; coerce visibility booleans; only 'vorstand' overrides
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s
2026-02-11 14:10:54 +01:00
Torsten Schulz (local)
141a15a6cb Respect per-user visibility; only 'vorstand' overrides visibility; UI shows contactHidden per-member
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 47s
2026-02-11 13:27:24 +01:00
Torsten (PC)
ce5915a3bc fixed .gitignore
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s
2026-02-11 13:08:07 +01:00
Torsten Schulz (local)
677140bd33 Füge Sichtbarkeitspräferenzen für Mitgliederprofile hinzu: Ermögliche Benutzern, ihre E-Mail, Telefonnummer und Adresse für andere eingeloggte Mitglieder sichtbar zu machen. Aktualisiere die API, um diese Einstellungen zu respektieren und bei der Profildatenrückgabe zu berücksichtigen.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 47s
2026-02-11 13:04:45 +01:00
Torsten Schulz (local)
8a1e309eba Verbessere Mitgliederabfrage: Filtere manuelle Mitglieder nach aktiven/akzeptierten Status und entferne nicht benötigte Datenschutzlogik.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 44s
2026-02-11 12:49:14 +01:00
Torsten Schulz (local)
0d533710cd Refactor file handling to prioritize internal data directories for backups and uploads; enhance error handling and logging for metadata and CSV operations.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 47s
2026-02-11 11:42:24 +01:00
Torsten Schulz (local)
0fcf6ced0e Galerie: proxy + previews; uploads internal; membership PDF storage hardened; migration/preview scripts
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 48s
2026-02-11 10:02:33 +01:00
Torsten Schulz (local)
9c1bcba713 Refactor Galerie component to use image IDs for keys and update image loading logic; add new scripts for generating previews and migrating public gallery to metadata with authentication checks. 2026-02-09 14:31:46 +01:00
Torsten Schulz (local)
74b28bbc49 Mitgliedschaft: 'Online ansehen' auf /verein/satzung verlinken 2026-02-09 11:42:03 +01:00
Torsten Schulz (local)
905e02debf Update CMS navigation links and remove membership application page
This commit modifies the Navigation component and the CMS index page to replace the "Mitglieder" link with "Mitgliederverwaltung" and updates the corresponding route. Additionally, it removes the outdated "mitgliedschaftsantraege" page, streamlining the CMS structure and improving user navigation.
2026-02-09 09:58:46 +01:00
Torsten Schulz (local)
80c2b0bfeb Refactor CMS navigation and remove outdated pages
This commit updates the Navigation component to replace links for "Über uns", "Geschichte", "TT-Regeln", "Satzung", and "Termine" with a consolidated "Inhalte" and "Sportbetrieb" section. Additionally, it removes the corresponding pages for "Geschichte", "Mannschaften", "Satzung", "Termine", and "Spielpläne" to streamline the CMS structure and improve content management efficiency.
2026-02-09 09:37:11 +01:00
Torsten Schulz (local)
33ef5cda5f Improve Satzung content loading and HTML conversion process
This commit ensures that the Satzung content is loaded as a string, enhancing reliability. Additionally, it refines the HTML conversion function by improving the handling of line breaks, merging related lines, and removing empty paragraphs. These changes enhance the overall quality and readability of the generated HTML content.
2026-02-06 13:35:20 +01:00
Torsten Schulz (local)
f7fe8595a1 Add WYSIWYG text editor for Satzung content management
This commit introduces a new WYSIWYG text editor for editing the Satzung text directly within the CMS. It includes functionality for saving the edited content and displays a success or error message based on the save operation's outcome. Additionally, the layout has been updated to improve the presentation of the PDF upload section and current PDF information.
2026-02-06 12:57:51 +01:00
Torsten Schulz (local)
581e80bbc3 Enhance HTML conversion for Satzung uploads by removing page numbers and improving list handling
This commit updates the text-to-HTML conversion function to remove page numbers and footers from the extracted text. It also introduces enhanced handling for enumerated lists, allowing for better formatting of items with specific patterns (e.g., a), b), c)). These changes improve the overall quality and readability of the generated HTML content.
2026-02-06 11:58:23 +01:00
Torsten Schulz (local)
78aec7ce57 Implement PDF text extraction and HTML conversion in Satzung upload process
This commit introduces a new mechanism for extracting text from uploaded PDF files using pdftotext, followed by a basic plausibility check of the extracted content. If the text meets the criteria, it is converted to HTML format and stored in the configuration, replacing the previous static content handling. This enhancement improves the accuracy and reliability of the Satzung content management.
2026-02-06 11:39:41 +01:00
Torsten Schulz (local)
7346e84abd Refactor PDF text extraction and update configuration handling in Satzung upload process
This commit removes the PDF text extraction logic and replaces it with a fallback mechanism that retains existing content or provides a neutral message. The configuration update now only sets the PDF path without automatically generating HTML content, improving clarity and maintaining the integrity of the existing data.
2026-02-06 10:55:41 +01:00
Torsten Schulz (local)
2d974214ab Update role-based access control for user management in CMS
This commit modifies the navigation and CMS user management components to allow access for both 'admin' and 'vorstand' roles. The changes include updating the conditional rendering logic in the Navigation and index.vue files, as well as adjusting the API endpoint to reflect the new role permissions, enhancing the flexibility of user access within the CMS.
2026-02-06 10:35:13 +01:00
Torsten Schulz (local)
57b32debeb Enhance user contact data visibility based on role permissions
This commit introduces role-based access control for user contact information in the CMS. It updates the user list display to show email and phone details only to users with the 'vorstand' role, while masking this information for others. Additionally, it modifies the API endpoints to ensure that contact data is only returned for authorized users, improving data privacy and security.
2026-02-06 10:12:37 +01:00
Torsten Schulz (local)
2a397fbf5d Update lodash and tar package versions in package-lock.json; add 'Startseite' link to Navigation component 2026-02-05 17:45:13 +01:00
Torsten Schulz (local)
c02ec73676 Refactor homepage layout to dynamically render sections based on configuration
This commit updates the homepage component to utilize a dynamic rendering approach for sections, allowing for configuration-based display of components. It introduces computed properties to manage section visibility and mapping of section IDs to their respective components, enhancing flexibility and maintainability of the homepage structure.
2026-02-05 17:40:02 +01:00
Torsten Schulz (local)
65fee7eeef Update Mannschaftsaufstellung headings to remove "(Hinrunde)" for consistency across components 2026-01-20 14:24:44 +01:00
Torsten Schulz (local)
0fb6634b7f Update CSV data fetching to use API endpoint in Mannschaften components
This commit modifies the loadMannschaften function across multiple components to fetch CSV data from the new API endpoint '/api/mannschaften' instead of the previous static file path '/data/mannschaften.csv'. This change enhances data retrieval consistency and aligns with the updated data management strategy in the application.
2026-01-19 08:28:43 +01:00
Torsten Schulz (local)
cee9fb468f Implement cleanup of old compressed CSV files after successful write in CMS
This commit adds logic to remove outdated `.gz` and `.br` files after a successful CSV write operation in the CMS. This ensures that users do not encounter inconsistent content due to leftover pre-compressed assets, enhancing data integrity and reliability in the application.
2026-01-19 08:13:02 +01:00
Torsten Schulz (local)
20e343c625 Implement CSV fetching utility with retry logic in Mannschaften component
This commit introduces a new utility function, fetchCsvText, to enhance the fetching of CSV data in the Mannschaften component. The function includes a cache-busting mechanism and retry logic to improve reliability when retrieving data from the server. Additionally, it updates the loadMannschaften function to utilize this new utility, ensuring better error handling and consistent data retrieval. These changes contribute to a more robust application.
2026-01-18 23:59:55 +01:00
Torsten Schulz (local)
5fa1718de9 Enhance CSV file saving mechanism in CMS with atomic write and verification
This commit improves the CSV file handling in the CMS by implementing an atomic write function that ensures data integrity during file saves. It introduces a verification step to check file size after writing, preventing issues with incomplete or corrupted files. Additionally, it refines the logic for determining target paths, prioritizing preferred directories and providing better error handling for write operations. These changes enhance the reliability and robustness of data management in the application.
2026-01-18 23:50:25 +01:00
Torsten Schulz (local)
1b7a27bc32 Implement CSV fetching utility across components for improved data handling
This commit introduces a new utility function, fetchCsvText, to streamline the fetching of CSV data across multiple components. The function includes a cache-busting mechanism and retry logic to enhance reliability when retrieving data from the server. This change improves error handling and ensures consistent data retrieval in the Mannschaften overview, detail, and schedule pages, contributing to a more robust application.
2026-01-18 23:40:59 +01:00
Torsten Schulz (local)
e8af349e08 Refactor Spieler management UI in Mannschaften component for improved usability
This commit updates the Spieler management interface by replacing the text input for moving players with a dropdown select, streamlining the process of transferring players between teams. It also adjusts the layout for better responsiveness and user experience, ensuring that player names are pre-selected based on their current team. These changes enhance the overall functionality and accessibility of the Mannschaften component.
2026-01-18 23:15:37 +01:00
Torsten Schulz (local)
e1eb7651b0 Refactor Spieler management in Mannschaften component for improved usability
This commit replaces the text area for entering players with a dynamic list interface, allowing users to add, remove, and reorder players more intuitively. It introduces functionality for moving players between teams and enhances the overall user experience by providing clear feedback and controls. The data structure for players is updated to support these changes, ensuring better data handling during team management.
2026-01-18 23:10:44 +01:00
Torsten Schulz (local)
a9e06841af Update package dependencies and enhance CSV handling in CMS
This commit updates the version of several packages in package.json and package-lock.json, including downgrading "quill" to 2.0.2 and upgrading "devalue", "diff", "h3", "node-mock-http", "tar", and "undici" to their latest versions. Additionally, it improves the CSV file handling in the CMS by implementing a cache-busting mechanism for fetching data and enhancing error handling during file saving, ensuring more robust data management.
2026-01-18 22:25:04 +01:00
Torsten Schulz (local)
724b284233 Enhance deployment script to handle symlinks and ensure proper data restoration from backup
This commit updates the deploy-production.sh script to check if the server/data directory is a symlink and removes it if necessary, ensuring that data is copied to a real directory. It also modifies the data restoration process to follow symlinks when copying from the backup, improving the reliability of data recovery during deployment.
2026-01-17 18:54:05 +01:00
Torsten Schulz (local)
23ae66a3d2 Refactor PM2 instance management in deployment script and enhance configuration for multiple instances
This commit introduces a new function to streamline the process of starting and restarting PM2 instances, improving error handling and logging. It also updates the harheimertc.config.cjs file to utilize a helper function for environment variable management, allowing for better organization and support for multiple instances. The deployment script now checks the status of both PM2 instances, providing clearer feedback on their operational state, which enhances overall deployment reliability.
2026-01-17 18:46:15 +01:00
Torsten Schulz (local)
1e87fa77f0 Add Mannschaften link to Navigation and CMS index
This commit introduces a new link to the "Mannschaften" section in both the Navigation.vue and cms/index.vue components. The addition enhances navigation options for users, allowing easier access to manage and edit teams. The new link is styled consistently with existing navigation elements, improving the overall user experience.
2026-01-17 18:39:14 +01:00
Torsten Schulz (local)
16fc7b2262 Enhance deployment script and navigation component for improved data handling and user access
This commit updates the deploy-production.sh script to remove tracked public/data CSV files from the Git index and ensures that backup files are restored correctly, with size verification for integrity. Additionally, it modifies the Navigation.vue component to allow access to the gallery for users with newsletter permissions, enhancing user experience and access control.
2026-01-17 18:34:49 +01:00
Torsten Schulz (local)
68ef362c41 Refactor category sorting logic in Vereinsmeisterschaften component
This commit introduces a new function, getSortedKategorien, to sort competition categories based on a predefined order. The rendering of categories in the Vereinsmeisterschaften component is updated to utilize this new sorting function, improving the organization and display of results. This change enhances the user experience by ensuring categories are presented in a consistent and logical order.
2026-01-17 18:22:25 +01:00
Torsten Schulz (local)
a47a7690b2 Update cookie SameSite configuration and secure options for improved security compliance
This commit enhances the cookie handling logic by providing detailed comments on the SameSite attribute options and their implications for security. It sets the default SameSite value to 'none' to allow iframe embedding while ensuring that Secure is true when SameSite is 'none'. Additionally, it adds a warning for cases where SameSite is 'none' but Secure is false, improving the overall security posture of cookie management.
2026-01-11 21:10:00 +01:00
Torsten Schulz (local)
54aee3c787 Update security headers in Apache configuration to enhance protection
This commit removes the X-Frame-Options header in favor of using Content Security Policy (CSP) with frame-ancestors for better flexibility and modern security practices. It also adds a fallback for frame-ancestors in case CSP is not enabled. Additionally, the JavaScript middleware is updated to reflect these changes, ensuring consistent security header management across the application.
2026-01-11 20:59:42 +01:00
Torsten Schulz (local)
0274bed267 Add support for multiple encryption keys in data handling
This commit introduces a mechanism to handle multiple possible encryption keys for data decryption across various modules, including auth.js, members.js, newsletter.js, and encryption.js. It adds functions to retrieve potential old keys for migration purposes and updates the decryption logic to attempt decryption with these keys. Additionally, it includes warnings for users when old keys are used and provides guidance for re-encrypting data. This enhancement improves data migration capabilities and ensures backward compatibility with previously encrypted data.
2026-01-09 09:05:05 +01:00
Torsten Schulz (local)
4914476259 Enhance newsletter subscription functionality with user profile integration
This commit updates the newsletter subscription component to display the user's email when logged in, improving user experience. It also adds logic to load the user's profile data upon authentication, ensuring that the email field is pre-filled for logged-in users. Additionally, the server-side subscription handler is modified to check user authentication status, allowing only logged-in users to subscribe to certain groups. This change enhances the overall subscription process and aligns it with user authentication state.
2026-01-09 09:01:23 +01:00
Torsten Schulz (local)
d35b94c3d9 Remove deprecated Passkey-related documentation and test files
This commit deletes several files related to Passkey functionality, including CORS_TEST_ANLEITUNG.md, CROSS_DEVICE_DEBUG.md, CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md, SMARTPHONE_TEST_ANLEITUNG.md, test-cors.html, test-smartphone.html, and Vue components for Passkey registration and recovery. These removals are part of a broader effort to streamline the codebase and focus on core authentication methods while Passkey support is under review.
2026-01-09 08:50:26 +01:00
Torsten Schulz (local)
8c38fe9098 Temporarily disable Passkey section in profil.vue for consistency with recent changes. This update comments out the Passkey management UI elements, aligning with the ongoing review of Passkey functionality across the application. 2026-01-09 08:43:31 +01:00
Torsten Schulz (local)
870988bb6e Temporarily disable Passkey functionality in login and registration components
Remove Passkey login and registration features from login.vue and registrieren.vue, including associated debug logs and UI elements. This change aims to streamline the user experience by focusing on standard login methods while Passkey support is under review. Additionally, disable Passkey management in profil.vue to ensure consistency across the application.
2026-01-09 08:40:28 +01:00
Torsten Schulz (local)
6deb15f65e Refine Passkey registration logging and API options for local authenticators
Update the registrieren.vue component to enhance debug logging for local authenticator usage, providing clearer messages about the expected behavior during registration. Modify the register-passkey-options API to specify the use of local authenticators, ensuring better clarity on the authenticator selection process. This update aims to improve user understanding and troubleshooting during Passkey registration without the need for Cross-Device functionality.
2026-01-09 08:30:40 +01:00
Torsten Schulz (local)
31af56d908 Enhance Cross-Device registration debugging and API options
Update the registrieren.vue component to improve debug logging for Cross-Device registration, including checks for local authenticators and tunnel server connections. Add warnings for potential issues when Cross-Device is not used. Modify the register-passkey-options API to ensure compatibility with Cross-Device requirements by allowing both platform and cross-platform authenticators. This update aims to provide clearer insights and troubleshooting guidance during the Passkey registration process.
2026-01-09 08:10:13 +01:00
Torsten Schulz (local)
0eacc0cb4a Enhance Cross-Device support and documentation for Passkey Registration
Update the CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md to clarify the role of tunnel servers in the Cross-Device authentication process and outline troubleshooting steps. Additionally, enhance the registrieren.vue component with detailed information about the FIDO Cross-Device flow, including QR-Code format, connection requirements, and potential issues. Improve the register-passkey-options API documentation to reflect the use of tunnel servers, ensuring better understanding and support for Cross-Device functionality.
2026-01-09 08:04:50 +01:00
Torsten Schulz (local)
47f40e4a44 Enhance debug information for Passkey Registration in registrieren.vue
Update the registrieren.vue component to include additional debug information for the Passkey registration process. Introduce new elements for displaying the smartphone URL, registration ID, and full options JSON, improving the clarity of debug outputs. Implement a copy-to-clipboard functionality for easier access to debug data, enhancing the overall user experience during Cross-Device registration.
2026-01-09 07:38:11 +01:00
Torsten Schulz (local)
adb7d194a7 Enhance logging for mobile requests in log-requests middleware
Add functionality to log all requests from mobile devices, improving debugging capabilities. Extend the existing passkey endpoint checks to include a new endpoint for cross-device registration. This update aims to provide clearer insights into mobile user interactions with the application.
2026-01-08 23:42:16 +01:00
Torsten Schulz (local)
55d2fa3f16 Enhance debug logging for Passkey Registration requests
Improve logging in the register-passkey-options and log-requests middleware to provide detailed insights into request handling. Add user-agent analysis, IP address logging, and mobile/desktop detection to aid in troubleshooting. This update aims to enhance the clarity of request logs and support better debugging during the Passkey registration process.
2026-01-08 23:33:04 +01:00
Torsten Schulz (local)
7bacfbd577 Update deployment script to ensure PM2 processes start with updated environment variables. This change improves the reliability of the process startup by incorporating the --update-env flag, enhancing deployment robustness. 2026-01-08 23:28:25 +01:00