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{ | 
