bemade_sports_clinic: add consent field, translations and general cleanup
This commit is contained in:
parent
12f19c5fbc
commit
0a2ec5fd8d
8 changed files with 401 additions and 258 deletions
|
|
@ -18,7 +18,7 @@
|
|||
#
|
||||
{
|
||||
'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.',
|
||||
'description': """
|
||||
Adds the notion of sports teams, players (patients), coaches and treatment
|
||||
|
|
@ -45,6 +45,7 @@
|
|||
'data/sports_clinic_data.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/res_partner_views.xml',
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-07 20:03+0000\n"
|
||||
"PO-Revision-Date: 2023-11-07 20:03+0000\n"
|
||||
"POT-Creation-Date: 2024-02-21 00:52+0000\n"
|
||||
"PO-Revision-Date: 2024-02-21 00:52+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -25,11 +25,6 @@ msgstr ""
|
|||
msgid "/my/teams"
|
||||
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
|
||||
#. odoo-python
|
||||
#: code:addons/bemade_sports_clinic/models/sports_team.py:0
|
||||
|
|
@ -105,6 +100,11 @@ msgstr "Administrateur"
|
|||
msgid "Age"
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -112,14 +112,9 @@ msgid "Attachment Count"
|
|||
msgstr "Nombre de pièces jointes"
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient__stage__practice_ok
|
||||
msgid "Cleared for Practice"
|
||||
msgstr "Pratiques autorisées"
|
||||
|
||||
#. 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"
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__city
|
||||
msgid "City"
|
||||
msgstr "Ville"
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: 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
|
||||
#: 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"
|
||||
msgstr "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: 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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
|
||||
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
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__create_uid
|
||||
|
|
@ -159,15 +160,20 @@ msgstr "Créé par"
|
|||
msgid "Created on"
|
||||
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
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__date_of_birth
|
||||
msgid "Date Of Birth"
|
||||
msgstr "Date de naissance"
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__injury_date_time
|
||||
msgid "Date and Time of Injury"
|
||||
msgstr "Date et heure de la blessure"
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__injury_date
|
||||
msgid "Date of Injury"
|
||||
msgstr "Date de la blessure"
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_injury_view_tree
|
||||
|
|
@ -189,6 +195,11 @@ msgstr "Diagnostique"
|
|||
msgid "Display Name"
|
||||
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
|
||||
#: 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."
|
||||
|
|
@ -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_staff__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: 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."
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -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_injury__message_ids
|
||||
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
|
||||
#: 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"
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -508,13 +539,15 @@ msgstr "Type de la prochaine activité"
|
|||
#. 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__practice_status__no
|
||||
#: model:ir.model.fields.selection,name:bemade_sports_clinic.selection__sports_patient_injury__parental_consent__no
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#. 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
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__message_needaction_counter
|
||||
|
|
@ -557,6 +590,11 @@ msgstr "Organisation"
|
|||
msgid "Other"
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -571,55 +609,96 @@ msgid "Parent Organization"
|
|||
msgstr "Organisation parente"
|
||||
|
||||
#. 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_injury__patient_id
|
||||
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
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__contact_ids
|
||||
msgid "Patient Contacts"
|
||||
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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
|
||||
msgid "Patient Information"
|
||||
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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_injury_view_tree
|
||||
msgid "Patient Injury History"
|
||||
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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
|
||||
msgid "Patient Record"
|
||||
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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.sports_patient_view_form
|
||||
msgid "Patient's Contacts"
|
||||
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
|
||||
#: model:ir.actions.act_window,name:bemade_sports_clinic.action_view_patient
|
||||
#: 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_embedded
|
||||
msgid "Patients"
|
||||
msgstr "Patients"
|
||||
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 "Mobile"
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__phone
|
||||
msgid "Phone"
|
||||
msgstr "Téléphone"
|
||||
|
||||
#. 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
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team__player_count
|
||||
|
|
@ -635,6 +714,11 @@ msgstr "Nombre de joueurs"
|
|||
msgid "Players"
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -652,11 +736,6 @@ msgstr "Date prévue de résolution"
|
|||
msgid "Predicted Return Date"
|
||||
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
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient_injury__resolution_date
|
||||
msgid "Resolution Date"
|
||||
|
|
@ -720,6 +799,11 @@ msgstr "Gestion de clinique de médecine sportive"
|
|||
msgid "Sports Team"
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -744,6 +828,11 @@ msgstr "Membre du personnel"
|
|||
msgid "Stage"
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -758,6 +847,21 @@ msgstr ""
|
|||
"Aujourd'hui: La date d'échéance est aujourd'hui\n"
|
||||
"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
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_team_staff__team_id
|
||||
msgid "Team"
|
||||
|
|
@ -804,6 +908,11 @@ msgstr "La date quand la blessure a été résolue."
|
|||
msgid "The teams this person works for."
|
||||
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
|
||||
#. odoo-python
|
||||
#: 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."
|
||||
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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_teams
|
||||
msgid "Total Players"
|
||||
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
|
||||
#: model:res.groups,name:bemade_sports_clinic.group_sports_clinic_treatment_professional
|
||||
msgid "Treatment Professional"
|
||||
|
|
@ -879,11 +985,22 @@ msgstr "Historique de communication du site web"
|
|||
#. module: bemade_sports_clinic
|
||||
#: 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."
|
||||
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
|
||||
#: 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_injury__parental_consent__yes
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
|
|
@ -903,11 +1020,6 @@ msgid "Your Teams"
|
|||
msgstr "Vos équipes"
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_home
|
||||
msgid "players_count"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_sports_clinic
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_sports_clinic.portal_my_home
|
||||
msgid "teams_count"
|
||||
msgstr ""
|
||||
#: model:ir.model.fields,field_description:bemade_sports_clinic.field_sports_patient__zip
|
||||
msgid "Zip"
|
||||
msgstr "Code postal"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
from . import patient
|
||||
from . import patient_injury
|
||||
from . import patient_contact
|
||||
from . import res_partner
|
||||
from . import sports_team
|
||||
from . import res_users
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
from odoo import models, fields, _, api, Command
|
||||
from odoo.exceptions import ValidationError
|
||||
from datetime import date, datetime
|
||||
from datetime import date
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from odoo.addons.phone_validation.tools import phone_validation
|
||||
import pytz
|
||||
|
||||
|
||||
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')
|
||||
|
||||
|
|
|
|||
35
bemade_sports_clinic/models/patient_contact.py
Normal file
35
bemade_sports_clinic/models/patient_contact.py
Normal 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
|
||||
)
|
||||
120
bemade_sports_clinic/models/patient_injury.py
Normal file
120
bemade_sports_clinic/models/patient_injury.py
Normal 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')
|
||||
69
bemade_sports_clinic/views/sports_patient_injury_views.xml
Normal file
69
bemade_sports_clinic/views/sports_patient_injury_views.xml
Normal 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>
|
||||
|
|
@ -184,69 +184,6 @@
|
|||
</form>
|
||||
</field>
|
||||
</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>
|
||||
</odoo>
|
||||
|
|
|
|||
Loading…
Reference in a new issue