- 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
129 lines
5.1 KiB
Python
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,
|
|
}
|