style: Implement MongoDB connection and user collection retrieval in server steering
style: Add version management methods for advanced and email packages
style: Update instance editing functionality for new package options
style: Update binary image file in static resources
- Removed tenant configuration management code including TenantConfigManager and related functions.
- Deleted tenant resolver and guards for module access control.
- Eliminated tenant-aware error handling and associated HTML templates.
- Cleaned up main application file by removing tenant-related imports and context processors.
- Removed tenant configuration JSON file and related unit tests.
Co-authored-by: Copilot <copilot@github.com>
- Added tenant verification checklist in TENANT_VERIFICATION.md for system validation.
- Created tenant_config.py to manage tenant-specific configurations with global defaults and per-tenant overrides.
- Introduced tenant_guards.py for route protection based on module availability.
- Developed tenant_resolver.py for identifying active tenants from requests using subdomains and headers.
- Added tenant_templates.py for Jinja2 template helpers to check module visibility.
- Created error_403.html for custom 403 error handling.
- Defined tenants.json for tenant configurations and module management.
- Implemented unit tests in test_tenant_system.py to ensure functionality of tenant system components.
Co-authored-by: Copilot <copilot@github.com>
- Removed the JWT authentication setup and related access token handling.
- Deleted the test license activation functionality and associated routes.
- Removed the admin license management interface and related templates.
- Cleaned up the appointments page by removing test license options.
- Updated various templates to reflect changes in terminology from "license" to "instance".
- Removed the verify module and its associated functions for license key management.
- Deleted unused templates related to license management.
- Added a new empty JSON file for licenses backup.
- Removed `run.sh` and `test.sh` scripts to simplify the project structure.
- Added `setup-first-install.sh` to handle initial setup tasks with options to skip specific steps.
- Updated `invario-stack-autostart.service` to use `gitea.sh` for starting the stack on boot.
- Removed `start-stack-on-boot.sh` as its functionality is now integrated into the service.
- Enhanced `admin_system.html` with a new live logs panel, including automatic updates and log source selection.
- Improved CSS styles for the new logs panel for better UI consistency.
- Added JavaScript functionality to fetch and display live logs from the server.
- Updated Dockerfile to use Gunicorn for serving the Flask application instead of the default Python command.
- Modified docker-compose.yml to set memory limits and reservations for MongoDB and the web service.
- Enhanced main.py with improved MongoDB connection management using a thread-safe singleton pattern and added environment variable configurations for connection pooling.
- Introduced new utility functions for system monitoring, including uptime, load averages, and disk usage.
- Added backup and restore functionality for instances, including routes for exporting and importing backups.
- Removed the live monitor section from admin_instances.html and updated admin_system.html to include a comprehensive server management dashboard with KPIs and usage charts.
- Added a new gunicorn configuration file for better performance tuning.
- Updated requirements.txt to include Gunicorn as a dependency.
- Implemented sync_dev_hosts.sh for managing local hosts entries for development.
- Created admin_instances.html for managing school instances, including creation and listing.
- Developed admin_system.html for core services management, including restart and backup operations.
- Added my_instance.html for users to view and manage their assigned instances.
- Introduced provision_instance.sh for provisioning new instances with Docker, including Nginx configuration and SSL certificate handling.
- Added a quick admin link section in the admin dashboard for managing team cards.
- Updated the admin licenses template to correct German language spelling.
- Improved the appointments template with conditional rendering for test package options.
- Enhanced the base template with a logo image and adjusted brand styling.
- Updated the license management template for consistent German language usage.
- Removed the tutorial template and replaced it with a new admin team management template.
- Introduced a new admin team management page allowing for the addition, editing, and deletion of team members.
- Updated "Termin" to "Buchung" in admin_dashboard.html and appointments.html for consistency.
- Enhanced language for better understanding in various templates, including base.html, dienstleistungen.html, inventarsystem.html, kontakt.html, login.html, main.html, projekte.html, register.html, team.html, and added a new tutorial.html.
- Corrected spelling and grammatical errors throughout the templates.
- Improved user guidance and descriptions for better user experience.
- Updated base template to include a link for license key management.
- Created a new template for license key management with forms for generating and allocating keys, as well as backup options.
- Implemented backup.py for loading and saving licenses to MongoDB, including export and import functionalities.
- Added verify.py for license key verification, user ID generation, and key registration.
- Added a section in the admin dashboard for blocking calendar days with a form to submit block dates and reasons.
- Implemented a list of blocked days with the ability to unblock them.
- Enhanced appointment details to include meeting type and location information.
- Updated styles for blocked days in the appointment calendar.
- Improved footer design with animations and responsive adjustments.
- Removed unused license transfer forms from admin and user license templates.
- Changed database name references from 'Inventarsystem' to 'Invario_Website' in user management functions.
- Created 'dienstleistungen.html' to showcase services offered, including inventory system, license management, support, consulting, security concepts, and training.
- Created 'kontakt.html' for contact information, including email and phone details, along with a booking section for appointments.
- Created 'projekte.html' to highlight current and past projects and clients, providing insights into collaborations with educational institutions.
- Created 'team.html' to introduce the team structure, roles, and selected references in the educational sector.
- Created .vscode/settings.json for Python environment configuration.
- Added run.sh script for MongoDB installation and project setup.
- Implemented admin chat interface in admin_chats.html.
- Developed invoice management interface in admin_invoices.html.
- Created license management interface in admin_licenses.html.
- Added support ticket management interface in admin_tickets.html.
- Implemented user management interface in admin_users.html.
- Developed user chat interface in chat.html.
- Created user invoice overview in my_invoices.html.
- Developed user license overview in my_licenses.html.
- Added support ticket creation and tracking in tickets.html.
- Created test.sh script for MongoDB setup.
- Implement login and registration HTML templates for user authentication.
- Create user management functions in user.py for handling user data, including adding, deleting, and updating users.
- Introduce password hashing and strength checking for secure user credentials.
- Add terms of service and privacy policy pages to the website.
- Enhance main page with dynamic content based on user session status.