diff options
Diffstat (limited to 'archaeological_files')
| -rw-r--r-- | archaeological_files/forms.py | 15 | ||||
| -rw-r--r-- | archaeological_files/locale/fr/LC_MESSAGES/django.po | 169 | ||||
| -rw-r--r-- | archaeological_files/models.py | 43 | 
3 files changed, 103 insertions, 124 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index 4364829b2..d2e31d80c 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -42,7 +42,7 @@ from ishtar_common.forms import FinalForm, FormSet, ClosingDateFormSelection, \  from ishtar_common.forms_common import get_town_field, get_person_field  from archaeological_operations.forms import AdministrativeActOpeForm, \      AdministrativeActOpeFormSelection, FinalAdministrativeActDeleteForm, \ -    ParcelField +    ParcelField, SLICING  from ishtar_common import widgets  GENERAL_CONTRACTOR, created = PersonType.objects.get_or_create( @@ -122,29 +122,36 @@ class FileFormSelection(forms.Form):              raise forms.ValidationError(_(u"You should select a file."))          return cleaned_data -SLICING = (('year',_(u"years")), ("month",_(u"months")))  DATE_SOURCE = (('creation',_(u"Creation date")),                 ("reception",_(u"Reception date")))  class DashboardForm(forms.Form):      slicing = forms.ChoiceField(label=_("Slicing"), choices=SLICING,                                required=False) +    department_detail = forms.BooleanField(label=_("Department detail"), +                              required=False)      date_source = forms.ChoiceField(label=_("Date get from"),                              choices=DATE_SOURCE, required=False)      file_type = forms.ChoiceField(label=_("File type"), choices=[],                                    required=False)      saisine_type = forms.ChoiceField(label=_("Saisine type"), choices=[],                                    required=False) -    after = forms.DateField(label=_(u"Creation date after"), +    after = forms.DateField(label=_(u"Date after"),                              widget=widgets.JQueryDate, required=False) -    before = forms.DateField(label=_(u"Creation date before"), +    before = forms.DateField(label=_(u"Date before"),                              widget=widgets.JQueryDate, required=False)      def __init__(self, *args, **kwargs): +        if 'prefix' not in kwargs: +            kwargs['prefix'] = 'files'          super(DashboardForm, self).__init__(*args, **kwargs)          self.fields['saisine_type'].choices = models.SaisineType.get_types()          self.fields['file_type'].choices = models.FileType.get_types() +    def get_show_detail(self): +        return hasattr(self, 'cleaned_data') and \ +           self.cleaned_data.get('department_detail') +      def get_date_source(self):          date_source = 'creation'          if hasattr(self, 'cleaned_data') and \ diff --git a/archaeological_files/locale/fr/LC_MESSAGES/django.po b/archaeological_files/locale/fr/LC_MESSAGES/django.po index f2951cc68..fd733daa3 100644 --- a/archaeological_files/locale/fr/LC_MESSAGES/django.po +++ b/archaeological_files/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid ""  msgstr ""  "Project-Id-Version: alpha\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-15 01:32+0200\n" +"POT-Creation-Date: 2014-10-21 00:45+0200\n"  "PO-Revision-Date: 2010-12-09\n"  "Last-Translator: Étienne Loks <etienne.loks at peacefrogs net>\n"  "Language-Team: \n" @@ -18,29 +18,29 @@ msgstr ""  "Content-Transfer-Encoding: 8bit\n"  "Plural-Forms: nplurals=2; plural=n>1;\n" -#: forms.py:55 forms.py:169 forms.py:209 forms.py:320 forms.py:360 -#: models.py:67 templates/ishtar/sheet_file.html:98 +#: forms.py:55 forms.py:188 forms.py:228 forms.py:339 forms.py:379 +#: models.py:68 templates/ishtar/sheet_file.html:98  #: templates/ishtar/sheet_file.html:126  msgid "Year"  msgstr "Année" -#: forms.py:56 forms.py:173 forms.py:211 forms.py:359 models.py:69 +#: forms.py:56 forms.py:192 forms.py:230 forms.py:378 models.py:70  msgid "Numeric reference"  msgstr "Référence numérique" -#: forms.py:58 forms.py:175 forms.py:362 +#: forms.py:58 forms.py:194 forms.py:381  msgid "Other reference"  msgstr "Autre référence" -#: forms.py:60 forms.py:342 +#: forms.py:60 forms.py:361  msgid "File name"  msgstr "Nom du dossier" -#: forms.py:61 forms.py:130 forms.py:180 models.py:74 +#: forms.py:61 forms.py:135 forms.py:199 models.py:75  msgid "File type"  msgstr "Type de dossier" -#: forms.py:62 forms.py:132 forms.py:248 +#: forms.py:62 forms.py:137 forms.py:267  msgid "Saisine type"  msgstr "Type de saisine" @@ -52,23 +52,23 @@ msgstr "Parcelle (section/numéro)"  msgid "Is active?"  msgstr "Est actif ?" -#: forms.py:66 forms.py:222 forms.py:345 models.py:81 +#: forms.py:66 forms.py:241 forms.py:364 models.py:82  msgid "General contractor"  msgstr "Aménageur" -#: forms.py:73 forms.py:352 +#: forms.py:73 forms.py:371  msgid "Organization of general contractor"  msgstr "Organisation de l'aménageur" -#: forms.py:80 forms.py:364 templates/ishtar/sheet_file.html:102 +#: forms.py:80 forms.py:383 templates/ishtar/sheet_file.html:102  msgid "In charge"  msgstr "Responsable" -#: forms.py:87 forms.py:373 +#: forms.py:87 forms.py:392  msgid "Created by"  msgstr "Créé par" -#: forms.py:94 forms.py:241 forms.py:371 models.py:90 +#: forms.py:94 forms.py:260 forms.py:390 models.py:91  msgid "Permit reference"  msgstr "Référence du permis" @@ -80,141 +80,141 @@ msgstr "Recherche de dossiers archéologiques"  msgid "You should select a file."  msgstr "Vous devez sélectionner un dossier archéologique." -#: forms.py:125 -msgid "years" -msgstr "années" +#: forms.py:125 forms.py:197 models.py:96 +msgid "Creation date" +msgstr "Date de création" -#: forms.py:125 -msgid "months" -msgstr "mois" +#: forms.py:126 forms.py:269 models.py:98 +msgid "Reception date" +msgstr "Date de réception" -#: forms.py:128 +#: forms.py:129  msgid "Slicing"  msgstr "Découpage" -#: forms.py:134 -msgid "Creation date after" -msgstr "Date de création après" +#: forms.py:131 +msgid "Department detail" +msgstr "Détail par département" -#: forms.py:136 -msgid "Creation date before" -msgstr "Date de création avant" +#: forms.py:133 +msgid "Date get from" +msgstr "Date utilisée" -#: forms.py:159 templates/ishtar/sheet_file.html:24 +#: forms.py:139 +msgid "Date after" +msgstr "Date après" + +#: forms.py:141 +msgid "Date before" +msgstr "Date avant" + +#: forms.py:178 templates/ishtar/sheet_file.html:24  msgid "General"  msgstr "Général" -#: forms.py:163 models.py:76 +#: forms.py:182 models.py:77  msgid "Person in charge"  msgstr "Responsable" -#: forms.py:177 models.py:73 +#: forms.py:196 models.py:74  msgid "Name"  msgstr "Nom" -#: forms.py:178 models.py:95 -msgid "Creation date" -msgstr "Date de création" - -#: forms.py:181 models.py:99 +#: forms.py:200 models.py:100  msgid "Related file"  msgstr "Dossier en relation avec" -#: forms.py:185 forms.py:291 models.py:115 templates/ishtar/sheet_file.html:85 +#: forms.py:204 forms.py:310 models.py:116 templates/ishtar/sheet_file.html:85  msgid "Comment"  msgstr "Commentaire" -#: forms.py:189 models.py:106 +#: forms.py:208 models.py:107  msgid "Total surface (m²)"  msgstr "Surface totale des terrains (m²)" -#: forms.py:192 models.py:110 +#: forms.py:211 models.py:111  msgid "Main address"  msgstr "Adresse des terrains" -#: forms.py:193 models.py:111 +#: forms.py:212 models.py:112  msgid "Main address - complement"  msgstr "Adresse des terrains - complément" -#: forms.py:204 +#: forms.py:223  #, python-format  msgid "<br/>(last recorded: %s)"  msgstr "<br/>(dernier enregistrement : %s)" -#: forms.py:217 +#: forms.py:236  msgid "Preventive informations"  msgstr "Information archéologie préventive" -#: forms.py:231 models.py:86 +#: forms.py:250 models.py:87  msgid "Responsible for town planning service"  msgstr "Responsable au service instructeur" -#: forms.py:239 models.py:52 models.py:88 +#: forms.py:258 models.py:52 models.py:89  msgid "Permit type"  msgstr "Type de permis" -#: forms.py:244 models.py:109 +#: forms.py:263 models.py:110  msgid "Total developed surface (m²)"  msgstr "Surface totale aménagée (m²)" -#: forms.py:250 models.py:97 -msgid "Reception date" -msgstr "Date de réception" - -#: forms.py:261 templates/ishtar/sheet_file.html:75 +#: forms.py:280 templates/ishtar/sheet_file.html:75  #: templates/ishtar/dashboards/dashboard_file.html:42  msgid "Research archaeology"  msgstr "Archéologie programmée" -#: forms.py:269 models.py:118 templates/ishtar/sheet_file.html:76 +#: forms.py:288 models.py:119 templates/ishtar/sheet_file.html:76  msgid "Departments"  msgstr "Départements" -#: forms.py:279 models.py:130 +#: forms.py:298 models.py:131  msgid "Scientist in charge"  msgstr "Responsable scientifique" -#: forms.py:281 models.py:123 templates/ishtar/sheet_file.html:78 +#: forms.py:300 models.py:124 templates/ishtar/sheet_file.html:78  msgid "Requested operation type"  msgstr "Type d'opération demandée" -#: forms.py:283 +#: forms.py:302  msgid "Lead organization"  msgstr "Organisation porteuse du projet" -#: forms.py:300 models.py:134 templates/ishtar/sheet_file.html:83 +#: forms.py:319 models.py:135 templates/ishtar/sheet_file.html:83  msgid "Classified area"  msgstr "Au sein d'un site classé" -#: forms.py:302 models.py:136 templates/ishtar/sheet_file.html:84 +#: forms.py:321 models.py:137 templates/ishtar/sheet_file.html:84  msgid "Protected area"  msgstr "Au sein d'un secteur sauvegardé" -#: forms.py:313 +#: forms.py:332  msgid "Would you like to close this archaeological file?"  msgstr "Voulez vous clore ce dossier archéologique ?" -#: forms.py:317 +#: forms.py:336  msgid "Would you like to delete this archaelogical file ?"  msgstr "Voulez vous supprimer ce dossier archéologique ?" -#: forms.py:321 +#: forms.py:340  msgid "Index"  msgstr "Index" -#: forms.py:325 forms.py:337 forms.py:402 +#: forms.py:344 forms.py:356 forms.py:421  msgid "Act type"  msgstr "Type d'acte" -#: forms.py:338 +#: forms.py:357  msgid "Signature date after"  msgstr "Date de signature après" -#: forms.py:340 +#: forms.py:359  msgid "Signature date before"  msgstr "Date de signature avant" -#: ishtar_menu.py:30 models.py:150 templates/ishtar/sheet_file.html:6 +#: ishtar_menu.py:30 models.py:151 templates/ishtar/sheet_file.html:6  msgid "Archaeological file"  msgstr "Dossier" @@ -258,7 +258,7 @@ msgstr "Tableau de bord"  msgid "General informations"  msgstr "Informations générales" -#: ishtar_menu.py:73 models.py:151 +#: ishtar_menu.py:73 models.py:152  #: templates/ishtar/dashboards/dashboard_file.html:8  msgid "Archaeological files"  msgstr "Dossiers archéologiques" @@ -279,75 +279,75 @@ msgstr "Types de permis"  msgid "Delay (in days)"  msgstr "Delai (en jours)" -#: models.py:71 +#: models.py:72  msgid "Internal reference"  msgstr "Référence interne" -#: models.py:92 +#: models.py:93  msgid "Closing date"  msgstr "Date de clotûre" -#: models.py:93 +#: models.py:94  msgid "Towns"  msgstr "Communes" -#: models.py:104 +#: models.py:105  msgid "Ref. number"  msgstr "Réf. numérique" -#: models.py:113 +#: models.py:114  msgid "Main address - postal code"  msgstr "Adresse des terrains - code postal" -#: models.py:125 templates/ishtar/sheet_file.html:79 +#: models.py:126 templates/ishtar/sheet_file.html:79  msgid "Organization"  msgstr "Organisation" -#: models.py:131 +#: models.py:132  msgid "Research archaeology comment"  msgstr "Commentaire archéologie programmée" -#: models.py:145 +#: models.py:146  msgid "Cached name"  msgstr "Nom en cache" -#: models.py:153 +#: models.py:154  msgid "Can view all Archaelogical file"  msgstr "Peut voir tous les dossier archéologique" -#: models.py:154 +#: models.py:155  msgid "Can view own Archaelogical file"  msgstr "Peut voir son propre Dossier" -#: models.py:155 +#: models.py:156  msgid "Can add own Archaelogical file"  msgstr "Peut ajouter son propre Dossier" -#: models.py:156 +#: models.py:157  msgid "Can change own Archaelogical file"  msgstr "Peut changer son propre Dossier" -#: models.py:157 +#: models.py:158  msgid "Can delete own Archaelogical file"  msgstr "Peut supprimer son propre Dossier" -#: models.py:158 +#: models.py:159  msgid "Can close File"  msgstr "Peut fermer un dossier" -#: models.py:164 +#: models.py:165  msgid "FILE"  msgstr "DOSSIER" -#: models.py:312 +#: models.py:278  msgid "Intercommunal"  msgstr "Intercommunal" -#: models.py:376 +#: models.py:342  msgid "File"  msgstr "Dossier" -#: models.py:377 +#: models.py:343  msgid "Department"  msgstr "Département" @@ -679,6 +679,15 @@ msgstr "Principales communes en nombre"  msgid "Main towns by surface (ha)"  msgstr "Principales communes en surface (ha)" +#~ msgid "years" +#~ msgstr "années" + +#~ msgid "months" +#~ msgstr "mois" + +#~ msgid "Creation date before" +#~ msgstr "Date de création avant" +  #~ msgid "Town"  #~ msgstr "Commune" diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 70570e145..4483e6401 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -30,7 +30,7 @@ from ishtar_common.utils import cached_label_changed, get_cache  from ishtar_common.models import GeneralType, BaseHistorizedItem, \      HistoricalRecords, OwnPerms, Person, Organization, Department, Town, \ -    Dashboard, IshtarUser, ValueGetter, ShortMenuItem +    Dashboard, DashboardFormItem, IshtarUser, ValueGetter, ShortMenuItem  class FileType(GeneralType):      class Meta: @@ -61,7 +61,8 @@ if settings.COUNTRY == 'fr':              verbose_name_plural = u"Types Saisine"              ordering = ('label',) -class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem): +class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem, +           DashboardFormItem):      TABLE_COLS = ['numeric_reference', 'year', 'internal_reference',                    'file_type', 'saisine_type', 'towns', ]      year = models.IntegerField(_(u"Year"), @@ -229,44 +230,6 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem):          owns = super(File, cls).get_owns(user)          return sorted(owns.all(), key=lambda x:x.cached_label) -    @classmethod -    def get_periods(cls, slice='year', fltr={}, date_source='creation'): -        date_var = date_source + '_date' -        q = cls.objects.filter(**{date_var+'__isnull':False}) -        if fltr: -            q = q.filter(**fltr) -        if slice == 'year': -            return [res[date_var].year for res in list(q.values(date_var -                                ).annotate(Count("id")).order_by())] -        elif slice == 'month': -            return [(res[date_var].year, res[date_var].month) -                               for res in list(q.values(date_var -                                ).annotate(Count("id")).order_by())] -        return [] - -    @classmethod -    def get_by_year(cls, year, fltr={}, date_source='creation'): -        date_var = date_source + '_date' -        q = cls.objects.filter(**{date_var+'__isnull':False}) -        if fltr: -            q = q.filter(**fltr) -        return q.filter(**{date_var+'__year':year}) - -    @classmethod -    def get_by_month(cls, year, month, fltr={}, date_source='creation'): -        date_var = date_source + '_date' -        q = cls.objects.filter(**{date_var+'__isnull':False}) -        if fltr: -            q = q.filter(**fltr) -        return q.filter(**{date_var+'__year':year, date_var+'__month':month}) - -    @classmethod -    def get_total_number(cls, fltr={}): -        q = cls.objects -        if fltr: -            q = q.filter(**fltr) -        return q.count() -      def get_values(self, prefix=''):          values = super(File, self).get_values(prefix=prefix)          values['adminact_associated_file_towns_count'] = unicode(  | 
