bemade_sports_clinic: add consent field, translations and general cleanup

This commit is contained in:
Marc Durepos 2024-02-20 20:06:35 -05:00
parent 12f19c5fbc
commit 0a2ec5fd8d
8 changed files with 401 additions and 258 deletions

View file

@ -18,7 +18,7 @@
# #
{ {
'name': 'Sports Clinic Management', 'name': 'Sports Clinic Management',
'version': '16.0.1.5.5', 'version': '16.0.1.5.6',
'summary': 'Manage the patients of a sports medicine clinic.', 'summary': 'Manage the patients of a sports medicine clinic.',
'description': """ 'description': """
Adds the notion of sports teams, players (patients), coaches and treatment Adds the notion of sports teams, players (patients), coaches and treatment
@ -45,6 +45,7 @@
'data/sports_clinic_data.xml', 'data/sports_clinic_data.xml',
'views/sports_team_views.xml', 'views/sports_team_views.xml',
'views/sports_clinic_menus.xml', 'views/sports_clinic_menus.xml',
'views/sports_patient_injury_views.xml',
'views/sports_patient_views.xml', 'views/sports_patient_views.xml',
'views/sports_clinic_portal_views.xml', 'views/sports_clinic_portal_views.xml',
'views/res_partner_views.xml', 'views/res_partner_views.xml',

View file

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 16.0\n" "Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-11-07 20:03+0000\n" "POT-Creation-Date: 2024-02-21 00:52+0000\n"
"PO-Revision-Date: 2023-11-07 20:03+0000\n" "PO-Revision-Date: 2024-02-21 00:52+0000\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -25,11 +25,6 @@ msgstr ""
msgid "/my/teams" msgid "/my/teams"
msgstr "" msgstr ""
#. module: bemade_sports_clinic
#: model:ir.model,name:bemade_sports_clinic.model_sports_patient_injury
msgid "A patient's injury."
msgstr "La blessure d'un patient."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#. odoo-python #. odoo-python
#: code:addons/bemade_sports_clinic/models/sports_team.py:0 #: code:addons/bemade_sports_clinic/models/sports_team.py:0
@ -105,6 +100,11 @@ msgstr "Administrateur"
msgid "Age" msgid "Age"
msgstr "Âge" msgstr "Âge"
#. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__allergies
msgid "Allergies"
msgstr ""
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__message_attachment_count #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__message_attachment_count
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__message_attachment_count #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__message_attachment_count
@ -112,14 +112,9 @@ msgid "Attachment Count"
msgstr "Nombre de pièces jointes" msgstr "Nombre de pièces jointes"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__stage__practice_ok #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__city
msgid "Cleared for Practice" msgid "City"
msgstr "Pratiques autorisées" msgstr "Ville"
#. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__stage__healthy
msgid "Cleared to Play"
msgstr "Matchs autorisés"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_team_staff__role__coach #: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_team_staff__role__coach
@ -128,8 +123,9 @@ msgstr "Entraîneur"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model,name:bemade_sports_clinic.model_res_partner #: model:ir.model,name:bemade_sports_clinic.model_res_partner
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__partner_id
msgid "Contact" msgid "Contact"
msgstr "Contact" msgstr ""
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__contact_type #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__contact_type
@ -139,7 +135,12 @@ msgstr "Type de contact"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
msgid "Contacts" msgid "Contacts"
msgstr "Contacts" msgstr ""
#. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__country_id
msgid "Country"
msgstr "Pays"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__create_uid #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__create_uid
@ -159,15 +160,20 @@ msgstr "Créé par"
msgid "Created on" msgid "Created on"
msgstr "Créé le" msgstr "Créé le"
#. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_kanban
msgid "DOB:"
msgstr "DDN :"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__date_of_birth #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__date_of_birth
msgid "Date Of Birth" msgid "Date Of Birth"
msgstr "Date de naissance" msgstr "Date de naissance"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__injury_date_time #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__injury_date
msgid "Date and Time of Injury" msgid "Date of Injury"
msgstr "Date et heure de la blessure" msgstr "Date de la blessure"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_injury_view_tree #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_injury_view_tree
@ -189,6 +195,11 @@ msgstr "Diagnostique"
msgid "Display Name" msgid "Display Name"
msgstr "Nom pour affichage" msgstr "Nom pour affichage"
#. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_team_staff__role__doctor
msgid "Doctor"
msgstr "Docteur"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.constraint,message:bemade_sports_clinic.constraint_sports_team_staff_team_staff_unique #: model:ir.model.constraint,message:bemade_sports_clinic.constraint_sports_team_staff_team_staff_unique
msgid "Each partner can only be related to a given team once." msgid "Each partner can only be related to a given team once."
@ -301,7 +312,7 @@ msgstr "En santé :"
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team__id #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team__id
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team_staff__id #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team_staff__id
msgid "ID" msgid "ID"
msgstr "ID" msgstr ""
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__activity_exception_icon #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__activity_exception_icon
@ -329,6 +340,13 @@ msgstr "Si coché, des nouveaux messages nécessitent votre attention."
msgid "If checked, some messages have a delivery error." msgid "If checked, some messages have a delivery error."
msgstr "Si coché, certains messages ont une erreur de livraison." msgstr "Si coché, certains messages ont une erreur de livraison."
#. module: bemade_sports_clinic
#. odoo-python
#: code:addons/bemade_sports_clinic/models/patient_injury.py:0
#, python-format
msgid "If injury date is not set, the N/A box must be checked."
msgstr "Sa la date de la blessure n'est pas remplie, la case S/O doit être cochée."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__stage__no_play #: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__stage__no_play
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_teams #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_teams
@ -463,7 +481,14 @@ msgstr "Erreur de livraison du message"
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__message_ids #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__message_ids
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__message_ids #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__message_ids
msgid "Messages" msgid "Messages"
msgstr "Messages" msgstr ""
#. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__mobile
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__mobile
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team_staff__mobile
msgid "Mobile"
msgstr ""
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient_contact__contact_type__mother #: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient_contact__contact_type__mother
@ -476,6 +501,12 @@ msgstr "Mère"
msgid "My Activity Deadline" msgid "My Activity Deadline"
msgstr "Date limite de mon activité" msgstr "Date limite de mon activité"
#. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__injury_date_na
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient_injury__parental_consent__na
msgid "N/A"
msgstr "S/O"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__name #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__name
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__name #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__name
@ -508,13 +539,15 @@ msgstr "Type de la prochaine activité"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__match_status__no #: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__match_status__no
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__practice_status__no #: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__practice_status__no
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient_injury__parental_consent__no
msgid "No" msgid "No"
msgstr "Non" msgstr "Non"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__team_info_notes
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_player_injuries #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_player_injuries
msgid "Notes" msgid "Notes"
msgstr "Notes" msgstr ""
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__message_needaction_counter #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__message_needaction_counter
@ -557,6 +590,11 @@ msgstr "Organisation"
msgid "Other" msgid "Other"
msgstr "Autre" msgstr "Autre"
#. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
msgid "Other Contacts"
msgstr "Autres contacts"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_res_partner__owned_team_ids #: model:ir.model.fields,field_description:bemade_sports_clinic.field_res_partner__owned_team_ids
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_res_users__owned_team_ids #: model:ir.model.fields,field_description:bemade_sports_clinic.field_res_users__owned_team_ids
@ -571,55 +609,96 @@ msgid "Parent Organization"
msgstr "Organisation parente" msgstr "Organisation parente"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__parental_consent
msgid "Consent for Disclosure to Parent"
msgstr "Consentement pour divulgation au parent"
#. module: bemade_sports_clinic
#: model:ir.model,name:bemade_sports_clinic.model_sports_patient
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_res_partner__patient_ids
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_res_users__patient_ids
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__patient_id #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__patient_id
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__patient_id #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__patient_id
msgid "Patient" msgid "Patient"
msgstr "Patient(e)" msgstr "Patient dans une clinique de médecine sportive."
#. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
msgid "Patient Address"
msgstr "Adresse du patient"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__contact_ids #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__contact_ids
msgid "Patient Contacts" msgid "Patient Contacts"
msgstr "Contacts du patient" msgstr "Contacts du patient"
#. module: bemade_sports_clinic
#: model:mail.message.subtype,name:bemade_sports_clinic.subtype_patient_update
msgid "Patient File Update"
msgstr "Mise à jour du dossier du patient"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
msgid "Patient Information" msgid "Patient Information"
msgstr "Information du patient" msgstr "Information du patient"
#. module: bemade_sports_clinic
#: model:ir.model,name:bemade_sports_clinic.model_sports_patient_injury
msgid "Patient Injury"
msgstr "La blessure d'un patient."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_injury_view_tree #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_injury_view_tree
msgid "Patient Injury History" msgid "Patient Injury History"
msgstr "Historique des blessures du patient" msgstr "Historique des blessures du patient"
#. module: bemade_sports_clinic
#: model:mail.message.subtype,name:bemade_sports_clinic.subtype_patient_injury_update
msgid "Patient Injury Status Update"
msgstr "Mise à jour du statut de la blessure d'un patient"
#. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
msgid "Patient Phone & Email"
msgstr "Téléphone et courriel du patient"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
msgid "Patient Record" msgid "Patient Record"
msgstr "Dossier du patient" msgstr "Dossier du patient"
#. module: bemade_sports_clinic
#: model:ir.model,name:bemade_sports_clinic.model_sports_patient
msgid "Patient at a sports medicine clinic."
msgstr "Patient dans une clinique de médecine sportive."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
msgid "Patient's Contacts" msgid "Patient's Contacts"
msgstr "Contacts du patient" msgstr "Contacts du patient"
#. module: bemade_sports_clinic
#: model:mail.message.subtype,description:bemade_sports_clinic.subtype_patient_update
msgid "Patient's file has been updated."
msgstr "Le dossier du patient a été mis à jour."
#. module: bemade_sports_clinic
#: model:mail.message.subtype,description:bemade_sports_clinic.subtype_patient_injury_update
msgid "Patient's injury was updated."
msgstr "Le dossier de la blessure du patient a été mis à jour."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.actions.act_window,name:bemade_sports_clinic.action_view_patient #: model:ir.actions.act_window,name:bemade_sports_clinic.action_view_patient
#: model:ir.ui.menu,name:bemade_sports_clinic.sports_clinic_patients #: model:ir.ui.menu,name:bemade_sports_clinic.sports_clinic_patients
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_list #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_list
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_list_embedded #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_list_embedded
msgid "Patients" msgid "Patients"
msgstr "Patients" msgstr ""
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__mobile #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__phone
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_contact__mobile msgid "Phone"
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team_staff__mobile msgstr "Téléphone"
msgid "Mobile"
msgstr "Mobile" #. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__stage__healthy
msgid "Play OK"
msgstr "Matchs autorisés"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team__player_count #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team__player_count
@ -635,6 +714,11 @@ msgstr "Nombre de joueurs"
msgid "Players" msgid "Players"
msgstr "Joueurs" msgstr "Joueurs"
#. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__stage__practice_ok
msgid "Practice OK"
msgstr "Pratiques autorisées"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__practice_status #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__practice_status
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_players #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_players
@ -652,11 +736,6 @@ msgstr "Date prévue de résolution"
msgid "Predicted Return Date" msgid "Predicted Return Date"
msgstr "Date prévue de retour" msgstr "Date prévue de retour"
#. module: bemade_sports_clinic
#: model:ir.model,name:bemade_sports_clinic.model_sports_team_staff
msgid "Relationship between staff members and their teams."
msgstr "Relation entre les membres du personnel et leurs équipes."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__resolution_date #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__resolution_date
msgid "Resolution Date" msgid "Resolution Date"
@ -720,6 +799,11 @@ msgstr "Gestion de clinique de médecine sportive"
msgid "Sports Team" msgid "Sports Team"
msgstr "Équipe sportive" msgstr "Équipe sportive"
#. module: bemade_sports_clinic
#: model:ir.model,name:bemade_sports_clinic.model_sports_team_staff
msgid "Sports Team Staff"
msgstr "Relation entre les membres du personnel et leurs équipes."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.actions.act_window,name:bemade_sports_clinic.action_view_team #: model:ir.actions.act_window,name:bemade_sports_clinic.action_view_team
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_team_view_list #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_team_view_list
@ -744,6 +828,11 @@ msgstr "Membre du personnel"
msgid "Stage" msgid "Stage"
msgstr "Étape" msgstr "Étape"
#. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__state_id
msgid "State"
msgstr "État"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,help:bemade_sports_clinic.field_sports_patient__activity_state #: model:ir.model.fields,help:bemade_sports_clinic.field_sports_patient__activity_state
#: model:ir.model.fields,help:bemade_sports_clinic.field_sports_patient_injury__activity_state #: model:ir.model.fields,help:bemade_sports_clinic.field_sports_patient_injury__activity_state
@ -758,6 +847,21 @@ msgstr ""
"Aujourd'hui: La date d'échéance est aujourd'hui\n" "Aujourd'hui: La date d'échéance est aujourd'hui\n"
"Planifiées: Activités futures." "Planifiées: Activités futures."
#. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_kanban
msgid "Status:"
msgstr "Statut :"
#. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__street
msgid "Street"
msgstr "Rue"
#. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__street2
msgid "Street2"
msgstr "Rue2"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team_staff__team_id #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team_staff__team_id
msgid "Team" msgid "Team"
@ -804,6 +908,11 @@ msgstr "La date quand la blessure a été résolue."
msgid "The teams this person works for." msgid "The teams this person works for."
msgstr "Les équipes pour lesquelles cette personne travaille." msgstr "Les équipes pour lesquelles cette personne travaille."
#. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_team_staff__role__therapist
msgid "Therapist"
msgstr "Thérapeute"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#. odoo-python #. odoo-python
#: code:addons/bemade_sports_clinic/controllers/team_staff_portal.py:0 #: code:addons/bemade_sports_clinic/controllers/team_staff_portal.py:0
@ -818,21 +927,18 @@ msgstr "Ce joueur n'a pu être trouvé."
msgid "This team could not be found." msgid "This team could not be found."
msgstr "Cette équipe n'a pu être trouvée." msgstr "Cette équipe n'a pu être trouvée."
#. module: bemade_sports_clinic
#. odoo-python
#: code:addons/bemade_sports_clinic/models/res_partner.py:0
#, python-format
msgid "To change a patient's name, change it from the patient form."
msgstr "Pour changer le nom d'un patient, changez le à partir du formulaire patient."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_teams #: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_teams
msgid "Total Players" msgid "Total Players"
msgstr "Total des joueurs" msgstr "Total des joueurs"
#. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_team_staff__role__therapist
msgid "Therapist"
msgstr "Thérapeute"
#. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_team_staff__role__doctor
msgid "Doctor"
msgstr "Docteur"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:res.groups,name:bemade_sports_clinic.group_sports_clinic_treatment_professional #: model:res.groups,name:bemade_sports_clinic.group_sports_clinic_treatment_professional
msgid "Treatment Professional" msgid "Treatment Professional"
@ -879,11 +985,22 @@ msgstr "Historique de communication du site web"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields,help:bemade_sports_clinic.field_sports_patient__return_date #: model:ir.model.fields,help:bemade_sports_clinic.field_sports_patient__return_date
msgid "When the player was cleared by medical staff to return to match play." msgid "When the player was cleared by medical staff to return to match play."
msgstr "Quand le joueur a été autorisé par le personnel médical à retourner au jeu." msgstr ""
"Quand le joueur a été autorisé par le personnel médical à retourner au jeu."
#. module: bemade_sports_clinic
#: model:ir.model.fields,help:bemade_sports_clinic.field_sports_patient_injury__parental_consent
msgid ""
"Whether the patient has given their consent to share injury details with "
"their parents."
msgstr ""
"Indique si le patient a donné son consentement pour que les détails de la blessure soient partagés avec "
"ses parents."
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__match_status__yes #: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__match_status__yes
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__practice_status__yes #: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__practice_status__yes
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient_injury__parental_consent__yes
msgid "Yes" msgid "Yes"
msgstr "Oui" msgstr "Oui"
@ -903,11 +1020,6 @@ msgid "Your Teams"
msgstr "Vos équipes" msgstr "Vos équipes"
#. module: bemade_sports_clinic #. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_home #: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__zip
msgid "players_count" msgid "Zip"
msgstr "" msgstr "Code postal"
#. module: bemade_sports_clinic
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_home
msgid "teams_count"
msgstr ""

View file

@ -1,4 +1,6 @@
from . import patient from . import patient
from . import patient_injury
from . import patient_contact
from . import res_partner from . import res_partner
from . import sports_team from . import sports_team
from . import res_users from . import res_users

View file

@ -1,9 +1,8 @@
from odoo import models, fields, _, api, Command from odoo import models, fields, _, api, Command
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
from datetime import date, datetime from datetime import date
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from odoo.addons.phone_validation.tools import phone_validation from odoo.addons.phone_validation.tools import phone_validation
import pytz
class Patient(models.Model): class Patient(models.Model):
@ -205,135 +204,3 @@ class Patient(models.Model):
class PatientContact(models.Model):
_name = 'sports.patient.contact'
_description = "Emergency or other contacts for a patient."
sequence = fields.Integer(required=True, default=0)
name = fields.Char(unaccent=False)
contact_type = fields.Selection(selection=[
('mother', 'Mother'),
('father', 'Father'),
('other', 'Other'),
], required=True)
mobile = fields.Char(unaccent=False, required=True)
# TODO: add email here and on views
patient_id = fields.Many2one(comodel_name='sports.patient', string='Patient')
@api.onchange('mobile')
def _onchange_mobile_validation(self):
if self.mobile:
self.mobile = self._phone_format(self.mobile, force_format="INTERNATIONAL")
def _phone_format(self, number, force_format='E164'):
country = self.patient_id.country_id or self.env.company.country_id
if not country or not number:
return number
return phone_validation.phone_format(
number,
country.code if country else None,
country.phone_code if country else None,
force_format=force_format,
raise_exception=False
)
class PatientInjury(models.Model):
_name = 'sports.patient.injury'
_description = "Patient Injury"
_inherit = ['mail.thread', 'mail.activity.mixin']
_rec_name = 'diagnosis'
@api.model
def _today(self):
"""Get the current date in the user's time zone."""
return datetime.now(pytz.timezone(self.env.user.tz or 'GMT'))
# TODO: Find a way to improve notifications send about tracking injury details
# TODO: Add field consentement_parental = fields.Selection(oui, non, non-applicable)
patient_id = fields.Many2one(comodel_name='sports.patient',
string="Patient",
readonly=True,
required=True)
patient_name = fields.Char(related="patient_id.name")
diagnosis = fields.Char(tracking=True)
injury_date = fields.Date(
string='Date of Injury',
default=_today,
)
injury_date_na = fields.Boolean(string="N/A", default=False)
internal_notes = fields.Html(tracking=True)
external_notes = fields.Html(tracking=True)
treatment_professional_ids = fields.Many2many(comodel_name='res.users',
relation='patient_injury_treatment_pro_rel',
column1='patient_injury_id',
column2='treatment_pro_id', string='Treatment Professionals',
domain=[
('is_treatment_professional', '=',
True)], tracking=True)
predicted_resolution_date = fields.Date(tracking=True)
resolution_date = fields.Date(tracking=True,
help="The date when the injury was actually resolved.")
stage = fields.Selection(selection=[('active', 'Active'), ('resolved', 'Resolved')], compute='_compute_stage')
@api.constrains('injury_date_na', 'injury_date')
def constrain_date_blank_only_if_na(self):
for rec in self:
if not rec.injury_date_na and not rec.injury_date:
raise ValidationError(_("If injury date is not set, the N/A box must be checked."))
@api.onchange('injury_date_na')
def _onchange_injury_date_na(self):
for rec in self:
if rec.injury_date_na:
rec.injury_date = None
@api.onchange('injury_date')
def _onchange_injury_date(self):
for rec in self:
if rec.injury_date:
rec.injury_date_na = False
@api.depends('resolution_date')
def _compute_stage(self):
for rec in self:
if rec.resolution_date and rec.resolution_date <= date.today():
rec.stage = 'resolved'
else:
rec.stage = 'active'
def write(self, vals):
super().write(vals)
if 'treatment_professional_ids' in vals:
to_subscribe = (self.treatment_professional_ids.mapped('partner_id')
- self.message_follower_ids.mapped('partner_id'))
self.message_subscribe(to_subscribe.ids)
@api.model_create_multi
def create(self, vals_list):
res = super().create(vals_list)
for rec in res:
to_subscribe = (rec.treatment_professional_ids.mapped('partner_id')
- rec.message_follower_ids.mapped('partner_id'))
rec.message_subscribe(to_subscribe.ids)
return res
def action_view_injury_form(self):
self.ensure_one()
return {
'type': 'ir.actions.act_window',
'view_mode': 'form',
'res_model': 'sports.patient.injury',
'res_id': self.id,
'context': self._context,
}
def _track_subtype(self, init_values):
if 'treatment_professional_ids' in init_values \
and len(init_values) == 1:
return self.env.ref('mail.mt_note')
else:
return self.env.ref('bemade_sports_clinic.subtype_patient_injury_update')

View file

@ -0,0 +1,35 @@
from odoo import models, fields, api
from odoo.addons.phone_validation.tools import phone_validation
class PatientContact(models.Model):
_name = 'sports.patient.contact'
_description = "Emergency or other contacts for a patient."
sequence = fields.Integer(required=True, default=0)
name = fields.Char(unaccent=False)
contact_type = fields.Selection(selection=[
('mother', 'Mother'),
('father', 'Father'),
('other', 'Other'),
], required=True)
mobile = fields.Char(unaccent=False, required=True)
# TODO: add email here and on views
patient_id = fields.Many2one(comodel_name='sports.patient', string='Patient')
@api.onchange('mobile')
def _onchange_mobile_validation(self):
if self.mobile:
self.mobile = self._phone_format(self.mobile, force_format="INTERNATIONAL")
def _phone_format(self, number, force_format='E164'):
country = self.patient_id.country_id or self.env.company.country_id
if not country or not number:
return number
return phone_validation.phone_format(
number,
country.code if country else None,
country.phone_code if country else None,
force_format=force_format,
raise_exception=False
)

View file

@ -0,0 +1,120 @@
from odoo import models, fields, api, _
from datetime import datetime, date
import pytz
from odoo.exceptions import ValidationError
class PatientInjury(models.Model):
_name = 'sports.patient.injury'
_description = "Patient Injury"
_inherit = ['mail.thread', 'mail.activity.mixin']
_rec_name = 'diagnosis'
@api.model
def _today(self):
"""Get the current date in the user's time zone."""
return datetime.now(pytz.timezone(self.env.user.tz or 'GMT'))
# TODO: Find a way to improve notifications send about tracking injury details
# TODO: Add field consentement_parental = fields.Selection(oui, non, non-applicable)
patient_id = fields.Many2one(
comodel_name='sports.patient',
string="Patient",
readonly=True,
required=True
)
patient_name = fields.Char(related="patient_id.name")
diagnosis = fields.Char(tracking=True)
injury_date = fields.Date(
string='Date of Injury',
default=_today,
)
injury_date_na = fields.Boolean(string="N/A", default=False)
internal_notes = fields.Html(tracking=True)
external_notes = fields.Html(tracking=True)
treatment_professional_ids = fields.Many2many(
comodel_name='res.users',
relation='patient_injury_treatment_pro_rel',
column1='patient_injury_id',
column2='treatment_pro_id', string='Treatment Professionals',
domain=[
('is_treatment_professional', '=',
True)], tracking=True
)
predicted_resolution_date = fields.Date(tracking=True)
resolution_date = fields.Date(
tracking=True,
help="The date when the injury was actually resolved."
)
stage = fields.Selection(selection=[('active', 'Active'), ('resolved', 'Resolved')], compute='_compute_stage')
parental_consent = fields.Selection(
string="Consent for Disclosure to Parent",
selection=[
('yes', 'Yes'),
('no', 'No'),
('na', 'N/A')
],
help="Whether the patient has given their consent to share injury details with their parents.",
tracking=True,
)
@api.constrains('injury_date_na', 'injury_date')
def constrain_date_blank_only_if_na(self):
for rec in self:
if not rec.injury_date_na and not rec.injury_date:
raise ValidationError(_("If injury date is not set, the N/A box must be checked."))
@api.onchange('injury_date_na')
def _onchange_injury_date_na(self):
for rec in self:
if rec.injury_date_na:
rec.injury_date = None
@api.onchange('injury_date')
def _onchange_injury_date(self):
for rec in self:
if rec.injury_date:
rec.injury_date_na = False
@api.depends('resolution_date')
def _compute_stage(self):
for rec in self:
if rec.resolution_date and rec.resolution_date <= date.today():
rec.stage = 'resolved'
else:
rec.stage = 'active'
def write(self, vals):
super().write(vals)
if 'treatment_professional_ids' in vals:
to_subscribe = (self.treatment_professional_ids.mapped('partner_id')
- self.message_follower_ids.mapped('partner_id'))
self.message_subscribe(to_subscribe.ids)
@api.model_create_multi
def create(self, vals_list):
res = super().create(vals_list)
for rec in res:
to_subscribe = (rec.treatment_professional_ids.mapped('partner_id')
- rec.message_follower_ids.mapped('partner_id'))
rec.message_subscribe(to_subscribe.ids)
return res
def action_view_injury_form(self):
self.ensure_one()
return {
'type': 'ir.actions.act_window',
'view_mode': 'form',
'res_model': 'sports.patient.injury',
'res_id': self.id,
'context': self._context,
}
def _track_subtype(self, init_values):
if 'treatment_professional_ids' in init_values \
and len(init_values) == 1:
return self.env.ref('mail.mt_note')
else:
return self.env.ref('bemade_sports_clinic.subtype_patient_injury_update')

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="sports_patient_injury_view_form" model="ir.ui.view">
<field name="name">sports.patient.injury.view.form</field>
<field name="model">sports.patient.injury</field>
<field name="arch" type="xml">
<form>
<header>
<field name="stage" widget="statusbar"/>
</header>
<sheet>
<div class="oe_title">
<h1>
Injury Details for
<field name="patient_name" class="oe_inline"/>
</h1>
</div>
<group>
<group col="2">
<field name="patient_id" invisible="1"/>
<span colspan="2">
<label for="injury_date"/>
<field name="injury_date" widget="date" class="oe_inline"/>
<field name="injury_date_na" class="oe_inline"/>
<label for="injury_date_na"/>
</span>
<field name="diagnosis"/>
<field name="predicted_resolution_date"/>
<field name="resolution_date"/>
</group>
<group>
<field name="parental_consent"/>
<field name="internal_notes" widget="html"/>
<field name="external_notes" widget="html"/>
<field name="treatment_professional_ids"
widget="many2many_tags_avatar"/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="activity_ids" widget="mail_activity"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<record id="sports_patient_injury_view_tree" model="ir.ui.view">
<field name="name">sports.patient.injury.view.tree</field>
<field name="model">sports.patient.injury</field>
<field name="arch" type="xml">
<tree string="Patient Injury History" editable="bottom"
multi_edit="True">
<field name="patient_id" invisible="1"/>
<field name="injury_date" widget="date"/>
<field name="diagnosis"/>
<field name="predicted_resolution_date" widget="date"/>
<field name="resolution_date" widget="date"/>
<field name="treatment_professional_ids"
widget="many2many_avatar_user"/>
<field name="activity_ids" widget="list_activity"/>
<field name="parental_consent"/>
<button name="action_view_injury_form" type="object"
title="Details" string="Details"
context="{'default_patient_id': patient_id}"/>
</tree>
</field>
</record>
</odoo>

View file

@ -184,69 +184,6 @@
</form> </form>
</field> </field>
</record> </record>
<record id="sports_patient_injury_view_form" model="ir.ui.view"> >
<field name="name">sports.patient.injury.view.form</field>
<field name="model">sports.patient.injury</field>
<field name="arch" type="xml">
<form>
<header>
<field name="stage" widget="statusbar"/>
</header>
<sheet>
<div class="oe_title">
<h1>
Injury Details for
<field name="patient_name" class="oe_inline"/>
</h1>
</div>
<group>
<group col="2">
<field name="patient_id" invisible="1"/>
<span colspan="2">
<label for="injury_date"/>
<field name="injury_date" widget="date" class="oe_inline"/>
<field name="injury_date_na" class="oe_inline"/>
<label for="injury_date_na"/>
</span>
<field name="diagnosis"/>
<field name="predicted_resolution_date"/>
<field name="resolution_date"/>
</group>
<group>
<field name="internal_notes" widget="html"/>
<field name="external_notes" widget="html"/>
<field name="treatment_professional_ids"
widget="many2many_tags_avatar"/>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="activity_ids" widget="mail_activity"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
<record id="sports_patient_injury_view_tree" model="ir.ui.view">
<field name="name">sports.patient.injury.view.tree</field>
<field name="model">sports.patient.injury</field>
<field name="arch" type="xml">
<tree string="Patient Injury History" editable="bottom"
multi_edit="True">
<field name="patient_id" invisible="1"/>
<field name="injury_date" widget="date"/>
<field name="diagnosis"/>
<field name="predicted_resolution_date" widget="date"/>
<field name="resolution_date" widget="date"/>
<field name="treatment_professional_ids"
widget="many2many_avatar_user"/>
<field name="activity_ids" widget="list_activity"/>
<button name="action_view_injury_form" type="object"
title="Details" string="Details"
context="{'default_patient_id': patient_id}"/>
</tree>
</field>
</record>
</data> </data>
</odoo> </odoo>