bemade-addons/bemade_sports_clinic/__manifest__.py
Denis Durepos 53a027c87c feat: Production readiness sanitization and access control refactoring
- Remove all debug logging and statements for production deployment
- Convert operational logging from info to debug level where appropriate
- Clean up debug test files and commented code
- Refactor access control helpers into centralized AccessControlMixin
- Consolidate duplicated access control methods across controllers
- Enforce team-based access control for all portal users
- Fix access control logic to match expected security behavior
- Move TODO.md to notes/ directory for better organization
- All 76 tests passing with proper security enforcement

Production ready: Clean codebase with centralized access control and no debug noise
2025-07-31 14:55:18 -04:00

129 lines
5.1 KiB
Python

#
# Bemade Inc.
#
# Copyright (C) October 2023 Bemade Inc. (<https://www.bemade.org>).
# Author: Marc Durepos (Contact : marc@bemade.org)
#
# This program is under the terms of the Odoo Proprietary License v1.0 (OPL-1)
# It is forbidden to publish, distribute, sublicense, or sell copies of the Software
# or modified copies of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
{
'name': 'Sports Clinic Management',
'version': '18.0.1.9.0',
'summary': 'Manage the patients of a sports medicine clinic.',
'description': """
Sports Clinic Management System
=============================
A comprehensive solution for managing sports medicine clinics, focusing on player health,
injury tracking, and team collaboration.
Key Features:
------------
1. User Roles and Access:
- Internal clinic staff with full patient record access
- Treatment professionals with medical record access
- Portal access for field therapists and team coaches
2. Player Management:
- Track player details and contact information
- Monitor team memberships and playing status
- Record and track injuries and treatment history
- Track match and practice availability
3. Injury Tracking:
- Comprehensive injury recording and documentation
- Treatment professional assignment
- Progress tracking and resolution monitoring
- Internal and external notes for different audiences
4. Team Management:
- Organize players into teams
- Assign coaching and medical staff
- Team-specific player status tracking
5. Portal Access:
- Coaches can view their teams and player status
- Field therapists can access and update medical records
- Injury reporting directly through the portal
- Coaches can request player removal with reason
- Treatment professionals can approve/process removal requests
- Visual indicators for pending removal requests
- Emergency contacts management for treatment professionals
- Treatment notes management for players with or without injuries
6. Security and Privacy:
- Granular permission system
- Field-level security for sensitive information
- Audit trails for all changes
- GDPR and Quebec Law 25 compliance features
- Configurable data retention policies
7. Data Protection:
- Scheduled data anonymization
- Configurable retention periods
- Audit logging of all data handling
- Manual anonymization wizard
This module is designed to facilitate communication between medical professionals,
coaching staff, and administrative personnel while maintaining appropriate access
controls and data privacy.
""",
"category": "Services/Medical",
"author": "Bemade Inc.",
"website": "https://www.bemade.org",
"license": "LGPL-3",
"depends": [
"mail", # Required for mail.activity functionality
"portal",
"contacts",
"phone_validation", # For phone number formatting in patient contacts
],
"external_dependencies": {
"python": [
"openupgradelib",
"pytz", # For timezone handling in injury tracking
],
},
"data": [
"security/sports_clinic_groups.xml",
"security/sports_clinic_portal_groups.xml",
"security/ir.model.access.csv",
"security/sports_clinic_rules.xml",
"security/sports_clinic_portal_rules.xml",
"security/mail_activity_portal_rules.xml",
"security/partner_access.xml",
"data/sports_clinic_data.xml",
"data/admin_access_data.xml",
"data/cron_actions.xml",
"views/sports_team_views.xml",
"views/sports_clinic_menus.xml",
"views/sports_patient_injury_views.xml",
"views/sports_patient_views.xml",
"views/sports_clinic_portal_views.xml",
"views/sports_patient_injury_portal.xml",
"views/player_management_portal_templates.xml",
"views/injury_management_portal_templates.xml",
"views/task_management_portal_templates.xml",
"views/portal_activity_detail_template.xml",
"views/portal_messages_template.xml",
"views/portal_attachments_template.xml",
"views/treatment_note_views.xml",
"views/res_partner_views.xml",
"views/res_users_views.xml",
],
"demo": ["data/demo/sports_clinic_demo_data.xml"],
"installable": True,
"auto_install": False,
"application": True,
}