diff --git a/calebasse/dossiers/templates/dossiers/cv2.html b/calebasse/dossiers/templates/dossiers/cv2.html new file mode 100644 index 00000000..4224a357 --- /dev/null +++ b/calebasse/dossiers/templates/dossiers/cv2.html @@ -0,0 +1,101 @@ +{% load widget_tweaks %} +{% if cv %} +{% if cv.tech.finValidite %}

Valide jusqu'au {{ cv.tech.finValidite }}

{% endif %} +

{% for beneficiaire in cv.listeBenef.get_element %} +

+ + + + +
+ {% endfor %}

+{% else %} +

Aucune carte vitale lue.

+{% endif %} diff --git a/calebasse/dossiers/views.py b/calebasse/dossiers/views.py index 70f6e73a..2a150f5b 100644 --- a/calebasse/dossiers/views.py +++ b/calebasse/dossiers/views.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import os +import logging from datetime import datetime, date @@ -38,8 +39,10 @@ from calebasse.decorators import validator_only from ..utils import get_service_setting, is_validator, get_last_file +logger = logging.getLogger('calebasse.dossiers') + if settings.CV2PARSER: - import cv2parser + from cv2parser import cvitale class NewPatientRecordView(cbv.FormView, cbv.ServiceViewMixin): form_class = forms.NewPatientRecordForm @@ -373,7 +376,15 @@ class ReadCV2View(cbv.FormView): pass filename = get_last_file(cv_files_path, prefix=reader_identifier, suffix='.xml') - ctx['carte_vitale'] = filename + ctx['cv'] = None + try: + ctx['cv'] = cvitale.parse(filename) + except Exception, e: + logger.warning("%s" % str(e)) + try: + ctx['object'] = PatientRecord.objects.get(id=self.kwargs['patientrecord_id']) + except: + pass return ctx if settings.CV2PARSER: diff --git a/calebasse/static/css/dossiers.css b/calebasse/static/css/dossiers.css index 4cdc6aac..1b1cdb6d 100644 --- a/calebasse/static/css/dossiers.css +++ b/calebasse/static/css/dossiers.css @@ -25,6 +25,17 @@ border-width: 2px; } +div.beneficiaire { + background: #eee; + border: 1px solid #FF7800; + margin: 2px; + padding: 2px; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + font-size: 70%; +} + #tabs-3 div.contact h4 { margin: 0; } @@ -90,7 +101,7 @@ div#tabs-4 div div.buttons { clear: both; } -#new-address-btn, #new-contact-btn #read-cv2{ +#new-address-btn, #new-contact-btn, #read-cv2{ font-size: 1.1em; } diff --git a/calebasse/static/js/calebasse.dialog.js b/calebasse/static/js/calebasse.dialog.js index 84e1c7fa..054697dc 100644 --- a/calebasse/static/js/calebasse.dialog.js +++ b/calebasse/static/js/calebasse.dialog.js @@ -106,6 +106,11 @@ function generic_ajaxform_dialog(url, title, id, width, btn_submit_name, redirec if (on_load_callback) { on_load_callback($(this)); } + + $('.js-click-to-expand').on('click', function (event) { + $(event.target).parents('.js-expandable').toggleClass('js-expanded'); + $(event.target).next().toggle(); + }); }); }