From: soufiane Date: Tue, 15 Oct 2024 14:26:49 +0000 (+0200) Subject: wait #7102 @3:00 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=33f839334db117b43891fb0ccda061a59894cc2f;p=ccv-wordpress.git wait #7102 @3:00 --- diff --git a/wp-content/mu-plugins/cube/src/Forms/Base.php b/wp-content/mu-plugins/cube/src/Forms/Base.php index 164c028..c9ad77d 100644 --- a/wp-content/mu-plugins/cube/src/Forms/Base.php +++ b/wp-content/mu-plugins/cube/src/Forms/Base.php @@ -247,11 +247,8 @@ class Base $headers[] = sprintf('Content-Type: %s; charset=%s', $content_type, $charset); $headers[] = sprintf('From: %s', $from); $first_data_names = [ - 'date-first-symptoms', - 'imagery-condition', - 'chirurgical-solutions' + 'doctor', ]; - // Gather filled fields into label/value pairs foreach ($first_data_names as $first_data_name) { if($this->fields[$first_data_name]) { @@ -261,7 +258,11 @@ class Base foreach ($this->fields as $field_name => $field) { if(!in_array($field_name,$first_data_names)) { if ($value = $this->get_data($field_name)) { - $data[$field->get_title()] = $value; + $title = $field->get_title(); + if(in_array($field_name, ['strength-loss-date','tingling-numbness-date'])) { + $title = $field_name; + } + $data[$title] = $value; } } } diff --git a/wp-content/mu-plugins/cube/src/Forms/Consultation.php b/wp-content/mu-plugins/cube/src/Forms/Consultation.php index 5c18ce6..472262b 100644 --- a/wp-content/mu-plugins/cube/src/Forms/Consultation.php +++ b/wp-content/mu-plugins/cube/src/Forms/Consultation.php @@ -36,24 +36,31 @@ class Consultation extends Base { $this->add_fields([ //=== PERSONAL INFORMATION + // Special field: if a surgeon is selected, their e-mail address will be override the default delivery address + Select::field('surgeon', __('Chirurgien spécifique', 'ccv')) + ->required(false) + ->options([ + 'Dr Guilhaume GENESTE' => 'dr.geneste@ccv-montpellier.fr', + 'Dr Grégory EDGARD-ROSA' => 'dr.edgard-rosa@ccv-montpellier.fr', + 'Dr Martin GRAU ORTIZ' => 'dr.grauortiz@ccv-montpellier.fr', + 'Dr Caroline HIRSH' => 'dr.hirsch@ccv-montpellier.fr', + ]), Text::field('last-name', __('Nom', 'ccv')), Text::field('first-name', __('Prénom', 'ccv')), - Text::field('profession', __('Profession', 'ccv')), - Text::field('postcode', __('Code postal', 'ccv')), - Text::field('city', __('Ville', 'ccv')), - Text::field('country', __('Pays', 'ccv')), - Text::field('phone', __('Tel', 'ccv')), - Email::field('email', __('Email', 'ccv')), - Radio::field('sex', __('Sexe :', 'ccv')) - ->options([ - _x('M', 'Sexe (M)', 'ccv'), - _x('F', 'Sexe (F)', 'ccv'), - ]), - Text::field('age', __('Âge :', 'ccv')), + Radio::field('sex', __('Sexe :', 'ccv')) + ->options([ + _x('M', 'Sexe (M)', 'ccv'), + _x('F', 'Sexe (F)', 'ccv'), + ]), Date::field('birthdate', __('Date de naissance', 'ccv')), - Textarea::field('message', __('Avez vous un message (ou une demande) spécifique à nous formuler ?', 'ccv'))->required(false), Text::field('size', __('Taille :', 'ccv')), Text::field('weight', __('Poids :', 'ccv')), + Text::field('profession', __('Profession', 'ccv')), + Text::field('postcode', __('Code postal', 'ccv')), + Text::field('city', __('Ville', 'ccv')), + Text::field('country', __('Pays', 'ccv')), + Text::field('phone', __('Tel', 'ccv')), + Email::field('email', __('Email', 'ccv')), // Social cover Radio::field('social-cover', __('Couverture sociale :', 'ccv')) @@ -63,6 +70,7 @@ class Consultation extends Base { __('Régime de la CMU/ASC/PUMa/CSS', 'ccv'), __('Accident du travail', 'ccv'), ]), + Date::field('work-accident', __('Si accident du travail à quelle date ?', 'ccv'))->required(false), // Chirurgical solutions Radio::field('chirurgical-solutions', __('Êtes-vous à la recherche de solutions chirurgicales pour votre problème de dos ?', 'ccv')) @@ -70,80 +78,59 @@ class Consultation extends Base { __('Oui, s\'il existe des solutions satisfaisantes', 'ccv'), __('Non, pas encore à ce stade', 'ccv'), ]), + //== SYMPTOMS + Radio::field('main-problem', __('Problème principal', 'ccv')) + ->options([ + __('Cervicales', 'ccv'), + __('Lombaires', 'ccv'), + __('Scoliose', 'ccv'), + ]), + Date::field('date-first-symptoms', __('Date des premiers symptômes :', 'ccv')), + Date::field('date-pain-since', __('Douleurs permanentes depuis (le cas échéant) :', 'ccv'))->required(false), + Binary::field('pain-arms-legs', __('Avez-vous des douleurs dans les bras ou les jambes (sciatiques, cruralgies, névralgies) ?', 'ccv')), + Checkbox::field('pain-arms-legs-detail', __('Si oui, cochez les membres concernés :', 'ccv')) + ->required(false) + ->options([ + __('Haut du bras droit', 'ccv'), + __('Haut du bras gauche', 'ccv'), + __('Avant-bras droit', 'ccv'), + __('Avant-bras gauche', 'ccv'), + __('Haut de la jambe droite', 'ccv'), + __('Haut de la jambe gauche', 'ccv'), + __('Bas de la jambe droite', 'ccv'), + __('Bas de la jambe gauche', 'ccv'), + ]), - // Special field: if a surgeon is selected, their e-mail address will be override the default delivery address - Select::field('surgeon', __('Chirurgien spécifique', 'ccv')) - ->required(false) - ->options([ - 'Dr Guilhaume GENESTE' => 'dr.geneste@ccv-montpellier.fr', - 'Dr Grégory EDGARD-ROSA' => 'dr.edgard-rosa@ccv-montpellier.fr', - 'Dr Martin GRAU ORTIZ' => 'dr.grauortiz@ccv-montpellier.fr', - 'Dr Caroline HIRSH' => 'dr.hirsch@ccv-montpellier.fr', - ]), - - Date::field('work-accident', __('Si accident du travail à quelle date ?', 'ccv'))->required(false), + Radio::field('main-pain', __('La douleur principale est-elle ?', 'ccv')) + ->options([ + __('Dans la colonne', 'ccv'), + __('Dans les membres', 'ccv'), + __('Les deux', 'ccv'), + ]), - //=== IMAGERY - // This is a special case and will be output manually so only using this for the e-mail label - Radio::field('imagery-type', __('Imagerie', 'ccv'))->required(false), - Textarea::field('imagery-online', __('Images en ligne', 'ccv'))->required(false), // Again, a manually handled field - Checkbox::field('imagery-posted', __('Images envoyées par courrier', 'ccv'))->required(false), + Binary::field('tingling-numbness', __('Avez-vous des fourmillements ou une sensation d’engourdissement dans un des membres ? ', 'ccv')), + Date::field('tingling-numbness-date', __('Si oui depuis quand ?', 'ccv'))->required(false), + Binary::field('strength-loss', __('Avez-vous une perte de force importante dans un des membres ?', 'ccv')), + Date::field('strength-loss-date', __('Si oui depuis quand ?', 'ccv'))->required(false), + Textarea::field('symptoms', __('Dites-nous en quelques mots ce qui vous invalide le plus dans vos symptômes :', 'ccv')), + Textarea::field('surgeries', __('Indiquez ici vos précédentes chirurgies de la colonne et leurs dates (le cas échéant)', 'ccv'))->required(false), // Unique session identifier for uploads that go directly to CCV's NAS (upload.ccv-montpellier.fr) // Made up of timestamp YYMMDDHHMM + nonce Hidden::field('imagery-phone-token', __('ID sur le NAS', 'ccv'))->value(date('ymdHi') . '_' . wp_create_nonce('NAS-upload')), - //== SYMPTOMS - Radio::field('main-problem', __('Problème principal', 'ccv')) - ->options([ - __('Cervicales', 'ccv'), - __('Lombaires', 'ccv'), - __('Scoliose', 'ccv'), - ]), - - Date::field('date-first-symptoms', __('Date des premiers symptômes :', 'ccv')), - - Date::field('date-pain-since', __('Douleurs permanentes depuis (le cas échéant) :', 'ccv'))->required(false), - - Binary::field('pain-arms-legs', __('Avez-vous des douleurs dans les bras ou les jambes (sciatiques, cruralgies, névralgies) ?', 'ccv')), - - Checkbox::field('pain-arms-legs-detail', __('Si oui, cochez les membres concernés :', 'ccv')) - ->required(false) - ->options([ - __('Haut du bras droit', 'ccv'), - __('Haut du bras gauche', 'ccv'), - __('Avant-bras droit', 'ccv'), - __('Avant-bras gauche', 'ccv'), - __('Haut de la jambe droite', 'ccv'), - __('Haut de la jambe gauche', 'ccv'), - __('Bas de la jambe droite', 'ccv'), - __('Bas de la jambe gauche', 'ccv'), - ]), - - Radio::field('main-pain', __('La douleur principale est-elle ?', 'ccv')) - ->options([ - __('Dans la colonne', 'ccv'), - __('Dans les membres', 'ccv'), - __('Les deux', 'ccv'), - ]), - - Binary::field('tingling-numbness', __('Avez-vous des fourmillements ou une sensation d’engourdissement dans un des membres ? ', 'ccv')), - Date::field('tingling-numbness-date', __('Si oui depuis quand ?', 'ccv'))->required(false), - - Binary::field('strength-loss', __('Avez-vous une perte de force importante dans un des membres ?', 'ccv')), - Date::field('strength-loss-date', __('Si oui depuis quand ?', 'ccv'))->required(false), - - Textarea::field('symptoms', __('Dites-nous en quelques mots ce qui vous invalide le plus dans vos symptômes :', 'ccv')), - //=== TREATMENTS - Textarea::field('medication', __('Indiquez ici les médicaments que vous avez pris pour vos douleurs (le cas échéant)', 'ccv'))->required(false), Binary::field('kine-osteo', __('Kinésithérapie ou ostéopathie', 'ccv')), - Binary::field('corset', __('Corset ou ceinture lombaire', 'ccv')), - Binary::field('hospitalisation', __('Séjour en hospitalisation', 'ccv')), - Binary::field('infiltration', __('Infiltration ou thermocoagulation', 'ccv')), - Binary::field('rheumatological', __('Suivi rhumatologique ou médecine spécialisée', 'ccv')), - Textarea::field('surgeries', __('Indiquez ici vos précédentes chirurgies de la colonne et leurs dates (le cas échéant)', 'ccv'))->required(false), - + Binary::field('infiltration', __('Infiltration ou thermocoagulation', 'ccv')), + Binary::field('rheumatological', __('Suivi rhumatologique ou médecine spécialisée', 'ccv')), + Binary::field('corset', __('Corset ou ceinture lombaire', 'ccv')), + Binary::field('hospitalisation', __('Séjour en hospitalisation', 'ccv')), + Textarea::field('medication', __('Indiquez ici les médicaments que vous avez pris pour vos douleurs (le cas échéant)', 'ccv'))->required(false), + //=== IMAGERY + // This is a special case and will be output manually so only using this for the e-mail label + Textarea::field('imagery-online', __('Images en ligne', 'ccv'))->required(false), // Again, a manually handled field + Checkbox::field('imagery-posted', __('Images envoyées par courrier', 'ccv'))->required(false), + Radio::field('imagery-type', __('Imagerie', 'ccv'))->required(false), Radio::field('imagery-condition', __('IRM de moins de 6 mois', 'ccv')) ->options([ __('J\'ai bien noté que mon dossier ne pourra être étudié si je ne fournis pas une IRM de moins de 6 mois', 'ccv'), @@ -161,6 +148,10 @@ class Consultation extends Base { Text::field('link-4', __('Lien internet 4', 'ccv'))->required(false), Text::field('id-4', __('Identifiant 4', 'ccv'))->required(false), Password::field('pwd-4', __('Mot de passe 4', 'ccv'))->required(false), + + Textarea::field('message', __('Avez vous un message (ou une demande) spécifique à nous formuler ?', 'ccv'))->required(false), + + //Text::field('age', __('Âge :', 'ccv')), ]); } diff --git a/wp-content/themes/CCV/resources/assets/scripts/consultation.js b/wp-content/themes/CCV/resources/assets/scripts/consultation.js index 159ef58..8390202 100644 --- a/wp-content/themes/CCV/resources/assets/scripts/consultation.js +++ b/wp-content/themes/CCV/resources/assets/scripts/consultation.js @@ -1,10 +1,9 @@ //=== Consultation Form (function($) { - // Check the parent radio button when clicking on any element with this data attribute $(document).on('click', '[data-update-imagery-type]', function(event) { let radio = $(this).closest('.imagery-type-wrapper').find('input[name="imagery-type"]'); - radio.prop('checked', true); + //radio.prop('checked', true); clearPostCheckbox(); // We can clear it here because this event is only triggered by the other options event.preventDefault(); }); diff --git a/wp-content/themes/CCV/resources/views/forms/common/email.blade.php b/wp-content/themes/CCV/resources/views/forms/common/email.blade.php index c56c129..feafaad 100644 --- a/wp-content/themes/CCV/resources/views/forms/common/email.blade.php +++ b/wp-content/themes/CCV/resources/views/forms/common/email.blade.php @@ -1,44 +1,54 @@ {{-- EMAIL TEMPLATE --}} - + - - - - CCV Formulaire - - - + + + + CCV Formulaire + + + -

