diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-02-25 03:56:53 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-02-25 03:56:53 +0100 |
commit | cfe087f98169570c8ace3c1ecaa47c6f6e661f54 (patch) | |
tree | 4d510ed48909bbd6a36885d8d06309c341fefb19 | |
parent | e47d24635c4bc1df11fe1beeb1cbac974e23d08b (diff) | |
download | Ishtar-cfe087f98169570c8ace3c1ecaa47c6f6e661f54.tar.bz2 Ishtar-cfe087f98169570c8ace3c1ecaa47c6f6e661f54.zip |
Work on archaelogical file sheet (refs #227)
-rw-r--r-- | ishtar/furnitures/models.py | 29 | ||||
-rw-r--r-- | ishtar/templates/sheet_file.html | 99 | ||||
-rw-r--r-- | static/media/style.css | 52 |
3 files changed, 110 insertions, 70 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py index 03a01e872..3b73baba0 100644 --- a/ishtar/furnitures/models.py +++ b/ishtar/furnitures/models.py @@ -236,6 +236,11 @@ class Person(Address, OwnPerms) : lbl += self.email return lbl + def full_label(self): + return " ".join([getattr(self, attr) + for attr in ('title', 'surname', 'name', 'attached_to') + if getattr(self, attr)]) + class IshtarUser(User): person = models.ForeignKey(Person, verbose_name=_(u"Person"), unique=True) @@ -338,6 +343,26 @@ class File(BaseHistorizedItem, OwnPerms): def get_query_owns(cls, user): return Q(history_modifier=user) & Q(is_active=True) + def closing(self): + if self.is_active: + return + for item in self.history.all(): + if item.is_active(): + break + closing_item = item + return {'date':item.history_date, 'user':item.history_modifier} + + def total_surface_ha(self): + if self.total_surface: + return self.total_surface/10000.0 + + def total_developed_surface_ha(self): + if self.total_developed_surface: + return self.total_developed_surface/10000.0 + + def is_preventive(self): + return FileType.is_preventive(self.file_type.pk) + class OperationType(GeneralType): class Meta: verbose_name = _(u"Operation type") @@ -666,9 +691,9 @@ related_name='+', verbose_name=_(u"Person in charge of the scientific part")) signatory = models.ForeignKey(Person, blank=True, null=True, related_name='+', verbose_name=_(u"Signatory")) operation = models.ForeignKey(Operation, blank=True, null=True, - related_name='+', verbose_name=_(u"Operation")) + related_name='administrative_act', verbose_name=_(u"Operation")) associated_file = models.ForeignKey(File, blank=True, null=True, - related_name='+', verbose_name=_(u"Archaelogical file")) + related_name='administrative_act', verbose_name=_(u"Archaelogical file")) signature_date = models.DateField(_(u"Signature date")) act_object = models.CharField(_(u"Object"), max_length=200) if settings.COUNTRY == 'fr': diff --git a/ishtar/templates/sheet_file.html b/ishtar/templates/sheet_file.html index 67b48d26b..57f1c00fc 100644 --- a/ishtar/templates/sheet_file.html +++ b/ishtar/templates/sheet_file.html @@ -1,79 +1,78 @@ {% extends "sheet.html" %} {% load i18n %} {% block content %} +<h3>{% trans "General"%}</h3> <p><label>{%trans "Year:"%}</label> {{ item.year }}</p> <p><label>{%trans "Numerical reference:"%}</label> {{ item.numeric_reference }}</p> <p><label>{%trans "File's name:"%}</label> {{ item.internal_reference }}</p> <p><label>{%trans "Edition date:"%}</label> {{ item.history.all.0.history_date }}</p> <!-- date = now --> -{% if item.reception_date %}<p>{%trans "Reception date"%} : {{ item.reception_date }}</p>{% endif %} +{% if item.reception_date %}<p><label>{%trans "Reception date:"%}</label> {{ item.reception_date }}</p>{% endif %} +<p><label>{%trans "Creation date:"%}</label> {{ item.creation_date }}</p> {% comment %} -<p>{%trans "Creation date"%} : {% item.creation_date %}</p> <!-- creation date --> {% if item.deadline_date and not item.acts %} <p>{%trans "Deadline"%} : {% item.deadline_date %}</p> <!-- calculated deadline for some preventive files , see saisine_type, not displayed if an act as been send --> {% endif %} +{% endcomment %} -<p>{%trans "Responsible"%} : {% item.responsible %}</p> <!-- file's responsible displayed as Title/Surname/Name/Organisation--> - -{% if item.is_active %}<!-- active or inactive file --> - <p>{%trans "Active file"%}</p> -{% endif %} -{% if item.is_inactive %} - <p>{%trans "Closed file"%}</p> - <p>{%trans "Closure date" %} : {% item.closure_date %} {%trans "by" %} {% item.closer_user%}</p> +<p><label>{%trans "In charge:"%}</label> {{ item.in_charge.full_label }}</p> +<p><label>{%trans "State"%}</label> +{% if item.is_active %}{%trans "Active file"%}</strong></p> +{% else %}{%trans "Closed file"%}</p> +<p><label>{%trans "Closing date:"%}</label> {{ item.closing.date }} <strong>{%trans "by" %}</strong> {{ item.closing.user }}</p> {% endif %} - -<p>{%trans "Type"%} : {% item.type %}</p> <!-- programed or preventive --> -{% if item.related %}<p>{%trans "Related file"%} : {% item.related %}</p>{% endif %} <!-- Displayed as Year/index/Commune/Common_name This should be a link to the file sheet of the related file, mais sais pas faire. Optionnel à ce stade. --> +<p><label>{%trans "Type:"%}</label> {{ item.file_type }}</p> -<!-- Localisation --> -<p>{%trans "Communes"%} : {% item.communes %}</p> <!-- Concat of the communes TITLE 2--> +{% if item.related_file %}<p>{%trans "Related file:"%} {{ item.related_file }}</p>{% endif %} <!-- Displayed as Year/index/Commune/Common_name This should be a link to the file sheet of the related file --> +<p><label>{%trans "Comment:"%}</label> {{ item.comment }}</p> -<p>{%trans "Principal adress"%} : {% item.princ_adress %}</p> <!-- Principal adress of the place --> -<p>{%trans "Complementary adress"%} : {% item.complem_adress %}</p> <!-- Complementary adress of the place --> -<p>{%trans "Postal code"%} : {% item.postal_code %}</p> <!-- Postal code of the place --> +<h3>{% trans "Localisation"%}</h3> +<p><label>{%trans "Towns:"%}</label> {{ item.towns.all|join:", " }}</p> +<p><label>{%trans "Main address:"%}</label> {{ item.address }}</p> +<p><label>{%trans "Complement:"%}</label> {{ item.complem_adress }}</p> +<p><label>{%trans "Postal code:"%}</label> {{ item.postal_code }}</p> -<!-- Surface --> -<p>{%trans "Surface"%} : {% item.surface %} ({% item.surface_ha %) ha)</p> <!-- surface in square meters and hectares--> +<p><label>{%trans "Surface:"%}</label> {{ item.total_surface }} m<sup>2</sup> ({{ item.total_surface_ha }} ha)</p> -<!-- Preventive file --> {% if item.is_preventive %} - <p>{%trans "Planed surface"%} : {% item.planed_surface %} ({% item.planed_surface_ha %) ha)</p> <!-- planed surface in square meters and hectares--> - <p>{%trans "Saisine type"%} : {% item.saisine_type %}</p> <!-- saisine type --> - {% if item.service %}<p>{%trans "Service"%} : {% item.service %}</p>{% endif %} <!-- requesting service --> - {% if item.permit_type %}<p>{%trans "Permit type"%} : {% item.permit_type %}</p>{% endif %} <!-- permit type --> - {% if item.permit_ref %}<p>{%trans "Permit reference"%} : {% item.permit_ref %}</p>{% endif %} <!-- permit reference --> - {% if item.contractor_org %}<p>{%trans "Contractor organisation"%} : {% item.contractor_org %}</p>{% endif %} <!-- Contractor's organisation displayed as concat of Name/Adress/postal_code/city --> - {% if item.contractor %}<p>{%trans "Contractor"%} : {% item.contractor %}</p>{% endif %} <!-- contractor displayed as concat of title/Surname/Name/Adress/postal_code/city --> - <p>{%trans "Numerical reference"%} : {% item.index %}</p> <!-- index --> +<h3>{% trans "Preventive archaelogical file"%}</h3> +<p><label>{%trans "Planed surface:"%}</label> {{ item.total_developed_surface }} m<sup>2</sup> ({{ item.total_developed_surface_ha }} ha)</p> +<p><label>{%trans "Saisine type:"%}</label> {{ item.saisine_type }}</p> +{% if item.town_planning_service %}<p><label>{%trans "Town planning service:"%}</label>{{ item.town_planning_service }}</p>{% endif %} +{% if item.permit_type %}<p><label>{%trans "Permit type:"%}</label> {{ item.permit_type }}</p>{% endif %} +{% if item.permit_reference %}<p><label>{%trans "Permit reference:"%}</label> {{ item.permit_reference }}</p>{% endif %} +{% if item.general_contractor.attached_to %}<p><label>{%trans "General contractor organisation:"%}</label> {{ item.general_contractor.attached_to }}</p>{% endif %} <!-- Contractor's organisation displayed as concat of Name/Adress/postal_code/city --> +{% if item.general_contractor %}<p><label>{%trans "General contractor:"%}</label> {{ item.general_contractor.full_label }}</p>{% endif %} +{% comment %} +<p>{%trans "Numerical reference"%} : {% item.index %}</p> <!-- index --> +{% endcomment %} {% endif %} -<p>{%trans "Comments"%} : {% item.comments %}</p> <!-- free text comments --> - -<!-- associated acts --> - - <table class='adm_acts'> <!-- associated acts class--> - <caption>{%trans "Admninistrative acts"%}</caption> - <tr> - {% for label, in item.data_acts %} - <th>{{label}}</th> - {% endfor %} - </tr> - {% for data, in item.data_acts %} - <tr> - <td>{{year}}</td> - <td>{{reference}}</td> - <td>{{type}}</td> - <td>{{date}}</td> - </tr> - {% endfor %} - </table> - +{% if item.administrative_act.all %} +<table> + <caption>{%trans "Admninistrative acts"%}</caption> + <tr> + <th>{% trans "Year" %}</th> + <th>{% trans "Reference" %}</th> + <th>{% trans "Type" %}</th> + <th>{% trans "Date" %}</th> + </tr> + {% for act in item.administrative_act.all %} + <tr> + <td>{{act.signature_date.year}}</td> + <td>{{act.ref_sra}}</td> + <td>{{act.act_type}}</td> + <td>{{act.signature_date}}</td> + </tr> + {% endfor %} +</table> +{%endif%} +{% comment %} <!-- associated operations --> <table class='adm_ope'> <!-- associated ope class--> diff --git a/static/media/style.css b/static/media/style.css index f559ac827..5e5613cfc 100644 --- a/static/media/style.css +++ b/static/media/style.css @@ -13,11 +13,16 @@ a { color:#D14; } -caption { +caption, h3 { color:#922; font-weight:bold; } +h3{ + text-align:center; + margin:1em 0; +} + label{display:block} label:first-letter { @@ -241,25 +246,10 @@ table.confirm tr.spacer td:last-child{ } #window{ - position: absolute; - top: 50px; - width:600px; - background: #FFF; - z-index: 2000; - left: 50%; - margin-left: -300px; - border: 1px solid #AAA; - -webkit-box-shadow: 0px 0px 20px #444; - -moz-box-shadow: 0px 0px 20px #444; - text-align: left; - display:none; -} - -#window{ width:760px; - height:90%; position: absolute; - top: 5%; + position:fixed; + height:90%; background: #FFF; z-index: 2000; left: 50%; @@ -273,6 +263,28 @@ table.confirm tr.spacer td:last-child{ border-radius:8px; } +#window table{ + margin:10px 0; + width:100%; + border-collapse:collapse; +} + +#window caption{ + font-size:1.2em; +} + +#window table th{ + text-align:center; + background-color:#922; + border:1px solid #EEE; + color:#FFF; +} +#window table td{ + text-align:right; + padding:0 1em; + border:1px solid #EEE; +} + #window .sheet{ } @@ -289,7 +301,11 @@ table.confirm tr.spacer td:last-child{ } #window .body{ + position:absolute; padding:10px; + overflow:auto; + top:18px; + bottom:10px; } #window label{ |