{{ $subject }}

+

{{ $subject }}

- - @foreach($data as $label => $value) - even) bgcolor="#eeeeee" @endif> - - - - @endforeach -
{{ rtrim($label, ':') }} - @if (is_array($value)) -
    -
  • {!! implode('
  • ', $value) !!}
  • -
- @else - {!! nl2br($value) !!} - @endif -
- + + @php($bg = "#fff") + @foreach($data as $label => $value) + @if($label === __('Nom') || $label === __('Indiquez ici vos précédentes chirurgies de la colonne et leurs dates (le cas échéant)') || $label === __('Kinésithérapie ou ostéopathie') || $label === __('Avez vous un message (ou une demande) spécifique à nous formuler ?')) + @php($bg = "#eee") + @elseif($label === __('Êtes-vous à la recherche de solutions chirurgicales pour votre problème de dos ?') || $label === __('Imagerie')) + @php($bg = "#fff") + @endif + + @if(in_array($label, ['strength-loss-date','tingling-numbness-date'])) + @php($label = __('Si oui depuis quand ?')) + @endif + + + + + @endforeach +
{{ rtrim($label, ':') }} + @if (is_array($value)) +
    +
  • {!! implode('
  • ', $value) !!}
  • +
+ @else + {!! nl2br($value) !!} + @endif +
+