diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-11 19:00:29 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-11 19:00:29 +0200 | 
| commit | 72de941ef9ec59b282e056c28339a414c2b8b162 (patch) | |
| tree | 3db3213d2e87cfcdeb7d1245fe239ec3188eb01e | |
| parent | 3120af6c41157b71561d6fd5a68fc6022f6dbadf (diff) | |
| parent | f9e0e0518c087febb5bf0eb89eac34f685559970 (diff) | |
| download | Ishtar-72de941ef9ec59b282e056c28339a414c2b8b162.tar.bz2 Ishtar-72de941ef9ec59b282e056c28339a414c2b8b162.zip | |
Merge branch 'master' into v0.9
37 files changed, 2733 insertions, 1776 deletions
| diff --git a/CHANGES.md b/CHANGES.md index 0ddcccbb7..1f7351e36 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,17 @@  Ishtar changelog  ================ +0.98.6 (2016-10-11) +------------------- + +### Features ### + +- Shortcut menu: add a new advanced menu with autocomplete search + +### Bug fixes ### + +- Operation: add a related name for towns +  0.98.5 (2016-09-24)  ------------------- diff --git a/archaeological_context_records/locale/django.pot b/archaeological_context_records/locale/django.pot index 9c1eeaa93..083f7e455 100644 --- a/archaeological_context_records/locale/django.pot +++ b/archaeological_context_records/locale/django.pot @@ -7,11 +7,11 @@  msgid ""  msgstr "" -#: forms.py:47 forms.py:51 models.py:133 wizards.py:77 +#: forms.py:47 forms.py:51 models.py:143 wizards.py:77  msgid "Operation"  msgstr "" -#: forms.py:59 forms.py:137 models.py:135 +#: forms.py:59 forms.py:137 models.py:145  #: templates/ishtar/sheet_contextrecord.html:65  msgid "ID"  msgstr "" @@ -36,7 +36,7 @@ msgstr ""  msgid "Search within operation relations"  msgstr "" -#: forms.py:77 forms.py:230 models.py:51 +#: forms.py:77 forms.py:230 models.py:55  msgid "Period"  msgstr "" @@ -52,7 +52,7 @@ msgstr ""  msgid "Search within relations"  msgstr "" -#: forms.py:111 forms.py:335 views.py:125 +#: forms.py:111 forms.py:335 views.py:126  msgid "Context record search"  msgstr "" @@ -64,41 +64,41 @@ msgstr ""  msgid "General"  msgstr "" -#: forms.py:136 models.py:121 models.py:131 +#: forms.py:136 models.py:131 models.py:141  #: templates/ishtar/sheet_contextrecord.html:69  msgid "Parcel"  msgstr "" -#: forms.py:139 models.py:136 templates/ishtar/sheet_contextrecord.html:25 +#: forms.py:139 models.py:146 templates/ishtar/sheet_contextrecord.html:25  #: templates/ishtar/sheet_contextrecord.html:68  msgid "Description"  msgstr "" -#: forms.py:141 models.py:137 +#: forms.py:141 models.py:147  msgid "General comment"  msgstr "" -#: forms.py:143 models.py:141 +#: forms.py:143 models.py:151  msgid "Length (m)"  msgstr "" -#: forms.py:144 models.py:142 +#: forms.py:144 models.py:152  msgid "Width (m)"  msgstr "" -#: forms.py:145 models.py:143 +#: forms.py:145 models.py:153  msgid "Thickness (m)"  msgstr "" -#: forms.py:146 models.py:145 +#: forms.py:146 models.py:155  msgid "Depth (m)"  msgstr "" -#: forms.py:147 models.py:153 +#: forms.py:147 models.py:163  msgid "Unit"  msgstr "" -#: forms.py:149 models.py:147 +#: forms.py:149 models.py:157  msgid "Location"  msgstr "" @@ -117,27 +117,27 @@ msgstr ""  msgid "This ID already exists for this operation."  msgstr "" -#: forms.py:225 forms.py:252 models.py:62 +#: forms.py:225 forms.py:252 models.py:66  msgid "Dating"  msgstr "" -#: forms.py:231 models.py:52 +#: forms.py:231 models.py:56  msgid "Start date"  msgstr "" -#: forms.py:232 models.py:53 models.py:140 +#: forms.py:232 models.py:57 models.py:150  msgid "End date"  msgstr "" -#: forms.py:233 models.py:56 +#: forms.py:233 models.py:60  msgid "Quality"  msgstr "" -#: forms.py:234 models.py:38 models.py:54 +#: forms.py:234 models.py:38 models.py:58  msgid "Dating type"  msgstr "" -#: forms.py:261 ishtar_menu.py:29 models.py:373 +#: forms.py:261 ishtar_menu.py:29 models.py:384  msgid "Context record"  msgstr "" @@ -145,7 +145,7 @@ msgstr ""  msgid "Relations"  msgstr "" -#: forms.py:286 forms.py:296 models.py:158 +#: forms.py:286 forms.py:296 models.py:168  #: templates/ishtar/sheet_contextrecord.html:37  msgid "Interpretation"  msgstr "" @@ -154,35 +154,35 @@ msgstr ""  msgid "Comments on dating"  msgstr "" -#: forms.py:292 models.py:155 +#: forms.py:292 models.py:165  msgid "Has furniture?"  msgstr "" -#: forms.py:294 models.py:157 +#: forms.py:294 models.py:167  msgid "Filling"  msgstr "" -#: forms.py:298 models.py:178 +#: forms.py:298 models.py:188  msgid "Activity"  msgstr "" -#: forms.py:300 models.py:176 +#: forms.py:300 models.py:186  msgid "Identification"  msgstr "" -#: forms.py:302 models.py:161 +#: forms.py:302 models.py:171  msgid "TAQ"  msgstr "" -#: forms.py:303 models.py:165 +#: forms.py:303 models.py:175  msgid "Estimated TAQ"  msgstr "" -#: forms.py:305 models.py:168 +#: forms.py:305 models.py:178  msgid "TPQ"  msgstr "" -#: forms.py:306 models.py:172 +#: forms.py:306 models.py:182  msgid "Estimated TPQ"  msgstr "" @@ -258,188 +258,188 @@ msgstr ""  msgid "Dating types"  msgstr "" -#: models.py:45 +#: models.py:47  msgid "Dating quality"  msgstr "" -#: models.py:46 +#: models.py:48  msgid "Dating qualities"  msgstr "" -#: models.py:58 +#: models.py:62  msgid "Precise dating"  msgstr "" -#: models.py:63 +#: models.py:67  msgid "Datings"  msgstr "" -#: models.py:74 models.py:88 models.py:100 +#: models.py:78 models.py:94 models.py:108  msgid "Order"  msgstr "" -#: models.py:75 +#: models.py:79  msgid "Parent unit"  msgstr "" -#: models.py:79 +#: models.py:83  msgid "Unit Type"  msgstr "" -#: models.py:80 +#: models.py:84  msgid "Unit Types"  msgstr "" -#: models.py:91 +#: models.py:97  msgid "Activity Type"  msgstr "" -#: models.py:92 +#: models.py:98  msgid "Activity Types"  msgstr "" -#: models.py:103 +#: models.py:111  msgid "Identification Type"  msgstr "" -#: models.py:104 +#: models.py:112  msgid "Identification Types"  msgstr "" -#: models.py:128 +#: models.py:138  msgid "External ID"  msgstr "" -#: models.py:130 +#: models.py:140  msgid "External ID is set automatically"  msgstr "" -#: models.py:138 +#: models.py:148  msgid "Date d'ouverture"  msgstr "" -#: models.py:148 +#: models.py:158  msgid "A short description of the location of the context record"  msgstr "" -#: models.py:151 +#: models.py:161  msgid "Comment on datings"  msgstr "" -#: models.py:162 +#: models.py:172  msgid ""  "\"Terminus Ante Quem\" the context record can't have been created after this "  "date"  msgstr "" -#: models.py:166 +#: models.py:176  msgid "Estimation of a \"Terminus Ante Quem\""  msgstr "" -#: models.py:169 +#: models.py:179  msgid ""  "\"Terminus Post Quem\" the context record can't have been created before "  "this date"  msgstr "" -#: models.py:173 +#: models.py:183  msgid "Estimation of a \"Terminus Post Quem\""  msgstr "" -#: models.py:181 +#: models.py:191  msgid "Point"  msgstr "" -#: models.py:182 +#: models.py:192  msgid "Polygon"  msgstr "" -#: models.py:183 +#: models.py:193  msgid "Cached name"  msgstr "" -#: models.py:187 models.py:188 templates/ishtar/sheet_contextrecord.html:4 +#: models.py:197 models.py:198 templates/ishtar/sheet_contextrecord.html:4  msgid "Context Record"  msgstr "" -#: models.py:190 +#: models.py:200  msgid "Can view all Context Records"  msgstr "" -#: models.py:192 +#: models.py:202  msgid "Can view own Context Record"  msgstr "" -#: models.py:194 +#: models.py:204  msgid "Can add own Context Record"  msgstr "" -#: models.py:196 +#: models.py:206  msgid "Can change own Context Record"  msgstr "" -#: models.py:198 +#: models.py:208  msgid "Can delete own Context Record"  msgstr "" -#: models.py:208 +#: models.py:218  msgctxt "short"  msgid "Context record"  msgstr "" -#: models.py:339 +#: models.py:350  msgid "Inverse relation"  msgstr "" -#: models.py:343 templates/ishtar/sheet_contextrecord.html:64 +#: models.py:354 templates/ishtar/sheet_contextrecord.html:64  msgid "Relation type"  msgstr "" -#: models.py:344 +#: models.py:355  msgid "Relation types"  msgstr "" -#: models.py:357 +#: models.py:368  msgid "Record relation"  msgstr "" -#: models.py:358 +#: models.py:369  msgid "Record relations"  msgstr "" -#: models.py:370 +#: models.py:381  msgid "Context record documentation"  msgstr "" -#: models.py:371 +#: models.py:382  msgid "Context record documentations"  msgstr "" -#: views.py:135 +#: views.py:136  msgid "New context record"  msgstr "" -#: views.py:146 +#: views.py:147  msgid "Context record modification"  msgstr "" -#: views.py:160 +#: views.py:161  msgid "Context record deletion"  msgstr "" -#: views.py:165 +#: views.py:166  msgid "Context record: source search"  msgstr "" -#: views.py:173 +#: views.py:174  msgid "Context record: new source"  msgstr "" -#: views.py:181 +#: views.py:182  msgid "Context record: source modification"  msgstr "" -#: views.py:196 +#: views.py:197  msgid "Context record: source deletion"  msgstr "" diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index af042bf45..5dc943275 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -236,12 +236,13 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):              Q(history_creator=user)      @classmethod -    def get_owns(cls, user, menu_filtr=None): +    def get_owns(cls, user, menu_filtr=None, limit=None):          replace_query = {}          if menu_filtr:              replace_query = {'operation': menu_filtr} -        owns = super(ContextRecord, cls).get_owns(user, -                                                  replace_query=replace_query) +        owns = super(ContextRecord, cls).get_owns( +            user, replace_query=replace_query, +            limit=limit)          return sorted(owns, key=lambda x: x.cached_label)      def full_label(self): diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py index 8e218102d..a25559e29 100644 --- a/archaeological_context_records/urls.py +++ b/archaeological_context_records/urls.py @@ -89,6 +89,9 @@ urlpatterns += patterns(      url(r'get-contextrecord-full/(?P<type>.+)?$',          'get_contextrecord', name='get-contextrecord-full',          kwargs={'full': True}), +    url(r'get-contextrecord-shortcut/(?P<type>.+)?$', +        'get_contextrecord', name='get-contextrecord-shortcut', +        kwargs={'full': 'shortcut'}),      url(r'show-contextrecordsource(?:/(?P<pk>.+))?/(?P<type>.+)?$',          'show_contextrecordsource', name=models.ContextRecordSource.SHOW_URL),      url(r'get-contexrecordsource/(?P<type>.+)?$', diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py index 5c8bb63cc..bc95473e6 100644 --- a/archaeological_context_records/views.py +++ b/archaeological_context_records/views.py @@ -46,6 +46,7 @@ contextrecord_extra_keys = {      'parcel_2': 'operation__parcels__public_domain',      'label': 'label__icontains',      'archaeological_sites': 'operation__archaeological_sites__pk', +    'cached_label': 'cached_label__icontains',  } diff --git a/archaeological_files/locale/django.pot b/archaeological_files/locale/django.pot index 90cecbb4f..239526e90 100644 --- a/archaeological_files/locale/django.pot +++ b/archaeological_files/locale/django.pot @@ -9,11 +9,11 @@ msgid ""  msgstr ""  #: forms.py:52 forms.py:212 forms.py:257 forms.py:404 forms.py:431 -#: models.py:78 templates/ishtar/sheet_file.html:146 +#: models.py:84 templates/ishtar/sheet_file.html:146  msgid "Year"  msgstr "" -#: forms.py:53 forms.py:217 forms.py:259 models.py:81 +#: forms.py:53 forms.py:217 forms.py:259 models.py:87  msgid "Numeric reference"  msgstr "" @@ -25,7 +25,7 @@ msgstr ""  msgid "Parcel (section/number/public domain)"  msgstr "" -#: forms.py:60 forms.py:415 forms.py:442 models.py:514 +#: forms.py:60 forms.py:415 forms.py:442 models.py:519  msgid "Department"  msgstr "" @@ -33,7 +33,7 @@ msgstr ""  msgid "File name"  msgstr "" -#: forms.py:62 forms.py:158 forms.py:223 models.py:89 +#: forms.py:62 forms.py:158 forms.py:223 models.py:95  msgid "File type"  msgstr "" @@ -45,15 +45,15 @@ msgstr ""  msgid "Saisine type"  msgstr "" -#: forms.py:65 forms.py:311 models.py:58 models.py:120 +#: forms.py:65 forms.py:311 models.py:60 models.py:126  msgid "Permit type"  msgstr "" -#: forms.py:67 forms.py:314 models.py:121 +#: forms.py:67 forms.py:314 models.py:127  msgid "Permit reference"  msgstr "" -#: forms.py:68 forms.py:229 forms.py:372 models.py:150 +#: forms.py:68 forms.py:229 forms.py:372 models.py:156  #: templates/ishtar/sheet_file.html:99  msgid "Comment"  msgstr "" @@ -62,7 +62,7 @@ msgstr ""  msgid "In charge"  msgstr "" -#: forms.py:77 forms.py:289 forms.py:453 models.py:96 +#: forms.py:77 forms.py:289 forms.py:453 models.py:102  msgid "General contractor"  msgstr "" @@ -86,11 +86,11 @@ msgstr ""  msgid "You should select a file."  msgstr "" -#: forms.py:146 forms.py:221 models.py:129 +#: forms.py:146 forms.py:221 models.py:135  msgid "Creation date"  msgstr "" -#: forms.py:147 forms.py:324 models.py:131 +#: forms.py:147 forms.py:324 models.py:137  msgid "Reception date"  msgstr "" @@ -118,23 +118,23 @@ msgstr ""  msgid "General"  msgstr "" -#: forms.py:206 models.py:91 +#: forms.py:206 models.py:97  msgid "Person in charge"  msgstr "" -#: forms.py:220 models.py:88 +#: forms.py:220 models.py:94  msgid "Name"  msgstr "" -#: forms.py:225 models.py:133 +#: forms.py:225 models.py:139  msgid "Related file"  msgstr "" -#: forms.py:233 models.py:141 +#: forms.py:233 models.py:147  msgid "Total surface (m2)"  msgstr "" -#: forms.py:236 models.py:147 +#: forms.py:236 models.py:153  msgid "Main address"  msgstr "" @@ -155,11 +155,11 @@ msgstr ""  msgid "Preventive informations"  msgstr "" -#: forms.py:301 models.py:108 +#: forms.py:301 models.py:114  msgid "Responsible for town planning service"  msgstr "" -#: forms.py:317 models.py:144 +#: forms.py:317 models.py:150  msgid "Total developed surface (m2)"  msgstr "" @@ -168,15 +168,15 @@ msgstr ""  msgid "Research archaeology"  msgstr "" -#: forms.py:348 models.py:153 templates/ishtar/sheet_file.html:90 +#: forms.py:348 models.py:159 templates/ishtar/sheet_file.html:90  msgid "Departments"  msgstr "" -#: forms.py:359 models.py:162 +#: forms.py:359 models.py:168  msgid "Scientist in charge"  msgstr "" -#: forms.py:361 models.py:156 templates/ishtar/sheet_file.html:92 +#: forms.py:361 models.py:162 templates/ishtar/sheet_file.html:92  msgid "Requested operation type"  msgstr "" @@ -184,11 +184,11 @@ msgstr ""  msgid "Lead organization"  msgstr "" -#: forms.py:379 models.py:166 templates/ishtar/sheet_file.html:97 +#: forms.py:379 models.py:172 templates/ishtar/sheet_file.html:97  msgid "Classified area"  msgstr "" -#: forms.py:381 models.py:168 templates/ishtar/sheet_file.html:98 +#: forms.py:381 models.py:174 templates/ishtar/sheet_file.html:98  msgid "Protected area"  msgstr "" @@ -248,7 +248,7 @@ msgstr ""  msgid "File permit reference"  msgstr "" -#: ishtar_menu.py:33 models.py:190 templates/ishtar/sheet_file.html:4 +#: ishtar_menu.py:33 models.py:196 templates/ishtar/sheet_file.html:4  msgid "Archaeological file"  msgstr "" @@ -292,7 +292,7 @@ msgstr ""  msgid "General informations"  msgstr "" -#: ishtar_menu.py:87 models.py:191 +#: ishtar_menu.py:87 models.py:197  #: templates/ishtar/dashboards/dashboard_file.html:7  msgid "Archaeological files"  msgstr "" @@ -305,155 +305,155 @@ msgstr ""  msgid "Archaeological file types"  msgstr "" -#: models.py:59 +#: models.py:61  msgid "Permit types"  msgstr "" -#: models.py:64 +#: models.py:68  msgid "Delay (in days)"  msgstr "" -#: models.py:82 +#: models.py:88  msgid "Internal reference"  msgstr "" -#: models.py:84 +#: models.py:90  msgid "External ID"  msgstr "" -#: models.py:87 +#: models.py:93  msgid "External ID is set automatically"  msgstr "" -#: models.py:99 +#: models.py:105  msgid "General contractor (raw)"  msgstr "" -#: models.py:103 +#: models.py:109  msgid "General contractor organization"  msgstr "" -#: models.py:111 +#: models.py:117  msgid "Town planning service (raw)"  msgstr "" -#: models.py:117 +#: models.py:123  msgid "Town planning service organization"  msgstr "" -#: models.py:123 +#: models.py:129  msgid "Closing date"  msgstr "" -#: models.py:124 +#: models.py:130  msgid "Town"  msgstr "" -#: models.py:126 +#: models.py:132  msgid "Towns"  msgstr "" -#: models.py:139 +#: models.py:145  msgid "Instruction deadline"  msgstr "" -#: models.py:145 +#: models.py:151  msgid "Locality"  msgstr "" -#: models.py:148 +#: models.py:154  msgid "Main address - postal code"  msgstr "" -#: models.py:158 templates/ishtar/sheet_file.html:93 +#: models.py:164 templates/ishtar/sheet_file.html:93  msgid "Organization"  msgstr "" -#: models.py:163 +#: models.py:169  msgid "Research archaeology comment"  msgstr "" -#: models.py:177 +#: models.py:183  msgid "Cached name"  msgstr "" -#: models.py:178 +#: models.py:184  msgid "Imported line"  msgstr "" -#: models.py:193 +#: models.py:199  msgid "Can view all Archaelogical files"  msgstr "" -#: models.py:194 +#: models.py:200  msgid "Can view own Archaelogical file"  msgstr "" -#: models.py:195 +#: models.py:201  msgid "Can add own Archaelogical file"  msgstr "" -#: models.py:197 +#: models.py:203  msgid "Can change own Archaelogical file"  msgstr "" -#: models.py:199 +#: models.py:205  msgid "Can delete own Archaelogical file"  msgstr "" -#: models.py:200 +#: models.py:206  msgid "Can close File"  msgstr "" -#: models.py:206 +#: models.py:212  msgid "FILE"  msgstr "" -#: models.py:375 +#: models.py:380  msgid "Multi-town"  msgstr "" -#: models.py:381 +#: models.py:386  msgid "No town"  msgstr "" -#: models.py:513 +#: models.py:518  msgid "File"  msgstr "" -#: views.py:159 +#: views.py:160  msgid "File search"  msgstr "" -#: views.py:168 +#: views.py:169  msgid "New file"  msgstr "" -#: views.py:187 +#: views.py:188  msgid "File modification"  msgstr "" -#: views.py:210 +#: views.py:211  msgid "File closing"  msgstr "" -#: views.py:215 +#: views.py:216  msgid "File deletion"  msgstr "" -#: views.py:222 +#: views.py:223  msgid "File: search administrative act"  msgstr "" -#: views.py:231 +#: views.py:232  msgid "File: new administrative act"  msgstr "" -#: views.py:241 +#: views.py:242  msgid "File: administrative act modification"  msgstr "" -#: views.py:265 +#: views.py:266  msgid "File: administrative act deletion"  msgstr "" diff --git a/archaeological_files/models.py b/archaeological_files/models.py index b116d1f1c..3721e4d3d 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -340,8 +340,8 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter,          return cls      @classmethod -    def get_owns(cls, user, menu_filtr=None): -        owns = super(File, cls).get_owns(user) +    def get_owns(cls, user, menu_filtr=None, limit=None): +        owns = super(File, cls).get_owns(user, limit=limit)          return sorted(owns, key=lambda x: x.cached_label)      def get_values(self, prefix=''): diff --git a/archaeological_files/urls.py b/archaeological_files/urls.py index c6b932fec..b762a54b3 100644 --- a/archaeological_files/urls.py +++ b/archaeological_files/urls.py @@ -75,6 +75,9 @@ urlpatterns += patterns(          name='get-file'),      url(r'get-file-full/(?P<type>.+)?$', 'get_file',          name='get-file-full', kwargs={'full': True}), +    url(r'get-file-shortcut/(?P<type>.+)?$', +        'get_file', name='get-file-shortcut', +        kwargs={'full': 'shortcut'}),      url(r'get-administrativeactfile/(?P<type>.+)?$',          'get_administrativeactfile', name='get-administrativeactfile'),      url(r'show-file(?:/(?P<pk>.+))?/(?P<type>.+)?$', 'show_file', diff --git a/archaeological_files/views.py b/archaeological_files/views.py index e457c2ce7..a8053214f 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -91,6 +91,7 @@ get_file = get_item(          'towns__numero_insee__startswith':          'towns__numero_insee__startswith',          'name': 'name__icontains', +        'cached_label': 'cached_label__icontains',          'comment': 'comment__icontains',          'permit_reference': 'permit_reference__icontains',          'general_contractor__attached_to': diff --git a/archaeological_finds/locale/django.pot b/archaeological_finds/locale/django.pot index 9713ecd3c..b11e47a36 100644 --- a/archaeological_finds/locale/django.pot +++ b/archaeological_finds/locale/django.pot @@ -12,29 +12,29 @@ msgstr ""  msgid "Context record"  msgstr "" -#: forms.py:83 ishtar_menu.py:31 models.py:387 models.py:671 models.py:769 -#: models.py:913 templates/ishtar/sheet_find.html:5 +#: forms.py:83 ishtar_menu.py:31 models.py:399 models.py:685 models.py:785 +#: models.py:929 templates/ishtar/sheet_find.html:5  msgid "Find"  msgstr "" -#: forms.py:94 forms.py:218 forms.py:425 models.py:115 models.py:324 +#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:336  msgid "Free ID"  msgstr "" -#: forms.py:96 models.py:373 +#: forms.py:96 models.py:385  msgid "Previous ID"  msgstr "" -#: forms.py:97 forms.py:250 forms.py:591 models.py:119 models.py:325 -#: models.py:703 +#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:337 +#: models.py:719  msgid "Description"  msgstr "" -#: forms.py:100 forms.py:252 models.py:130 +#: forms.py:100 forms.py:252 models.py:142  msgid "Batch/object"  msgstr "" -#: forms.py:102 models.py:353 +#: forms.py:102 models.py:365  msgid "Is complete?"  msgstr "" @@ -42,83 +42,83 @@ msgstr ""  msgid "Material type"  msgstr "" -#: forms.py:106 forms.py:244 models.py:60 models.py:329 +#: forms.py:106 forms.py:244 models.py:62 models.py:341  msgid "Conservatory state"  msgstr "" -#: forms.py:109 models.py:331 +#: forms.py:109 models.py:343  msgid "Conservatory comment"  msgstr "" -#: forms.py:112 models.py:92 models.py:356 +#: forms.py:112 models.py:102 models.py:368  msgid "Object types"  msgstr "" -#: forms.py:114 forms.py:243 models.py:67 +#: forms.py:114 forms.py:243 models.py:71  msgid "Preservation type"  msgstr "" -#: forms.py:117 forms.py:246 models.py:358 +#: forms.py:117 forms.py:246 models.py:370  msgid "Integrity / interest"  msgstr "" -#: forms.py:120 forms.py:248 models.py:361 +#: forms.py:120 forms.py:248 models.py:373  msgid "Remarkability"  msgstr "" -#: forms.py:122 models.py:363 +#: forms.py:122 models.py:375  msgid "Length (cm)"  msgstr "" -#: forms.py:123 models.py:364 +#: forms.py:123 models.py:376  msgid "Width (cm)"  msgstr "" -#: forms.py:124 models.py:365 +#: forms.py:124 models.py:377  msgid "Height (cm)"  msgstr "" -#: forms.py:125 models.py:366 +#: forms.py:125 models.py:378  msgid "Diameter (cm)"  msgstr "" -#: forms.py:126 forms.py:430 models.py:336 +#: forms.py:126 forms.py:430 models.py:348  msgid "Volume (l)"  msgstr "" -#: forms.py:127 forms.py:431 models.py:337 +#: forms.py:127 forms.py:431 models.py:349  msgid "Weight (g)"  msgstr "" -#: forms.py:129 models.py:367 +#: forms.py:129 models.py:379  msgid "Dimensions comment"  msgstr "" -#: forms.py:130 forms.py:432 models.py:340 +#: forms.py:130 forms.py:432 models.py:352  msgid "Find number"  msgstr "" -#: forms.py:131 models.py:369 +#: forms.py:131 models.py:381  msgid "Mark"  msgstr "" -#: forms.py:132 forms.py:254 models.py:375 +#: forms.py:132 forms.py:254 models.py:387  msgid "Check"  msgstr "" -#: forms.py:134 models.py:377 +#: forms.py:134 models.py:389  msgid "Check date"  msgstr "" -#: forms.py:135 models.py:120 models.py:370 models.py:704 +#: forms.py:135 models.py:132 models.py:382 models.py:720  msgid "Comment"  msgstr "" -#: forms.py:138 models.py:371 +#: forms.py:138 models.py:383  msgid "Comment on dating"  msgstr "" -#: forms.py:139 models.py:379 +#: forms.py:139 models.py:391  msgid "Estimated value"  msgstr "" @@ -133,7 +133,7 @@ msgid ""  "p>"  msgstr "" -#: forms.py:181 forms.py:212 models.py:348 +#: forms.py:181 forms.py:212 models.py:360  msgid "Dating"  msgstr "" @@ -141,12 +141,12 @@ msgstr ""  msgid "Period"  msgstr "" -#: forms.py:187 forms.py:593 models.py:717 models.py:782 models.py:918 +#: forms.py:187 forms.py:593 models.py:733 models.py:798 models.py:934  #: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:114  msgid "Start date"  msgstr "" -#: forms.py:189 forms.py:595 models.py:718 models.py:783 models.py:919 +#: forms.py:189 forms.py:595 models.py:734 models.py:799 models.py:935  #: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:115  msgid "End date"  msgstr "" @@ -163,11 +163,11 @@ msgstr ""  msgid "Precise dating"  msgstr "" -#: forms.py:216 models.py:138 +#: forms.py:216 models.py:150  msgid "Short ID"  msgstr "" -#: forms.py:217 models.py:141 +#: forms.py:217 models.py:153  msgid "Complete ID"  msgstr "" @@ -191,7 +191,7 @@ msgstr ""  msgid "Search within operation relations"  msgstr "" -#: forms.py:241 models.py:91 +#: forms.py:241 models.py:101  msgid "Object type"  msgstr "" @@ -199,7 +199,7 @@ msgstr ""  msgid "Has an image?"  msgstr "" -#: forms.py:297 forms.py:310 views.py:132 +#: forms.py:297 forms.py:310 views.py:133  msgid "Find search"  msgstr "" @@ -207,7 +207,7 @@ msgstr ""  msgid "Upstream finds"  msgstr "" -#: forms.py:326 models.py:388 +#: forms.py:326 models.py:400  msgid "Finds"  msgstr "" @@ -283,16 +283,16 @@ msgstr ""  msgid "Base treatment"  msgstr "" -#: forms.py:578 models.py:693 models.py:706 models.py:781 +#: forms.py:578 models.py:707 models.py:722 models.py:797  msgid "Treatment type"  msgstr "" -#: forms.py:580 models.py:715 models.py:786 +#: forms.py:580 models.py:731 models.py:802  #: templates/ishtar/sheet_find.html:83 templates/ishtar/sheet_find.html:112  msgid "Doer"  msgstr "" -#: forms.py:586 models.py:708 models.py:784 +#: forms.py:586 models.py:724 models.py:800  msgid "Location"  msgstr "" @@ -344,377 +344,377 @@ msgstr ""  msgid "Parent material"  msgstr "" -#: models.py:51 models.py:327 +#: models.py:51 models.py:339  msgid "Material types"  msgstr "" -#: models.py:57 +#: models.py:59  msgid "Parent conservatory state"  msgstr "" -#: models.py:61 +#: models.py:63  msgid "Conservatory states"  msgstr "" -#: models.py:68 +#: models.py:72  msgid "Preservation types"  msgstr "" -#: models.py:74 +#: models.py:80  msgid "Integrity / interest type"  msgstr "" -#: models.py:75 +#: models.py:81  msgid "Integrity / interest types"  msgstr "" -#: models.py:81 +#: models.py:89  msgid "Remarkability type"  msgstr "" -#: models.py:82 +#: models.py:90  msgid "Remarkability types"  msgstr "" -#: models.py:88 +#: models.py:98  msgid "Parent"  msgstr "" -#: models.py:107 +#: models.py:119  msgid "Unknow"  msgstr "" -#: models.py:108 +#: models.py:120  msgid "Object"  msgstr "" -#: models.py:109 +#: models.py:121  msgid "Batch"  msgstr "" -#: models.py:116 models.py:320 models.py:699 +#: models.py:128 models.py:332 models.py:715  msgid "External ID"  msgstr "" -#: models.py:118 models.py:322 +#: models.py:130 models.py:334  msgid "External ID is set automatically"  msgstr "" -#: models.py:122 +#: models.py:134  msgid "Topographic localisation"  msgstr "" -#: models.py:123 +#: models.py:135  msgid "Special interest"  msgstr "" -#: models.py:127 +#: models.py:139  msgid "Context Record"  msgstr "" -#: models.py:128 +#: models.py:140  msgid "Discovery date"  msgstr "" -#: models.py:133 +#: models.py:145  msgid "Material index"  msgstr "" -#: models.py:134 +#: models.py:146  msgid "Point"  msgstr "" -#: models.py:135 +#: models.py:147  msgid "Line"  msgstr "" -#: models.py:136 +#: models.py:148  msgid "Polygon"  msgstr "" -#: models.py:139 models.py:142 +#: models.py:151 models.py:154  msgid "Cached value - do not edit"  msgstr "" -#: models.py:147 models.py:318 +#: models.py:159 models.py:330  msgid "Base find"  msgstr "" -#: models.py:148 +#: models.py:160  msgid "Base finds"  msgstr "" -#: models.py:150 +#: models.py:162  msgid "Can view all Base finds"  msgstr "" -#: models.py:151 +#: models.py:163  msgid "Can view own Base find"  msgstr "" -#: models.py:152 +#: models.py:164  msgid "Can add own Base find"  msgstr "" -#: models.py:153 +#: models.py:165  msgid "Can change own Base find"  msgstr "" -#: models.py:154 +#: models.py:166  msgid "Can delete own Base find"  msgstr "" -#: models.py:263 +#: models.py:275  msgid "g"  msgstr "" -#: models.py:264 +#: models.py:276  msgid "kg"  msgstr "" -#: models.py:266 +#: models.py:278  msgid "Not checked"  msgstr "" -#: models.py:267 +#: models.py:279  msgid "Checked but incorrect"  msgstr "" -#: models.py:268 +#: models.py:280  msgid "Checked and correct"  msgstr "" -#: models.py:308 +#: models.py:320  msgid "Base find - Short ID"  msgstr "" -#: models.py:309 +#: models.py:321  msgid "Base find - Complete ID"  msgstr "" -#: models.py:310 +#: models.py:322  msgid "Base find - Comment"  msgstr "" -#: models.py:311 +#: models.py:323  msgid "Base find - Description"  msgstr "" -#: models.py:312 +#: models.py:324  msgid "Base find - Topographic localisation"  msgstr "" -#: models.py:314 +#: models.py:326  msgid "Base find - Special interest"  msgstr "" -#: models.py:315 +#: models.py:327  msgid "Base find - Discovery date"  msgstr "" -#: models.py:323 models.py:775 +#: models.py:335 models.py:791  msgid "Order"  msgstr "" -#: models.py:334 +#: models.py:346  msgid "Type of preservation to consider"  msgstr "" -#: models.py:338 +#: models.py:350  msgid "Weight unit"  msgstr "" -#: models.py:344 templates/ishtar/sheet_find.html:76 +#: models.py:356 templates/ishtar/sheet_find.html:76  msgid "Upstream treatment"  msgstr "" -#: models.py:347 templates/ishtar/sheet_find.html:105 +#: models.py:359 templates/ishtar/sheet_find.html:105  msgid "Downstream treatment"  msgstr "" -#: models.py:351 models.py:701 models.py:785 +#: models.py:363 models.py:717 models.py:801  #: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:113  msgid "Container"  msgstr "" -#: models.py:381 +#: models.py:393  msgid "Cached name"  msgstr "" -#: models.py:390 +#: models.py:402  msgid "Can view all Finds"  msgstr "" -#: models.py:391 +#: models.py:403  msgid "Can view own Find"  msgstr "" -#: models.py:392 +#: models.py:404  msgid "Can add own Find"  msgstr "" -#: models.py:393 +#: models.py:405  msgid "Can change own Find"  msgstr "" -#: models.py:394 +#: models.py:406  msgid "Can delete own Find"  msgstr "" -#: models.py:400 +#: models.py:412  msgid "FIND"  msgstr "" -#: models.py:669 +#: models.py:683  msgid "Find documentation"  msgstr "" -#: models.py:670 +#: models.py:684  msgid "Find documentations"  msgstr "" -#: models.py:680 +#: models.py:694  msgid "Virtual"  msgstr "" -#: models.py:682 +#: models.py:696  msgid "Upstream is many"  msgstr "" -#: models.py:684 +#: models.py:698  msgid "Check this if for this treatment from many finds you'll get one."  msgstr "" -#: models.py:687 +#: models.py:701  msgid "Downstream is many"  msgstr "" -#: models.py:689 +#: models.py:703  msgid "Check this if for this treatment from one find you'll get many."  msgstr "" -#: models.py:694 +#: models.py:708  msgid "Treatment types"  msgstr "" -#: models.py:710 +#: models.py:726  msgid "Location where the treatment is done. Target warehouse for a move."  msgstr "" -#: models.py:712 +#: models.py:728  msgid "Other location"  msgstr "" -#: models.py:722 models.py:771 models.py:905 +#: models.py:738 models.py:787 models.py:921  msgid "Treatment"  msgstr "" -#: models.py:723 templates/ishtar/sheet_find.html:73 +#: models.py:739 templates/ishtar/sheet_find.html:73  msgid "Treatments"  msgstr "" -#: models.py:725 +#: models.py:741  msgid "Can view all Treatments"  msgstr "" -#: models.py:726 +#: models.py:742  msgid "Can view own Treatment"  msgstr "" -#: models.py:727 +#: models.py:743  msgid "Can add own Treatment"  msgstr "" -#: models.py:728 +#: models.py:744  msgid "Can change own Treatment"  msgstr "" -#: models.py:729 +#: models.py:745  msgid "Can delete own Treatment"  msgstr "" -#: models.py:735 +#: models.py:751  msgid "by"  msgstr "" -#: models.py:787 models.py:788 templates/ishtar/sheet_find.html:82 +#: models.py:803 models.py:804 templates/ishtar/sheet_find.html:82  #: templates/ishtar/sheet_find.html:111  msgid "Related finds"  msgstr "" -#: models.py:891 +#: models.py:907  msgid "Is upstream"  msgstr "" -#: models.py:902 +#: models.py:918  msgid "Treatment documentation"  msgstr "" -#: models.py:903 +#: models.py:919  msgid "Treament documentations"  msgstr "" -#: models.py:915 +#: models.py:931  msgid "Administrative act"  msgstr "" -#: models.py:916 +#: models.py:932  msgid "Person"  msgstr "" -#: models.py:922 +#: models.py:938  msgid "Property"  msgstr "" -#: models.py:923 +#: models.py:939  msgid "Properties"  msgstr "" -#: views.py:127 +#: views.py:128  msgid "New find"  msgstr "" -#: views.py:141 +#: views.py:142  msgid "Find modification"  msgstr "" -#: views.py:156 +#: views.py:157  msgid "Find deletion"  msgstr "" -#: views.py:161 +#: views.py:162  msgid "Find: source search"  msgstr "" -#: views.py:169 +#: views.py:170  msgid "Find: new source"  msgstr "" -#: views.py:177 +#: views.py:178  msgid "Find: source modification"  msgstr "" -#: views.py:192 +#: views.py:193  msgid "Find: source deletion"  msgstr "" -#: views.py:206 +#: views.py:207  msgid "New basket"  msgstr "" -#: views.py:225 +#: views.py:226  msgid "Manage items in basket"  msgstr "" -#: views.py:245 +#: views.py:246  msgid "Manage basket"  msgstr "" -#: views.py:333 +#: views.py:334  msgid "Delete basket"  msgstr "" -#: views.py:371 +#: views.py:372  msgid "New treatment"  msgstr "" diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py index 722d165ce..5581df084 100644 --- a/archaeological_finds/models.py +++ b/archaeological_finds/models.py @@ -587,11 +587,13 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem):              Q(history_creator=user)      @classmethod -    def get_owns(cls, user, menu_filtr=None): +    def get_owns(cls, user, menu_filtr=None, limit=None):          replace_query = {}          if menu_filtr:              replace_query = {'base_finds__context_record': menu_filtr} -        owns = super(Find, cls).get_owns(user, replace_query=replace_query) +        owns = super(Find, cls).get_owns( +            user, replace_query=replace_query, +            limit=limit)          return sorted(owns, key=lambda x: x.cached_label)      def _generate_cached_label(self): diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 63bc01bed..17cc4028f 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -119,6 +119,9 @@ urlpatterns += patterns(          name='get-own-find-full', kwargs={'full': True, 'force_own': True}),      url(r'get-find-full/(?P<type>.+)?$', 'get_find',          name='get-find-full', kwargs={'full': True}), +    url(r'get-find-shortcut/(?P<type>.+)?$', +        'get_find', name='get-find-shortcut', +        kwargs={'full': 'shortcut'}),      url(r'get-findsource/(?P<type>.+)?$',          'get_findsource', name='get-findsource'),      url(r'get-findsource-full/(?P<type>.+)?$', diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 80cc6fd8c..d441559cc 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -64,6 +64,7 @@ find_extra_keys = {          'base_finds__find__description__icontains',      'base_finds__batch': 'base_finds__batch',      'basket': 'basket', +    'cached_label': 'cached_label__icontains',      'image': 'image__isnull'}  get_find = get_item( diff --git a/archaeological_operations/locale/django.pot b/archaeological_operations/locale/django.pot index 8a60fae78..3981ba228 100644 --- a/archaeological_operations/locale/django.pot +++ b/archaeological_operations/locale/django.pot @@ -9,12 +9,12 @@ msgid ""  msgstr ""  #: forms.py:67 forms.py:369 forms.py:1004 forms.py:1026 forms.py:1030 -#: models.py:1037 templates/ishtar/sheet_operation.html:139 +#: models.py:1047 templates/ishtar/sheet_operation.html:139  #: templates/ishtar/blocks/window_tables/parcels.html:10  msgid "Parcels"  msgstr "" -#: forms.py:70 forms.py:203 forms.py:980 models.py:1023 +#: forms.py:70 forms.py:203 forms.py:980 models.py:1033  #: templates/ishtar/blocks/window_tables/parcels.html:7  #: templates/ishtar/dashboards/dashboard_operation.html:432  #: templates/ishtar/dashboards/dashboard_operation.html:446 @@ -23,22 +23,22 @@ msgstr ""  msgid "Town"  msgstr "" -#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:197 -#: models.py:840 models.py:1021 +#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:203 +#: models.py:850 models.py:1031  #: templates/ishtar/blocks/window_tables/parcels.html:8  msgid "Year"  msgstr "" -#: forms.py:75 models.py:1024 +#: forms.py:75 models.py:1034  #: templates/ishtar/blocks/window_tables/parcels.html:9  msgid "Section"  msgstr "" -#: forms.py:78 models.py:1026 +#: forms.py:78 models.py:1036  msgid "Parcel number"  msgstr "" -#: forms.py:80 models.py:1028 models.py:1045 models.py:1094 +#: forms.py:80 models.py:1038 models.py:1055 models.py:1104  msgid "Public domain"  msgstr "" @@ -74,8 +74,8 @@ msgstr ""  msgid "Relation type"  msgstr "" -#: forms.py:381 ishtar_menu.py:30 models.py:291 models.py:740 models.py:765 -#: models.py:781 models.py:832 models.py:1020 wizards.py:339 wizards.py:350 +#: forms.py:381 ishtar_menu.py:30 models.py:298 models.py:748 models.py:773 +#: models.py:789 models.py:842 models.py:1030 wizards.py:339 wizards.py:350  #: templates/ishtar/sheet_operation.html:4  msgid "Operation"  msgstr "" @@ -104,7 +104,7 @@ msgstr ""  msgid "Relations"  msgstr "" -#: forms.py:460 forms.py:1221 models.py:198 +#: forms.py:460 forms.py:1221 models.py:204  msgid "Numeric reference"  msgstr "" @@ -112,7 +112,7 @@ msgstr ""  msgid "Parcel (section/number/public domain)"  msgstr "" -#: forms.py:469 forms.py:1264 models.py:741 +#: forms.py:469 forms.py:1264 models.py:749  #: templates/ishtar/dashboards/dashboard_operation.html:390  #: templates/ishtar/dashboards/dashboard_operation.html:411  #: templates/ishtar/dashboards/dashboard_operation.html:643 @@ -121,12 +121,12 @@ msgstr ""  msgid "Department"  msgstr "" -#: forms.py:470 forms.py:1092 models.py:79 +#: forms.py:470 forms.py:1092 models.py:85  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:8  msgid "Name"  msgstr "" -#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:205 +#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:211  msgid "Operation type"  msgstr "" @@ -134,24 +134,24 @@ msgstr ""  msgid "Is open?"  msgstr "" -#: forms.py:483 forms.py:782 models.py:194 +#: forms.py:483 forms.py:782 models.py:200  msgid "In charge"  msgstr "" -#: forms.py:490 models.py:826 +#: forms.py:490 models.py:836  msgid "Scientist in charge"  msgstr "" -#: forms.py:492 forms.py:677 forms.py:773 models.py:192 +#: forms.py:492 forms.py:677 forms.py:773 models.py:198  msgid "Operator"  msgstr "" -#: forms.py:499 forms.py:1097 models.py:83 models.py:207 +#: forms.py:499 forms.py:1097 models.py:89 models.py:213  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10  msgid "Remains"  msgstr "" -#: forms.py:500 forms.py:1075 forms.py:1094 models.py:81 models.py:212 +#: forms.py:500 forms.py:1075 forms.py:1094 models.py:87 models.py:219  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9  msgid "Periods"  msgstr "" @@ -184,19 +184,19 @@ msgstr ""  msgid "Abstract (full text search)"  msgstr "" -#: forms.py:515 forms.py:835 models.py:260 +#: forms.py:515 forms.py:835 models.py:267  msgid "Comment about scientific documentation"  msgstr "" -#: forms.py:516 forms.py:837 models.py:272 +#: forms.py:516 forms.py:837 models.py:279  msgid "Record quality"  msgstr "" -#: forms.py:517 forms.py:805 models.py:224 +#: forms.py:517 forms.py:805 models.py:231  msgid "Report processing"  msgstr "" -#: forms.py:519 forms.py:840 models.py:267 +#: forms.py:519 forms.py:840 models.py:274  msgid "Virtual operation"  msgstr "" @@ -220,7 +220,7 @@ msgstr ""  msgid "Documentation deadline after"  msgstr "" -#: forms.py:544 forms.py:825 models.py:279 +#: forms.py:544 forms.py:825 models.py:286  msgid "Documentation received"  msgstr "" @@ -232,11 +232,11 @@ msgstr ""  msgid "Finds deadline after"  msgstr "" -#: forms.py:550 forms.py:830 models.py:283 +#: forms.py:550 forms.py:830 models.py:290  msgid "Finds received"  msgstr "" -#: forms.py:595 forms.py:1213 views.py:258 +#: forms.py:595 forms.py:1213 views.py:259  msgid "Operation search"  msgstr "" @@ -244,11 +244,11 @@ msgstr ""  msgid "Associated file"  msgstr "" -#: forms.py:643 forms.py:928 models.py:837 wizards.py:76 +#: forms.py:643 forms.py:928 models.py:847 wizards.py:76  msgid "Archaelogical file"  msgstr "" -#: forms.py:650 forms.py:652 models.py:274 +#: forms.py:650 forms.py:652 models.py:281  msgid "Abstract"  msgstr "" @@ -260,7 +260,7 @@ msgstr ""  msgid "years"  msgstr "" -#: forms.py:657 models.py:178 +#: forms.py:657 models.py:184  msgid "Creation date"  msgstr "" @@ -317,11 +317,11 @@ msgstr ""  msgid "General"  msgstr "" -#: forms.py:751 models.py:257 +#: forms.py:751 models.py:264  msgid "Generic name"  msgstr "" -#: forms.py:760 models.py:226 +#: forms.py:760 models.py:233  msgid "Old code"  msgstr "" @@ -329,7 +329,7 @@ msgstr ""  msgid "Head scientist"  msgstr "" -#: forms.py:779 models.py:256 +#: forms.py:779 models.py:263  msgid "Operator reference"  msgstr "" @@ -337,23 +337,23 @@ msgstr ""  msgid "Total surface (m2)"  msgstr "" -#: forms.py:798 models.py:51 models.py:181 models.py:1210 +#: forms.py:798 models.py:53 models.py:187 models.py:1220  msgid "Start date"  msgstr "" -#: forms.py:800 models.py:183 +#: forms.py:800 models.py:189  msgid "Excavation end date"  msgstr "" -#: forms.py:803 models.py:184 +#: forms.py:803 models.py:190  msgid "Report delivery date"  msgstr "" -#: forms.py:822 models.py:276 +#: forms.py:822 models.py:283  msgid "Deadline for submission of the documentation"  msgstr "" -#: forms.py:827 models.py:281 +#: forms.py:827 models.py:288  msgid "Deadline for submission of the finds"  msgstr "" @@ -388,7 +388,7 @@ msgstr ""  msgid "Bad operation code"  msgstr "" -#: forms.py:924 models.py:424 +#: forms.py:924 models.py:432  msgid "Operation code"  msgstr "" @@ -396,20 +396,20 @@ msgstr ""  msgid "Preventive informations - excavation"  msgstr "" -#: forms.py:951 models.py:210 +#: forms.py:951 models.py:217  #: templates/ishtar/dashboards/dashboard_operation.html:701  msgid "Cost (euros)"  msgstr "" -#: forms.py:952 models.py:215 +#: forms.py:952 models.py:222  msgid "Scheduled man-days"  msgstr "" -#: forms.py:954 models.py:218 +#: forms.py:954 models.py:225  msgid "Optional man-days"  msgstr "" -#: forms.py:956 models.py:221 +#: forms.py:956 models.py:228  msgid "Effective man-days"  msgstr "" @@ -417,23 +417,23 @@ msgstr ""  msgid "Preventive informations - diagnostic"  msgstr "" -#: forms.py:969 models.py:240 +#: forms.py:969 models.py:247  msgid "Prescription on zoning"  msgstr "" -#: forms.py:971 models.py:243 +#: forms.py:971 models.py:250  msgid "Prescription on large area"  msgstr "" -#: forms.py:974 models.py:245 +#: forms.py:974 models.py:252  msgid "Prescription on geoarchaeological context"  msgstr "" -#: forms.py:978 forms.py:1000 models.py:209 models.py:850 +#: forms.py:978 forms.py:1000 models.py:215 models.py:860  msgid "Towns"  msgstr "" -#: forms.py:1007 models.py:1036 models.py:1208 +#: forms.py:1007 models.py:1046 models.py:1218  msgid "Parcel"  msgstr "" @@ -450,7 +450,7 @@ msgstr ""  msgid "Period"  msgstr "" -#: forms.py:1091 models.py:78 +#: forms.py:1091 models.py:84  msgid "Reference"  msgstr "" @@ -458,11 +458,11 @@ msgstr ""  msgid "This reference already exists."  msgstr "" -#: forms.py:1137 models.py:87 +#: forms.py:1137 models.py:93  msgid "Archaeological site"  msgstr "" -#: forms.py:1152 models.py:88 models.py:264 +#: forms.py:1152 models.py:94 models.py:271  #: templates/ishtar/sheet_operation.html:94  msgid "Archaeological sites"  msgstr "" @@ -483,7 +483,7 @@ msgstr ""  msgid "Would you like to delete this operation?"  msgstr "" -#: forms.py:1181 forms.py:1251 forms.py:1387 models.py:767 models.py:817 +#: forms.py:1181 forms.py:1251 forms.py:1387 models.py:775 models.py:827  msgid "Index"  msgstr "" @@ -510,7 +510,7 @@ msgstr ""  msgid "You should select a document."  msgstr "" -#: forms.py:1258 forms.py:1325 models.py:792 models.py:811 +#: forms.py:1258 forms.py:1325 models.py:800 models.py:821  msgid "Act type"  msgstr "" @@ -518,12 +518,12 @@ msgstr ""  msgid "Indexed?"  msgstr "" -#: forms.py:1265 forms.py:1330 models.py:841 +#: forms.py:1265 forms.py:1330 models.py:851  #: templates/ishtar/blocks/window_tables/administrativacts.html:10  msgid "Object"  msgstr "" -#: forms.py:1302 views.py:414 +#: forms.py:1302 views.py:415  msgid "Administrative act search"  msgstr "" @@ -531,7 +531,7 @@ msgstr ""  msgid "You should select an administrative act."  msgstr "" -#: forms.py:1333 models.py:838 +#: forms.py:1333 models.py:848  msgid "Signature date"  msgstr "" @@ -566,7 +566,7 @@ msgstr ""  msgid "Generate the associated doc?"  msgstr "" -#: forms.py:1466 ishtar_menu.py:121 views.py:467 +#: forms.py:1466 ishtar_menu.py:121 views.py:468  msgctxt "admin act register"  msgid "Register"  msgstr "" @@ -587,7 +587,7 @@ msgstr ""  msgid "Deletion"  msgstr "" -#: ishtar_menu.py:58 models.py:857 +#: ishtar_menu.py:58 models.py:867  #: templates/ishtar/sheet_administrativeact.html:4  msgid "Administrative act"  msgstr "" @@ -616,418 +616,418 @@ msgstr ""  msgid "General informations"  msgstr "" -#: ishtar_menu.py:136 models.py:292 +#: ishtar_menu.py:136 models.py:299  #: templates/ishtar/dashboards/dashboard_operation.html:8  msgid "Operations"  msgstr "" -#: models.py:50 models.py:66 models.py:1672 +#: models.py:52 models.py:70 models.py:1682  msgid "Order"  msgstr "" -#: models.py:52 models.py:1211 +#: models.py:54 models.py:1221  msgid "End date"  msgstr "" -#: models.py:53 +#: models.py:55  msgid "Parent period"  msgstr "" -#: models.py:57 +#: models.py:59  msgid "Type Period"  msgstr "" -#: models.py:58 +#: models.py:60  msgid "Types Period"  msgstr "" -#: models.py:69 +#: models.py:73  msgid "Type of report state"  msgstr "" -#: models.py:70 +#: models.py:74  msgid "Types of report state"  msgstr "" -#: models.py:91 +#: models.py:97  msgid "Can view all Archaeological sites"  msgstr "" -#: models.py:93 +#: models.py:99  msgid "Can view own Archaeological site"  msgstr "" -#: models.py:95 +#: models.py:101  msgid "Can add own Archaeological site"  msgstr "" -#: models.py:97 +#: models.py:103  msgid "Can change own Archaeological site"  msgstr "" -#: models.py:99 +#: models.py:105  msgid "Can delete own Archaeological site"  msgstr "" -#: models.py:136 +#: models.py:142  msgid "Not documented"  msgstr "" -#: models.py:137 +#: models.py:143  msgid "Arbitrary"  msgstr "" -#: models.py:138 +#: models.py:144  msgid "Reliable"  msgstr "" -#: models.py:180 +#: models.py:186  msgid "Closing date"  msgstr "" -#: models.py:187 +#: models.py:193  msgid "In charge scientist"  msgstr "" -#: models.py:202 models.py:1016 +#: models.py:208 models.py:1026  msgid "File"  msgstr "" -#: models.py:206 +#: models.py:212  msgid "Surface (m2)"  msgstr "" -#: models.py:258 +#: models.py:265  msgid "General comment"  msgstr "" -#: models.py:261 +#: models.py:268  msgid "Cached name"  msgstr "" -#: models.py:269 +#: models.py:276  msgid ""  "If checked, it means that this operation have not been officialy registered."  msgstr "" -#: models.py:285 +#: models.py:292  msgid "Point"  msgstr "" -#: models.py:286 +#: models.py:293  msgid "Multi polygon"  msgstr "" -#: models.py:294 +#: models.py:301  msgid "Can view all Operations"  msgstr "" -#: models.py:295 +#: models.py:302  msgid "Can view own Operation"  msgstr "" -#: models.py:296 +#: models.py:303  msgid "Can add own Operation"  msgstr "" -#: models.py:297 +#: models.py:304  msgid "Can change own Operation"  msgstr "" -#: models.py:298 +#: models.py:305  msgid "Can delete own Operation"  msgstr "" -#: models.py:299 +#: models.py:306  msgid "Can close Operation"  msgstr "" -#: models.py:326 +#: models.py:334  msgid "OPE"  msgstr "" -#: models.py:383 +#: models.py:391  msgid "Intercommunal"  msgstr "" -#: models.py:409 models.py:780 +#: models.py:417 models.py:788  msgid "Archaeological file"  msgstr "" -#: models.py:410 +#: models.py:418  msgid "Code patriarche"  msgstr "" -#: models.py:450 +#: models.py:458  msgid "This operation code already exists for this year"  msgstr "" -#: models.py:483 +#: models.py:491  msgid "Number of parcels"  msgstr "" -#: models.py:501 +#: models.py:509  msgid "Number of administrative acts"  msgstr "" -#: models.py:509 +#: models.py:517  msgid "Number of indexed administrative acts"  msgstr "" -#: models.py:517 +#: models.py:525  msgid "Number of context records"  msgstr "" -#: models.py:553 +#: models.py:561  msgid "Number of finds"  msgstr "" -#: models.py:598 +#: models.py:606  msgid "No type"  msgstr "" -#: models.py:629 +#: models.py:637  msgid "Number of sources"  msgstr "" -#: models.py:671 templates/ishtar/dashboards/dashboard_operation.html:309 +#: models.py:679 templates/ishtar/dashboards/dashboard_operation.html:309  #: templates/ishtar/dashboards/dashboard_operation.html:575  #: templates/ishtar/dashboards/dashboard_operation.html:611  msgid "Mean"  msgstr "" -#: models.py:711 +#: models.py:719  msgid "Inverse relation"  msgstr "" -#: models.py:715 +#: models.py:723  msgid "Operation relation type"  msgstr "" -#: models.py:716 +#: models.py:724  msgid "Operation relation types"  msgstr "" -#: models.py:729 +#: models.py:737  msgid "Operation record relation"  msgstr "" -#: models.py:730 +#: models.py:738  msgid "Operation record relations"  msgstr "" -#: models.py:751 +#: models.py:759  msgid "Operation documentation"  msgstr "" -#: models.py:752 +#: models.py:760  msgid "Operation documentations"  msgstr "" -#: models.py:755 +#: models.py:763  msgid "Can view all Operation sources"  msgstr "" -#: models.py:757 +#: models.py:765  msgid "Can view own Operation source"  msgstr "" -#: models.py:759 +#: models.py:767  msgid "Can add own Operation source"  msgstr "" -#: models.py:761 +#: models.py:769  msgid "Can change own Operation source"  msgstr "" -#: models.py:763 +#: models.py:771  msgid "Can delete own Operation source"  msgstr "" -#: models.py:783 +#: models.py:791  msgid "Intended to"  msgstr "" -#: models.py:785 +#: models.py:793  msgid "Code"  msgstr "" -#: models.py:788 +#: models.py:796  msgid "Associated template"  msgstr "" -#: models.py:789 +#: models.py:797  msgid "Indexed"  msgstr "" -#: models.py:793 +#: models.py:801  msgid "Act types"  msgstr "" -#: models.py:815 +#: models.py:825  msgid "Person in charge of the operation"  msgstr "" -#: models.py:821 +#: models.py:831  msgid "Archaeological preventive operator"  msgstr "" -#: models.py:829 +#: models.py:839  msgid "Signatory"  msgstr "" -#: models.py:847 +#: models.py:857  msgid "Departments"  msgstr "" -#: models.py:848 +#: models.py:858  msgid "Cached values get from associated departments"  msgstr "" -#: models.py:851 +#: models.py:861  msgid "Cached values get from associated towns"  msgstr "" -#: models.py:858 templates/ishtar/sheet_operation.html:102 +#: models.py:868 templates/ishtar/sheet_operation.html:102  #: templates/ishtar/sheet_operation.html:133  msgid "Administrative acts"  msgstr "" -#: models.py:861 +#: models.py:871  msgid "Can view all Administrative acts"  msgstr "" -#: models.py:863 +#: models.py:873  msgid "Can view own Administrative act"  msgstr "" -#: models.py:865 +#: models.py:875  msgid "Can add own Administrative act"  msgstr "" -#: models.py:867 +#: models.py:877  msgid "Can change own Administrative act"  msgstr "" -#: models.py:869 +#: models.py:879  msgid "Can delete own Administrative act"  msgstr "" -#: models.py:878 +#: models.py:888  #: templates/ishtar/blocks/window_tables/administrativacts.html:7  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7  msgid "Ref."  msgstr "" -#: models.py:961 +#: models.py:971  msgid "This index already exists for this year"  msgstr "" -#: models.py:1029 +#: models.py:1039  msgid "External ID"  msgstr "" -#: models.py:1032 +#: models.py:1042  msgid "External ID is set automatically"  msgstr "" -#: models.py:1033 +#: models.py:1043  msgid "Address - Locality"  msgstr "" -#: models.py:1206 +#: models.py:1216  msgid "Owner"  msgstr "" -#: models.py:1214 +#: models.py:1224  msgid "Parcel owner"  msgstr "" -#: models.py:1215 +#: models.py:1225  msgid "Parcel owners"  msgstr "" -#: models.py:1241 +#: models.py:1251  msgid "Recorded"  msgstr "" -#: models.py:1242 +#: models.py:1252  msgid "Effective"  msgstr "" -#: models.py:1243 +#: models.py:1253  msgid "Active"  msgstr "" -#: models.py:1244 +#: models.py:1254  msgid "Field completed"  msgstr "" -#: models.py:1245 +#: models.py:1255  msgid "Associated report"  msgstr "" -#: models.py:1246 +#: models.py:1256  msgid "Closed"  msgstr "" -#: models.py:1247 +#: models.py:1257  msgid "Documented and closed"  msgstr "" -#: models.py:1673 +#: models.py:1683  msgid "Is preventive"  msgstr "" -#: models.py:1676 +#: models.py:1686  msgid "Operation type old"  msgstr "" -#: models.py:1677 +#: models.py:1687  msgid "Operation types old"  msgstr "" -#: views.py:304 +#: views.py:305  msgid "New operation"  msgstr "" -#: views.py:323 +#: views.py:324  msgid "Operation modification"  msgstr "" -#: views.py:366 +#: views.py:367  msgid "Operation closing"  msgstr "" -#: views.py:372 +#: views.py:373  msgid "Operation deletion"  msgstr "" -#: views.py:377 +#: views.py:378  msgid "Operation: source search"  msgstr "" -#: views.py:385 +#: views.py:386  msgid "Operation: source creation"  msgstr "" -#: views.py:393 +#: views.py:394  msgid "Operation: source modification"  msgstr "" -#: views.py:408 +#: views.py:409  msgid "Operation: source deletion"  msgstr "" -#: views.py:427 +#: views.py:428  msgid "Operation: new administrative act"  msgstr "" -#: views.py:437 +#: views.py:438  msgid "Operation: administrative act modification"  msgstr "" -#: views.py:461 +#: views.py:462  msgid "Operation: administrative act deletion"  msgstr "" diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 926e27b3b..4dd107da8 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -212,7 +212,8 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,      surface = models.IntegerField(_(u"Surface (m2)"), blank=True, null=True)      remains = models.ManyToManyField("RemainType", verbose_name=_(u'Remains'),                                       null=True, blank=True) -    towns = models.ManyToManyField(Town, verbose_name=_(u"Towns")) +    towns = models.ManyToManyField(Town, verbose_name=_(u"Towns"), +                                   related_name='operations')      cost = models.IntegerField(_(u"Cost (euros)"),                                 blank=True, null=True)  # preventive      periods = models.ManyToManyField(Period, verbose_name=_(u"Periods"), @@ -307,12 +308,13 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,          ordering = ('cached_label',)      @classmethod -    def get_owns(cls, user, menu_filtr=None): +    def get_owns(cls, user, menu_filtr=None, limit=None):          replace_query = {}          if menu_filtr:              replace_query = {'associated_file': menu_filtr}          owns = super(Operation, cls).get_owns( -            user, replace_query=replace_query) +            user, replace_query=replace_query, +            limit=limit)          # owns = owns.annotate(null_count=Count('operation_code'))          # return owns.order_by("common_name", "-year", "operation_code")          return sorted(owns, key=lambda x: x.cached_label) diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py index 7d494f973..aca98d4c4 100644 --- a/archaeological_operations/urls.py +++ b/archaeological_operations/urls.py @@ -100,11 +100,14 @@ urlpatterns += patterns(          kwargs={'force_own': True}),      url(r'get-operation/(?P<type>.+)?$', 'get_operation',          name='get-operation'), -    url(r'get-operation-full/(?P<type>.+)?$', 'get_operation', -        name='get-operation-full', kwargs={'full': True}),      url(r'get-operation-full/own/(?P<type>.+)?$',          'get_operation', name='get-own-operation-full',          kwargs={'full': True, 'force_own': True}), +    url(r'get-operation-full/(?P<type>.+)?$', 'get_operation', +        name='get-operation-full', kwargs={'full': True}), +    url(r'get-operation-shortcut/(?P<type>.+)?$', +        'get_operation', name='get-operation-shortcut', +        kwargs={'full': 'shortcut'}),      url(r'get-available-operation-code/(?P<year>.+)?$',          'get_available_operation_code', name='get_available_operation_code'),      url(r'revert-operation/(?P<pk>.+)/(?P<date>.+)$', diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index 84e98010e..ae82e9e89 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -148,6 +148,7 @@ get_operation = get_item(      relative_session_names=[('file', 'associated_file__pk')],      extra_request_keys={          'common_name': 'common_name__icontains', +        'cached_label': 'cached_label__icontains',          'comment': 'comment__icontains',          'scientific_documentation_comment':          'scientific_documentation_comment__icontains', diff --git a/archaeological_warehouse/locale/django.pot b/archaeological_warehouse/locale/django.pot index c00e26082..4300d1d19 100644 --- a/archaeological_warehouse/locale/django.pot +++ b/archaeological_warehouse/locale/django.pot @@ -6,23 +6,23 @@  msgid ""  msgstr "" -#: forms.py:34 forms.py:97 models.py:44 models.py:73 +#: forms.py:34 forms.py:97 models.py:47 models.py:78  msgid "Warehouse"  msgstr "" -#: forms.py:43 models.py:35 +#: forms.py:43 models.py:38  msgid "Name"  msgstr "" -#: forms.py:45 models.py:29 models.py:37 +#: forms.py:45 models.py:30 models.py:40  msgid "Warehouse type"  msgstr "" -#: forms.py:48 models.py:40 +#: forms.py:48 models.py:43  msgid "Person in charge"  msgstr "" -#: forms.py:54 forms.py:102 models.py:41 models.py:77 +#: forms.py:54 forms.py:102 models.py:44 models.py:82  msgid "Comment"  msgstr "" @@ -50,15 +50,15 @@ msgstr ""  msgid "Phone"  msgstr "" -#: forms.py:93 models.py:80 +#: forms.py:93 models.py:85  msgid "Container"  msgstr "" -#: forms.py:94 forms.py:129 models.py:63 +#: forms.py:94 forms.py:129 models.py:66  msgid "Ref."  msgstr "" -#: forms.py:95 forms.py:128 models.py:66 models.py:75 +#: forms.py:95 forms.py:128 models.py:69 models.py:80  msgid "Container type"  msgstr "" @@ -94,58 +94,58 @@ msgstr ""  msgid "Find"  msgstr "" -#: models.py:30 +#: models.py:31  msgid "Warehouse types"  msgstr "" -#: models.py:45 +#: models.py:48  msgid "Warehouses"  msgstr "" -#: models.py:47 +#: models.py:50  msgid "Can view all Warehouses"  msgstr "" -#: models.py:48 +#: models.py:51  msgid "Can view own Warehouse"  msgstr "" -#: models.py:49 +#: models.py:52  msgid "Can add own Warehouse"  msgstr "" -#: models.py:50 +#: models.py:53  msgid "Can change own Warehouse"  msgstr "" -#: models.py:51 +#: models.py:54  msgid "Can delete own Warehouse"  msgstr "" -#: models.py:59 +#: models.py:62  msgid "Length (mm)"  msgstr "" -#: models.py:60 +#: models.py:63  msgid "Width (mm)"  msgstr "" -#: models.py:61 +#: models.py:64  msgid "Height (mm)"  msgstr "" -#: models.py:62 +#: models.py:65  msgid "Volume (l)"  msgstr "" -#: models.py:67 +#: models.py:70  msgid "Container types"  msgstr "" -#: models.py:76 +#: models.py:81  msgid "Container ref."  msgstr "" -#: models.py:81 +#: models.py:86  msgid "Containers"  msgstr "" diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot index 9ec7eb939..8a0b6b389 100644 --- a/ishtar_common/locale/django.pot +++ b/ishtar_common/locale/django.pot @@ -155,12 +155,12 @@ msgstr ""  msgid "Add a new item"  msgstr "" -#: forms.py:245 models.py:1278 +#: forms.py:245 models.py:1307  msgid "Template"  msgstr ""  #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1344 models.py:2658 +#: forms_common.py:406 models.py:1373 models.py:2722  #: templates/blocks/JQueryAdvancedTown.html:19  #: templates/ishtar/sheet_organization.html:13  msgid "Town" @@ -176,8 +176,8 @@ msgid ""  "french town Saint-Denis in the Seine-Saint-Denis department.</p>"  msgstr "" -#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1512 -#: models.py:2326 models.py:2480 models.py:2538 +#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1543 +#: models.py:2361 models.py:2530 models.py:2592  #: templates/ishtar/sheet_person.html:4  msgid "Person"  msgstr "" @@ -189,63 +189,63 @@ msgid ""  msgstr ""  #: forms_common.py:170 forms_common.py:327 forms_common.py:451 -#: ishtar_menu.py:75 models.py:1513 models.py:2231 +#: ishtar_menu.py:75 models.py:1544 models.py:2262  #: templates/ishtar/sheet_organization.html:4  msgid "Organization"  msgstr ""  #: forms_common.py:173 forms_common.py:210 forms_common.py:322 -#: forms_common.py:376 forms_common.py:446 models.py:945 models.py:1277 -#: models.py:1558 models.py:1776 models.py:2225 models.py:2312 models.py:2644 +#: forms_common.py:376 forms_common.py:446 models.py:974 models.py:1306 +#: models.py:1589 models.py:1807 models.py:2256 models.py:2347 models.py:2708  #: templates/ishtar/sheet_organization.html:8  #: templates/ishtar/sheet_organization.html:21  msgid "Name"  msgstr "" -#: forms_common.py:174 models.py:1499 models.py:1907 +#: forms_common.py:174 models.py:1528 models.py:1938  msgid "Organization type"  msgstr "" -#: forms_common.py:176 forms_common.py:400 models.py:1339 +#: forms_common.py:176 forms_common.py:400 models.py:1368  #: templates/ishtar/sheet_organization.html:10  msgid "Address"  msgstr "" -#: forms_common.py:178 forms_common.py:403 models.py:1340 +#: forms_common.py:178 forms_common.py:403 models.py:1369  #: templates/ishtar/sheet_organization.html:11  msgid "Address complement"  msgstr "" -#: forms_common.py:180 forms_common.py:404 models.py:1342 +#: forms_common.py:180 forms_common.py:404 models.py:1371  #: templates/ishtar/sheet_organization.html:12  msgid "Postal code"  msgstr "" -#: forms_common.py:183 forms_common.py:407 models.py:1345 +#: forms_common.py:183 forms_common.py:407 models.py:1374  msgid "Country"  msgstr ""  #: forms_common.py:185 forms_common.py:324 forms_common.py:380 -#: forms_common.py:448 forms_common.py:572 models.py:1372 +#: forms_common.py:448 forms_common.py:572 models.py:1401  msgid "Email"  msgstr "" -#: forms_common.py:186 forms_common.py:383 models.py:1357 +#: forms_common.py:186 forms_common.py:383 models.py:1386  #: templates/ishtar/sheet_organization.html:14  #: templates/ishtar/sheet_person.html:19  #: templates/ishtar/wizard/wizard_person.html:17  msgid "Phone"  msgstr "" -#: forms_common.py:187 forms_common.py:392 models.py:1369 +#: forms_common.py:187 forms_common.py:392 models.py:1398  #: templates/ishtar/sheet_organization.html:15  #: templates/ishtar/sheet_person.html:37  #: templates/ishtar/wizard/wizard_person.html:35  msgid "Mobile phone"  msgstr "" -#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1935 -#: models.py:2227 models.py:2579 templates/sheet_ope.html:85 +#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1966 +#: models.py:2258 models.py:2643 templates/sheet_ope.html:85  #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126  #: templates/ishtar/import_list.html:13  #: templates/ishtar/sheet_organization.html:23 @@ -253,7 +253,7 @@ msgstr ""  msgid "Type"  msgstr "" -#: forms_common.py:220 views.py:137 +#: forms_common.py:220 views.py:139  msgid "Organization search"  msgstr "" @@ -269,12 +269,12 @@ msgstr ""  msgid "Organization to merge"  msgstr "" -#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2310 +#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2345  #: templates/ishtar/sheet_organization.html:22  msgid "Surname"  msgstr "" -#: forms_common.py:339 forms_common.py:434 views.py:102 +#: forms_common.py:339 forms_common.py:434 views.py:104  msgid "Person search"  msgstr "" @@ -287,25 +287,25 @@ msgstr ""  msgid "Identity"  msgstr "" -#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1908 -#: models.py:2304 models.py:2306 models.py:2576 templates/sheet_ope.html:104 +#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1939 +#: models.py:2339 models.py:2341 models.py:2640 templates/sheet_ope.html:104  #: templates/ishtar/blocks/window_tables/documents.html:7  msgid "Title"  msgstr "" -#: forms_common.py:372 models.py:2308 +#: forms_common.py:372 models.py:2343  msgid "Salutation"  msgstr "" -#: forms_common.py:378 models.py:2314 +#: forms_common.py:378 models.py:2349  msgid "Raw name"  msgstr "" -#: forms_common.py:381 models.py:1358 +#: forms_common.py:381 models.py:1387  msgid "Phone description"  msgstr "" -#: forms_common.py:384 models.py:1360 models.py:1362 +#: forms_common.py:384 models.py:1389 models.py:1391  msgid "Phone description 2"  msgstr "" @@ -313,11 +313,11 @@ msgstr ""  msgid "Phone 2"  msgstr "" -#: forms_common.py:388 models.py:1366 +#: forms_common.py:388 models.py:1395  msgid "Phone description 3"  msgstr "" -#: forms_common.py:390 models.py:1364 +#: forms_common.py:390 models.py:1393  msgid "Phone 3"  msgstr "" @@ -325,23 +325,23 @@ msgstr ""  msgid "Current organization"  msgstr "" -#: forms_common.py:409 models.py:1347 +#: forms_common.py:409 models.py:1376  msgid "Other address: address"  msgstr "" -#: forms_common.py:412 models.py:1350 +#: forms_common.py:412 models.py:1379  msgid "Other address: address complement"  msgstr "" -#: forms_common.py:414 models.py:1351 +#: forms_common.py:414 models.py:1380  msgid "Other address: postal code"  msgstr "" -#: forms_common.py:416 models.py:1353 +#: forms_common.py:416 models.py:1382  msgid "Other address: town"  msgstr "" -#: forms_common.py:418 models.py:1355 +#: forms_common.py:418 models.py:1384  msgid "Other address: country"  msgstr "" @@ -357,7 +357,7 @@ msgstr ""  msgid "Account search"  msgstr "" -#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2279 +#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2310  msgid "Person type"  msgstr "" @@ -389,7 +389,7 @@ msgstr ""  msgid "Send the new password by email?"  msgstr "" -#: forms_common.py:628 forms_common.py:641 models.py:2659 +#: forms_common.py:628 forms_common.py:641 models.py:2723  msgid "Towns"  msgstr "" @@ -405,7 +405,7 @@ msgstr ""  msgid "Documentation informations"  msgstr "" -#: forms_common.py:775 forms_common.py:823 models.py:1909 models.py:2559 +#: forms_common.py:775 forms_common.py:823 models.py:1940 models.py:2617  msgid "Source type"  msgstr "" @@ -417,37 +417,37 @@ msgstr ""  msgid "Internal reference"  msgstr "" -#: forms_common.py:783 models.py:2590 +#: forms_common.py:783 models.py:2654  msgid "Numerical ressource (web address)"  msgstr "" -#: forms_common.py:784 models.py:2592 +#: forms_common.py:784 models.py:2656  msgid "Receipt date"  msgstr "" -#: forms_common.py:786 models.py:2062 models.py:2594 +#: forms_common.py:786 models.py:2093 models.py:2658  msgid "Creation date"  msgstr "" -#: forms_common.py:789 models.py:2597 +#: forms_common.py:789 models.py:2661  msgid "Receipt date in documentation"  msgstr "" -#: forms_common.py:791 forms_common.py:827 models.py:289 models.py:548 -#: models.py:1803 models.py:2318 models.py:2604 +#: forms_common.py:791 forms_common.py:827 models.py:317 models.py:577 +#: models.py:1834 models.py:2353 models.py:2668  msgid "Comment"  msgstr "" -#: forms_common.py:793 forms_common.py:826 models.py:947 models.py:1562 -#: models.py:1735 models.py:1777 models.py:2603 templates/sheet_ope.html:128 +#: forms_common.py:793 forms_common.py:826 models.py:976 models.py:1593 +#: models.py:1766 models.py:1808 models.py:2667 templates/sheet_ope.html:128  msgid "Description"  msgstr "" -#: forms_common.py:796 models.py:2605 +#: forms_common.py:796 models.py:2669  msgid "Additional information"  msgstr "" -#: forms_common.py:798 forms_common.py:830 models.py:2607 +#: forms_common.py:798 forms_common.py:830 models.py:2671  msgid "Has a duplicate"  msgstr "" @@ -462,7 +462,7 @@ msgid ""  "p>"  msgstr "" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2543 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2597  #: templates/ishtar/wizard/wizard_person_deletion.html:124  msgid "Author"  msgstr "" @@ -475,7 +475,7 @@ msgstr ""  msgid "Would you like to delete this documentation?"  msgstr "" -#: forms_common.py:856 models.py:1910 models.py:2533 models.py:2540 +#: forms_common.py:856 models.py:1941 models.py:2585 models.py:2594  msgid "Author type"  msgstr "" @@ -487,7 +487,7 @@ msgstr ""  msgid "There are identical authors."  msgstr "" -#: forms_common.py:893 models.py:2544 models.py:2586 +#: forms_common.py:893 models.py:2598 models.py:2650  #: templates/sheet_ope.html:106  #: templates/ishtar/blocks/window_tables/documents.html:9  msgid "Authors" @@ -505,7 +505,7 @@ msgstr ""  msgid "Deletion"  msgstr "" -#: ishtar_menu.py:39 models.py:1073 views.py:1377 +#: ishtar_menu.py:39 models.py:1102 views.py:1450  msgid "Global variables"  msgstr "" @@ -533,20 +533,20 @@ msgstr ""  msgid "Manual merge"  msgstr "" -#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2099 widgets.py:110 +#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2130 widgets.py:110  #: templates/ishtar/form_delete.html:11  msgid "Delete"  msgstr "" -#: ishtar_menu.py:109 models.py:2073 +#: ishtar_menu.py:109 models.py:2104  msgid "Imports"  msgstr "" -#: ishtar_menu.py:112 views.py:1385 +#: ishtar_menu.py:112 views.py:1458  msgid "New import"  msgstr "" -#: ishtar_menu.py:116 views.py:1399 +#: ishtar_menu.py:116 views.py:1472  msgid "Current imports"  msgstr "" @@ -566,200 +566,200 @@ msgstr ""  msgid "This item already exists."  msgstr "" -#: models.py:285 models.py:547 models.py:1312 models.py:1324 +#: models.py:313 models.py:576 models.py:1341 models.py:1353  msgid "Label"  msgstr "" -#: models.py:287 +#: models.py:315  msgid "Textual ID"  msgstr "" -#: models.py:290 models.py:550 models.py:1281 +#: models.py:318 models.py:579 models.py:1310  msgid "Available"  msgstr "" -#: models.py:569 models.py:1849 +#: models.py:598 models.py:1880  msgid "Key"  msgstr "" -#: models.py:575 +#: models.py:604  msgid "Specific key to an import"  msgstr "" -#: models.py:666 +#: models.py:695  msgid "Last editor"  msgstr "" -#: models.py:669 +#: models.py:698  msgid "Creator"  msgstr "" -#: models.py:809 models.py:2670 +#: models.py:838 models.py:2734  msgid "Order"  msgstr "" -#: models.py:810 +#: models.py:839  msgid "Symmetrical"  msgstr "" -#: models.py:811 +#: models.py:840  msgid "Tiny label"  msgstr "" -#: models.py:825 +#: models.py:854  msgid "Cannot have symmetrical and an inverse_relation"  msgstr "" -#: models.py:939 +#: models.py:968  msgid "Euro"  msgstr "" -#: models.py:940 +#: models.py:969  msgid "US dollar"  msgstr "" -#: models.py:946 models.py:1560 +#: models.py:975 models.py:1591  msgid "Slug"  msgstr "" -#: models.py:948 +#: models.py:977  msgid "Files module"  msgstr "" -#: models.py:949 +#: models.py:978  msgid "Context records module"  msgstr "" -#: models.py:951 +#: models.py:980  msgid "Finds module"  msgstr "" -#: models.py:952 +#: models.py:981  msgid "Need context records module"  msgstr "" -#: models.py:954 +#: models.py:983  msgid "Warehouses module"  msgstr "" -#: models.py:955 +#: models.py:984  msgid "Need finds module"  msgstr "" -#: models.py:957 +#: models.py:986  msgid "Home page"  msgstr "" -#: models.py:958 +#: models.py:987  #, python-brace-format  msgid ""  "Homepage of Ishtar - if not defined a default homepage will appear. Use the "  "markdown syntax. {random_image} can be used to display a random image."  msgstr "" -#: models.py:962 +#: models.py:991  msgid "File external id"  msgstr "" -#: models.py:964 +#: models.py:993  msgid ""  "Formula to manage file external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:969 +#: models.py:998  msgid "Parcel external id"  msgstr "" -#: models.py:972 +#: models.py:1001  msgid ""  "Formula to manage parcel external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:977 +#: models.py:1006  msgid "Context record external id"  msgstr "" -#: models.py:979 +#: models.py:1008  msgid ""  "Formula to manage context record external ID. Change this with care. With "  "incorrect formula, the application might be unusable and import of external "  "data can be destructive."  msgstr "" -#: models.py:984 +#: models.py:1013  msgid "Base find external id"  msgstr "" -#: models.py:986 +#: models.py:1015  msgid ""  "Formula to manage base find external ID. Change this with care. With "  "incorrect formula, the application might be unusable and import of external "  "data can be destructive."  msgstr "" -#: models.py:991 +#: models.py:1020  msgid "Find external id"  msgstr "" -#: models.py:993 +#: models.py:1022  msgid ""  "Formula to manage find external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:998 +#: models.py:1027  msgid "Raw name for person"  msgstr "" -#: models.py:1000 +#: models.py:1029  msgid ""  "Formula to manage person raw_name. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:1004 +#: models.py:1033  msgid "Current active"  msgstr "" -#: models.py:1005 +#: models.py:1034  msgid "Currency"  msgstr "" -#: models.py:1009 +#: models.py:1038  msgid "Ishtar site profile"  msgstr "" -#: models.py:1010 +#: models.py:1039  msgid "Ishtar site profiles"  msgstr "" -#: models.py:1066 +#: models.py:1095  msgid "Variable name"  msgstr "" -#: models.py:1067 +#: models.py:1096  msgid "Description of the variable"  msgstr "" -#: models.py:1069 models.py:1850 +#: models.py:1098 models.py:1881  msgid "Value"  msgstr "" -#: models.py:1072 +#: models.py:1101  msgid "Global variable"  msgstr "" -#: models.py:1182 models.py:1212 +#: models.py:1211 models.py:1241  msgid "Total"  msgstr "" -#: models.py:1189 models.py:1313 models.py:1325 +#: models.py:1218 models.py:1342 models.py:1354  #: templates/ishtar/sheet_person.html:22  #: templates/ishtar/dashboards/dashboard_main_detail.html:141  #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 @@ -767,686 +767,690 @@ msgstr ""  msgid "Number"  msgstr "" -#: models.py:1276 +#: models.py:1305  msgid "Administrative Act"  msgstr "" -#: models.py:1280 +#: models.py:1309  msgid "Associated object"  msgstr "" -#: models.py:1284 +#: models.py:1313  msgid "Document template"  msgstr "" -#: models.py:1285 +#: models.py:1314  msgid "Document templates"  msgstr "" -#: models.py:1316 models.py:1326 models.py:2057 +#: models.py:1345 models.py:1355 models.py:2088  msgid "State"  msgstr "" -#: models.py:1330 templates/blocks/JQueryAdvancedTown.html:12 +#: models.py:1359 templates/blocks/JQueryAdvancedTown.html:12  msgid "Department"  msgstr "" -#: models.py:1331 +#: models.py:1360  msgid "Departments"  msgstr "" -#: models.py:1368 +#: models.py:1397  msgid "Raw phone"  msgstr "" -#: models.py:1374 +#: models.py:1403  msgid "Alternative address is prefered"  msgstr "" -#: models.py:1413 +#: models.py:1442  msgid "Tel: "  msgstr "" -#: models.py:1417 +#: models.py:1446  msgid "Mobile: "  msgstr "" -#: models.py:1421 +#: models.py:1450  msgid "Email: "  msgstr "" -#: models.py:1426 +#: models.py:1455  msgid "Merge key"  msgstr "" -#: models.py:1500 +#: models.py:1529  msgid "Organization types"  msgstr "" -#: models.py:1514 views.py:211 +#: models.py:1545 views.py:234  msgid "Operation"  msgstr "" -#: models.py:1516 +#: models.py:1547  msgid "Archaeological site"  msgstr "" -#: models.py:1517 +#: models.py:1548  msgid "Parcels"  msgstr "" -#: models.py:1519 +#: models.py:1550  msgid "Operation source"  msgstr "" -#: models.py:1522 views.py:1192 views.py:1243 +#: models.py:1553 views.py:1265 views.py:1316  msgid "Archaeological files"  msgstr "" -#: models.py:1524 views.py:1195 views.py:1251 +#: models.py:1555 views.py:1268 views.py:1324  msgid "Context records"  msgstr "" -#: models.py:1526 +#: models.py:1557  msgid "Context record relations"  msgstr "" -#: models.py:1528 views.py:1197 views.py:1254 +#: models.py:1559 views.py:1270 views.py:1327  msgid "Finds"  msgstr "" -#: models.py:1564 templates/ishtar/dashboards/dashboard_main.html:25 +#: models.py:1595 templates/ishtar/dashboards/dashboard_main.html:25  msgid "Users"  msgstr "" -#: models.py:1566 +#: models.py:1597  msgid "Associated model"  msgstr "" -#: models.py:1569 +#: models.py:1600  msgid "Is template"  msgstr "" -#: models.py:1570 +#: models.py:1601  msgid "Unicity keys (separator \";\")"  msgstr "" -#: models.py:1574 +#: models.py:1605  msgid "Importer - Type"  msgstr "" -#: models.py:1575 +#: models.py:1606  msgid "Importer - Types"  msgstr "" -#: models.py:1665 +#: models.py:1696  msgid "Importer - Default"  msgstr "" -#: models.py:1666 +#: models.py:1697  msgid "Importer - Defaults"  msgstr "" -#: models.py:1701 +#: models.py:1732  msgid "Importer - Default value"  msgstr "" -#: models.py:1702 +#: models.py:1733  msgid "Importer - Default values"  msgstr "" -#: models.py:1734 +#: models.py:1765  msgid "Column number"  msgstr "" -#: models.py:1737 +#: models.py:1768  msgid "Required"  msgstr "" -#: models.py:1740 +#: models.py:1771  msgid "Importer - Column"  msgstr "" -#: models.py:1741 +#: models.py:1772  msgid "Importer - Columns"  msgstr "" -#: models.py:1761 +#: models.py:1792  msgid "Field name"  msgstr "" -#: models.py:1763 models.py:1797 +#: models.py:1794 models.py:1828  msgid "Force creation of new items"  msgstr "" -#: models.py:1765 models.py:1799 +#: models.py:1796 models.py:1830  msgid "Concatenate with existing"  msgstr "" -#: models.py:1767 models.py:1801 +#: models.py:1798 models.py:1832  msgid "Concatenate character"  msgstr "" -#: models.py:1771 +#: models.py:1802  msgid "Importer - Duplicate field"  msgstr "" -#: models.py:1772 +#: models.py:1803  msgid "Importer - Duplicate fields"  msgstr "" -#: models.py:1779 +#: models.py:1810  msgid "Regular expression"  msgstr "" -#: models.py:1782 +#: models.py:1813  msgid "Importer - Regular expression"  msgstr "" -#: models.py:1783 +#: models.py:1814  msgid "Importer - Regular expressions"  msgstr "" -#: models.py:1806 +#: models.py:1837  msgid "Importer - Target"  msgstr "" -#: models.py:1807 +#: models.py:1838  msgid "Importer - Targets"  msgstr "" -#: models.py:1831 views.py:476 +#: models.py:1862 views.py:518  msgid "True"  msgstr "" -#: models.py:1832 views.py:478 +#: models.py:1863 views.py:520  msgid "False"  msgstr "" -#: models.py:1851 +#: models.py:1882  msgid "Is set"  msgstr "" -#: models.py:1858 +#: models.py:1889  msgid "Importer - Target key"  msgstr "" -#: models.py:1859 +#: models.py:1890  msgid "Importer - Targets keys"  msgstr "" -#: models.py:1911 models.py:2571 models.py:2582 +#: models.py:1942 models.py:2633 models.py:2646  msgid "Format"  msgstr "" -#: models.py:1912 models.py:2674 +#: models.py:1943 models.py:2738  msgid "Operation type"  msgstr "" -#: models.py:1913 +#: models.py:1944  msgid "Period"  msgstr "" -#: models.py:1914 +#: models.py:1945  msgid "Report state"  msgstr "" -#: models.py:1915 +#: models.py:1946  msgid "Unit"  msgstr "" -#: models.py:1916 +#: models.py:1947  msgid "Material"  msgstr "" -#: models.py:1918 +#: models.py:1949  msgid "Conservatory state"  msgstr "" -#: models.py:1919 +#: models.py:1950  msgid "Preservation type"  msgstr "" -#: models.py:1920 +#: models.py:1951  msgid "Object type"  msgstr "" -#: models.py:1922 +#: models.py:1953  msgid "Identification type"  msgstr "" -#: models.py:1924 +#: models.py:1955  msgid "Context record relation type"  msgstr "" -#: models.py:1925 models.py:2565 +#: models.py:1956 models.py:2625  msgid "Support type"  msgstr "" -#: models.py:1931 +#: models.py:1962  msgid "Integer"  msgstr "" -#: models.py:1932 +#: models.py:1963  msgid "Float"  msgstr "" -#: models.py:1933 +#: models.py:1964  msgid "String"  msgstr "" -#: models.py:1934 templates/sheet_ope.html:86 +#: models.py:1965 templates/sheet_ope.html:86  msgid "Date"  msgstr "" -#: models.py:1936 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 +#: models.py:1967 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83  #: templates/ishtar/dashboards/dashboard_main_detail.html:126  msgid "Year"  msgstr "" -#: models.py:1937 +#: models.py:1968  msgid "String to boolean"  msgstr "" -#: models.py:1938 +#: models.py:1969  msgctxt "filesystem"  msgid "File"  msgstr "" -#: models.py:1939 +#: models.py:1970  msgid "Unknow type"  msgstr "" -#: models.py:1955 +#: models.py:1986  msgid "4 digit year. e.g.: \"2015\""  msgstr "" -#: models.py:1956 +#: models.py:1987  msgid "4 digit year/month/day. e.g.: \"2015/02/04\""  msgstr "" -#: models.py:1957 +#: models.py:1988  msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""  msgstr "" -#: models.py:1967 +#: models.py:1998  msgid "Options"  msgstr "" -#: models.py:1969 +#: models.py:2000  msgid "Split character(s)"  msgstr "" -#: models.py:1973 +#: models.py:2004  msgid "Importer - Formater type"  msgstr "" -#: models.py:1974 +#: models.py:2005  msgid "Importer - Formater types"  msgstr "" -#: models.py:2021 templates/ishtar/dashboards/dashboard_main_detail.html:63 +#: models.py:2052 templates/ishtar/dashboards/dashboard_main_detail.html:63  msgid "Created"  msgstr "" -#: models.py:2022 +#: models.py:2053  msgid "Analyse in progress"  msgstr "" -#: models.py:2023 +#: models.py:2054  msgid "Analysed"  msgstr "" -#: models.py:2024 +#: models.py:2055  msgid "Import pending"  msgstr "" -#: models.py:2025 +#: models.py:2056  msgid "Import in progress"  msgstr "" -#: models.py:2026 +#: models.py:2057  msgid "Finished with errors"  msgstr "" -#: models.py:2027 +#: models.py:2058  msgid "Finished"  msgstr "" -#: models.py:2028 +#: models.py:2059  msgid "Archived"  msgstr "" -#: models.py:2040 +#: models.py:2071  msgid "Imported file"  msgstr "" -#: models.py:2043 +#: models.py:2074  msgid "Associated images (zip file)"  msgstr "" -#: models.py:2045 +#: models.py:2076  msgid "Encoding"  msgstr "" -#: models.py:2047 +#: models.py:2078  msgid "Skip lines"  msgstr "" -#: models.py:2048 templates/ishtar/import_list.html:47 +#: models.py:2079 templates/ishtar/import_list.html:47  msgid "Error file"  msgstr "" -#: models.py:2051 +#: models.py:2082  msgid "Result file"  msgstr "" -#: models.py:2054 templates/ishtar/import_list.html:53 +#: models.py:2085 templates/ishtar/import_list.html:53  msgid "Match file"  msgstr "" -#: models.py:2060 +#: models.py:2091  msgid "Conservative import"  msgstr "" -#: models.py:2065 +#: models.py:2096  msgid "End date"  msgstr "" -#: models.py:2067 +#: models.py:2098  msgid "Remaining seconds"  msgstr "" -#: models.py:2072 +#: models.py:2103  msgid "Import"  msgstr "" -#: models.py:2089 +#: models.py:2120  msgid "Analyse"  msgstr "" -#: models.py:2091 models.py:2094 +#: models.py:2122 models.py:2125  msgid "Re-analyse"  msgstr "" -#: models.py:2092 +#: models.py:2123  msgid "Launch import"  msgstr "" -#: models.py:2095 +#: models.py:2126  msgid "Re-import"  msgstr "" -#: models.py:2096 +#: models.py:2127  msgid "Archive"  msgstr "" -#: models.py:2098 +#: models.py:2129  msgid "Unarchive"  msgstr "" -#: models.py:2232 +#: models.py:2263  msgid "Organizations"  msgstr "" -#: models.py:2234 +#: models.py:2265  msgid "Can view all Organizations"  msgstr "" -#: models.py:2235 +#: models.py:2266  msgid "Can view own Organization"  msgstr "" -#: models.py:2236 +#: models.py:2267  msgid "Can add own Organization"  msgstr "" -#: models.py:2238 +#: models.py:2269  msgid "Can change own Organization"  msgstr "" -#: models.py:2240 +#: models.py:2271  msgid "Can delete own Organization"  msgstr "" -#: models.py:2275 +#: models.py:2306  msgid "Groups"  msgstr "" -#: models.py:2280 +#: models.py:2311  msgid "Person types"  msgstr "" -#: models.py:2286 +#: models.py:2319  msgid "Title type"  msgstr "" -#: models.py:2287 +#: models.py:2320  msgid "Title types"  msgstr "" -#: models.py:2294 +#: models.py:2329  msgid "Mr"  msgstr "" -#: models.py:2295 +#: models.py:2330  msgid "Miss"  msgstr "" -#: models.py:2296 +#: models.py:2331  msgid "Mr and Mrs"  msgstr "" -#: models.py:2297 +#: models.py:2332  msgid "Mrs"  msgstr "" -#: models.py:2298 +#: models.py:2333  msgid "Doctor"  msgstr "" -#: models.py:2316 +#: models.py:2351  msgid "Contact type"  msgstr "" -#: models.py:2319 models.py:2368 +#: models.py:2354 models.py:2418  msgid "Types"  msgstr "" -#: models.py:2322 +#: models.py:2357  msgid "Is attached to"  msgstr "" -#: models.py:2327 +#: models.py:2362  msgid "Persons"  msgstr "" -#: models.py:2329 +#: models.py:2364  msgid "Can view all Persons"  msgstr "" -#: models.py:2330 +#: models.py:2365  msgid "Can view own Person"  msgstr "" -#: models.py:2331 +#: models.py:2366  msgid "Can add own Person"  msgstr "" -#: models.py:2332 +#: models.py:2367  msgid "Can change own Person"  msgstr "" -#: models.py:2333 +#: models.py:2368  msgid "Can delete own Person"  msgstr "" -#: models.py:2484 +#: models.py:2533 +msgid "Advanced shortcut menu" +msgstr "" + +#: models.py:2536  msgid "Ishtar user"  msgstr "" -#: models.py:2485 +#: models.py:2537  msgid "Ishtar users"  msgstr "" -#: models.py:2528 +#: models.py:2580  msgid "To modify the password use the form in Auth > User"  msgstr "" -#: models.py:2534 +#: models.py:2586  msgid "Author types"  msgstr "" -#: models.py:2560 +#: models.py:2618  msgid "Source types"  msgstr "" -#: models.py:2566 +#: models.py:2626  msgid "Support types"  msgstr "" -#: models.py:2572 +#: models.py:2634  msgid "Formats"  msgstr "" -#: models.py:2577 +#: models.py:2641  msgid "External ID"  msgstr "" -#: models.py:2580 +#: models.py:2644  msgid "Support"  msgstr "" -#: models.py:2584 +#: models.py:2648  msgid "Scale"  msgstr "" -#: models.py:2598 +#: models.py:2662  msgid "Item number"  msgstr "" -#: models.py:2599 +#: models.py:2663  msgid "Ref."  msgstr "" -#: models.py:2602 +#: models.py:2666  msgid "Internal ref."  msgstr "" -#: models.py:2645 +#: models.py:2709  msgid "Surface (m2)"  msgstr "" -#: models.py:2646 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2710 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107  msgid "Localisation"  msgstr "" -#: models.py:2671 +#: models.py:2735  msgid "Is preventive"  msgstr "" -#: models.py:2675 +#: models.py:2739  msgid "Operation types"  msgstr "" -#: models.py:2704 +#: models.py:2768  msgid "Preventive"  msgstr "" -#: models.py:2705 +#: models.py:2769  msgid "Research"  msgstr "" -#: utils.py:56 +#: utils.py:64  msgid " (...)"  msgstr "" -#: utils.py:89 +#: utils.py:97  msgid "Load another random image?"  msgstr "" -#: views.py:109 +#: views.py:111  msgid "New person"  msgstr "" -#: views.py:117 +#: views.py:119  msgid "Person modification"  msgstr "" -#: views.py:132 +#: views.py:134  msgid "Person deletion"  msgstr "" -#: views.py:143 +#: views.py:145  msgid "New organization"  msgstr "" -#: views.py:150 +#: views.py:152  msgid "Organization modification"  msgstr "" -#: views.py:166 +#: views.py:168  msgid "Organization deletion"  msgstr "" -#: views.py:173 +#: views.py:175  msgid "Account management"  msgstr "" -#: views.py:179 +#: views.py:181  msgid "Account deletion"  msgstr "" -#: views.py:210 +#: views.py:233  msgid "Archaeological file"  msgstr "" -#: views.py:213 +#: views.py:236  msgid "Context record"  msgstr "" -#: views.py:215 +#: views.py:238  msgid "Find"  msgstr "" -#: views.py:1105 views.py:1174 +#: views.py:1178 views.py:1247  msgid "Operation not permitted."  msgstr "" -#: views.py:1107 +#: views.py:1180  #, python-format  msgid "New %s"  msgstr "" -#: views.py:1193 views.py:1247 +#: views.py:1266 views.py:1320  msgid "Operations"  msgstr "" -#: views.py:1446 templates/ishtar/import_list.html:43 +#: views.py:1519 templates/ishtar/import_list.html:43  msgid "Link unmatched items"  msgstr "" -#: views.py:1461 +#: views.py:1534  msgid "Delete import"  msgstr "" -#: views.py:1500 +#: views.py:1573  msgid "Merge persons"  msgstr "" -#: views.py:1524 +#: views.py:1597  msgid "Select the main person"  msgstr "" -#: views.py:1533 +#: views.py:1606  msgid "Merge organization"  msgstr "" -#: views.py:1543 +#: views.py:1616  msgid "Select the main organization"  msgstr "" -#: views.py:1583 views.py:1599 +#: views.py:1656 views.py:1672  msgid "Corporation manager"  msgstr "" @@ -1514,28 +1518,36 @@ msgid "The %(app_name)s team"  msgstr ""  #: templates/base.html:41 -msgid "Logged in" +msgid "Searches in the shortcut menu deals with all items."  msgstr ""  #: templates/base.html:42 +msgid "Searches in the shortcut menu deals with only your items." +msgstr "" + +#: templates/base.html:49 +msgid "Logged in" +msgstr "" + +#: templates/base.html:50  msgid "Log out"  msgstr "" -#: templates/base.html:43 +#: templates/base.html:51  msgid "Change password"  msgstr "" -#: templates/base.html:45 templates/registration/activate.html:10 +#: templates/base.html:53 templates/registration/activate.html:10  #: templates/registration/login.html:8 templates/registration/login.html:10  #: templates/registration/password_reset_complete.html:8  msgid "Log in"  msgstr "" -#: templates/base.html:51 +#: templates/base.html:59  msgid "Lang"  msgstr "" -#: templates/base.html:51 templates/base.html.py:75 templates/welcome.html:8 +#: templates/base.html:59 templates/base.html.py:83 templates/welcome.html:8  #: templates/welcome.html.py:9 templates/welcome.html:10  #: templates/welcome.html.py:11 templates/ishtar/manage_basket.html:4  #: templates/ishtar/blocks/window_field.html:1 @@ -1545,23 +1557,23 @@ msgstr ""  msgid ":"  msgstr "" -#: templates/base.html:73 +#: templates/base.html:81  msgid "Current items"  msgstr "" -#: templates/base.html:107 +#: templates/base.html:115  msgid "Processing..."  msgstr "" -#: templates/base.html:108 +#: templates/base.html:116  msgid "This can be long."  msgstr "" -#: templates/base.html:109 +#: templates/base.html:117  msgid "Time to take a coffee?"  msgstr "" -#: templates/base.html:110 +#: templates/base.html:118  msgid "Time to take another coffee?"  msgstr "" @@ -1833,7 +1845,7 @@ msgstr ""  msgid "where the magic happens."  msgstr "" -#: templates/window.html:38 templates/blocks/JQueryJqGrid.html:25 +#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:25  #: templates/ishtar/manage_basket.html:9  msgid "Add"  msgstr "" @@ -2112,14 +2124,50 @@ msgstr ""  msgid "Documents associated to finds"  msgstr "" -#: templates/ishtar/blocks/shortcut_menu.html:6 +#: templates/ishtar/blocks/advanced_shortcut_menu.html:7 +#: templates/ishtar/blocks/shortcut_menu.html:7 +msgid "" +"Simple menu limited to your own items. Be careful only the last 100 items " +"are displayed." +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:7 +#: templates/ishtar/blocks/shortcut_menu.html:7 +msgid "simple" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:8 +#: templates/ishtar/blocks/shortcut_menu.html:8 +msgid "Advanced menu." +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:8 +#: templates/ishtar/blocks/shortcut_menu.html:8 +msgid "advanced" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:11 +#: templates/ishtar/blocks/shortcut_menu.html:10  msgid ""  "Pin an item in order to constrain default searches with this item. By "  "default only your items are displayed. New created and modified items are "  "auto-pin."  msgstr "" -#: templates/ishtar/blocks/shortcut_menu.html:18 +#: templates/ishtar/blocks/advanced_shortcut_menu.html:13 +msgid "Search within my items" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:14 +msgid "Search within all items" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:17 +msgid "Refresh menu" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:28 +#: templates/ishtar/blocks/shortcut_menu.html:22  msgid "Unpin"  msgstr "" diff --git a/ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py b/ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py new file mode 100644 index 000000000..19a076913 --- /dev/null +++ b/ishtar_common/migrations/0063_auto__add_field_ishtaruser_advanced_shortcut_menu.py @@ -0,0 +1,464 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + +    def forwards(self, orm): +        # Adding field 'IshtarUser.advanced_shortcut_menu' +        db.add_column('ishtar_common_ishtaruser', 'advanced_shortcut_menu', +                      self.gf('django.db.models.fields.BooleanField')(default=False), +                      keep_default=False) + + +    def backwards(self, orm): +        # Deleting field 'IshtarUser.advanced_shortcut_menu' +        db.delete_column('ishtar_common_ishtaruser', 'advanced_shortcut_menu') + + +    models = { +        'auth.group': { +            'Meta': {'object_name': 'Group'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), +            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) +        }, +        'auth.permission': { +            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, +            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) +        }, +        'auth.user': { +            'Meta': {'object_name': 'User'}, +            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), +            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), +            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), +            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), +            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), +            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), +            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +        }, +        'contenttypes.contenttype': { +            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, +            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) +        }, +        'ishtar_common.arrondissement': { +            'Meta': {'object_name': 'Arrondissement'}, +            'department': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) +        }, +        'ishtar_common.author': { +            'Meta': {'object_name': 'Author'}, +            'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"}) +        }, +        'ishtar_common.authortype': { +            'Meta': {'object_name': 'AuthorType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.canton': { +            'Meta': {'object_name': 'Canton'}, +            'arrondissement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Arrondissement']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}) +        }, +        'ishtar_common.department': { +            'Meta': {'ordering': "['number']", 'object_name': 'Department'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), +            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}), +            'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.documenttemplate': { +            'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'}, +            'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) +        }, +        'ishtar_common.format': { +            'Meta': {'object_name': 'Format'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.formatertype': { +            'Meta': {'ordering': "('formater_type', 'options')", 'unique_together': "(('formater_type', 'options', 'many_split'),)", 'object_name': 'FormaterType'}, +            'formater_type': ('django.db.models.fields.CharField', [], {'max_length': '20'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'many_split': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'options': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.globalvar': { +            'Meta': {'ordering': "['slug']", 'object_name': 'GlobalVar'}, +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), +            'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.historicalorganization': { +            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalOrganization'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), +            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), +            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), +            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), +            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), +            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), +            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}), +            'organization_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.historicalperson': { +            'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalPerson'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), +            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), +            'attached_to_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), +            'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), +            'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), +            'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), +            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), +            'title_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.import': { +            'Meta': {'object_name': 'Import'}, +            'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), +            'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}), +            'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), +            'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), +            'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}), +            'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}), +            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"}) +        }, +        'ishtar_common.importercolumn': { +            'Meta': {'ordering': "('importer_type', 'col_number')", 'unique_together': "(('importer_type', 'col_number'),)", 'object_name': 'ImporterColumn'}, +            'col_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'columns'", 'to': "orm['ishtar_common.ImporterType']"}), +            'regexp_pre_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), +            'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) +        }, +        'ishtar_common.importerdefault': { +            'Meta': {'object_name': 'ImporterDefault'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'defaults'", 'to': "orm['ishtar_common.ImporterType']"}), +            'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) +        }, +        'ishtar_common.importerdefaultvalues': { +            'Meta': {'object_name': 'ImporterDefaultValues'}, +            'default_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'default_values'", 'to': "orm['ishtar_common.ImporterDefault']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}), +            'value': ('django.db.models.fields.CharField', [], {'max_length': '500'}) +        }, +        'ishtar_common.importerduplicatefield': { +            'Meta': {'object_name': 'ImporterDuplicateField'}, +            'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'duplicate_fields'", 'to': "orm['ishtar_common.ImporterColumn']"}), +            'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), +            'field_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) +        }, +        'ishtar_common.importertype': { +            'Meta': {'object_name': 'ImporterType'}, +            'associated_models': ('django.db.models.fields.CharField', [], {'max_length': '200'}), +            'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}), +            'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), +            'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.importtarget': { +            'Meta': {'object_name': 'ImportTarget'}, +            'column': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'targets'", 'to': "orm['ishtar_common.ImporterColumn']"}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'concat': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'concat_str': ('django.db.models.fields.CharField', [], {'max_length': '5', 'null': 'True', 'blank': 'True'}), +            'force_new': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'formater_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.FormaterType']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'regexp_filter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Regexp']", 'null': 'True', 'blank': 'True'}), +            'target': ('django.db.models.fields.CharField', [], {'max_length': '500'}) +        }, +        'ishtar_common.ishtarsiteprofile': { +            'Meta': {'ordering': "['label']", 'object_name': 'IshtarSiteProfile'}, +            'active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'base_find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{context_record__external_id}-{label}'"}), +            'context_record': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'context_record_external_id': ('django.db.models.fields.TextField', [], {'default': "'{parcel__external_id}-{label}'"}), +            'currency': ('django.db.models.fields.CharField', [], {'default': "u'\\u20ac'", 'max_length': "'5'"}), +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'file_external_id': ('django.db.models.fields.TextField', [], {'default': "'{year}-{numeric_reference}'"}), +            'files': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'find': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'find_external_id': ('django.db.models.fields.TextField', [], {'default': "'{get_first_base_find__context_record__external_id}-{label}'"}), +            'homepage': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.TextField', [], {}), +            'parcel_external_id': ('django.db.models.fields.TextField', [], {'default': "'{associated_file__external_id}{operation__code_patriarche}-{town__numero_insee}-{section}{parcel_number}'"}), +            'person_raw_name': ('django.db.models.fields.TextField', [], {'default': "'{name|upper} {surname}'"}), +            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), +            'warehouse': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) +        }, +        'ishtar_common.ishtaruser': { +            'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']}, +            'advanced_shortcut_menu': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}), +            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) +        }, +        'ishtar_common.itemkey': { +            'Meta': {'object_name': 'ItemKey'}, +            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'importer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), +            'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) +        }, +        'ishtar_common.operationtype': { +            'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.organization': { +            'Meta': {'object_name': 'Organization'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), +            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), +            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), +            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), +            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '500'}), +            'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}), +            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.organizationtype': { +            'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.person': { +            'Meta': {'object_name': 'Person'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'alt_address_is_prefered': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'alt_country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'alt_postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'alt_town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}), +            'archived': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), +            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'contact_type': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'merge_key': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'old_title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}), +            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone2': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone3': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), +            'phone_desc': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc2': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'phone_desc3': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'raw_phone': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'salutation': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), +            'title': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.TitleType']", 'null': 'True', 'blank': 'True'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.persontype': { +            'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.regexp': { +            'Meta': {'object_name': 'Regexp'}, +            'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'regexp': ('django.db.models.fields.CharField', [], {'max_length': '500'}) +        }, +        'ishtar_common.sourcetype': { +            'Meta': {'object_name': 'SourceType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.state': { +            'Meta': {'ordering': "['number']", 'object_name': 'State'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), +            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}) +        }, +        'ishtar_common.supporttype': { +            'Meta': {'object_name': 'SupportType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.targetkey': { +            'Meta': {'unique_together': "(('target', 'key', 'associated_user', 'associated_import'),)", 'object_name': 'TargetKey'}, +            'associated_import': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Import']", 'null': 'True', 'blank': 'True'}), +            'associated_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'is_set': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'key': ('django.db.models.fields.TextField', [], {}), +            'target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'keys'", 'to': "orm['ishtar_common.ImportTarget']"}), +            'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.titletype': { +            'Meta': {'ordering': "('label',)", 'object_name': 'TitleType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.town': { +            'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'}, +            'canton': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Canton']", 'null': 'True', 'blank': 'True'}), +            'center': ('django.contrib.gis.db.models.fields.PointField', [], {'srid': '27572', 'null': 'True', 'blank': 'True'}), +            'departement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_town'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}), +            'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) +        } +    } + +    complete_apps = ['ishtar_common']
\ No newline at end of file diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 95d995a91..ba3d51172 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -235,7 +235,7 @@ class OwnPerms:          return cls.objects.filter(query).count()      @classmethod -    def get_owns(cls, user, replace_query={}): +    def get_owns(cls, user, replace_query={}, limit=None):          """          Get Own items          """ @@ -252,7 +252,10 @@ class OwnPerms:          q = cls.objects.filter(query)          if replace_query:              q = cls.objects.filter(**replace_query) -        items += list(q.order_by(*cls._meta.ordering).all()) +        if limit: +            items += list(q.order_by('-pk')[:limit]) +        else: +            items += list(q.order_by(*cls._meta.ordering).all())          return items @@ -2526,6 +2529,8 @@ class IshtarUser(User):                    'person__attached_to')      person = models.ForeignKey(Person, verbose_name=_(u"Person"), unique=True,                                 related_name='ishtaruser') +    advanced_shortcut_menu = models.BooleanField( +        _(u"Advanced shortcut menu"), default=False)      class Meta:          verbose_name = _(u"Ishtar user") diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index fecefe0a9..6017aed64 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -23,8 +23,6 @@ beforeSend: function(xhr, settings) {      }  }}); -var shortcut_url = ''; -  function manage_async_link(event){      event.preventDefault();      var url = $(this).attr('href'); @@ -38,10 +36,36 @@ function manage_async_link(event){  function get_next_table_id(){}  function get_previous_table_id(){} +var shortcut_url = ''; +var advanced_menu = false; +var activate_all_search_url = '/activate-all-search/'; +var activate_own_search_url = '/activate-own-search/'; +var activate_advanced_url = '/activate-advanced-menu/'; +var activate_simple_url = '/activate-simple-menu/'; + +  function init_shortcut_menu(html){      $("#progress").hide();      $("#context_menu").html(html);      $(".chosen-select").chosen(); +    if (advanced_menu) { +        init_advanced_shortcut_fields(); +    } else { +        init_shortcut_fields(); +    } +    $("#short-menu-advanced").click(function(){ +        $.get(url_path + activate_advanced_url, +               load_shortcut_menu +        ); +    }); +    $("#short-menu-simple").click(function(){ +        $.get(url_path + activate_simple_url, +               load_shortcut_menu +        ); +    }); +} + +function init_shortcut_fields(){      $("#current_file").change(function(){          $.post('/' + url_path + 'update-current-item/',                 {item:'file', value:$("#current_file").val()}, @@ -68,6 +92,41 @@ function init_shortcut_menu(html){      });  } +function init_advanced_shortcut_fields(){ +    $('#id_file-shortcut').change(function(){ +        $("#id_select_file-shortcut").attr( +            'title', $('#id_select_file-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "file", value:$("#id_file-shortcut").val()}, +               load_shortcut_menu +        ); +    }); +    $('#id_operation-shortcut').change(function(){ +        $("#id_select_operation-shortcut").attr( +            'title', $('#id_select_operation-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "operation", value:$("#id_operation-shortcut").val()}, +               load_shortcut_menu +        ); +    }); +    $('#id_contextrecord-shortcut').change(function(){ +        $("#id_select_contextrecord-shortcut").attr( +            'title', $('#id_select_contextrecord-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "contextrecord", value:$("#id_contextrecord-shortcut").val()}, +               load_shortcut_menu +        ); +    }); +    $('#id_find-shortcut').change(function(){ +        $("#id_select_find-shortcut").attr( +            'title', $('#id_select_find-shortcut').val()); +        $.post('/' + url_path + 'update-current-item/', +               {item: "find", value:$("#id_find-shortcut").val()}, +               load_shortcut_menu +        ); +    }); +} +  function display_info(msg){      $('#message .information .content').html(msg);      $('#message').fadeIn('slow'); @@ -191,7 +250,12 @@ function load_window(url, speed, on_success){  }  function load_current_window(url, model_name){ -    var id = $("#current_" + model_name).val(); +    var id; +    if (advanced_menu){ +        id = $("#id_" + model_name + "-shortcut").val(); +    } else { +        id = $("#current_" + model_name).val(); +    }      if (!id) return;      url = url.split('/');      url[url.length - 1] = id; @@ -267,3 +331,24 @@ function show_hide_flex(id){          $(id).hide();      }  } + +var activate_all_search_msg = "Searches in the shortcut menu deals with all items."; +var activate_own_search_msg = "Searches in the shortcut menu deals with only your items."; + +function activate_all_search(){ +    $('.activate_all_search').removeClass('disabled'); +    $('.activate_own_search').addClass('disabled'); +    $.get(activate_all_search_url, function(data) { +        display_info(activate_all_search_msg); +    }); +    return false; +} + +function activate_own_search(){ +    $('.activate_own_search').removeClass('disabled'); +    $('.activate_all_search').addClass('disabled'); +    $.get(activate_own_search_url, function(data) { +        display_info(activate_own_search_msg); +    }); +    return false; +} diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css index aab5063e4..8aac9e2a2 100644 --- a/ishtar_common/static/media/style.css +++ b/ishtar_common/static/media/style.css @@ -29,6 +29,16 @@ a, a.remove {      color:#D14;  } +span.disabled, +a.disabled { +    color:#ccc; +} + +span.disabled:hover, +a.disabled:hover { +    color:#DB5C7C; +} +  .badge,  a.add-button,  #reset_wizards, @@ -56,6 +66,10 @@ a.add-button,      font-family: 'FontAwesome', Arial, Helvetica, sans-serif;  } +#context_menu .chosen-select{ +    width: 400px; +} +  #context_menu option.basket{      color:#000;  } @@ -229,6 +243,7 @@ button, input[type=submit], button.submit{      -webkit-border-radius:4px;  } +button.btn-selected,  button:hover, input[type=submit]:hover{      cursor:pointer;      color:#922; @@ -409,6 +424,16 @@ div#language_form_div label{      display:inline;  }*/ +.btn-group .btn{ +    padding: 0; +    margin: 0; +} + +.short-menu-buttons{ +    position: absolute; +    margin-top: -20px; +} +  div#context_menu{      height:110px;      margin-right:10px; @@ -418,6 +443,7 @@ div#context_menu{  }  div#context_menu fieldset{ +    margin-top: 8px;      background-color:#f1f2f6;      border:0 solid #CCC;      -moz-border-radius: 0; @@ -425,13 +451,25 @@ div#context_menu fieldset{      border-radius: 0;  } +div#action_current_items{ +    display: inline-block; +    vertical-align: top; +    width: 70px; +} + +div#action_current_items p{ +    padding: 0; +    margin: 0; +    text-align: center; +} +  div#context_menu table{      display: inline;      vertical-align: top;  }  div#context_menu .icon{ -    padding: 0.6em 0.5em; +    padding: 0.2em 0.3em;  }  div#context_menu ul{ @@ -792,7 +830,9 @@ table.confirm tr.spacer td:last-child{  /* jquery widget customizations */  .ui-autocomplete{ -    font-size:0.7em +    font-size:0.7em; +    z-index:10000 !important; +    width:350px;  }  .ui-autocomplete-loading { diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html index 695edd758..7101ed7de 100644 --- a/ishtar_common/templates/base.html +++ b/ishtar_common/templates/base.html @@ -32,6 +32,14 @@      {% endblock %}      <script type='text/javascript'>      var shortcut_url = '{% url "shortcut-menu" %}'; +    var get_file_url = '{% url "get-file-shortcut" %}'; +    var get_operation_url = '{% url "get-operation-shortcut" %}'; +    var get_contextrecord_url = '{% url "get-contextrecord-shortcut" %}'; +    var get_find_url = '{% url "get-find-shortcut" %}'; +    var activate_all_search_url = '{% url "activate-all-search" %}'; +    var activate_own_search_url = '{% url "activate-own-search" %}'; +    var activate_all_search_msg = "{% trans 'Searches in the shortcut menu deals with all items.' %}"; +    var activate_own_search_msg = "{% trans 'Searches in the shortcut menu deals with only your items.' %}";      </script>  </head>  <body{% if current_theme%} id='{{current_theme}}'{%endif%}> @@ -50,7 +58,7 @@                  {% csrf_token %}                  <label for='language_selector'>{% trans "Lang" %}{% trans ":"%} </label>                  <select name="language" id='language_selector'> -                    <option value="">-------</option> +                    <option value="">----------</option>                  {% for lang in LANGUAGES %}                      <option value="{{ lang.0 }}"{% ifequal LANGUAGE_CODE lang.0 %} selected='selected'{% endifequal %}>{{ lang.1 }}</option>                  {% endfor %} diff --git a/ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html b/ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html new file mode 100644 index 000000000..581381e82 --- /dev/null +++ b/ishtar_common/templates/ishtar/blocks/advanced_shortcut_menu.html @@ -0,0 +1,38 @@ +{% load i18n %} +{% load url from future%} +{% if menu %} +<form method="post" action="{% url 'update-current-item' %}"> +<fieldset> +<div class="short-menu-buttons btn-group" role="group"> +  <button type="button" class="btn" id='short-menu-simple' title="{% trans 'Simple menu limited to your own items. Be careful only the last 100 items are displayed.' %}">{% trans "simple" %}</button> +  <button type="button" class="btn btn-selected" id='short-menu-advanced' title="{% trans 'Advanced menu.' %}">{% trans "advanced" %}</button> +</div> +<div id='action_current_items'> +<p><i class="icon fa fa-thumb-tack fa-2x" aria-hidden="true" title="{% trans 'Pin an item in order to constrain default searches with this item. By default only your items are displayed. New created and modified items are auto-pin.' %}"></i></p> +<p> +<a href='' onclick='return activate_own_search();' class='activate_own_search{% if SHORTCUT_SEARCH == 'all' %} disabled{% endif %}'><i class="icon fa fa-user" aria-hidden="true" title="{% trans 'Search within my items' %}"></i></a> +<a href='' class='activate_all_search{% if SHORTCUT_SEARCH == 'own' %} disabled{% endif %}' onclick='return activate_all_search();'><i class="icon fa fa-users" aria-hidden="true" title="{% trans 'Search within all items' %}"></i></a> +</p> +<p> +<a href='' onclick='return load_shortcut_menu();' class='disabled'><i class="icon fa fa-2x fa-refresh" aria-hidden="true" title="{% trans 'Refresh menu' %}"></i></a> +</p> +</div> +<table id='current_items'> +{% for lbl, model_name, current, widget in menu %} +<tr> +    <td><label for="current_{{model_name}}">{{lbl}}</label></td> +    <td> +        {{widget|safe}} +    </td>{% with 'show-'|add:model_name as model_url%} +    <td><a href='#' onclick='load_current_window("{% url model_url current %}", "{{model_name}}");' class='display_details'><i class="fa fa-info-circle" aria-hidden="true"></i></a></td> +    <td><span class='disabled pin-action' onclick='$.get("{% url 'unpin' model_name %}", function(){load_shortcut_menu();});' title="{% trans 'Unpin' %}"> +            <i class="fa fa-times"></i> +    </span></td> +    {% endwith %} +</tr> +{% endfor %} +</table> +</fieldset> +</form> +<script type='text/javascript'>var advanced_menu = true;</script> +{% endif %} diff --git a/ishtar_common/templates/ishtar/blocks/shortcut_menu.html b/ishtar_common/templates/ishtar/blocks/shortcut_menu.html index c1100ae01..5a0463c30 100644 --- a/ishtar_common/templates/ishtar/blocks/shortcut_menu.html +++ b/ishtar_common/templates/ishtar/blocks/shortcut_menu.html @@ -3,6 +3,10 @@  {% if current_menu %}  <form method="post" action="{% url 'update-current-item' %}">  <fieldset> +<div class="short-menu-buttons btn-group" role="group"> +  <button type="button" class="btn btn-selected" id='short-menu-simple' title="{% trans 'Simple menu limited to your own items. Be careful only the last 100 items are displayed.' %}">{% trans "simple" %}</button> +  <button type="button" class="btn" id='short-menu-advanced' title="{% trans 'Advanced menu.' %}">{% trans "advanced" %}</button> +</div>  <i class="icon fa fa-thumb-tack fa-2x" aria-hidden="true" title="{% trans 'Pin an item in order to constrain default searches with this item. By default only your items are displayed. New created and modified items are auto-pin.' %}"></i>  <table id='current_items'>  {% for lbl, model_name, main_cls, items in current_menu %} @@ -24,4 +28,5 @@  </table>  </fieldset>  </form> +<script type='text/javascript'>var advanced_menu = false;</script>  {% endif %} diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py index 27078dd9e..22a09a052 100644 --- a/ishtar_common/urls.py +++ b/ishtar_common/urls.py @@ -192,6 +192,14 @@ urlpatterns += patterns(          views.OrgaManualMergeItems.as_view(),          name='orga_manual_merge_items'),      url(r'reset/$', 'reset_wizards', name='reset_wizards'), +    url(r'activate-all-search/$', 'activate_all_search', +        name='activate-all-search'), +    url(r'activate-own-search/$', 'activate_own_search', +        name='activate-own-search'), +    url(r'activate-advanced-menu/$', 'activate_advanced_shortcut_menu', +        name='activate-advanced-menu'), +    url(r'activate-simple-menu/$', 'activate_simple_shortcut_menu', +        name='activate-simple-menu'),      url(r'(?P<action_slug>' + actions + r')/$', 'action', name='action'),  ) diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 5f3e80c77..3406cf7af 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -55,6 +55,7 @@ from xhtml2odt import xhtml2odt  from menus import menu  from archaeological_files.models import File +from archaeological_operations.models import Operation  from archaeological_context_records.models import ContextRecord  from archaeological_finds.models import Find @@ -62,6 +63,7 @@ from archaeological_operations.forms import DashboardForm as DashboardFormOpe  from archaeological_files.forms import DashboardForm as DashboardFormFile  from ishtar_common.forms import FinalForm, FinalDeleteForm +from ishtar_common.widgets import JQueryAutoComplete  from ishtar_common.utils import get_random_item_image_link, shortify  from ishtar_common import forms_common as forms  from ishtar_common import wizards @@ -198,12 +200,33 @@ def get_autocomplete_generic(model, extra={'available': True}):      return func -def shortcut_menu(request): -    from archaeological_operations.models import Operation -    from archaeological_files.models import File -    from archaeological_context_records.models import ContextRecord -    from archaeological_finds.models import Find +def activate_all_search(request): +    request.session['SHORTCUT_SEARCH'] = 'all' +    return HttpResponse('OK', mimetype='text/plain') + + +def activate_own_search(request): +    request.session['SHORTCUT_SEARCH'] = 'own' +    return HttpResponse('OK', mimetype='text/plain') + + +def activate_advanced_shortcut_menu(request): +    if not hasattr(request.user, 'ishtaruser'): +        return HttpResponse('KO', mimetype='text/plain') +    request.user.ishtaruser.advanced_shortcut_menu = True +    request.user.ishtaruser.save() +    return HttpResponse('OK', mimetype='text/plain') + + +def activate_simple_shortcut_menu(request): +    if not hasattr(request.user, 'ishtaruser'): +        return HttpResponse('KO', mimetype='text/plain') +    request.user.ishtaruser.advanced_shortcut_menu = False +    request.user.ishtaruser.save() +    return HttpResponse('OK', mimetype='text/plain') + +def shortcut_menu(request):      profile = get_current_profile()      CURRENT_ITEMS = []      if profile.files: @@ -213,6 +236,27 @@ def shortcut_menu(request):          CURRENT_ITEMS.append((_(u"Context record"), ContextRecord))      if profile.find:          CURRENT_ITEMS.append((_(u"Find"), Find)) +    if hasattr(request.user, 'ishtaruser') and \ +            request.user.ishtaruser.advanced_shortcut_menu: +        dct = {'current_menu': [], 'menu': [], +               'SHORTCUT_SEARCH': request.session['SHORTCUT_SEARCH'] +               if 'SHORTCUT_SEARCH' in request.session else 'own'} + +        for lbl, model in CURRENT_ITEMS: +            model_name = model.SLUG +            current = model_name in request.session \ +                and request.session[model_name] + +            dct['menu'].append(( +                lbl, model_name, current or 0, +                JQueryAutoComplete( +                    reverse('get-' + model.SLUG + '-shortcut'), +                    model).render( +                        model.SLUG + '-shortcut', value=current, +                        attrs={'id': 'current_' + model.SLUG}))) +        return render_to_response( +            'ishtar/blocks/advanced_shortcut_menu.html', +            dct, context_instance=RequestContext(request))      dct = {'current_menu': []}      current_selected_item = None      for lbl, model in CURRENT_ITEMS: @@ -222,7 +266,8 @@ def shortcut_menu(request):          current = model_name in request.session and request.session[model_name]          items = []          for item in model.get_owns(request.user, -                                   menu_filtr=current_selected_item): +                                   menu_filtr=current_selected_item, +                                   limit=100):              pk = unicode(item.pk)              if item.IS_BASKET:                  pk = "basket-" + pk @@ -249,10 +294,6 @@ def shortcut_menu(request):  def get_current_items(request): -    from archaeological_files.models import File -    from archaeological_operations.models import Operation -    from archaeological_context_records.models import ContextRecord -    from archaeological_finds.models import Find      currents = {}      for key, model in (('file', File),                         ('operation', Operation), @@ -290,6 +331,7 @@ def update_current_item(request, item_type=None, pk=None):              request.session[item_type] = request.POST['value']      else:          request.session[item_type] = str(pk) +    request.session['SHORTCUT_SEARCH'] = 'all'      currents = get_current_items(request)      # reinit when descending item are not relevant @@ -516,6 +558,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[],                          break  # max right reach          if force_own:              own = True +        if full == 'shortcut' and 'SHORTCUT_SEARCH' in request.session and \ +                request.session['SHORTCUT_SEARCH'] == 'own': +            own = True          EMPTY = ''          if 'type' in dct:              data_type = dct.pop('type') @@ -544,6 +589,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[],          request_items = request.method == 'POST' and request.POST \              or request.GET          dct = base_request.copy() +        if full == 'shortcut': +            dct['cached_label__icontains'] = request.GET.get('term', None)          and_reqs, or_reqs = [], []          try:              old = 'old' in request_items and int(request_items['old']) @@ -577,7 +624,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],                  q = Q(**{req_key: val})                  reqs = reqs | q              and_reqs.append(reqs) -        if 'submited' not in request_items: +        if 'submited' not in request_items and full != 'shortcut':              # default search              # an item is selected in the default menu              if default_name in request.session and \ @@ -706,6 +753,22 @@ def get_item(model, func_name, default_name, extra_request_keys=[],          for and_req in and_reqs:              query = query & and_req +        # manage hierarchic in shortcut menu +        if full == 'shortcut': +            ASSOCIATED_ITEMS = { +                Operation: (File, 'associated_file__pk'), +                ContextRecord: (Operation, 'operation__pk'), +                Find: (ContextRecord, 'base_finds__context_record__pk'), +            } +            if model in ASSOCIATED_ITEMS: +                upper_model, upper_key = ASSOCIATED_ITEMS[model] +                model_name = upper_model.SLUG +                current = model_name in request.session \ +                    and request.session[model_name] +                if current: +                    dct = {upper_key: current} +                    query = query & Q(**dct) +          items = model.objects.filter(query).distinct()          # print(items.query)          q = request_items.get('sidx') @@ -731,6 +794,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[],              for idx, col in enumerate(table_cols):                  if col in model.CONTEXTUAL_TABLE_COLS[contxt]:                      table_cols[idx] = model.CONTEXTUAL_TABLE_COLS[contxt][col] +        if full == 'shortcut': +            table_cols = ['cached_label']          # manage sort tables          manual_sort_key = None @@ -773,6 +838,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[],                  pass              start = (page_nb - 1) * row_nb              end = page_nb * row_nb +        if full == 'shortcut': +            start = 0 +            end = 20          items_nb = items.count()          if manual_sort_key:              items = items.all() @@ -887,13 +955,18 @@ def get_item(model, func_name, default_name, extra_request_keys=[],                          if hasattr(model, 'COL_LINK') and k in model.COL_LINK:                              value = link_ext_template.format(value, value)                          res[k] = value +                if full == 'shortcut': +                    res['value'] = res.pop('cached_label')                  rows.append(res) -            data = json.dumps({ -                "records": items_nb, -                "rows": rows, -                "page": page_nb, -                "total": (items_nb / row_nb + 1) if row_nb else items_nb, -            }) +            if full == 'shortcut': +                data = json.dumps(rows) +            else: +                data = json.dumps({ +                    "records": items_nb, +                    "rows": rows, +                    "page": page_nb, +                    "total": (items_nb / row_nb + 1) if row_nb else items_nb, +                })              return HttpResponse(data, mimetype='text/plain')          elif data_type == "csv":              response = HttpResponse(mimetype='text/csv') diff --git a/scripts/2016-09-29-clean-dup-towns-pdl.py b/scripts/2016-09-29-clean-dup-towns-pdl.py new file mode 100644 index 000000000..ebacb2fdf --- /dev/null +++ b/scripts/2016-09-29-clean-dup-towns-pdl.py @@ -0,0 +1,51 @@ +from ishtar_common.models import Town + + +dup_nb = 0 +pdl = [] +DPTS = ('44', '49', '53', '72', '85') + +for dpt in DPTS: +    for town in Town.objects.filter(numero_insee__startswith=dpt): +        pdl.append(town.pk) +        for dup in Town.objects.filter(name=town.name).exclude(pk=town.pk): +            not_dup = False +            for d in DPTS: +                if dup.numero_insee.startswith(d): +                    not_dup = True +            if not_dup: +                continue +            for item in dup.file_main.all(): +                item.main_town = town +                p = item.save() +            for item in dup.parcels.all(): +                item.main_town = town +                p = item.save() +            for item in dup.file.all(): +                item.towns.remove(dup) +                item.towns.add(town) +            for item in dup.operations.all(): +                item.towns.remove(dup) +                item.towns.add(town) +            dup_nb += 1 +            dup.delete() + + +print("{} items cleaned".format(dup_nb)) + +strange = [] +for town in Town.objects.exclude(pk__in=pdl): +    if (town.file_main.count() or town.parcels.count() or town.file.count() or +            town.operations.count()): +        strange.append((town, town.file_main.count(), town.parcels.count(), +                        town.file.count(), town.operations.count())) +        continue +    town.delete() + + +print('* Problems with:') +for t in strange: +    print("{}: \n\t* {} ville principale dossier\n\t* {} parcelles\n\t* {} " +          "villes pour" +          " dossier\n\t* {} ville pour operation".format(t[0], t[1], t[2], +                                                         t[3], t[4])) diff --git a/translations/de/ishtar_common.po b/translations/de/ishtar_common.po index d1119d29e..aa57a0656 100644 --- a/translations/de/ishtar_common.po +++ b/translations/de/ishtar_common.po @@ -158,12 +158,12 @@ msgstr ""  msgid "Add a new item"  msgstr "" -#: forms.py:245 models.py:1278 +#: forms.py:245 models.py:1307  msgid "Template"  msgstr ""  #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1344 models.py:2658 +#: forms_common.py:406 models.py:1373 models.py:2722  #: templates/blocks/JQueryAdvancedTown.html:19  #: templates/ishtar/sheet_organization.html:13  msgid "Town" @@ -179,8 +179,8 @@ msgid ""  "french town Saint-Denis in the Seine-Saint-Denis department.</p>"  msgstr "" -#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1512 -#: models.py:2326 models.py:2480 models.py:2538 +#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1543 +#: models.py:2361 models.py:2530 models.py:2592  #: templates/ishtar/sheet_person.html:4  msgid "Person"  msgstr "" @@ -192,63 +192,63 @@ msgid ""  msgstr ""  #: forms_common.py:170 forms_common.py:327 forms_common.py:451 -#: ishtar_menu.py:75 models.py:1513 models.py:2231 +#: ishtar_menu.py:75 models.py:1544 models.py:2262  #: templates/ishtar/sheet_organization.html:4  msgid "Organization"  msgstr ""  #: forms_common.py:173 forms_common.py:210 forms_common.py:322 -#: forms_common.py:376 forms_common.py:446 models.py:945 models.py:1277 -#: models.py:1558 models.py:1776 models.py:2225 models.py:2312 models.py:2644 +#: forms_common.py:376 forms_common.py:446 models.py:974 models.py:1306 +#: models.py:1589 models.py:1807 models.py:2256 models.py:2347 models.py:2708  #: templates/ishtar/sheet_organization.html:8  #: templates/ishtar/sheet_organization.html:21  msgid "Name"  msgstr "" -#: forms_common.py:174 models.py:1499 models.py:1907 +#: forms_common.py:174 models.py:1528 models.py:1938  msgid "Organization type"  msgstr "" -#: forms_common.py:176 forms_common.py:400 models.py:1339 +#: forms_common.py:176 forms_common.py:400 models.py:1368  #: templates/ishtar/sheet_organization.html:10  msgid "Address"  msgstr "" -#: forms_common.py:178 forms_common.py:403 models.py:1340 +#: forms_common.py:178 forms_common.py:403 models.py:1369  #: templates/ishtar/sheet_organization.html:11  msgid "Address complement"  msgstr "" -#: forms_common.py:180 forms_common.py:404 models.py:1342 +#: forms_common.py:180 forms_common.py:404 models.py:1371  #: templates/ishtar/sheet_organization.html:12  msgid "Postal code"  msgstr "" -#: forms_common.py:183 forms_common.py:407 models.py:1345 +#: forms_common.py:183 forms_common.py:407 models.py:1374  msgid "Country"  msgstr ""  #: forms_common.py:185 forms_common.py:324 forms_common.py:380 -#: forms_common.py:448 forms_common.py:572 models.py:1372 +#: forms_common.py:448 forms_common.py:572 models.py:1401  msgid "Email"  msgstr "" -#: forms_common.py:186 forms_common.py:383 models.py:1357 +#: forms_common.py:186 forms_common.py:383 models.py:1386  #: templates/ishtar/sheet_organization.html:14  #: templates/ishtar/sheet_person.html:19  #: templates/ishtar/wizard/wizard_person.html:17  msgid "Phone"  msgstr "" -#: forms_common.py:187 forms_common.py:392 models.py:1369 +#: forms_common.py:187 forms_common.py:392 models.py:1398  #: templates/ishtar/sheet_organization.html:15  #: templates/ishtar/sheet_person.html:37  #: templates/ishtar/wizard/wizard_person.html:35  msgid "Mobile phone"  msgstr "" -#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1935 -#: models.py:2227 models.py:2579 templates/sheet_ope.html:85 +#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1966 +#: models.py:2258 models.py:2643 templates/sheet_ope.html:85  #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126  #: templates/ishtar/import_list.html:13  #: templates/ishtar/sheet_organization.html:23 @@ -256,7 +256,7 @@ msgstr ""  msgid "Type"  msgstr "" -#: forms_common.py:220 views.py:137 +#: forms_common.py:220 views.py:139  msgid "Organization search"  msgstr "" @@ -272,12 +272,12 @@ msgstr ""  msgid "Organization to merge"  msgstr "" -#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2310 +#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2345  #: templates/ishtar/sheet_organization.html:22  msgid "Surname"  msgstr "" -#: forms_common.py:339 forms_common.py:434 views.py:102 +#: forms_common.py:339 forms_common.py:434 views.py:104  msgid "Person search"  msgstr "" @@ -290,25 +290,25 @@ msgstr ""  msgid "Identity"  msgstr "" -#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1908 -#: models.py:2304 models.py:2306 models.py:2576 templates/sheet_ope.html:104 +#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1939 +#: models.py:2339 models.py:2341 models.py:2640 templates/sheet_ope.html:104  #: templates/ishtar/blocks/window_tables/documents.html:7  msgid "Title"  msgstr "" -#: forms_common.py:372 models.py:2308 +#: forms_common.py:372 models.py:2343  msgid "Salutation"  msgstr "" -#: forms_common.py:378 models.py:2314 +#: forms_common.py:378 models.py:2349  msgid "Raw name"  msgstr "" -#: forms_common.py:381 models.py:1358 +#: forms_common.py:381 models.py:1387  msgid "Phone description"  msgstr "" -#: forms_common.py:384 models.py:1360 models.py:1362 +#: forms_common.py:384 models.py:1389 models.py:1391  msgid "Phone description 2"  msgstr "" @@ -316,11 +316,11 @@ msgstr ""  msgid "Phone 2"  msgstr "" -#: forms_common.py:388 models.py:1366 +#: forms_common.py:388 models.py:1395  msgid "Phone description 3"  msgstr "" -#: forms_common.py:390 models.py:1364 +#: forms_common.py:390 models.py:1393  msgid "Phone 3"  msgstr "" @@ -328,23 +328,23 @@ msgstr ""  msgid "Current organization"  msgstr "" -#: forms_common.py:409 models.py:1347 +#: forms_common.py:409 models.py:1376  msgid "Other address: address"  msgstr "" -#: forms_common.py:412 models.py:1350 +#: forms_common.py:412 models.py:1379  msgid "Other address: address complement"  msgstr "" -#: forms_common.py:414 models.py:1351 +#: forms_common.py:414 models.py:1380  msgid "Other address: postal code"  msgstr "" -#: forms_common.py:416 models.py:1353 +#: forms_common.py:416 models.py:1382  msgid "Other address: town"  msgstr "" -#: forms_common.py:418 models.py:1355 +#: forms_common.py:418 models.py:1384  msgid "Other address: country"  msgstr "" @@ -360,7 +360,7 @@ msgstr ""  msgid "Account search"  msgstr "" -#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2279 +#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2310  msgid "Person type"  msgstr "" @@ -392,7 +392,7 @@ msgstr ""  msgid "Send the new password by email?"  msgstr "" -#: forms_common.py:628 forms_common.py:641 models.py:2659 +#: forms_common.py:628 forms_common.py:641 models.py:2723  msgid "Towns"  msgstr "" @@ -408,7 +408,7 @@ msgstr ""  msgid "Documentation informations"  msgstr "" -#: forms_common.py:775 forms_common.py:823 models.py:1909 models.py:2559 +#: forms_common.py:775 forms_common.py:823 models.py:1940 models.py:2617  msgid "Source type"  msgstr "" @@ -420,37 +420,37 @@ msgstr ""  msgid "Internal reference"  msgstr "" -#: forms_common.py:783 models.py:2590 +#: forms_common.py:783 models.py:2654  msgid "Numerical ressource (web address)"  msgstr "" -#: forms_common.py:784 models.py:2592 +#: forms_common.py:784 models.py:2656  msgid "Receipt date"  msgstr "" -#: forms_common.py:786 models.py:2062 models.py:2594 +#: forms_common.py:786 models.py:2093 models.py:2658  msgid "Creation date"  msgstr "" -#: forms_common.py:789 models.py:2597 +#: forms_common.py:789 models.py:2661  msgid "Receipt date in documentation"  msgstr "" -#: forms_common.py:791 forms_common.py:827 models.py:289 models.py:548 -#: models.py:1803 models.py:2318 models.py:2604 +#: forms_common.py:791 forms_common.py:827 models.py:317 models.py:577 +#: models.py:1834 models.py:2353 models.py:2668  msgid "Comment"  msgstr "" -#: forms_common.py:793 forms_common.py:826 models.py:947 models.py:1562 -#: models.py:1735 models.py:1777 models.py:2603 templates/sheet_ope.html:128 +#: forms_common.py:793 forms_common.py:826 models.py:976 models.py:1593 +#: models.py:1766 models.py:1808 models.py:2667 templates/sheet_ope.html:128  msgid "Description"  msgstr "" -#: forms_common.py:796 models.py:2605 +#: forms_common.py:796 models.py:2669  msgid "Additional information"  msgstr "" -#: forms_common.py:798 forms_common.py:830 models.py:2607 +#: forms_common.py:798 forms_common.py:830 models.py:2671  msgid "Has a duplicate"  msgstr "" @@ -465,7 +465,7 @@ msgid ""  "p>"  msgstr "" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2543 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2597  #: templates/ishtar/wizard/wizard_person_deletion.html:124  msgid "Author"  msgstr "" @@ -478,7 +478,7 @@ msgstr ""  msgid "Would you like to delete this documentation?"  msgstr "" -#: forms_common.py:856 models.py:1910 models.py:2533 models.py:2540 +#: forms_common.py:856 models.py:1941 models.py:2585 models.py:2594  msgid "Author type"  msgstr "" @@ -490,7 +490,7 @@ msgstr ""  msgid "There are identical authors."  msgstr "" -#: forms_common.py:893 models.py:2544 models.py:2586 +#: forms_common.py:893 models.py:2598 models.py:2650  #: templates/sheet_ope.html:106  #: templates/ishtar/blocks/window_tables/documents.html:9  msgid "Authors" @@ -508,7 +508,7 @@ msgstr ""  msgid "Deletion"  msgstr "" -#: ishtar_menu.py:39 models.py:1073 views.py:1377 +#: ishtar_menu.py:39 models.py:1102 views.py:1450  msgid "Global variables"  msgstr "" @@ -536,20 +536,20 @@ msgstr ""  msgid "Manual merge"  msgstr "" -#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2099 widgets.py:110 +#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2130 widgets.py:110  #: templates/ishtar/form_delete.html:11  msgid "Delete"  msgstr "" -#: ishtar_menu.py:109 models.py:2073 +#: ishtar_menu.py:109 models.py:2104  msgid "Imports"  msgstr "" -#: ishtar_menu.py:112 views.py:1385 +#: ishtar_menu.py:112 views.py:1458  msgid "New import"  msgstr "" -#: ishtar_menu.py:116 views.py:1399 +#: ishtar_menu.py:116 views.py:1472  msgid "Current imports"  msgstr "" @@ -569,200 +569,200 @@ msgstr ""  msgid "This item already exists."  msgstr "" -#: models.py:285 models.py:547 models.py:1312 models.py:1324 +#: models.py:313 models.py:576 models.py:1341 models.py:1353  msgid "Label"  msgstr "" -#: models.py:287 +#: models.py:315  msgid "Textual ID"  msgstr "" -#: models.py:290 models.py:550 models.py:1281 +#: models.py:318 models.py:579 models.py:1310  msgid "Available"  msgstr "" -#: models.py:569 models.py:1849 +#: models.py:598 models.py:1880  msgid "Key"  msgstr "" -#: models.py:575 +#: models.py:604  msgid "Specific key to an import"  msgstr "" -#: models.py:666 +#: models.py:695  msgid "Last editor"  msgstr "" -#: models.py:669 +#: models.py:698  msgid "Creator"  msgstr "" -#: models.py:809 models.py:2670 +#: models.py:838 models.py:2734  msgid "Order"  msgstr "" -#: models.py:810 +#: models.py:839  msgid "Symmetrical"  msgstr "" -#: models.py:811 +#: models.py:840  msgid "Tiny label"  msgstr "" -#: models.py:825 +#: models.py:854  msgid "Cannot have symmetrical and an inverse_relation"  msgstr "" -#: models.py:939 +#: models.py:968  msgid "Euro"  msgstr "" -#: models.py:940 +#: models.py:969  msgid "US dollar"  msgstr "" -#: models.py:946 models.py:1560 +#: models.py:975 models.py:1591  msgid "Slug"  msgstr "" -#: models.py:948 +#: models.py:977  msgid "Files module"  msgstr "" -#: models.py:949 +#: models.py:978  msgid "Context records module"  msgstr "" -#: models.py:951 +#: models.py:980  msgid "Finds module"  msgstr "" -#: models.py:952 +#: models.py:981  msgid "Need context records module"  msgstr "" -#: models.py:954 +#: models.py:983  msgid "Warehouses module"  msgstr "" -#: models.py:955 +#: models.py:984  msgid "Need finds module"  msgstr "" -#: models.py:957 +#: models.py:986  msgid "Home page"  msgstr "" -#: models.py:958 +#: models.py:987  #, python-brace-format  msgid ""  "Homepage of Ishtar - if not defined a default homepage will appear. Use the "  "markdown syntax. {random_image} can be used to display a random image."  msgstr "" -#: models.py:962 +#: models.py:991  msgid "File external id"  msgstr "" -#: models.py:964 +#: models.py:993  msgid ""  "Formula to manage file external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:969 +#: models.py:998  msgid "Parcel external id"  msgstr "" -#: models.py:972 +#: models.py:1001  msgid ""  "Formula to manage parcel external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:977 +#: models.py:1006  msgid "Context record external id"  msgstr "" -#: models.py:979 +#: models.py:1008  msgid ""  "Formula to manage context record external ID. Change this with care. With "  "incorrect formula, the application might be unusable and import of external "  "data can be destructive."  msgstr "" -#: models.py:984 +#: models.py:1013  msgid "Base find external id"  msgstr "" -#: models.py:986 +#: models.py:1015  msgid ""  "Formula to manage base find external ID. Change this with care. With "  "incorrect formula, the application might be unusable and import of external "  "data can be destructive."  msgstr "" -#: models.py:991 +#: models.py:1020  msgid "Find external id"  msgstr "" -#: models.py:993 +#: models.py:1022  msgid ""  "Formula to manage find external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:998 +#: models.py:1027  msgid "Raw name for person"  msgstr "" -#: models.py:1000 +#: models.py:1029  msgid ""  "Formula to manage person raw_name. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "" -#: models.py:1004 +#: models.py:1033  msgid "Current active"  msgstr "" -#: models.py:1005 +#: models.py:1034  msgid "Currency"  msgstr "" -#: models.py:1009 +#: models.py:1038  msgid "Ishtar site profile"  msgstr "" -#: models.py:1010 +#: models.py:1039  msgid "Ishtar site profiles"  msgstr "" -#: models.py:1066 +#: models.py:1095  msgid "Variable name"  msgstr "" -#: models.py:1067 +#: models.py:1096  msgid "Description of the variable"  msgstr "" -#: models.py:1069 models.py:1850 +#: models.py:1098 models.py:1881  msgid "Value"  msgstr "" -#: models.py:1072 +#: models.py:1101  msgid "Global variable"  msgstr "" -#: models.py:1182 models.py:1212 +#: models.py:1211 models.py:1241  msgid "Total"  msgstr "" -#: models.py:1189 models.py:1313 models.py:1325 +#: models.py:1218 models.py:1342 models.py:1354  #: templates/ishtar/sheet_person.html:22  #: templates/ishtar/dashboards/dashboard_main_detail.html:141  #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 @@ -770,686 +770,690 @@ msgstr ""  msgid "Number"  msgstr "" -#: models.py:1276 +#: models.py:1305  msgid "Administrative Act"  msgstr "" -#: models.py:1280 +#: models.py:1309  msgid "Associated object"  msgstr "" -#: models.py:1284 +#: models.py:1313  msgid "Document template"  msgstr "" -#: models.py:1285 +#: models.py:1314  msgid "Document templates"  msgstr "" -#: models.py:1316 models.py:1326 models.py:2057 +#: models.py:1345 models.py:1355 models.py:2088  msgid "State"  msgstr "" -#: models.py:1330 templates/blocks/JQueryAdvancedTown.html:12 +#: models.py:1359 templates/blocks/JQueryAdvancedTown.html:12  msgid "Department"  msgstr "" -#: models.py:1331 +#: models.py:1360  msgid "Departments"  msgstr "" -#: models.py:1368 +#: models.py:1397  msgid "Raw phone"  msgstr "" -#: models.py:1374 +#: models.py:1403  msgid "Alternative address is prefered"  msgstr "" -#: models.py:1413 +#: models.py:1442  msgid "Tel: "  msgstr "" -#: models.py:1417 +#: models.py:1446  msgid "Mobile: "  msgstr "" -#: models.py:1421 +#: models.py:1450  msgid "Email: "  msgstr "" -#: models.py:1426 +#: models.py:1455  msgid "Merge key"  msgstr "" -#: models.py:1500 +#: models.py:1529  msgid "Organization types"  msgstr "" -#: models.py:1514 views.py:211 +#: models.py:1545 views.py:234  msgid "Operation"  msgstr "" -#: models.py:1516 +#: models.py:1547  msgid "Archaeological site"  msgstr "" -#: models.py:1517 +#: models.py:1548  msgid "Parcels"  msgstr "" -#: models.py:1519 +#: models.py:1550  msgid "Operation source"  msgstr "" -#: models.py:1522 views.py:1192 views.py:1243 +#: models.py:1553 views.py:1265 views.py:1316  msgid "Archaeological files"  msgstr "" -#: models.py:1524 views.py:1195 views.py:1251 +#: models.py:1555 views.py:1268 views.py:1324  msgid "Context records"  msgstr "" -#: models.py:1526 +#: models.py:1557  msgid "Context record relations"  msgstr "" -#: models.py:1528 views.py:1197 views.py:1254 +#: models.py:1559 views.py:1270 views.py:1327  msgid "Finds"  msgstr "" -#: models.py:1564 templates/ishtar/dashboards/dashboard_main.html:25 +#: models.py:1595 templates/ishtar/dashboards/dashboard_main.html:25  msgid "Users"  msgstr "" -#: models.py:1566 +#: models.py:1597  msgid "Associated model"  msgstr "" -#: models.py:1569 +#: models.py:1600  msgid "Is template"  msgstr "" -#: models.py:1570 +#: models.py:1601  msgid "Unicity keys (separator \";\")"  msgstr "" -#: models.py:1574 +#: models.py:1605  msgid "Importer - Type"  msgstr "" -#: models.py:1575 +#: models.py:1606  msgid "Importer - Types"  msgstr "" -#: models.py:1665 +#: models.py:1696  msgid "Importer - Default"  msgstr "" -#: models.py:1666 +#: models.py:1697  msgid "Importer - Defaults"  msgstr "" -#: models.py:1701 +#: models.py:1732  msgid "Importer - Default value"  msgstr "" -#: models.py:1702 +#: models.py:1733  msgid "Importer - Default values"  msgstr "" -#: models.py:1734 +#: models.py:1765  msgid "Column number"  msgstr "" -#: models.py:1737 +#: models.py:1768  msgid "Required"  msgstr "" -#: models.py:1740 +#: models.py:1771  msgid "Importer - Column"  msgstr "" -#: models.py:1741 +#: models.py:1772  msgid "Importer - Columns"  msgstr "" -#: models.py:1761 +#: models.py:1792  msgid "Field name"  msgstr "" -#: models.py:1763 models.py:1797 +#: models.py:1794 models.py:1828  msgid "Force creation of new items"  msgstr "" -#: models.py:1765 models.py:1799 +#: models.py:1796 models.py:1830  msgid "Concatenate with existing"  msgstr "" -#: models.py:1767 models.py:1801 +#: models.py:1798 models.py:1832  msgid "Concatenate character"  msgstr "" -#: models.py:1771 +#: models.py:1802  msgid "Importer - Duplicate field"  msgstr "" -#: models.py:1772 +#: models.py:1803  msgid "Importer - Duplicate fields"  msgstr "" -#: models.py:1779 +#: models.py:1810  msgid "Regular expression"  msgstr "" -#: models.py:1782 +#: models.py:1813  msgid "Importer - Regular expression"  msgstr "" -#: models.py:1783 +#: models.py:1814  msgid "Importer - Regular expressions"  msgstr "" -#: models.py:1806 +#: models.py:1837  msgid "Importer - Target"  msgstr "" -#: models.py:1807 +#: models.py:1838  msgid "Importer - Targets"  msgstr "" -#: models.py:1831 views.py:476 +#: models.py:1862 views.py:518  msgid "True"  msgstr "" -#: models.py:1832 views.py:478 +#: models.py:1863 views.py:520  msgid "False"  msgstr "" -#: models.py:1851 +#: models.py:1882  msgid "Is set"  msgstr "" -#: models.py:1858 +#: models.py:1889  msgid "Importer - Target key"  msgstr "" -#: models.py:1859 +#: models.py:1890  msgid "Importer - Targets keys"  msgstr "" -#: models.py:1911 models.py:2571 models.py:2582 +#: models.py:1942 models.py:2633 models.py:2646  msgid "Format"  msgstr "" -#: models.py:1912 models.py:2674 +#: models.py:1943 models.py:2738  msgid "Operation type"  msgstr "" -#: models.py:1913 +#: models.py:1944  msgid "Period"  msgstr "" -#: models.py:1914 +#: models.py:1945  msgid "Report state"  msgstr "" -#: models.py:1915 +#: models.py:1946  msgid "Unit"  msgstr "" -#: models.py:1916 +#: models.py:1947  msgid "Material"  msgstr "" -#: models.py:1918 +#: models.py:1949  msgid "Conservatory state"  msgstr "" -#: models.py:1919 +#: models.py:1950  msgid "Preservation type"  msgstr "" -#: models.py:1920 +#: models.py:1951  msgid "Object type"  msgstr "" -#: models.py:1922 +#: models.py:1953  msgid "Identification type"  msgstr "" -#: models.py:1924 +#: models.py:1955  msgid "Context record relation type"  msgstr "" -#: models.py:1925 models.py:2565 +#: models.py:1956 models.py:2625  msgid "Support type"  msgstr "" -#: models.py:1931 +#: models.py:1962  msgid "Integer"  msgstr "" -#: models.py:1932 +#: models.py:1963  msgid "Float"  msgstr "" -#: models.py:1933 +#: models.py:1964  msgid "String"  msgstr "" -#: models.py:1934 templates/sheet_ope.html:86 +#: models.py:1965 templates/sheet_ope.html:86  msgid "Date"  msgstr "" -#: models.py:1936 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 +#: models.py:1967 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83  #: templates/ishtar/dashboards/dashboard_main_detail.html:126  msgid "Year"  msgstr "" -#: models.py:1937 +#: models.py:1968  msgid "String to boolean"  msgstr "" -#: models.py:1938 +#: models.py:1969  msgctxt "filesystem"  msgid "File"  msgstr "" -#: models.py:1939 +#: models.py:1970  msgid "Unknow type"  msgstr "" -#: models.py:1955 +#: models.py:1986  msgid "4 digit year. e.g.: \"2015\""  msgstr "" -#: models.py:1956 +#: models.py:1987  msgid "4 digit year/month/day. e.g.: \"2015/02/04\""  msgstr "" -#: models.py:1957 +#: models.py:1988  msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""  msgstr "" -#: models.py:1967 +#: models.py:1998  msgid "Options"  msgstr "" -#: models.py:1969 +#: models.py:2000  msgid "Split character(s)"  msgstr "" -#: models.py:1973 +#: models.py:2004  msgid "Importer - Formater type"  msgstr "" -#: models.py:1974 +#: models.py:2005  msgid "Importer - Formater types"  msgstr "" -#: models.py:2021 templates/ishtar/dashboards/dashboard_main_detail.html:63 +#: models.py:2052 templates/ishtar/dashboards/dashboard_main_detail.html:63  msgid "Created"  msgstr "" -#: models.py:2022 +#: models.py:2053  msgid "Analyse in progress"  msgstr "" -#: models.py:2023 +#: models.py:2054  msgid "Analysed"  msgstr "" -#: models.py:2024 +#: models.py:2055  msgid "Import pending"  msgstr "" -#: models.py:2025 +#: models.py:2056  msgid "Import in progress"  msgstr "" -#: models.py:2026 +#: models.py:2057  msgid "Finished with errors"  msgstr "" -#: models.py:2027 +#: models.py:2058  msgid "Finished"  msgstr "" -#: models.py:2028 +#: models.py:2059  msgid "Archived"  msgstr "" -#: models.py:2040 +#: models.py:2071  msgid "Imported file"  msgstr "" -#: models.py:2043 +#: models.py:2074  msgid "Associated images (zip file)"  msgstr "" -#: models.py:2045 +#: models.py:2076  msgid "Encoding"  msgstr "" -#: models.py:2047 +#: models.py:2078  msgid "Skip lines"  msgstr "" -#: models.py:2048 templates/ishtar/import_list.html:47 +#: models.py:2079 templates/ishtar/import_list.html:47  msgid "Error file"  msgstr "" -#: models.py:2051 +#: models.py:2082  msgid "Result file"  msgstr "" -#: models.py:2054 templates/ishtar/import_list.html:53 +#: models.py:2085 templates/ishtar/import_list.html:53  msgid "Match file"  msgstr "" -#: models.py:2060 +#: models.py:2091  msgid "Conservative import"  msgstr "" -#: models.py:2065 +#: models.py:2096  msgid "End date"  msgstr "" -#: models.py:2067 +#: models.py:2098  msgid "Remaining seconds"  msgstr "" -#: models.py:2072 +#: models.py:2103  msgid "Import"  msgstr "" -#: models.py:2089 +#: models.py:2120  msgid "Analyse"  msgstr "" -#: models.py:2091 models.py:2094 +#: models.py:2122 models.py:2125  msgid "Re-analyse"  msgstr "" -#: models.py:2092 +#: models.py:2123  msgid "Launch import"  msgstr "" -#: models.py:2095 +#: models.py:2126  msgid "Re-import"  msgstr "" -#: models.py:2096 +#: models.py:2127  msgid "Archive"  msgstr "" -#: models.py:2098 +#: models.py:2129  msgid "Unarchive"  msgstr "" -#: models.py:2232 +#: models.py:2263  msgid "Organizations"  msgstr "" -#: models.py:2234 +#: models.py:2265  msgid "Can view all Organizations"  msgstr "" -#: models.py:2235 +#: models.py:2266  msgid "Can view own Organization"  msgstr "" -#: models.py:2236 +#: models.py:2267  msgid "Can add own Organization"  msgstr "" -#: models.py:2238 +#: models.py:2269  msgid "Can change own Organization"  msgstr "" -#: models.py:2240 +#: models.py:2271  msgid "Can delete own Organization"  msgstr "" -#: models.py:2275 +#: models.py:2306  msgid "Groups"  msgstr "" -#: models.py:2280 +#: models.py:2311  msgid "Person types"  msgstr "" -#: models.py:2286 +#: models.py:2319  msgid "Title type"  msgstr "" -#: models.py:2287 +#: models.py:2320  msgid "Title types"  msgstr "" -#: models.py:2294 +#: models.py:2329  msgid "Mr"  msgstr "" -#: models.py:2295 +#: models.py:2330  msgid "Miss"  msgstr "" -#: models.py:2296 +#: models.py:2331  msgid "Mr and Mrs"  msgstr "" -#: models.py:2297 +#: models.py:2332  msgid "Mrs"  msgstr "" -#: models.py:2298 +#: models.py:2333  msgid "Doctor"  msgstr "" -#: models.py:2316 +#: models.py:2351  msgid "Contact type"  msgstr "" -#: models.py:2319 models.py:2368 +#: models.py:2354 models.py:2418  msgid "Types"  msgstr "" -#: models.py:2322 +#: models.py:2357  msgid "Is attached to"  msgstr "" -#: models.py:2327 +#: models.py:2362  msgid "Persons"  msgstr "" -#: models.py:2329 +#: models.py:2364  msgid "Can view all Persons"  msgstr "" -#: models.py:2330 +#: models.py:2365  msgid "Can view own Person"  msgstr "" -#: models.py:2331 +#: models.py:2366  msgid "Can add own Person"  msgstr "" -#: models.py:2332 +#: models.py:2367  msgid "Can change own Person"  msgstr "" -#: models.py:2333 +#: models.py:2368  msgid "Can delete own Person"  msgstr "" -#: models.py:2484 +#: models.py:2533 +msgid "Advanced shortcut menu" +msgstr "" + +#: models.py:2536  msgid "Ishtar user"  msgstr "" -#: models.py:2485 +#: models.py:2537  msgid "Ishtar users"  msgstr "" -#: models.py:2528 +#: models.py:2580  msgid "To modify the password use the form in Auth > User"  msgstr "" -#: models.py:2534 +#: models.py:2586  msgid "Author types"  msgstr "" -#: models.py:2560 +#: models.py:2618  msgid "Source types"  msgstr "" -#: models.py:2566 +#: models.py:2626  msgid "Support types"  msgstr "" -#: models.py:2572 +#: models.py:2634  msgid "Formats"  msgstr "" -#: models.py:2577 +#: models.py:2641  msgid "External ID"  msgstr "" -#: models.py:2580 +#: models.py:2644  msgid "Support"  msgstr "" -#: models.py:2584 +#: models.py:2648  msgid "Scale"  msgstr "" -#: models.py:2598 +#: models.py:2662  msgid "Item number"  msgstr "" -#: models.py:2599 +#: models.py:2663  msgid "Ref."  msgstr "" -#: models.py:2602 +#: models.py:2666  msgid "Internal ref."  msgstr "" -#: models.py:2645 +#: models.py:2709  msgid "Surface (m2)"  msgstr "" -#: models.py:2646 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2710 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107  msgid "Localisation"  msgstr "" -#: models.py:2671 +#: models.py:2735  msgid "Is preventive"  msgstr "" -#: models.py:2675 +#: models.py:2739  msgid "Operation types"  msgstr "" -#: models.py:2704 +#: models.py:2768  msgid "Preventive"  msgstr "" -#: models.py:2705 +#: models.py:2769  msgid "Research"  msgstr "" -#: utils.py:56 +#: utils.py:64  msgid " (...)"  msgstr "" -#: utils.py:89 +#: utils.py:97  msgid "Load another random image?"  msgstr "" -#: views.py:109 +#: views.py:111  msgid "New person"  msgstr "" -#: views.py:117 +#: views.py:119  msgid "Person modification"  msgstr "" -#: views.py:132 +#: views.py:134  msgid "Person deletion"  msgstr "" -#: views.py:143 +#: views.py:145  msgid "New organization"  msgstr "" -#: views.py:150 +#: views.py:152  msgid "Organization modification"  msgstr "" -#: views.py:166 +#: views.py:168  msgid "Organization deletion"  msgstr "" -#: views.py:173 +#: views.py:175  msgid "Account management"  msgstr "" -#: views.py:179 +#: views.py:181  msgid "Account deletion"  msgstr "" -#: views.py:210 +#: views.py:233  msgid "Archaeological file"  msgstr "" -#: views.py:213 +#: views.py:236  msgid "Context record"  msgstr "" -#: views.py:215 +#: views.py:238  msgid "Find"  msgstr "" -#: views.py:1105 views.py:1174 +#: views.py:1178 views.py:1247  msgid "Operation not permitted."  msgstr "" -#: views.py:1107 +#: views.py:1180  #, python-format  msgid "New %s"  msgstr "" -#: views.py:1193 views.py:1247 +#: views.py:1266 views.py:1320  msgid "Operations"  msgstr "" -#: views.py:1446 templates/ishtar/import_list.html:43 +#: views.py:1519 templates/ishtar/import_list.html:43  msgid "Link unmatched items"  msgstr "" -#: views.py:1461 +#: views.py:1534  msgid "Delete import"  msgstr "" -#: views.py:1500 +#: views.py:1573  msgid "Merge persons"  msgstr "" -#: views.py:1524 +#: views.py:1597  msgid "Select the main person"  msgstr "" -#: views.py:1533 +#: views.py:1606  msgid "Merge organization"  msgstr "" -#: views.py:1543 +#: views.py:1616  msgid "Select the main organization"  msgstr "" -#: views.py:1583 views.py:1599 +#: views.py:1656 views.py:1672  msgid "Corporation manager"  msgstr "" @@ -1517,28 +1521,36 @@ msgid "The %(app_name)s team"  msgstr ""  #: templates/base.html:41 -msgid "Logged in" +msgid "Searches in the shortcut menu deals with all items."  msgstr ""  #: templates/base.html:42 +msgid "Searches in the shortcut menu deals with only your items." +msgstr "" + +#: templates/base.html:49 +msgid "Logged in" +msgstr "" + +#: templates/base.html:50  msgid "Log out"  msgstr "" -#: templates/base.html:43 +#: templates/base.html:51  msgid "Change password"  msgstr "" -#: templates/base.html:45 templates/registration/activate.html:10 +#: templates/base.html:53 templates/registration/activate.html:10  #: templates/registration/login.html:8 templates/registration/login.html:10  #: templates/registration/password_reset_complete.html:8  msgid "Log in"  msgstr "" -#: templates/base.html:51 +#: templates/base.html:59  msgid "Lang"  msgstr "" -#: templates/base.html:51 templates/base.html.py:75 templates/welcome.html:8 +#: templates/base.html:59 templates/base.html.py:83 templates/welcome.html:8  #: templates/welcome.html.py:9 templates/welcome.html:10  #: templates/welcome.html.py:11 templates/ishtar/manage_basket.html:4  #: templates/ishtar/blocks/window_field.html:1 @@ -1548,23 +1560,23 @@ msgstr ""  msgid ":"  msgstr "" -#: templates/base.html:73 +#: templates/base.html:81  msgid "Current items"  msgstr "" -#: templates/base.html:107 +#: templates/base.html:115  msgid "Processing..."  msgstr "" -#: templates/base.html:108 +#: templates/base.html:116  msgid "This can be long."  msgstr "" -#: templates/base.html:109 +#: templates/base.html:117  msgid "Time to take a coffee?"  msgstr "" -#: templates/base.html:110 +#: templates/base.html:118  msgid "Time to take another coffee?"  msgstr "" @@ -1836,7 +1848,7 @@ msgstr ""  msgid "where the magic happens."  msgstr "" -#: templates/window.html:38 templates/blocks/JQueryJqGrid.html:25 +#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:25  #: templates/ishtar/manage_basket.html:9  msgid "Add"  msgstr "" @@ -2115,14 +2127,50 @@ msgstr ""  msgid "Documents associated to finds"  msgstr "" -#: templates/ishtar/blocks/shortcut_menu.html:6 +#: templates/ishtar/blocks/advanced_shortcut_menu.html:7 +#: templates/ishtar/blocks/shortcut_menu.html:7 +msgid "" +"Simple menu limited to your own items. Be careful only the last 100 items " +"are displayed." +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:7 +#: templates/ishtar/blocks/shortcut_menu.html:7 +msgid "simple" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:8 +#: templates/ishtar/blocks/shortcut_menu.html:8 +msgid "Advanced menu." +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:8 +#: templates/ishtar/blocks/shortcut_menu.html:8 +msgid "advanced" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:11 +#: templates/ishtar/blocks/shortcut_menu.html:10  msgid ""  "Pin an item in order to constrain default searches with this item. By "  "default only your items are displayed. New created and modified items are "  "auto-pin."  msgstr "" -#: templates/ishtar/blocks/shortcut_menu.html:18 +#: templates/ishtar/blocks/advanced_shortcut_menu.html:13 +msgid "Search within my items" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:14 +msgid "Search within all items" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:17 +msgid "Refresh menu" +msgstr "" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:28 +#: templates/ishtar/blocks/shortcut_menu.html:22  msgid "Unpin"  msgstr "" diff --git a/translations/fr/archaeological_context_records.po b/translations/fr/archaeological_context_records.po index 70454adeb..4b8532911 100644 --- a/translations/fr/archaeological_context_records.po +++ b/translations/fr/archaeological_context_records.po @@ -16,11 +16,11 @@ msgstr ""  "Plural-Forms: nplurals=2; plural=n>1;\n"  "X-Generator: Zanata 3.9.5\n" -#: forms.py:47 forms.py:51 models.py:133 wizards.py:77 +#: forms.py:47 forms.py:51 models.py:143 wizards.py:77  msgid "Operation"  msgstr "Opération" -#: forms.py:59 forms.py:137 models.py:135 +#: forms.py:59 forms.py:137 models.py:145  #: templates/ishtar/sheet_contextrecord.html:65  msgid "ID"  msgstr "Identifiant" @@ -45,7 +45,7 @@ msgstr "Entité Archéologique"  msgid "Search within operation relations"  msgstr "Rechercher parmi les opérations reliées" -#: forms.py:77 forms.py:230 models.py:51 +#: forms.py:77 forms.py:230 models.py:55  msgid "Period"  msgstr "Période" @@ -61,7 +61,7 @@ msgstr "Parcelle (section/nombre/domaine public)"  msgid "Search within relations"  msgstr "Recherche parmi les relations" -#: forms.py:111 forms.py:335 views.py:125 +#: forms.py:111 forms.py:335 views.py:126  msgid "Context record search"  msgstr "Recherche d'Unité d'Enregistrement" @@ -73,41 +73,41 @@ msgstr "Vous devez sélectionner au moins une Unité d'Enregistrement."  msgid "General"  msgstr "Général" -#: forms.py:136 models.py:121 models.py:131 +#: forms.py:136 models.py:131 models.py:141  #: templates/ishtar/sheet_contextrecord.html:69  msgid "Parcel"  msgstr "Parcelle" -#: forms.py:139 models.py:136 templates/ishtar/sheet_contextrecord.html:25 +#: forms.py:139 models.py:146 templates/ishtar/sheet_contextrecord.html:25  #: templates/ishtar/sheet_contextrecord.html:68  msgid "Description"  msgstr "Description" -#: forms.py:141 models.py:137 +#: forms.py:141 models.py:147  msgid "General comment"  msgstr "Commentaire général" -#: forms.py:143 models.py:141 +#: forms.py:143 models.py:151  msgid "Length (m)"  msgstr "Taille (m)" -#: forms.py:144 models.py:142 +#: forms.py:144 models.py:152  msgid "Width (m)"  msgstr "Largeur (m)" -#: forms.py:145 models.py:143 +#: forms.py:145 models.py:153  msgid "Thickness (m)"  msgstr "Épaisseur (m)" -#: forms.py:146 models.py:145 +#: forms.py:146 models.py:155  msgid "Depth (m)"  msgstr "Profondeur (m)" -#: forms.py:147 models.py:153 +#: forms.py:147 models.py:163  msgid "Unit"  msgstr "Unité" -#: forms.py:149 models.py:147 +#: forms.py:149 models.py:157  msgid "Location"  msgstr "Lieu" @@ -128,27 +128,27 @@ msgstr ""  msgid "This ID already exists for this operation."  msgstr "Cet identifiant existe déjà pour cette opération." -#: forms.py:225 forms.py:252 models.py:62 +#: forms.py:225 forms.py:252 models.py:66  msgid "Dating"  msgstr "Datation" -#: forms.py:231 models.py:52 +#: forms.py:231 models.py:56  msgid "Start date"  msgstr "Date de début" -#: forms.py:232 models.py:53 models.py:140 +#: forms.py:232 models.py:57 models.py:150  msgid "End date"  msgstr "Date de fin" -#: forms.py:233 models.py:56 +#: forms.py:233 models.py:60  msgid "Quality"  msgstr "Qualité" -#: forms.py:234 models.py:38 models.py:54 +#: forms.py:234 models.py:38 models.py:58  msgid "Dating type"  msgstr "Type de datation" -#: forms.py:261 ishtar_menu.py:29 models.py:373 +#: forms.py:261 ishtar_menu.py:29 models.py:384  msgid "Context record"  msgstr "Unité d'Enregistrement" @@ -156,7 +156,7 @@ msgstr "Unité d'Enregistrement"  msgid "Relations"  msgstr "Relations" -#: forms.py:286 forms.py:296 models.py:158 +#: forms.py:286 forms.py:296 models.py:168  #: templates/ishtar/sheet_contextrecord.html:37  msgid "Interpretation"  msgstr "Interprétation" @@ -165,35 +165,35 @@ msgstr "Interprétation"  msgid "Comments on dating"  msgstr "Commentaires sur la datation" -#: forms.py:292 models.py:155 +#: forms.py:292 models.py:165  msgid "Has furniture?"  msgstr "Contient du mobilier ?" -#: forms.py:294 models.py:157 +#: forms.py:294 models.py:167  msgid "Filling"  msgstr "Remplissage" -#: forms.py:298 models.py:178 +#: forms.py:298 models.py:188  msgid "Activity"  msgstr "Activité" -#: forms.py:300 models.py:176 +#: forms.py:300 models.py:186  msgid "Identification"  msgstr "Identification" -#: forms.py:302 models.py:161 +#: forms.py:302 models.py:171  msgid "TAQ"  msgstr "TAQ" -#: forms.py:303 models.py:165 +#: forms.py:303 models.py:175  msgid "Estimated TAQ"  msgstr "TAQ estimé" -#: forms.py:305 models.py:168 +#: forms.py:305 models.py:178  msgid "TPQ"  msgstr "TPQ" -#: forms.py:306 models.py:172 +#: forms.py:306 models.py:182  msgid "Estimated TPQ"  msgstr "TPQ estimé" @@ -269,75 +269,75 @@ msgstr "Ajout"  msgid "Dating types"  msgstr "Types de datation" -#: models.py:45 +#: models.py:47  msgid "Dating quality"  msgstr "Qualité de datation" -#: models.py:46 +#: models.py:48  msgid "Dating qualities"  msgstr "Qualités de datation" -#: models.py:58 +#: models.py:62  msgid "Precise dating"  msgstr "Datation précise" -#: models.py:63 +#: models.py:67  msgid "Datings"  msgstr "Datations" -#: models.py:74 models.py:88 models.py:100 +#: models.py:78 models.py:94 models.py:108  msgid "Order"  msgstr "Ordre" -#: models.py:75 +#: models.py:79  msgid "Parent unit"  msgstr "Unité parente" -#: models.py:79 +#: models.py:83  msgid "Unit Type"  msgstr "Type d'unité" -#: models.py:80 +#: models.py:84  msgid "Unit Types"  msgstr "Types d'unité" -#: models.py:91 +#: models.py:97  msgid "Activity Type"  msgstr "Type d'activité" -#: models.py:92 +#: models.py:98  msgid "Activity Types"  msgstr "Types d'activité" -#: models.py:103 +#: models.py:111  msgid "Identification Type"  msgstr "Type d'identification" -#: models.py:104 +#: models.py:112  msgid "Identification Types"  msgstr "Types d'identification" -#: models.py:128 +#: models.py:138  msgid "External ID"  msgstr "ID externe" -#: models.py:130 +#: models.py:140  msgid "External ID is set automatically"  msgstr "L'identifiant externe est configuré automatiquement" -#: models.py:138 +#: models.py:148  msgid "Date d'ouverture"  msgstr "Date d'ouverture" -#: models.py:148 +#: models.py:158  msgid "A short description of the location of the context record"  msgstr "Une courte description de la localisation de l'Unité d'Enregistrement" -#: models.py:151 +#: models.py:161  msgid "Comment on datings"  msgstr "Commentaire sur les datations" -#: models.py:162 +#: models.py:172  msgid ""  "\"Terminus Ante Quem\" the context record can't have been created after this "  "date" @@ -345,11 +345,11 @@ msgstr ""  "« Terminus Ante Quem » l'Unité d'Enregistrement ne peut avoir été créée "  "après cette date" -#: models.py:166 +#: models.py:176  msgid "Estimation of a \"Terminus Ante Quem\""  msgstr "Estimation d'un « Terminus Ante Quem »" -#: models.py:169 +#: models.py:179  msgid ""  "\"Terminus Post Quem\" the context record can't have been created before "  "this date" @@ -357,104 +357,104 @@ msgstr ""  "« Terminus Post Quem » l'Unité d'Enregistrement ne peut avoir été créée "  "avant cette date" -#: models.py:173 +#: models.py:183  msgid "Estimation of a \"Terminus Post Quem\""  msgstr "Estimation d'un « Terminus Post Quem »" -#: models.py:181 +#: models.py:191  msgid "Point"  msgstr "Point" -#: models.py:182 +#: models.py:192  msgid "Polygon"  msgstr "Polygone" -#: models.py:183 +#: models.py:193  msgid "Cached name"  msgstr "Nom en cache" -#: models.py:187 models.py:188 templates/ishtar/sheet_contextrecord.html:4 +#: models.py:197 models.py:198 templates/ishtar/sheet_contextrecord.html:4  msgid "Context Record"  msgstr "Unité d'Enregistrement" -#: models.py:190 +#: models.py:200  msgid "Can view all Context Records"  msgstr "Peut voir toutes les Unités d'Enregistrement" -#: models.py:192 +#: models.py:202  msgid "Can view own Context Record"  msgstr "Peut voir sa propre Unité d'Enregistrement" -#: models.py:194 +#: models.py:204  msgid "Can add own Context Record"  msgstr "Peut ajouter sa propre Unité d'Enregistrement" -#: models.py:196 +#: models.py:206  msgid "Can change own Context Record"  msgstr "Peut modifier sa propre Unité d'Enregistrement" -#: models.py:198 +#: models.py:208  msgid "Can delete own Context Record"  msgstr "Peut supprimer sa propre Unité d'Enregistrement" -#: models.py:208 +#: models.py:218  msgctxt "short"  msgid "Context record"  msgstr "UE" -#: models.py:339 +#: models.py:350  msgid "Inverse relation"  msgstr "Relation inverse" -#: models.py:343 templates/ishtar/sheet_contextrecord.html:64 +#: models.py:354 templates/ishtar/sheet_contextrecord.html:64  msgid "Relation type"  msgstr "Type de relation" -#: models.py:344 +#: models.py:355  msgid "Relation types"  msgstr "Types de relation" -#: models.py:357 +#: models.py:368  msgid "Record relation"  msgstr "Relation entre Unités d'Enregistrement" -#: models.py:358 +#: models.py:369  msgid "Record relations"  msgstr "Relations entre Unités d'Enregistrement" -#: models.py:370 +#: models.py:381  msgid "Context record documentation"  msgstr "Documentation d'une Unité d'Enregistrement" -#: models.py:371 +#: models.py:382  msgid "Context record documentations"  msgstr "Documentations des Unités d'Enregistrement" -#: views.py:135 +#: views.py:136  msgid "New context record"  msgstr "Nouvelle Unité d'Enregistrement" -#: views.py:146 +#: views.py:147  msgid "Context record modification"  msgstr "Modification d'une Unité d'Enregistrement" -#: views.py:160 +#: views.py:161  msgid "Context record deletion"  msgstr "Suppression d'une Unité d'Enregistrement" -#: views.py:165 +#: views.py:166  msgid "Context record: source search"  msgstr "Unité d'Enregistrement : recherche de documentation associée" -#: views.py:173 +#: views.py:174  msgid "Context record: new source"  msgstr "Unité d'Enregistrement : nouvelle documentation associée" -#: views.py:181 +#: views.py:182  msgid "Context record: source modification"  msgstr "Unité d'Enregistrement : modification d'une documentation associée" -#: views.py:196 +#: views.py:197  msgid "Context record: source deletion"  msgstr "Unité d'Enregistrement : suppression d'une documentation associée" diff --git a/translations/fr/archaeological_files.po b/translations/fr/archaeological_files.po index d0a28e4d2..363f81b00 100644 --- a/translations/fr/archaeological_files.po +++ b/translations/fr/archaeological_files.po @@ -18,11 +18,11 @@ msgstr ""  "X-Generator: Zanata 3.9.5\n"  #: forms.py:52 forms.py:212 forms.py:257 forms.py:404 forms.py:431 -#: models.py:78 templates/ishtar/sheet_file.html:146 +#: models.py:84 templates/ishtar/sheet_file.html:146  msgid "Year"  msgstr "Année" -#: forms.py:53 forms.py:217 forms.py:259 models.py:81 +#: forms.py:53 forms.py:217 forms.py:259 models.py:87  msgid "Numeric reference"  msgstr "Référence numérique" @@ -34,7 +34,7 @@ msgstr "Autre référence"  msgid "Parcel (section/number/public domain)"  msgstr "Parcelle (section/nombre/domaine public)" -#: forms.py:60 forms.py:415 forms.py:442 models.py:514 +#: forms.py:60 forms.py:415 forms.py:442 models.py:519  msgid "Department"  msgstr "Département" @@ -42,7 +42,7 @@ msgstr "Département"  msgid "File name"  msgstr "Nom du dossier" -#: forms.py:62 forms.py:158 forms.py:223 models.py:89 +#: forms.py:62 forms.py:158 forms.py:223 models.py:95  msgid "File type"  msgstr "Type de dossier" @@ -54,15 +54,15 @@ msgstr "Est actif ?"  msgid "Saisine type"  msgstr "Type de saisine" -#: forms.py:65 forms.py:311 models.py:58 models.py:120 +#: forms.py:65 forms.py:311 models.py:60 models.py:126  msgid "Permit type"  msgstr "Type de permis" -#: forms.py:67 forms.py:314 models.py:121 +#: forms.py:67 forms.py:314 models.py:127  msgid "Permit reference"  msgstr "Référence du permis" -#: forms.py:68 forms.py:229 forms.py:372 models.py:150 +#: forms.py:68 forms.py:229 forms.py:372 models.py:156  #: templates/ishtar/sheet_file.html:99  msgid "Comment"  msgstr "Commentaire" @@ -71,7 +71,7 @@ msgstr "Commentaire"  msgid "In charge"  msgstr "Responsable" -#: forms.py:77 forms.py:289 forms.py:453 models.py:96 +#: forms.py:77 forms.py:289 forms.py:453 models.py:102  msgid "General contractor"  msgstr "Aménageur" @@ -95,11 +95,11 @@ msgstr "Recherche de dossiers archéologiques"  msgid "You should select a file."  msgstr "Vous devez sélectionner un dossier archéologique." -#: forms.py:146 forms.py:221 models.py:129 +#: forms.py:146 forms.py:221 models.py:135  msgid "Creation date"  msgstr "Date de création" -#: forms.py:147 forms.py:324 models.py:131 +#: forms.py:147 forms.py:324 models.py:137  msgid "Reception date"  msgstr "Date de réception" @@ -127,23 +127,23 @@ msgstr "Date avant"  msgid "General"  msgstr "Général" -#: forms.py:206 models.py:91 +#: forms.py:206 models.py:97  msgid "Person in charge"  msgstr "Responsable" -#: forms.py:220 models.py:88 +#: forms.py:220 models.py:94  msgid "Name"  msgstr "Nom" -#: forms.py:225 models.py:133 +#: forms.py:225 models.py:139  msgid "Related file"  msgstr "Dossier associé" -#: forms.py:233 models.py:141 +#: forms.py:233 models.py:147  msgid "Total surface (m2)"  msgstr "Surface totale (m2)" -#: forms.py:236 models.py:147 +#: forms.py:236 models.py:153  msgid "Main address"  msgstr "Adresse des terrains" @@ -164,11 +164,11 @@ msgstr "Un autre dossier avec cet identifiant numérique existe."  msgid "Preventive informations"  msgstr "Information archéologie préventive" -#: forms.py:301 models.py:108 +#: forms.py:301 models.py:114  msgid "Responsible for town planning service"  msgstr "Responsable au service instructeur" -#: forms.py:317 models.py:144 +#: forms.py:317 models.py:150  msgid "Total developed surface (m2)"  msgstr "Surface totale aménagée (m2)" @@ -177,15 +177,15 @@ msgstr "Surface totale aménagée (m2)"  msgid "Research archaeology"  msgstr "Archéologie programmée" -#: forms.py:348 models.py:153 templates/ishtar/sheet_file.html:90 +#: forms.py:348 models.py:159 templates/ishtar/sheet_file.html:90  msgid "Departments"  msgstr "Départements" -#: forms.py:359 models.py:162 +#: forms.py:359 models.py:168  msgid "Scientist in charge"  msgstr "Responsable scientifique" -#: forms.py:361 models.py:156 templates/ishtar/sheet_file.html:92 +#: forms.py:361 models.py:162 templates/ishtar/sheet_file.html:92  msgid "Requested operation type"  msgstr "Type d'opération demandée" @@ -193,11 +193,11 @@ msgstr "Type d'opération demandée"  msgid "Lead organization"  msgstr "Organisation porteuse du projet" -#: forms.py:379 models.py:166 templates/ishtar/sheet_file.html:97 +#: forms.py:379 models.py:172 templates/ishtar/sheet_file.html:97  msgid "Classified area"  msgstr "Au sein d'un site classé" -#: forms.py:381 models.py:168 templates/ishtar/sheet_file.html:98 +#: forms.py:381 models.py:174 templates/ishtar/sheet_file.html:98  msgid "Protected area"  msgstr "Au sein d'un secteur sauvegardé" @@ -257,7 +257,7 @@ msgstr "Dossier : responsable"  msgid "File permit reference"  msgstr "Dossier : réf. du permis" -#: ishtar_menu.py:33 models.py:190 templates/ishtar/sheet_file.html:4 +#: ishtar_menu.py:33 models.py:196 templates/ishtar/sheet_file.html:4  msgid "Archaeological file"  msgstr "Dossier" @@ -301,7 +301,7 @@ msgstr "Tableau de bord"  msgid "General informations"  msgstr "Informations générales" -#: ishtar_menu.py:87 models.py:191 +#: ishtar_menu.py:87 models.py:197  #: templates/ishtar/dashboards/dashboard_file.html:7  msgid "Archaeological files"  msgstr "Dossiers archéologiques" @@ -314,155 +314,155 @@ msgstr "Type de dossier archéologique"  msgid "Archaeological file types"  msgstr "Types de dossier archéologique" -#: models.py:59 +#: models.py:61  msgid "Permit types"  msgstr "Types de permis" -#: models.py:64 +#: models.py:68  msgid "Delay (in days)"  msgstr "Délai (en jours)" -#: models.py:82 +#: models.py:88  msgid "Internal reference"  msgstr "Référence interne" -#: models.py:84 +#: models.py:90  msgid "External ID"  msgstr "ID externe" -#: models.py:87 +#: models.py:93  msgid "External ID is set automatically"  msgstr "L'identifiant externe est configuré automatiquement" -#: models.py:99 +#: models.py:105  msgid "General contractor (raw)"  msgstr "Aménageur (brut)" -#: models.py:103 +#: models.py:109  msgid "General contractor organization"  msgstr "Organisation de l'aménageur" -#: models.py:111 +#: models.py:117  msgid "Town planning service (raw)"  msgstr "Service instructeur (brut)" -#: models.py:117 +#: models.py:123  msgid "Town planning service organization"  msgstr "Service instructeur" -#: models.py:123 +#: models.py:129  msgid "Closing date"  msgstr "Date de clôture" -#: models.py:124 +#: models.py:130  msgid "Town"  msgstr "Commune" -#: models.py:126 +#: models.py:132  msgid "Towns"  msgstr "Communes" -#: models.py:139 +#: models.py:145  msgid "Instruction deadline"  msgstr "Date limite d'instruction" -#: models.py:145 +#: models.py:151  msgid "Locality"  msgstr "Lieu-dit" -#: models.py:148 +#: models.py:154  msgid "Main address - postal code"  msgstr "Adresse des terrains - code postal" -#: models.py:158 templates/ishtar/sheet_file.html:93 +#: models.py:164 templates/ishtar/sheet_file.html:93  msgid "Organization"  msgstr "Organisation" -#: models.py:163 +#: models.py:169  msgid "Research archaeology comment"  msgstr "Commentaire archéologie programmée" -#: models.py:177 +#: models.py:183  msgid "Cached name"  msgstr "Nom en cache" -#: models.py:178 +#: models.py:184  msgid "Imported line"  msgstr "Ligne importée" -#: models.py:193 +#: models.py:199  msgid "Can view all Archaelogical files"  msgstr "Peut voir tous les Dossiers" -#: models.py:194 +#: models.py:200  msgid "Can view own Archaelogical file"  msgstr "Peut voir son propre Dossier" -#: models.py:195 +#: models.py:201  msgid "Can add own Archaelogical file"  msgstr "Peut ajouter son propre Dossier" -#: models.py:197 +#: models.py:203  msgid "Can change own Archaelogical file"  msgstr "Peut modifier son propre Dossier" -#: models.py:199 +#: models.py:205  msgid "Can delete own Archaelogical file"  msgstr "Peut supprimer son propre Dossier" -#: models.py:200 +#: models.py:206  msgid "Can close File"  msgstr "Peut fermer un Dossier" -#: models.py:206 +#: models.py:212  msgid "FILE"  msgstr "DOSSIER" -#: models.py:375 +#: models.py:380  msgid "Multi-town"  msgstr "Intercommunal" -#: models.py:381 +#: models.py:386  msgid "No town"  msgstr "Pas de commune" -#: models.py:513 +#: models.py:518  msgid "File"  msgstr "Dossier" -#: views.py:159 +#: views.py:160  msgid "File search"  msgstr "Recherche de dossier archéologique" -#: views.py:168 +#: views.py:169  msgid "New file"  msgstr "Nouveau dossier archéologique" -#: views.py:187 +#: views.py:188  msgid "File modification"  msgstr "Modification de dossier archéologique" -#: views.py:210 +#: views.py:211  msgid "File closing"  msgstr "Clôture de dossier archéologique" -#: views.py:215 +#: views.py:216  msgid "File deletion"  msgstr "Suppression de dossier archéologique" -#: views.py:222 +#: views.py:223  msgid "File: search administrative act"  msgstr "Dossier : rechercher un acte administratif" -#: views.py:231 +#: views.py:232  msgid "File: new administrative act"  msgstr "Dossier : nouvel acte administratif" -#: views.py:241 +#: views.py:242  msgid "File: administrative act modification"  msgstr "Dossier : modification d'acte administratif" -#: views.py:265 +#: views.py:266  msgid "File: administrative act deletion"  msgstr "Dossier : suppression d'acte administratif" diff --git a/translations/fr/archaeological_finds.po b/translations/fr/archaeological_finds.po index 73128481b..01178e89c 100644 --- a/translations/fr/archaeological_finds.po +++ b/translations/fr/archaeological_finds.po @@ -21,29 +21,29 @@ msgstr ""  msgid "Context record"  msgstr "Unité d'Enregistrement" -#: forms.py:83 ishtar_menu.py:31 models.py:387 models.py:671 models.py:769 -#: models.py:913 templates/ishtar/sheet_find.html:5 +#: forms.py:83 ishtar_menu.py:31 models.py:399 models.py:685 models.py:785 +#: models.py:929 templates/ishtar/sheet_find.html:5  msgid "Find"  msgstr "Mobilier" -#: forms.py:94 forms.py:218 forms.py:425 models.py:115 models.py:324 +#: forms.py:94 forms.py:218 forms.py:425 models.py:127 models.py:336  msgid "Free ID"  msgstr "ID libre" -#: forms.py:96 models.py:373 +#: forms.py:96 models.py:385  msgid "Previous ID"  msgstr "Identifiant précédent" -#: forms.py:97 forms.py:250 forms.py:591 models.py:119 models.py:325 -#: models.py:703 +#: forms.py:97 forms.py:250 forms.py:591 models.py:131 models.py:337 +#: models.py:719  msgid "Description"  msgstr "Description" -#: forms.py:100 forms.py:252 models.py:130 +#: forms.py:100 forms.py:252 models.py:142  msgid "Batch/object"  msgstr "Lot/objet" -#: forms.py:102 models.py:353 +#: forms.py:102 models.py:365  msgid "Is complete?"  msgstr "Est complet ?" @@ -51,83 +51,83 @@ msgstr "Est complet ?"  msgid "Material type"  msgstr "Type de matériau" -#: forms.py:106 forms.py:244 models.py:60 models.py:329 +#: forms.py:106 forms.py:244 models.py:62 models.py:341  msgid "Conservatory state"  msgstr "État sanitaire" -#: forms.py:109 models.py:331 +#: forms.py:109 models.py:343  msgid "Conservatory comment"  msgstr "Commentaire relatif à la conservation" -#: forms.py:112 models.py:92 models.py:356 +#: forms.py:112 models.py:102 models.py:368  msgid "Object types"  msgstr "Types d'objet" -#: forms.py:114 forms.py:243 models.py:67 +#: forms.py:114 forms.py:243 models.py:71  msgid "Preservation type"  msgstr "Type de conservation" -#: forms.py:117 forms.py:246 models.py:358 +#: forms.py:117 forms.py:246 models.py:370  msgid "Integrity / interest"  msgstr "Intégrité / intérêt" -#: forms.py:120 forms.py:248 models.py:361 +#: forms.py:120 forms.py:248 models.py:373  msgid "Remarkability"  msgstr "Remarquabilité" -#: forms.py:122 models.py:363 +#: forms.py:122 models.py:375  msgid "Length (cm)"  msgstr "Longueur (cm)" -#: forms.py:123 models.py:364 +#: forms.py:123 models.py:376  msgid "Width (cm)"  msgstr "Largeur (cm)" -#: forms.py:124 models.py:365 +#: forms.py:124 models.py:377  msgid "Height (cm)"  msgstr "Hauteur (cm)" -#: forms.py:125 models.py:366 +#: forms.py:125 models.py:378  msgid "Diameter (cm)"  msgstr "Diamètre (cm)" -#: forms.py:126 forms.py:430 models.py:336 +#: forms.py:126 forms.py:430 models.py:348  msgid "Volume (l)"  msgstr "Volume (l)" -#: forms.py:127 forms.py:431 models.py:337 +#: forms.py:127 forms.py:431 models.py:349  msgid "Weight (g)"  msgstr "Poids (g)" -#: forms.py:129 models.py:367 +#: forms.py:129 models.py:379  msgid "Dimensions comment"  msgstr "Commentaire concernant les dimensions" -#: forms.py:130 forms.py:432 models.py:340 +#: forms.py:130 forms.py:432 models.py:352  msgid "Find number"  msgstr "Mobilier (en nombre)" -#: forms.py:131 models.py:369 +#: forms.py:131 models.py:381  msgid "Mark"  msgstr "Marque" -#: forms.py:132 forms.py:254 models.py:375 +#: forms.py:132 forms.py:254 models.py:387  msgid "Check"  msgstr "Vérification" -#: forms.py:134 models.py:377 +#: forms.py:134 models.py:389  msgid "Check date"  msgstr "Date de vérification" -#: forms.py:135 models.py:120 models.py:370 models.py:704 +#: forms.py:135 models.py:132 models.py:382 models.py:720  msgid "Comment"  msgstr "Commentaires" -#: forms.py:138 models.py:371 +#: forms.py:138 models.py:383  msgid "Comment on dating"  msgstr "Commentaire général sur les datations" -#: forms.py:139 models.py:379 +#: forms.py:139 models.py:391  msgid "Estimated value"  msgstr "Valeur estimée" @@ -144,7 +144,7 @@ msgstr ""  "<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "  "ratio est conservé).</p>" -#: forms.py:181 forms.py:212 models.py:348 +#: forms.py:181 forms.py:212 models.py:360  msgid "Dating"  msgstr "Datation" @@ -152,12 +152,12 @@ msgstr "Datation"  msgid "Period"  msgstr "Période" -#: forms.py:187 forms.py:593 models.py:717 models.py:782 models.py:918 +#: forms.py:187 forms.py:593 models.py:733 models.py:798 models.py:934  #: templates/ishtar/sheet_find.html:85 templates/ishtar/sheet_find.html:114  msgid "Start date"  msgstr "Date de début" -#: forms.py:189 forms.py:595 models.py:718 models.py:783 models.py:919 +#: forms.py:189 forms.py:595 models.py:734 models.py:799 models.py:935  #: templates/ishtar/sheet_find.html:86 templates/ishtar/sheet_find.html:115  msgid "End date"  msgstr "Date de fin" @@ -174,11 +174,11 @@ msgstr "Type de datation"  msgid "Precise dating"  msgstr "Datation précise" -#: forms.py:216 models.py:138 +#: forms.py:216 models.py:150  msgid "Short ID"  msgstr "ID court" -#: forms.py:217 models.py:141 +#: forms.py:217 models.py:153  msgid "Complete ID"  msgstr "ID complet" @@ -202,7 +202,7 @@ msgstr "Entité Archéologique"  msgid "Search within operation relations"  msgstr "Rechercher parmi les opérations reliées" -#: forms.py:241 models.py:91 +#: forms.py:241 models.py:101  msgid "Object type"  msgstr "Type d'objet" @@ -210,7 +210,7 @@ msgstr "Type d'objet"  msgid "Has an image?"  msgstr "Dispose d'une image ?" -#: forms.py:297 forms.py:310 views.py:132 +#: forms.py:297 forms.py:310 views.py:133  msgid "Find search"  msgstr "Recherche de mobilier" @@ -218,7 +218,7 @@ msgstr "Recherche de mobilier"  msgid "Upstream finds"  msgstr "Mobilier amont" -#: forms.py:326 models.py:388 +#: forms.py:326 models.py:400  msgid "Finds"  msgstr "Mobilier" @@ -294,16 +294,16 @@ msgstr "Panier"  msgid "Base treatment"  msgstr "Traitement de base" -#: forms.py:578 models.py:693 models.py:706 models.py:781 +#: forms.py:578 models.py:707 models.py:722 models.py:797  msgid "Treatment type"  msgstr "Type de traitement" -#: forms.py:580 models.py:715 models.py:786 +#: forms.py:580 models.py:731 models.py:802  #: templates/ishtar/sheet_find.html:83 templates/ishtar/sheet_find.html:112  msgid "Doer"  msgstr "Opérateur" -#: forms.py:586 models.py:708 models.py:784 +#: forms.py:586 models.py:724 models.py:800  msgid "Location"  msgstr "Lieu" @@ -355,383 +355,383 @@ msgstr "Recommandation"  msgid "Parent material"  msgstr "Matériau parent" -#: models.py:51 models.py:327 +#: models.py:51 models.py:339  msgid "Material types"  msgstr "Types de matériau" -#: models.py:57 +#: models.py:59  msgid "Parent conservatory state"  msgstr "État sanitaire - parent" -#: models.py:61 +#: models.py:63  msgid "Conservatory states"  msgstr "États sanitaires" -#: models.py:68 +#: models.py:72  msgid "Preservation types"  msgstr "Types de conservation" -#: models.py:74 +#: models.py:80  msgid "Integrity / interest type"  msgstr "Type d'intégrité / intérêt" -#: models.py:75 +#: models.py:81  msgid "Integrity / interest types"  msgstr "Types d'intégrité / intérêts" -#: models.py:81 +#: models.py:89  msgid "Remarkability type"  msgstr "Type de remarquabilité" -#: models.py:82 +#: models.py:90  msgid "Remarkability types"  msgstr "Types de remarquabilité" -#: models.py:88 +#: models.py:98  msgid "Parent"  msgstr "Parent" -#: models.py:107 +#: models.py:119  msgid "Unknow"  msgstr "Inconnu" -#: models.py:108 +#: models.py:120  msgid "Object"  msgstr "Objet" -#: models.py:109 +#: models.py:121  msgid "Batch"  msgstr "Lot" -#: models.py:116 models.py:320 models.py:699 +#: models.py:128 models.py:332 models.py:715  msgid "External ID"  msgstr "ID externe" -#: models.py:118 models.py:322 +#: models.py:130 models.py:334  msgid "External ID is set automatically"  msgstr "L'identifiant externe est configuré automatiquement" -#: models.py:122 +#: models.py:134  msgid "Topographic localisation"  msgstr "Localisation topogaphique" -#: models.py:123 +#: models.py:135  msgid "Special interest"  msgstr "Intérêt spécifique" -#: models.py:127 +#: models.py:139  msgid "Context Record"  msgstr "Unité d'Enregistrement" -#: models.py:128 +#: models.py:140  msgid "Discovery date"  msgstr "Date de découverte" -#: models.py:133 +#: models.py:145  msgid "Material index"  msgstr "Index matériel" -#: models.py:134 +#: models.py:146  msgid "Point"  msgstr "Point" -#: models.py:135 +#: models.py:147  msgid "Line"  msgstr "Ligne" -#: models.py:136 +#: models.py:148  msgid "Polygon"  msgstr "Polygon" -#: models.py:139 models.py:142 +#: models.py:151 models.py:154  msgid "Cached value - do not edit"  msgstr "Valeur en cache - ne pas éditer" -#: models.py:147 models.py:318 +#: models.py:159 models.py:330  msgid "Base find"  msgstr "Mobilier de base" -#: models.py:148 +#: models.py:160  msgid "Base finds"  msgstr "Mobilier de base" -#: models.py:150 +#: models.py:162  msgid "Can view all Base finds"  msgstr "Peut voir tout le Mobilier de base" -#: models.py:151 +#: models.py:163  msgid "Can view own Base find"  msgstr "Peut voir son propre Mobilier de base" -#: models.py:152 +#: models.py:164  msgid "Can add own Base find"  msgstr "Peut ajouter son propre Mobilier de base" -#: models.py:153 +#: models.py:165  msgid "Can change own Base find"  msgstr "Peut modifier son propre Mobilier de base" -#: models.py:154 +#: models.py:166  msgid "Can delete own Base find"  msgstr "Peut supprimer son propre Mobilier de base" -#: models.py:263 +#: models.py:275  msgid "g"  msgstr "g" -#: models.py:264 +#: models.py:276  msgid "kg"  msgstr "kg" -#: models.py:266 +#: models.py:278  msgid "Not checked"  msgstr "Non vérifié" -#: models.py:267 +#: models.py:279  msgid "Checked but incorrect"  msgstr "Vérifié mais incorrect" -#: models.py:268 +#: models.py:280  msgid "Checked and correct"  msgstr "Vérifié et correct" -#: models.py:308 +#: models.py:320  msgid "Base find - Short ID"  msgstr "Mobilier de base - ID court" -#: models.py:309 +#: models.py:321  msgid "Base find - Complete ID"  msgstr "Mobilier de base - ID complet" -#: models.py:310 +#: models.py:322  msgid "Base find - Comment"  msgstr "Mobilier de base - Commentaires" -#: models.py:311 +#: models.py:323  msgid "Base find - Description"  msgstr "Mobilier de base - Description" -#: models.py:312 +#: models.py:324  msgid "Base find - Topographic localisation"  msgstr "Mobilier de base - Localisation topographique" -#: models.py:314 +#: models.py:326  msgid "Base find - Special interest"  msgstr "Mobilier de base - Intérêt spécifique" -#: models.py:315 +#: models.py:327  msgid "Base find - Discovery date"  msgstr "Mobilier de base - Date de découverte" -#: models.py:323 models.py:775 +#: models.py:335 models.py:791  msgid "Order"  msgstr "Ordre" -#: models.py:334 +#: models.py:346  msgid "Type of preservation to consider"  msgstr "Mesures de conservation à envisager" -#: models.py:338 +#: models.py:350  msgid "Weight unit"  msgstr "Unité de poids" -#: models.py:344 templates/ishtar/sheet_find.html:76 +#: models.py:356 templates/ishtar/sheet_find.html:76  msgid "Upstream treatment"  msgstr "Traitement amont" -#: models.py:347 templates/ishtar/sheet_find.html:105 +#: models.py:359 templates/ishtar/sheet_find.html:105  msgid "Downstream treatment"  msgstr "Traitement aval" -#: models.py:351 models.py:701 models.py:785 +#: models.py:363 models.py:717 models.py:801  #: templates/ishtar/sheet_find.html:84 templates/ishtar/sheet_find.html:113  msgid "Container"  msgstr "Contenant" -#: models.py:381 +#: models.py:393  msgid "Cached name"  msgstr "Nom en cache" -#: models.py:390 +#: models.py:402  msgid "Can view all Finds"  msgstr "Peut voir tout le Mobilier" -#: models.py:391 +#: models.py:403  msgid "Can view own Find"  msgstr "Peut voir son propre Mobilier" -#: models.py:392 +#: models.py:404  msgid "Can add own Find"  msgstr "Peut ajouter son propre Mobilier" -#: models.py:393 +#: models.py:405  msgid "Can change own Find"  msgstr "Peut modifier son propre Mobilier" -#: models.py:394 +#: models.py:406  msgid "Can delete own Find"  msgstr "Peut supprimer son propre Mobilier" -#: models.py:400 +#: models.py:412  msgid "FIND"  msgstr "MOBILIER" -#: models.py:669 +#: models.py:683  msgid "Find documentation"  msgstr "Documentation de mobilier" -#: models.py:670 +#: models.py:684  msgid "Find documentations"  msgstr "Documentations de mobilier" -#: models.py:680 +#: models.py:694  msgid "Virtual"  msgstr "Virtuel" -#: models.py:682 +#: models.py:696  msgid "Upstream is many"  msgstr "Les éléments amonts sont multiple" -#: models.py:684 +#: models.py:698  msgid "Check this if for this treatment from many finds you'll get one."  msgstr ""  "Cochez cela si pour ce traitement depuis plusieurs éléments vous en obtenez "  "un." -#: models.py:687 +#: models.py:701  msgid "Downstream is many"  msgstr "Les éléments avals sont multiple" -#: models.py:689 +#: models.py:703  msgid "Check this if for this treatment from one find you'll get many."  msgstr ""  "Cochez cela si pour ce traitement depuis un élément vous en obtenez "  "plusieurs." -#: models.py:694 +#: models.py:708  msgid "Treatment types"  msgstr "Types de traitement" -#: models.py:710 +#: models.py:726  msgid "Location where the treatment is done. Target warehouse for a move."  msgstr ""  "Endroit où le traitement est réalisé. Renseignez le dépôt de destination "  "pour un déplacement." -#: models.py:712 +#: models.py:728  msgid "Other location"  msgstr "Autre lieu" -#: models.py:722 models.py:771 models.py:905 +#: models.py:738 models.py:787 models.py:921  msgid "Treatment"  msgstr "Traitement" -#: models.py:723 templates/ishtar/sheet_find.html:73 +#: models.py:739 templates/ishtar/sheet_find.html:73  msgid "Treatments"  msgstr "Traitements" -#: models.py:725 +#: models.py:741  msgid "Can view all Treatments"  msgstr "Peut voir tous les Traitements" -#: models.py:726 +#: models.py:742  msgid "Can view own Treatment"  msgstr "Peut voir son propre Traitement" -#: models.py:727 +#: models.py:743  msgid "Can add own Treatment"  msgstr "Peut ajouter son propre Traitement" -#: models.py:728 +#: models.py:744  msgid "Can change own Treatment"  msgstr "Peut modifier son propre Traitement" -#: models.py:729 +#: models.py:745  msgid "Can delete own Treatment"  msgstr "Peut supprimer son propre Traitement" -#: models.py:735 +#: models.py:751  msgid "by"  msgstr "par" -#: models.py:787 models.py:788 templates/ishtar/sheet_find.html:82 +#: models.py:803 models.py:804 templates/ishtar/sheet_find.html:82  #: templates/ishtar/sheet_find.html:111  msgid "Related finds"  msgstr "Mobilier associé" -#: models.py:891 +#: models.py:907  msgid "Is upstream"  msgstr "Est amont" -#: models.py:902 +#: models.py:918  msgid "Treatment documentation"  msgstr "Documentation d'un traitement" -#: models.py:903 +#: models.py:919  msgid "Treament documentations"  msgstr "Documentations des traitements" -#: models.py:915 +#: models.py:931  msgid "Administrative act"  msgstr "Acte administratif" -#: models.py:916 +#: models.py:932  msgid "Person"  msgstr "Individu" -#: models.py:922 +#: models.py:938  msgid "Property"  msgstr "Propriété" -#: models.py:923 +#: models.py:939  msgid "Properties"  msgstr "Propriétés" -#: views.py:127 +#: views.py:128  msgid "New find"  msgstr "Nouveau mobilier" -#: views.py:141 +#: views.py:142  msgid "Find modification"  msgstr "Modification de mobilier" -#: views.py:156 +#: views.py:157  msgid "Find deletion"  msgstr "Suppression de mobilier" -#: views.py:161 +#: views.py:162  msgid "Find: source search"  msgstr "Mobilier : recherche de documentation associée" -#: views.py:169 +#: views.py:170  msgid "Find: new source"  msgstr "Mobilier : nouvelle documentation associée" -#: views.py:177 +#: views.py:178  msgid "Find: source modification"  msgstr "Mobilier : modification de documentation associée" -#: views.py:192 +#: views.py:193  msgid "Find: source deletion"  msgstr "Mobilier : suppression de mobilier associé" -#: views.py:206 +#: views.py:207  msgid "New basket"  msgstr "Nouveau panier" -#: views.py:225 +#: views.py:226  msgid "Manage items in basket"  msgstr "Gérer les éléments dans un panier" -#: views.py:245 +#: views.py:246  msgid "Manage basket"  msgstr "Gérer un panier" -#: views.py:333 +#: views.py:334  msgid "Delete basket"  msgstr "Supprimer un panier" -#: views.py:371 +#: views.py:372  msgid "New treatment"  msgstr "Nouveau traitement" diff --git a/translations/fr/archaeological_operations.po b/translations/fr/archaeological_operations.po index f4f2eb713..9388c271b 100644 --- a/translations/fr/archaeological_operations.po +++ b/translations/fr/archaeological_operations.po @@ -18,12 +18,12 @@ msgstr ""  "X-Generator: Zanata 3.9.5\n"  #: forms.py:67 forms.py:369 forms.py:1004 forms.py:1026 forms.py:1030 -#: models.py:1037 templates/ishtar/sheet_operation.html:139 +#: models.py:1047 templates/ishtar/sheet_operation.html:139  #: templates/ishtar/blocks/window_tables/parcels.html:10  msgid "Parcels"  msgstr "Parcelles" -#: forms.py:70 forms.py:203 forms.py:980 models.py:1023 +#: forms.py:70 forms.py:203 forms.py:980 models.py:1033  #: templates/ishtar/blocks/window_tables/parcels.html:7  #: templates/ishtar/dashboards/dashboard_operation.html:432  #: templates/ishtar/dashboards/dashboard_operation.html:446 @@ -32,22 +32,22 @@ msgstr "Parcelles"  msgid "Town"  msgstr "Commune" -#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:197 -#: models.py:840 models.py:1021 +#: forms.py:72 forms.py:459 forms.py:755 forms.py:1250 models.py:203 +#: models.py:850 models.py:1031  #: templates/ishtar/blocks/window_tables/parcels.html:8  msgid "Year"  msgstr "Année" -#: forms.py:75 models.py:1024 +#: forms.py:75 models.py:1034  #: templates/ishtar/blocks/window_tables/parcels.html:9  msgid "Section"  msgstr "Section" -#: forms.py:78 models.py:1026 +#: forms.py:78 models.py:1036  msgid "Parcel number"  msgstr "Numéro de parcelle" -#: forms.py:80 models.py:1028 models.py:1045 models.py:1094 +#: forms.py:80 models.py:1038 models.py:1055 models.py:1104  msgid "Public domain"  msgstr "Domaine public" @@ -83,8 +83,8 @@ msgstr "Il y a des parcelles identiques."  msgid "Relation type"  msgstr "Type de relation" -#: forms.py:381 ishtar_menu.py:30 models.py:291 models.py:740 models.py:765 -#: models.py:781 models.py:832 models.py:1020 wizards.py:339 wizards.py:350 +#: forms.py:381 ishtar_menu.py:30 models.py:298 models.py:748 models.py:773 +#: models.py:789 models.py:842 models.py:1030 wizards.py:339 wizards.py:350  #: templates/ishtar/sheet_operation.html:4  msgid "Operation"  msgstr "Opération" @@ -113,7 +113,7 @@ msgstr "Relations supprimées"  msgid "Relations"  msgstr "Relations" -#: forms.py:460 forms.py:1221 models.py:198 +#: forms.py:460 forms.py:1221 models.py:204  msgid "Numeric reference"  msgstr "Identifiant numérique" @@ -121,7 +121,7 @@ msgstr "Identifiant numérique"  msgid "Parcel (section/number/public domain)"  msgstr "Parcelle (section/nombre/domaine public)" -#: forms.py:469 forms.py:1264 models.py:741 +#: forms.py:469 forms.py:1264 models.py:749  #: templates/ishtar/dashboards/dashboard_operation.html:390  #: templates/ishtar/dashboards/dashboard_operation.html:411  #: templates/ishtar/dashboards/dashboard_operation.html:643 @@ -130,12 +130,12 @@ msgstr "Parcelle (section/nombre/domaine public)"  msgid "Department"  msgstr "Département" -#: forms.py:470 forms.py:1092 models.py:79 +#: forms.py:470 forms.py:1092 models.py:85  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:8  msgid "Name"  msgstr "Nom" -#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:205 +#: forms.py:472 forms.py:675 forms.py:753 forms.py:1227 models.py:211  msgid "Operation type"  msgstr "Type d'opération" @@ -143,24 +143,24 @@ msgstr "Type d'opération"  msgid "Is open?"  msgstr "Est ouvert ?" -#: forms.py:483 forms.py:782 models.py:194 +#: forms.py:483 forms.py:782 models.py:200  msgid "In charge"  msgstr "Responsable" -#: forms.py:490 models.py:826 +#: forms.py:490 models.py:836  msgid "Scientist in charge"  msgstr "Responsable scientifique" -#: forms.py:492 forms.py:677 forms.py:773 models.py:192 +#: forms.py:492 forms.py:677 forms.py:773 models.py:198  msgid "Operator"  msgstr "Opérateur" -#: forms.py:499 forms.py:1097 models.py:83 models.py:207 +#: forms.py:499 forms.py:1097 models.py:89 models.py:213  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:10  msgid "Remains"  msgstr "Vestiges" -#: forms.py:500 forms.py:1075 forms.py:1094 models.py:81 models.py:212 +#: forms.py:500 forms.py:1075 forms.py:1094 models.py:87 models.py:219  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:9  msgid "Periods"  msgstr "Périodes" @@ -193,19 +193,19 @@ msgstr "Commentaire"  msgid "Abstract (full text search)"  msgstr "Résumé (recherche texte intégral)" -#: forms.py:515 forms.py:835 models.py:260 +#: forms.py:515 forms.py:835 models.py:267  msgid "Comment about scientific documentation"  msgstr "Commentaire concernant la documentation scientifique" -#: forms.py:516 forms.py:837 models.py:272 +#: forms.py:516 forms.py:837 models.py:279  msgid "Record quality"  msgstr "Qualité d'enregistrement" -#: forms.py:517 forms.py:805 models.py:224 +#: forms.py:517 forms.py:805 models.py:231  msgid "Report processing"  msgstr "Traitement du rapport" -#: forms.py:519 forms.py:840 models.py:267 +#: forms.py:519 forms.py:840 models.py:274  msgid "Virtual operation"  msgstr "Opération virtuelle" @@ -229,7 +229,7 @@ msgstr "Date limite de rendu de la documentation avant"  msgid "Documentation deadline after"  msgstr "Date limite de rendu de la documentation après" -#: forms.py:544 forms.py:825 models.py:279 +#: forms.py:544 forms.py:825 models.py:286  msgid "Documentation received"  msgstr "Documentation reçue" @@ -241,11 +241,11 @@ msgstr "Date limite de rendu du mobilier avant"  msgid "Finds deadline after"  msgstr "Date limite de rendu du mobilier après" -#: forms.py:550 forms.py:830 models.py:283 +#: forms.py:550 forms.py:830 models.py:290  msgid "Finds received"  msgstr "Mobilier reçu" -#: forms.py:595 forms.py:1213 views.py:258 +#: forms.py:595 forms.py:1213 views.py:259  msgid "Operation search"  msgstr "Recherche d'opérations" @@ -253,11 +253,11 @@ msgstr "Recherche d'opérations"  msgid "Associated file"  msgstr "Dossier associé" -#: forms.py:643 forms.py:928 models.py:837 wizards.py:76 +#: forms.py:643 forms.py:928 models.py:847 wizards.py:76  msgid "Archaelogical file"  msgstr "Dossier" -#: forms.py:650 forms.py:652 models.py:274 +#: forms.py:650 forms.py:652 models.py:281  msgid "Abstract"  msgstr "Résumé" @@ -269,7 +269,7 @@ msgstr "mois"  msgid "years"  msgstr "années" -#: forms.py:657 models.py:178 +#: forms.py:657 models.py:184  msgid "Creation date"  msgstr "Date de création" @@ -326,11 +326,11 @@ msgstr "Avec du mobilier"  msgid "General"  msgstr "Général" -#: forms.py:751 models.py:257 +#: forms.py:751 models.py:264  msgid "Generic name"  msgstr "Nom générique" -#: forms.py:760 models.py:226 +#: forms.py:760 models.py:233  msgid "Old code"  msgstr "Ancien code" @@ -338,7 +338,7 @@ msgstr "Ancien code"  msgid "Head scientist"  msgstr "Responsable scientifique" -#: forms.py:779 models.py:256 +#: forms.py:779 models.py:263  msgid "Operator reference"  msgstr "Référence de l'opérateur" @@ -346,23 +346,23 @@ msgstr "Référence de l'opérateur"  msgid "Total surface (m2)"  msgstr "Surface totale (m2)" -#: forms.py:798 models.py:51 models.py:181 models.py:1210 +#: forms.py:798 models.py:53 models.py:187 models.py:1220  msgid "Start date"  msgstr "Date de début" -#: forms.py:800 models.py:183 +#: forms.py:800 models.py:189  msgid "Excavation end date"  msgstr "Date de fin de chantier" -#: forms.py:803 models.py:184 +#: forms.py:803 models.py:190  msgid "Report delivery date"  msgstr "Date de livraison du rapport" -#: forms.py:822 models.py:276 +#: forms.py:822 models.py:283  msgid "Deadline for submission of the documentation"  msgstr "Date limite de rendu de la documentation" -#: forms.py:827 models.py:281 +#: forms.py:827 models.py:288  msgid "Deadline for submission of the finds"  msgstr "Date limite de rendu du mobilier" @@ -404,7 +404,7 @@ msgstr ""  msgid "Bad operation code"  msgstr "Mauvais code d'opération" -#: forms.py:924 models.py:424 +#: forms.py:924 models.py:432  msgid "Operation code"  msgstr "Code de l'opération" @@ -412,20 +412,20 @@ msgstr "Code de l'opération"  msgid "Preventive informations - excavation"  msgstr "Information archéologie préventive - fouille" -#: forms.py:951 models.py:210 +#: forms.py:951 models.py:217  #: templates/ishtar/dashboards/dashboard_operation.html:701  msgid "Cost (euros)"  msgstr "Coût (euros)" -#: forms.py:952 models.py:215 +#: forms.py:952 models.py:222  msgid "Scheduled man-days"  msgstr "Jours-hommes prévus" -#: forms.py:954 models.py:218 +#: forms.py:954 models.py:225  msgid "Optional man-days"  msgstr "Jours-hommes optionnels" -#: forms.py:956 models.py:221 +#: forms.py:956 models.py:228  msgid "Effective man-days"  msgstr "Jours-hommes effectifs" @@ -433,23 +433,23 @@ msgstr "Jours-hommes effectifs"  msgid "Preventive informations - diagnostic"  msgstr "Information archéologie préventive - diagnostic" -#: forms.py:969 models.py:240 +#: forms.py:969 models.py:247  msgid "Prescription on zoning"  msgstr "Prescription sur zonage" -#: forms.py:971 models.py:243 +#: forms.py:971 models.py:250  msgid "Prescription on large area"  msgstr "Prescription sur une vaste surface" -#: forms.py:974 models.py:245 +#: forms.py:974 models.py:252  msgid "Prescription on geoarchaeological context"  msgstr "Prescription sur un contexte géoarchéologique" -#: forms.py:978 forms.py:1000 models.py:209 models.py:850 +#: forms.py:978 forms.py:1000 models.py:215 models.py:860  msgid "Towns"  msgstr "Communes" -#: forms.py:1007 models.py:1036 models.py:1208 +#: forms.py:1007 models.py:1046 models.py:1218  msgid "Parcel"  msgstr "Parcelle" @@ -466,7 +466,7 @@ msgstr "Type de vestige"  msgid "Period"  msgstr "Période" -#: forms.py:1091 models.py:78 +#: forms.py:1091 models.py:84  msgid "Reference"  msgstr "Référence" @@ -474,11 +474,11 @@ msgstr "Référence"  msgid "This reference already exists."  msgstr "Cette référence existe déjà." -#: forms.py:1137 models.py:87 +#: forms.py:1137 models.py:93  msgid "Archaeological site"  msgstr "Entité archéologique" -#: forms.py:1152 models.py:88 models.py:264 +#: forms.py:1152 models.py:94 models.py:271  #: templates/ishtar/sheet_operation.html:94  msgid "Archaeological sites"  msgstr "Entités archéologiques" @@ -499,7 +499,7 @@ msgstr "Voulez-vous clore cette opération ?"  msgid "Would you like to delete this operation?"  msgstr "Voulez-vous supprimer cette opération ?" -#: forms.py:1181 forms.py:1251 forms.py:1387 models.py:767 models.py:817 +#: forms.py:1181 forms.py:1251 forms.py:1387 models.py:775 models.py:827  msgid "Index"  msgstr "Index" @@ -528,7 +528,7 @@ msgstr "Recherche de document"  msgid "You should select a document."  msgstr "Vous devez sélectionner un document." -#: forms.py:1258 forms.py:1325 models.py:792 models.py:811 +#: forms.py:1258 forms.py:1325 models.py:800 models.py:821  msgid "Act type"  msgstr "Type d'acte" @@ -536,12 +536,12 @@ msgstr "Type d'acte"  msgid "Indexed?"  msgstr "Indexé ?" -#: forms.py:1265 forms.py:1330 models.py:841 +#: forms.py:1265 forms.py:1330 models.py:851  #: templates/ishtar/blocks/window_tables/administrativacts.html:10  msgid "Object"  msgstr "Objet" -#: forms.py:1302 views.py:414 +#: forms.py:1302 views.py:415  msgid "Administrative act search"  msgstr "Recherche d'actes administratifs" @@ -549,7 +549,7 @@ msgstr "Recherche d'actes administratifs"  msgid "You should select an administrative act."  msgstr "Vous devez sélectionner un acte administratif." -#: forms.py:1333 models.py:838 +#: forms.py:1333 models.py:848  msgid "Signature date"  msgstr "Date de signature" @@ -586,7 +586,7 @@ msgstr "Génération de document"  msgid "Generate the associated doc?"  msgstr "Générer le document associé ?" -#: forms.py:1466 ishtar_menu.py:121 views.py:467 +#: forms.py:1466 ishtar_menu.py:121 views.py:468  msgctxt "admin act register"  msgid "Register"  msgstr "Registre" @@ -607,7 +607,7 @@ msgstr "Clôture"  msgid "Deletion"  msgstr "Suppression" -#: ishtar_menu.py:58 models.py:857 +#: ishtar_menu.py:58 models.py:867  #: templates/ishtar/sheet_administrativeact.html:4  msgid "Administrative act"  msgstr "Acte administratif" @@ -636,420 +636,420 @@ msgstr "Tableau de bord"  msgid "General informations"  msgstr "Informations générales" -#: ishtar_menu.py:136 models.py:292 +#: ishtar_menu.py:136 models.py:299  #: templates/ishtar/dashboards/dashboard_operation.html:8  msgid "Operations"  msgstr "Opérations" -#: models.py:50 models.py:66 models.py:1672 +#: models.py:52 models.py:70 models.py:1682  msgid "Order"  msgstr "Ordre" -#: models.py:52 models.py:1211 +#: models.py:54 models.py:1221  msgid "End date"  msgstr "Date de fin" -#: models.py:53 +#: models.py:55  msgid "Parent period"  msgstr "Période parente" -#: models.py:57 +#: models.py:59  msgid "Type Period"  msgstr "Type de période" -#: models.py:58 +#: models.py:60  msgid "Types Period"  msgstr "Types de période" -#: models.py:69 +#: models.py:73  msgid "Type of report state"  msgstr "Type d'état de rapport" -#: models.py:70 +#: models.py:74  msgid "Types of report state"  msgstr "Types d'état de rapport" -#: models.py:91 +#: models.py:97  msgid "Can view all Archaeological sites"  msgstr "Peut voir toutes les Entités archéologiques" -#: models.py:93 +#: models.py:99  msgid "Can view own Archaeological site"  msgstr "Peut voir ses propres Entités archéologiques" -#: models.py:95 +#: models.py:101  msgid "Can add own Archaeological site"  msgstr "Peut ajouter ses propres Entités archéologique" -#: models.py:97 +#: models.py:103  msgid "Can change own Archaeological site"  msgstr "Peut modifier ses propres Entités archéologiques" -#: models.py:99 +#: models.py:105  msgid "Can delete own Archaeological site"  msgstr "Peut supprimer ses propres Entités archéologiques" -#: models.py:136 +#: models.py:142  msgid "Not documented"  msgstr "Non documenté" -#: models.py:137 +#: models.py:143  msgid "Arbitrary"  msgstr "Arbitraire" -#: models.py:138 +#: models.py:144  msgid "Reliable"  msgstr "Fiable" -#: models.py:180 +#: models.py:186  msgid "Closing date"  msgstr "Date de clôture" -#: models.py:187 +#: models.py:193  msgid "In charge scientist"  msgstr "Responsable scientifique" -#: models.py:202 models.py:1016 +#: models.py:208 models.py:1026  msgid "File"  msgstr "Dossier" -#: models.py:206 +#: models.py:212  msgid "Surface (m2)"  msgstr "Surface (m2)" -#: models.py:258 +#: models.py:265  msgid "General comment"  msgstr "Commentaire général" -#: models.py:261 +#: models.py:268  msgid "Cached name"  msgstr "Nom en cache" -#: models.py:269 +#: models.py:276  msgid ""  "If checked, it means that this operation have not been officialy registered."  msgstr ""  "Si coché, cela signifie que cette opération n'a pas été officiellement "  "enregistrée." -#: models.py:285 +#: models.py:292  msgid "Point"  msgstr "Point" -#: models.py:286 +#: models.py:293  msgid "Multi polygon"  msgstr "Polygones multiples" -#: models.py:294 +#: models.py:301  msgid "Can view all Operations"  msgstr "Peut voir toutes les Opérations" -#: models.py:295 +#: models.py:302  msgid "Can view own Operation"  msgstr "Peut voir sa propre Opération" -#: models.py:296 +#: models.py:303  msgid "Can add own Operation"  msgstr "Peut ajouter sa propre Opération" -#: models.py:297 +#: models.py:304  msgid "Can change own Operation"  msgstr "Peut modifier sa propre Opération" -#: models.py:298 +#: models.py:305  msgid "Can delete own Operation"  msgstr "Peut supprimer sa propre Opération" -#: models.py:299 +#: models.py:306  msgid "Can close Operation"  msgstr "Peut fermer une Opération" -#: models.py:326 +#: models.py:334  msgid "OPE"  msgstr "OPE" -#: models.py:383 +#: models.py:391  msgid "Intercommunal"  msgstr "Intercommunal" -#: models.py:409 models.py:780 +#: models.py:417 models.py:788  msgid "Archaeological file"  msgstr "Dossier archéologique" -#: models.py:410 +#: models.py:418  msgid "Code patriarche"  msgstr "Code patriarche" -#: models.py:450 +#: models.py:458  msgid "This operation code already exists for this year"  msgstr "Ce code d'opération existe déjà pour cette année." -#: models.py:483 +#: models.py:491  msgid "Number of parcels"  msgstr "Nombre de parcelles" -#: models.py:501 +#: models.py:509  msgid "Number of administrative acts"  msgstr "Nombre d'actes administratifs" -#: models.py:509 +#: models.py:517  msgid "Number of indexed administrative acts"  msgstr "Nombre d'actes administratifs indexés" -#: models.py:517 +#: models.py:525  msgid "Number of context records"  msgstr "Nombre d'Unités d'Enregistrement" -#: models.py:553 +#: models.py:561  msgid "Number of finds"  msgstr "Nombre d'élément de mobilier" -#: models.py:598 +#: models.py:606  msgid "No type"  msgstr "Pas de type" -#: models.py:629 +#: models.py:637  msgid "Number of sources"  msgstr "Nombre de documents" -#: models.py:671 templates/ishtar/dashboards/dashboard_operation.html:309 +#: models.py:679 templates/ishtar/dashboards/dashboard_operation.html:309  #: templates/ishtar/dashboards/dashboard_operation.html:575  #: templates/ishtar/dashboards/dashboard_operation.html:611  msgid "Mean"  msgstr "Moyenne" -#: models.py:711 +#: models.py:719  msgid "Inverse relation"  msgstr "Relation inverse" -#: models.py:715 +#: models.py:723  msgid "Operation relation type"  msgstr "Type de relation entre opérations" -#: models.py:716 +#: models.py:724  msgid "Operation relation types"  msgstr "Types de relation entre opérations" -#: models.py:729 +#: models.py:737  msgid "Operation record relation"  msgstr "Relation entre opérations" -#: models.py:730 +#: models.py:738  msgid "Operation record relations"  msgstr "Relations entre opérations" -#: models.py:751 +#: models.py:759  msgid "Operation documentation"  msgstr "Documentation d'une opération" -#: models.py:752 +#: models.py:760  msgid "Operation documentations"  msgstr "Documentations des opérations" -#: models.py:755 +#: models.py:763  msgid "Can view all Operation sources"  msgstr "Peut voir toutes les Documentations d'opération" -#: models.py:757 +#: models.py:765  msgid "Can view own Operation source"  msgstr "Peut voir sa propre Documentation d'opération" -#: models.py:759 +#: models.py:767  msgid "Can add own Operation source"  msgstr "Peut ajouter sa propre Documentation d'opération" -#: models.py:761 +#: models.py:769  msgid "Can change own Operation source"  msgstr "Peut modifier sa propre Documentation d'opération" -#: models.py:763 +#: models.py:771  msgid "Can delete own Operation source"  msgstr "Peut supprimer sa propre Documentation d'opération" -#: models.py:783 +#: models.py:791  msgid "Intended to"  msgstr "Destiné à" -#: models.py:785 +#: models.py:793  msgid "Code"  msgstr "Code" -#: models.py:788 +#: models.py:796  msgid "Associated template"  msgstr "Patron associé" -#: models.py:789 +#: models.py:797  msgid "Indexed"  msgstr "Indexé" -#: models.py:793 +#: models.py:801  msgid "Act types"  msgstr "Types d'acte" -#: models.py:815 +#: models.py:825  msgid "Person in charge of the operation"  msgstr "Responsable d'opération" -#: models.py:821 +#: models.py:831  msgid "Archaeological preventive operator"  msgstr "Opérateur d'archéologie préventive" -#: models.py:829 +#: models.py:839  msgid "Signatory"  msgstr "Signataire" -#: models.py:847 +#: models.py:857  msgid "Departments"  msgstr "Départements" -#: models.py:848 +#: models.py:858  msgid "Cached values get from associated departments"  msgstr "Valeur en cache des départements associés" -#: models.py:851 +#: models.py:861  msgid "Cached values get from associated towns"  msgstr "Valeur en cache des communes associées" -#: models.py:858 templates/ishtar/sheet_operation.html:102 +#: models.py:868 templates/ishtar/sheet_operation.html:102  #: templates/ishtar/sheet_operation.html:133  msgid "Administrative acts"  msgstr "Actes administratifs" -#: models.py:861 +#: models.py:871  msgid "Can view all Administrative acts"  msgstr "Peut voir tous les Actes administratifs" -#: models.py:863 +#: models.py:873  msgid "Can view own Administrative act"  msgstr "Peut voir son propre Acte administratif" -#: models.py:865 +#: models.py:875  msgid "Can add own Administrative act"  msgstr "Peut ajouter son propre Acte administratif" -#: models.py:867 +#: models.py:877  msgid "Can change own Administrative act"  msgstr "Peut modifier son propre Acte administratif" -#: models.py:869 +#: models.py:879  msgid "Can delete own Administrative act"  msgstr "Peut supprimer son propre Acte administratif" -#: models.py:878 +#: models.py:888  #: templates/ishtar/blocks/window_tables/administrativacts.html:7  #: templates/ishtar/blocks/window_tables/archaeologicalsites.html:7  msgid "Ref."  msgstr "Réf." -#: models.py:961 +#: models.py:971  msgid "This index already exists for this year"  msgstr "Cet index existe déjà pour cette année." -#: models.py:1029 +#: models.py:1039  msgid "External ID"  msgstr "ID externe" -#: models.py:1032 +#: models.py:1042  msgid "External ID is set automatically"  msgstr "L'identifiant externe est configuré automatiquement" -#: models.py:1033 +#: models.py:1043  msgid "Address - Locality"  msgstr "Adresse - Lieu-dit" -#: models.py:1206 +#: models.py:1216  msgid "Owner"  msgstr "Propriétaire" -#: models.py:1214 +#: models.py:1224  msgid "Parcel owner"  msgstr "Propriétaire de parcelle" -#: models.py:1215 +#: models.py:1225  msgid "Parcel owners"  msgstr "Propriétaires de parcelle" -#: models.py:1241 +#: models.py:1251  msgid "Recorded"  msgstr "Enregistré" -#: models.py:1242 +#: models.py:1252  msgid "Effective"  msgstr "Effectif" -#: models.py:1243 +#: models.py:1253  msgid "Active"  msgstr "Actif" -#: models.py:1244 +#: models.py:1254  msgid "Field completed"  msgstr "Terrain achevé" -#: models.py:1245 +#: models.py:1255  msgid "Associated report"  msgstr "Rapport associé" -#: models.py:1246 +#: models.py:1256  msgid "Closed"  msgstr "Clos" -#: models.py:1247 +#: models.py:1257  msgid "Documented and closed"  msgstr "Documenté et clos" -#: models.py:1673 +#: models.py:1683  msgid "Is preventive"  msgstr "Préventif" -#: models.py:1676 +#: models.py:1686  msgid "Operation type old"  msgstr "Type d'opération - ancien" -#: models.py:1677 +#: models.py:1687  msgid "Operation types old"  msgstr "Types d'opération - ancien" -#: views.py:304 +#: views.py:305  msgid "New operation"  msgstr "Nouvelle opération" -#: views.py:323 +#: views.py:324  msgid "Operation modification"  msgstr "Modification d'une opération" -#: views.py:366 +#: views.py:367  msgid "Operation closing"  msgstr "Clôture d'une opération" -#: views.py:372 +#: views.py:373  msgid "Operation deletion"  msgstr "Suppression d'une opération" -#: views.py:377 +#: views.py:378  msgid "Operation: source search"  msgstr "Opération : recherche de documentation associée" -#: views.py:385 +#: views.py:386  msgid "Operation: source creation"  msgstr "Opération : nouvelle documentation associée" -#: views.py:393 +#: views.py:394  msgid "Operation: source modification"  msgstr "Opération : modification d'une documentation associée" -#: views.py:408 +#: views.py:409  msgid "Operation: source deletion"  msgstr "Opération : suppression d'une documentation associée" -#: views.py:427 +#: views.py:428  msgid "Operation: new administrative act"  msgstr "Opération : nouvel acte administratif" -#: views.py:437 +#: views.py:438  msgid "Operation: administrative act modification"  msgstr "Opération : modification d'un acte administratif" -#: views.py:461 +#: views.py:462  msgid "Operation: administrative act deletion"  msgstr "Opération : suppression d'un acte administratif" diff --git a/translations/fr/archaeological_warehouse.po b/translations/fr/archaeological_warehouse.po index 2e7367415..4318212e7 100644 --- a/translations/fr/archaeological_warehouse.po +++ b/translations/fr/archaeological_warehouse.po @@ -15,23 +15,23 @@ msgstr ""  "Plural-Forms: nplurals=2; plural=n>1;\n"  "X-Generator: Zanata 3.9.5\n" -#: forms.py:34 forms.py:97 models.py:44 models.py:73 +#: forms.py:34 forms.py:97 models.py:47 models.py:78  msgid "Warehouse"  msgstr "Dépôt" -#: forms.py:43 models.py:35 +#: forms.py:43 models.py:38  msgid "Name"  msgstr "Nom" -#: forms.py:45 models.py:29 models.py:37 +#: forms.py:45 models.py:30 models.py:40  msgid "Warehouse type"  msgstr "Type de dépôt" -#: forms.py:48 models.py:40 +#: forms.py:48 models.py:43  msgid "Person in charge"  msgstr "Responsable" -#: forms.py:54 forms.py:102 models.py:41 models.py:77 +#: forms.py:54 forms.py:102 models.py:44 models.py:82  msgid "Comment"  msgstr "Commentaires" @@ -59,15 +59,15 @@ msgstr "Pays"  msgid "Phone"  msgstr "Téléphone" -#: forms.py:93 models.py:80 +#: forms.py:93 models.py:85  msgid "Container"  msgstr "Contenant" -#: forms.py:94 forms.py:129 models.py:63 +#: forms.py:94 forms.py:129 models.py:66  msgid "Ref."  msgstr "Réf." -#: forms.py:95 forms.py:128 models.py:66 models.py:75 +#: forms.py:95 forms.py:128 models.py:69 models.py:80  msgid "Container type"  msgstr "Type de contenant" @@ -103,58 +103,58 @@ msgstr "Mobilier conditionné"  msgid "Find"  msgstr "Mobilier" -#: models.py:30 +#: models.py:31  msgid "Warehouse types"  msgstr "Types de dépôts" -#: models.py:45 +#: models.py:48  msgid "Warehouses"  msgstr "Dépôts" -#: models.py:47 +#: models.py:50  msgid "Can view all Warehouses"  msgstr "Peut voir tous les Dépôts" -#: models.py:48 +#: models.py:51  msgid "Can view own Warehouse"  msgstr "Peut voir son propre Dépôt" -#: models.py:49 +#: models.py:52  msgid "Can add own Warehouse"  msgstr "Peut ajouter son propre Dépôt" -#: models.py:50 +#: models.py:53  msgid "Can change own Warehouse"  msgstr "Peut modifier son propre Dépôt" -#: models.py:51 +#: models.py:54  msgid "Can delete own Warehouse"  msgstr "Peut supprimer son propre Dépôt" -#: models.py:59 +#: models.py:62  msgid "Length (mm)"  msgstr "Longueur (mm)" -#: models.py:60 +#: models.py:63  msgid "Width (mm)"  msgstr "Largeur (mm)" -#: models.py:61 +#: models.py:64  msgid "Height (mm)"  msgstr "Hauteur (mm)" -#: models.py:62 +#: models.py:65  msgid "Volume (l)"  msgstr "Volume (l)" -#: models.py:67 +#: models.py:70  msgid "Container types"  msgstr "Types de contenant" -#: models.py:76 +#: models.py:81  msgid "Container ref."  msgstr "Réf. du contenant" -#: models.py:81 +#: models.py:86  msgid "Containers"  msgstr "Contenants" diff --git a/translations/fr/ishtar_common.po b/translations/fr/ishtar_common.po index d0fea2af2..03dd5c53d 100644 --- a/translations/fr/ishtar_common.po +++ b/translations/fr/ishtar_common.po @@ -10,7 +10,7 @@ msgstr ""  "MIME-Version: 1.0\n"  "Content-Transfer-Encoding: 8bit\n"  "Content-Type: text/plain; charset=UTF-8\n" -"PO-Revision-Date: 2016-09-13 06:08-0400\n" +"PO-Revision-Date: 2016-10-11 12:46-0400\n"  "Last-Translator: Étienne Loks <etienne.loks@iggdrasil.net>\n"  "Language-Team: \n"  "Language: fr\n" @@ -169,12 +169,12 @@ msgstr "Vous devez sélectionner un élément."  msgid "Add a new item"  msgstr "Ajouter un nouvel élément" -#: forms.py:245 models.py:1278 +#: forms.py:245 models.py:1307  msgid "Template"  msgstr "Patron"  #: forms_common.py:41 forms_common.py:59 forms_common.py:182 -#: forms_common.py:406 models.py:1344 models.py:2658 +#: forms_common.py:406 models.py:1373 models.py:2722  #: templates/blocks/JQueryAdvancedTown.html:19  #: templates/ishtar/sheet_organization.html:13  msgid "Town" @@ -198,8 +198,8 @@ msgstr ""  "<p class='example'>Par exemple tapez « saint denis 93 » pour obtenir la "  "commune Saint-Denis dans le département français de Seine-Saint-Denis.</p>" -#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1512 -#: models.py:2326 models.py:2480 models.py:2538 +#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1543 +#: models.py:2361 models.py:2530 models.py:2592  #: templates/ishtar/sheet_person.html:4  msgid "Person"  msgstr "Personne" @@ -213,63 +213,63 @@ msgstr ""  "pas possible."  #: forms_common.py:170 forms_common.py:327 forms_common.py:451 -#: ishtar_menu.py:75 models.py:1513 models.py:2231 +#: ishtar_menu.py:75 models.py:1544 models.py:2262  #: templates/ishtar/sheet_organization.html:4  msgid "Organization"  msgstr "Organisation"  #: forms_common.py:173 forms_common.py:210 forms_common.py:322 -#: forms_common.py:376 forms_common.py:446 models.py:945 models.py:1277 -#: models.py:1558 models.py:1776 models.py:2225 models.py:2312 models.py:2644 +#: forms_common.py:376 forms_common.py:446 models.py:974 models.py:1306 +#: models.py:1589 models.py:1807 models.py:2256 models.py:2347 models.py:2708  #: templates/ishtar/sheet_organization.html:8  #: templates/ishtar/sheet_organization.html:21  msgid "Name"  msgstr "Nom" -#: forms_common.py:174 models.py:1499 models.py:1907 +#: forms_common.py:174 models.py:1528 models.py:1938  msgid "Organization type"  msgstr "Type d'organisation" -#: forms_common.py:176 forms_common.py:400 models.py:1339 +#: forms_common.py:176 forms_common.py:400 models.py:1368  #: templates/ishtar/sheet_organization.html:10  msgid "Address"  msgstr "Adresse" -#: forms_common.py:178 forms_common.py:403 models.py:1340 +#: forms_common.py:178 forms_common.py:403 models.py:1369  #: templates/ishtar/sheet_organization.html:11  msgid "Address complement"  msgstr "Complément d'adresse" -#: forms_common.py:180 forms_common.py:404 models.py:1342 +#: forms_common.py:180 forms_common.py:404 models.py:1371  #: templates/ishtar/sheet_organization.html:12  msgid "Postal code"  msgstr "Code postal" -#: forms_common.py:183 forms_common.py:407 models.py:1345 +#: forms_common.py:183 forms_common.py:407 models.py:1374  msgid "Country"  msgstr "Pays"  #: forms_common.py:185 forms_common.py:324 forms_common.py:380 -#: forms_common.py:448 forms_common.py:572 models.py:1372 +#: forms_common.py:448 forms_common.py:572 models.py:1401  msgid "Email"  msgstr "Courriel" -#: forms_common.py:186 forms_common.py:383 models.py:1357 +#: forms_common.py:186 forms_common.py:383 models.py:1386  #: templates/ishtar/sheet_organization.html:14  #: templates/ishtar/sheet_person.html:19  #: templates/ishtar/wizard/wizard_person.html:17  msgid "Phone"  msgstr "Téléphone" -#: forms_common.py:187 forms_common.py:392 models.py:1369 +#: forms_common.py:187 forms_common.py:392 models.py:1398  #: templates/ishtar/sheet_organization.html:15  #: templates/ishtar/sheet_person.html:37  #: templates/ishtar/wizard/wizard_person.html:35  msgid "Mobile phone"  msgstr "Téléphone portable" -#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1935 -#: models.py:2227 models.py:2579 templates/sheet_ope.html:85 +#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:1966 +#: models.py:2258 models.py:2643 templates/sheet_ope.html:85  #: templates/sheet_ope.html.py:105 templates/sheet_ope.html:126  #: templates/ishtar/import_list.html:13  #: templates/ishtar/sheet_organization.html:23 @@ -277,7 +277,7 @@ msgstr "Téléphone portable"  msgid "Type"  msgstr "Type" -#: forms_common.py:220 views.py:137 +#: forms_common.py:220 views.py:139  msgid "Organization search"  msgstr "Recherche d'organisations" @@ -293,12 +293,12 @@ msgstr "Fusionner tous les éléments dans"  msgid "Organization to merge"  msgstr "Organisation à fusionner" -#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2310 +#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2345  #: templates/ishtar/sheet_organization.html:22  msgid "Surname"  msgstr "Prénom" -#: forms_common.py:339 forms_common.py:434 views.py:102 +#: forms_common.py:339 forms_common.py:434 views.py:104  msgid "Person search"  msgstr "Recherche de personnes" @@ -311,25 +311,25 @@ msgstr "Personne à fusionner"  msgid "Identity"  msgstr "Identité" -#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1908 -#: models.py:2304 models.py:2306 models.py:2576 templates/sheet_ope.html:104 +#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:1939 +#: models.py:2339 models.py:2341 models.py:2640 templates/sheet_ope.html:104  #: templates/ishtar/blocks/window_tables/documents.html:7  msgid "Title"  msgstr "Titre" -#: forms_common.py:372 models.py:2308 +#: forms_common.py:372 models.py:2343  msgid "Salutation"  msgstr "Formule d'appel" -#: forms_common.py:378 models.py:2314 +#: forms_common.py:378 models.py:2349  msgid "Raw name"  msgstr "Nom brut" -#: forms_common.py:381 models.py:1358 +#: forms_common.py:381 models.py:1387  msgid "Phone description"  msgstr "Type de téléphone" -#: forms_common.py:384 models.py:1360 models.py:1362 +#: forms_common.py:384 models.py:1389 models.py:1391  msgid "Phone description 2"  msgstr "Type de téléphone 2" @@ -337,11 +337,11 @@ msgstr "Type de téléphone 2"  msgid "Phone 2"  msgstr "Téléphone 2" -#: forms_common.py:388 models.py:1366 +#: forms_common.py:388 models.py:1395  msgid "Phone description 3"  msgstr "Type de téléphone 3" -#: forms_common.py:390 models.py:1364 +#: forms_common.py:390 models.py:1393  msgid "Phone 3"  msgstr "Téléphone 3" @@ -349,23 +349,23 @@ msgstr "Téléphone 3"  msgid "Current organization"  msgstr "Organisation actuelle" -#: forms_common.py:409 models.py:1347 +#: forms_common.py:409 models.py:1376  msgid "Other address: address"  msgstr "Autre adresse : adresse" -#: forms_common.py:412 models.py:1350 +#: forms_common.py:412 models.py:1379  msgid "Other address: address complement"  msgstr "Autre adresse : complément d'adresse" -#: forms_common.py:414 models.py:1351 +#: forms_common.py:414 models.py:1380  msgid "Other address: postal code"  msgstr "Autre adresse : code postal" -#: forms_common.py:416 models.py:1353 +#: forms_common.py:416 models.py:1382  msgid "Other address: town"  msgstr "Autre adresse : ville" -#: forms_common.py:418 models.py:1355 +#: forms_common.py:418 models.py:1384  msgid "Other address: country"  msgstr "Autre adresse : pays" @@ -381,7 +381,7 @@ msgstr "Nom d'utilisateur"  msgid "Account search"  msgstr "Recherche de comptes" -#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2279 +#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2310  msgid "Person type"  msgstr "Type de personne" @@ -413,7 +413,7 @@ msgstr "Ce nom d'utilisateur existe déjà."  msgid "Send the new password by email?"  msgstr "Envoyer le nouveau mot de passe par courriel ?" -#: forms_common.py:628 forms_common.py:641 models.py:2659 +#: forms_common.py:628 forms_common.py:641 models.py:2723  msgid "Towns"  msgstr "Communes" @@ -429,7 +429,7 @@ msgstr "Seul un choix peut être coché."  msgid "Documentation informations"  msgstr "Information sur le document" -#: forms_common.py:775 forms_common.py:823 models.py:1909 models.py:2559 +#: forms_common.py:775 forms_common.py:823 models.py:1940 models.py:2617  msgid "Source type"  msgstr "Type de document" @@ -441,37 +441,37 @@ msgstr "Référence"  msgid "Internal reference"  msgstr "Référence interne" -#: forms_common.py:783 models.py:2590 +#: forms_common.py:783 models.py:2654  msgid "Numerical ressource (web address)"  msgstr "Ressource numérique (adresse web)" -#: forms_common.py:784 models.py:2592 +#: forms_common.py:784 models.py:2656  msgid "Receipt date"  msgstr "Date de réception" -#: forms_common.py:786 models.py:2062 models.py:2594 +#: forms_common.py:786 models.py:2093 models.py:2658  msgid "Creation date"  msgstr "Date de création" -#: forms_common.py:789 models.py:2597 +#: forms_common.py:789 models.py:2661  msgid "Receipt date in documentation"  msgstr "Date de réception en documentation" -#: forms_common.py:791 forms_common.py:827 models.py:289 models.py:548 -#: models.py:1803 models.py:2318 models.py:2604 +#: forms_common.py:791 forms_common.py:827 models.py:317 models.py:577 +#: models.py:1834 models.py:2353 models.py:2668  msgid "Comment"  msgstr "Commentaire" -#: forms_common.py:793 forms_common.py:826 models.py:947 models.py:1562 -#: models.py:1735 models.py:1777 models.py:2603 templates/sheet_ope.html:128 +#: forms_common.py:793 forms_common.py:826 models.py:976 models.py:1593 +#: models.py:1766 models.py:1808 models.py:2667 templates/sheet_ope.html:128  msgid "Description"  msgstr "Description" -#: forms_common.py:796 models.py:2605 +#: forms_common.py:796 models.py:2669  msgid "Additional information"  msgstr "Informations supplémentaires" -#: forms_common.py:798 forms_common.py:830 models.py:2607 +#: forms_common.py:798 forms_common.py:830 models.py:2671  msgid "Has a duplicate"  msgstr "Existe en doublon" @@ -488,7 +488,7 @@ msgstr ""  "<p>Les images trop grandes sont retaillées en : %(width)dx%(height)d (le "  "ratio est conservé).</p>" -#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2543 +#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2597  #: templates/ishtar/wizard/wizard_person_deletion.html:124  msgid "Author"  msgstr "Auteur" @@ -501,7 +501,7 @@ msgstr "Informations complémentaires"  msgid "Would you like to delete this documentation?"  msgstr "Voulez-vous supprimer ce document ?" -#: forms_common.py:856 models.py:1910 models.py:2533 models.py:2540 +#: forms_common.py:856 models.py:1941 models.py:2585 models.py:2594  msgid "Author type"  msgstr "Type d'auteur" @@ -513,7 +513,7 @@ msgstr "Sélection d'auteur"  msgid "There are identical authors."  msgstr "Il y a des auteurs identiques." -#: forms_common.py:893 models.py:2544 models.py:2586 +#: forms_common.py:893 models.py:2598 models.py:2650  #: templates/sheet_ope.html:106  #: templates/ishtar/blocks/window_tables/documents.html:9  msgid "Authors" @@ -531,7 +531,7 @@ msgstr "Ajouter/Modifier"  msgid "Deletion"  msgstr "Suppression" -#: ishtar_menu.py:39 models.py:1073 views.py:1377 +#: ishtar_menu.py:39 models.py:1102 views.py:1450  msgid "Global variables"  msgstr "Variables globales" @@ -559,20 +559,20 @@ msgstr "Fusion automatique"  msgid "Manual merge"  msgstr "Fusion manuelle" -#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2099 widgets.py:110 +#: ishtar_menu.py:70 ishtar_menu.py:101 models.py:2130 widgets.py:110  #: templates/ishtar/form_delete.html:11  msgid "Delete"  msgstr "Suppression" -#: ishtar_menu.py:109 models.py:2073 +#: ishtar_menu.py:109 models.py:2104  msgid "Imports"  msgstr "Imports" -#: ishtar_menu.py:112 views.py:1385 +#: ishtar_menu.py:112 views.py:1458  msgid "New import"  msgstr "Nouvel import" -#: ishtar_menu.py:116 views.py:1399 +#: ishtar_menu.py:116 views.py:1472  msgid "Current imports"  msgstr "Imports en cours" @@ -592,91 +592,91 @@ msgstr "Un élément sélectionné n'est pas valide."  msgid "This item already exists."  msgstr "Cet élément existe déjà." -#: models.py:285 models.py:547 models.py:1312 models.py:1324 +#: models.py:313 models.py:576 models.py:1341 models.py:1353  msgid "Label"  msgstr "Libellé" -#: models.py:287 +#: models.py:315  msgid "Textual ID"  msgstr "Identifiant textuel" -#: models.py:290 models.py:550 models.py:1281 +#: models.py:318 models.py:579 models.py:1310  msgid "Available"  msgstr "Disponible" -#: models.py:569 models.py:1849 +#: models.py:598 models.py:1880  msgid "Key"  msgstr "Clé" -#: models.py:575 +#: models.py:604  msgid "Specific key to an import"  msgstr "Clé spécifique à un import" -#: models.py:666 +#: models.py:695  msgid "Last editor"  msgstr "Dernier éditeur" -#: models.py:669 +#: models.py:698  msgid "Creator"  msgstr "Créateur" -#: models.py:809 models.py:2670 +#: models.py:838 models.py:2734  msgid "Order"  msgstr "Ordre" -#: models.py:810 +#: models.py:839  msgid "Symmetrical"  msgstr "Symétrique" -#: models.py:811 +#: models.py:840  msgid "Tiny label"  msgstr "Petit libellé" -#: models.py:825 +#: models.py:854  msgid "Cannot have symmetrical and an inverse_relation"  msgstr "Ne peut pas être symétrique et avoir une relation inverse" -#: models.py:939 +#: models.py:968  msgid "Euro"  msgstr "Euro" -#: models.py:940 +#: models.py:969  msgid "US dollar"  msgstr "Dollars US" -#: models.py:946 models.py:1560 +#: models.py:975 models.py:1591  msgid "Slug"  msgstr "Identifiant texte" -#: models.py:948 +#: models.py:977  msgid "Files module"  msgstr "Module Dossiers" -#: models.py:949 +#: models.py:978  msgid "Context records module"  msgstr "Module Unités d'Enregistrement" -#: models.py:951 +#: models.py:980  msgid "Finds module"  msgstr "Module Mobilier" -#: models.py:952 +#: models.py:981  msgid "Need context records module"  msgstr "Nécessite le module Unités d'Enregistrement" -#: models.py:954 +#: models.py:983  msgid "Warehouses module"  msgstr "Module Dépôts" -#: models.py:955 +#: models.py:984  msgid "Need finds module"  msgstr "Nécessite le module mobilier" -#: models.py:957 +#: models.py:986  msgid "Home page"  msgstr "Page d'accueil" -#: models.py:958 +#: models.py:987  #, python-brace-format  msgid ""  "Homepage of Ishtar - if not defined a default homepage will appear. Use the " @@ -686,22 +686,22 @@ msgstr ""  "défaut va apparaître. Utiliser la syntaxe Markdown. {random_image} peut être "  "utilisé pour afficher une image au hasard." -#: models.py:962 +#: models.py:991  msgid "File external id"  msgstr "Identifiant externe de fichier" -#: models.py:964 +#: models.py:993  msgid ""  "Formula to manage file external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can "  "be destructive."  msgstr "Formule pour gérer les identifiants externes" -#: models.py:969 +#: models.py:998  msgid "Parcel external id"  msgstr "Identifiant externe de parcelle" -#: models.py:972 +#: models.py:1001  msgid ""  "Formula to manage parcel external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can " @@ -711,11 +711,11 @@ msgstr ""  "précaution. Une formule incorrecte peut rendre l'application inutilisable et "  "l'import de données externes peut alors être destructif." -#: models.py:977 +#: models.py:1006  msgid "Context record external id"  msgstr "Identifiant externe d'unité d'enregistrement" -#: models.py:979 +#: models.py:1008  msgid ""  "Formula to manage context record external ID. Change this with care. With "  "incorrect formula, the application might be unusable and import of external " @@ -725,11 +725,11 @@ msgstr ""  "manipuler avec précaution. Une formule incorrecte peut rendre l'application "  "inutilisable et l'import de données externes peut alors être destructif." -#: models.py:984 +#: models.py:1013  msgid "Base find external id"  msgstr "Identifiant externe de mobilier de base" -#: models.py:986 +#: models.py:1015  msgid ""  "Formula to manage base find external ID. Change this with care. With "  "incorrect formula, the application might be unusable and import of external " @@ -739,11 +739,11 @@ msgstr ""  "manipuler avec précaution. Une formule incorrecte peut rendre l'application "  "inutilisable et l'import de données externes peut alors être destructif." -#: models.py:991 +#: models.py:1020  msgid "Find external id"  msgstr "Identifiant externe de mobilier" -#: models.py:993 +#: models.py:1022  msgid ""  "Formula to manage find external ID. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can " @@ -753,11 +753,11 @@ msgstr ""  "précaution. Une formule incorrecte peut rendre l'application inutilisable et "  "l'import de données externes peut alors être destructif." -#: models.py:998 +#: models.py:1027  msgid "Raw name for person"  msgstr "Nom brut pour une personne" -#: models.py:1000 +#: models.py:1029  msgid ""  "Formula to manage person raw_name. Change this with care. With incorrect "  "formula, the application might be unusable and import of external data can " @@ -767,43 +767,43 @@ msgstr ""  "Une formule incorrecte peut rendre l'application inutilisable et l'import de "  "données externes peut alors être destructif." -#: models.py:1004 +#: models.py:1033  msgid "Current active"  msgstr "Actuellement utilisé" -#: models.py:1005 +#: models.py:1034  msgid "Currency"  msgstr "Devise" -#: models.py:1009 +#: models.py:1038  msgid "Ishtar site profile"  msgstr "Profil d'instance Ishtar" -#: models.py:1010 +#: models.py:1039  msgid "Ishtar site profiles"  msgstr "Profils d'instance Ishtar" -#: models.py:1066 +#: models.py:1095  msgid "Variable name"  msgstr "Nom de la variable" -#: models.py:1067 +#: models.py:1096  msgid "Description of the variable"  msgstr "Description de la variable" -#: models.py:1069 models.py:1850 +#: models.py:1098 models.py:1881  msgid "Value"  msgstr "Valeur" -#: models.py:1072 +#: models.py:1101  msgid "Global variable"  msgstr "Variable globale" -#: models.py:1182 models.py:1212 +#: models.py:1211 models.py:1241  msgid "Total"  msgstr "Total" -#: models.py:1189 models.py:1313 models.py:1325 +#: models.py:1218 models.py:1342 models.py:1354  #: templates/ishtar/sheet_person.html:22  #: templates/ishtar/dashboards/dashboard_main_detail.html:141  #: templates/ishtar/dashboards/dashboard_main_detail_users.html:26 @@ -811,688 +811,692 @@ msgstr "Total"  msgid "Number"  msgstr "Nombre" -#: models.py:1276 +#: models.py:1305  msgid "Administrative Act"  msgstr "Acte administratif" -#: models.py:1280 +#: models.py:1309  msgid "Associated object"  msgstr "Objet associé" -#: models.py:1284 +#: models.py:1313  msgid "Document template"  msgstr "Patron de document" -#: models.py:1285 +#: models.py:1314  msgid "Document templates"  msgstr "Patrons de documents" -#: models.py:1316 models.py:1326 models.py:2057 +#: models.py:1345 models.py:1355 models.py:2088  msgid "State"  msgstr "État" -#: models.py:1330 templates/blocks/JQueryAdvancedTown.html:12 +#: models.py:1359 templates/blocks/JQueryAdvancedTown.html:12  msgid "Department"  msgstr "Département" -#: models.py:1331 +#: models.py:1360  msgid "Departments"  msgstr "Départements" -#: models.py:1368 +#: models.py:1397  msgid "Raw phone"  msgstr "Téléphone brut" -#: models.py:1374 +#: models.py:1403  msgid "Alternative address is prefered"  msgstr "L'adresse alternative est préférée" -#: models.py:1413 +#: models.py:1442  msgid "Tel: "  msgstr "Tél :" -#: models.py:1417 +#: models.py:1446  msgid "Mobile: "  msgstr "Mobile :" -#: models.py:1421 +#: models.py:1450  msgid "Email: "  msgstr "Courriel :" -#: models.py:1426 +#: models.py:1455  msgid "Merge key"  msgstr "Clé de fusion" -#: models.py:1500 +#: models.py:1529  msgid "Organization types"  msgstr "Types d'organisation" -#: models.py:1514 views.py:211 +#: models.py:1545 views.py:234  msgid "Operation"  msgstr "Opération" -#: models.py:1516 +#: models.py:1547  msgid "Archaeological site"  msgstr "Entité Archéologique" -#: models.py:1517 +#: models.py:1548  msgid "Parcels"  msgstr "Parcelles" -#: models.py:1519 +#: models.py:1550  msgid "Operation source"  msgstr "Documentation de l'opération" -#: models.py:1522 views.py:1192 views.py:1243 +#: models.py:1553 views.py:1265 views.py:1316  msgid "Archaeological files"  msgstr "Dossiers archéologiques" -#: models.py:1524 views.py:1195 views.py:1251 +#: models.py:1555 views.py:1268 views.py:1324  msgid "Context records"  msgstr "Unités d'Enregistrement" -#: models.py:1526 +#: models.py:1557  msgid "Context record relations"  msgstr "Relations entre Unités d'Enregistrement" -#: models.py:1528 views.py:1197 views.py:1254 +#: models.py:1559 views.py:1270 views.py:1327  msgid "Finds"  msgstr "Mobilier" -#: models.py:1564 templates/ishtar/dashboards/dashboard_main.html:25 +#: models.py:1595 templates/ishtar/dashboards/dashboard_main.html:25  msgid "Users"  msgstr "Utilisateurs" -#: models.py:1566 +#: models.py:1597  msgid "Associated model"  msgstr "Modèle associé" -#: models.py:1569 +#: models.py:1600  msgid "Is template"  msgstr "Est un patron" -#: models.py:1570 +#: models.py:1601  msgid "Unicity keys (separator \";\")"  msgstr "Clés d'unicité (séparateur « ; »)" -#: models.py:1574 +#: models.py:1605  msgid "Importer - Type"  msgstr "Importeur - Type" -#: models.py:1575 +#: models.py:1606  msgid "Importer - Types"  msgstr "Importeur - Types" -#: models.py:1665 +#: models.py:1696  msgid "Importer - Default"  msgstr "Importeur - Par défaut" -#: models.py:1666 +#: models.py:1697  msgid "Importer - Defaults"  msgstr "Importeur - Par défaut" -#: models.py:1701 +#: models.py:1732  msgid "Importer - Default value"  msgstr "Importeur - Valeur par défaut" -#: models.py:1702 +#: models.py:1733  msgid "Importer - Default values"  msgstr "Importeur - Valeurs par défaut" -#: models.py:1734 +#: models.py:1765  msgid "Column number"  msgstr "Numéro de colonne" -#: models.py:1737 +#: models.py:1768  msgid "Required"  msgstr "Requis" -#: models.py:1740 +#: models.py:1771  msgid "Importer - Column"  msgstr "Importeur - Colonne" -#: models.py:1741 +#: models.py:1772  msgid "Importer - Columns"  msgstr "Importeur - Colonnes" -#: models.py:1761 +#: models.py:1792  msgid "Field name"  msgstr "Nom du champ" -#: models.py:1763 models.py:1797 +#: models.py:1794 models.py:1828  msgid "Force creation of new items"  msgstr "Forcer la création de nouveaux éléments" -#: models.py:1765 models.py:1799 +#: models.py:1796 models.py:1830  msgid "Concatenate with existing"  msgstr "Concaténer avec l'existant" -#: models.py:1767 models.py:1801 +#: models.py:1798 models.py:1832  msgid "Concatenate character"  msgstr "Caractère de concaténation" -#: models.py:1771 +#: models.py:1802  msgid "Importer - Duplicate field"  msgstr "Importeur - Champ dupliqué" -#: models.py:1772 +#: models.py:1803  msgid "Importer - Duplicate fields"  msgstr "Importeur - Champs dupliqués" -#: models.py:1779 +#: models.py:1810  msgid "Regular expression"  msgstr "Expression régulière" -#: models.py:1782 +#: models.py:1813  msgid "Importer - Regular expression"  msgstr "Importeur - Expression régulière" -#: models.py:1783 +#: models.py:1814  msgid "Importer - Regular expressions"  msgstr "Importeur - Expressions régulières" -#: models.py:1806 +#: models.py:1837  msgid "Importer - Target"  msgstr "Importeur - Cible" -#: models.py:1807 +#: models.py:1838  msgid "Importer - Targets"  msgstr "Importeur - Cibles" -#: models.py:1831 views.py:476 +#: models.py:1862 views.py:518  msgid "True"  msgstr "Oui" -#: models.py:1832 views.py:478 +#: models.py:1863 views.py:520  msgid "False"  msgstr "Non" -#: models.py:1851 +#: models.py:1882  msgid "Is set"  msgstr "Est défini" -#: models.py:1858 +#: models.py:1889  msgid "Importer - Target key"  msgstr "Importeur - Rapprochement" -#: models.py:1859 +#: models.py:1890  msgid "Importer - Targets keys"  msgstr "Importeur - Rapprochements" -#: models.py:1911 models.py:2571 models.py:2582 +#: models.py:1942 models.py:2633 models.py:2646  msgid "Format"  msgstr "Format" -#: models.py:1912 models.py:2674 +#: models.py:1943 models.py:2738  msgid "Operation type"  msgstr "Type d'opération" -#: models.py:1913 +#: models.py:1944  msgid "Period"  msgstr "Périodes" -#: models.py:1914 +#: models.py:1945  msgid "Report state"  msgstr "État de rapport" -#: models.py:1915 +#: models.py:1946  msgid "Unit"  msgstr "Unité" -#: models.py:1916 +#: models.py:1947  msgid "Material"  msgstr "Matériau" -#: models.py:1918 +#: models.py:1949  msgid "Conservatory state"  msgstr "État de conservation" -#: models.py:1919 +#: models.py:1950  msgid "Preservation type"  msgstr "Type de conservation" -#: models.py:1920 +#: models.py:1951  msgid "Object type"  msgstr "Type d'objet" -#: models.py:1922 +#: models.py:1953  msgid "Identification type"  msgstr "Type d'identification" -#: models.py:1924 +#: models.py:1955  msgid "Context record relation type"  msgstr "Type de relations entre Unités d'Enregistrement" -#: models.py:1925 models.py:2565 +#: models.py:1956 models.py:2625  msgid "Support type"  msgstr "Type de support" -#: models.py:1931 +#: models.py:1962  msgid "Integer"  msgstr "Entier" -#: models.py:1932 +#: models.py:1963  msgid "Float"  msgstr "Nombre à virgule" -#: models.py:1933 +#: models.py:1964  msgid "String"  msgstr "Chaîne de caractères" -#: models.py:1934 templates/sheet_ope.html:86 +#: models.py:1965 templates/sheet_ope.html:86  msgid "Date"  msgstr "Date" -#: models.py:1936 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83 +#: models.py:1967 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83  #: templates/ishtar/dashboards/dashboard_main_detail.html:126  msgid "Year"  msgstr "Année" -#: models.py:1937 +#: models.py:1968  msgid "String to boolean"  msgstr "Chaîne de caractères vers booléen" -#: models.py:1938 +#: models.py:1969  msgctxt "filesystem"  msgid "File"  msgstr "Fichier" -#: models.py:1939 +#: models.py:1970  msgid "Unknow type"  msgstr "Type inconnu" -#: models.py:1955 +#: models.py:1986  msgid "4 digit year. e.g.: \"2015\""  msgstr "Année sur 4 chiffres. Exemple : « 2015 »" -#: models.py:1956 +#: models.py:1987  msgid "4 digit year/month/day. e.g.: \"2015/02/04\""  msgstr "Année sur 4 chiffres/mois/jour. Exemple : « 2015/02/04 »" -#: models.py:1957 +#: models.py:1988  msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""  msgstr "Jour/mois/année sur 4 chiffres. Exemple : « 04/02/2015 »" -#: models.py:1967 +#: models.py:1998  msgid "Options"  msgstr "Options" -#: models.py:1969 +#: models.py:2000  msgid "Split character(s)"  msgstr "Caractère(s) de séparation" -#: models.py:1973 +#: models.py:2004  msgid "Importer - Formater type"  msgstr "Importeur - Type de mise en forme" -#: models.py:1974 +#: models.py:2005  msgid "Importer - Formater types"  msgstr "Importeur - Types de mise en forme" -#: models.py:2021 templates/ishtar/dashboards/dashboard_main_detail.html:63 +#: models.py:2052 templates/ishtar/dashboards/dashboard_main_detail.html:63  msgid "Created"  msgstr "Créé" -#: models.py:2022 +#: models.py:2053  msgid "Analyse in progress"  msgstr "Analyse en cours" -#: models.py:2023 +#: models.py:2054  msgid "Analysed"  msgstr "Analysé" -#: models.py:2024 +#: models.py:2055  msgid "Import pending"  msgstr "Import en attente" -#: models.py:2025 +#: models.py:2056  msgid "Import in progress"  msgstr "Import en cours" -#: models.py:2026 +#: models.py:2057  msgid "Finished with errors"  msgstr "Terminé avec des erreurs" -#: models.py:2027 +#: models.py:2058  msgid "Finished"  msgstr "Terminé" -#: models.py:2028 +#: models.py:2059  msgid "Archived"  msgstr "Archivé" -#: models.py:2040 +#: models.py:2071  msgid "Imported file"  msgstr "Fichier importé" -#: models.py:2043 +#: models.py:2074  msgid "Associated images (zip file)"  msgstr "Images associées (fichier zip)" -#: models.py:2045 +#: models.py:2076  msgid "Encoding"  msgstr "Codage" -#: models.py:2047 +#: models.py:2078  msgid "Skip lines"  msgstr "Nombre de lignes d'entête" -#: models.py:2048 templates/ishtar/import_list.html:47 +#: models.py:2079 templates/ishtar/import_list.html:47  msgid "Error file"  msgstr "Fichier erreur" -#: models.py:2051 +#: models.py:2082  msgid "Result file"  msgstr "Fichier résultant" -#: models.py:2054 templates/ishtar/import_list.html:53 +#: models.py:2085 templates/ishtar/import_list.html:53  msgid "Match file"  msgstr "Fichier de correspondance" -#: models.py:2060 +#: models.py:2091  msgid "Conservative import"  msgstr "Import conservateur" -#: models.py:2065 +#: models.py:2096  msgid "End date"  msgstr "Date de fin" -#: models.py:2067 +#: models.py:2098  msgid "Remaining seconds"  msgstr "Secondes restantes" -#: models.py:2072 +#: models.py:2103  msgid "Import"  msgstr "Import" -#: models.py:2089 +#: models.py:2120  msgid "Analyse"  msgstr "Analyser" -#: models.py:2091 models.py:2094 +#: models.py:2122 models.py:2125  msgid "Re-analyse"  msgstr "Analyser de nouveau " -#: models.py:2092 +#: models.py:2123  msgid "Launch import"  msgstr "Lancer l'import" -#: models.py:2095 +#: models.py:2126  msgid "Re-import"  msgstr "Ré-importer" -#: models.py:2096 +#: models.py:2127  msgid "Archive"  msgstr "Archiver" -#: models.py:2098 +#: models.py:2129  msgid "Unarchive"  msgstr "Désarchiver" -#: models.py:2232 +#: models.py:2263  msgid "Organizations"  msgstr "Organisations" -#: models.py:2234 +#: models.py:2265  msgid "Can view all Organizations"  msgstr "Peut voir toutes les Organisations" -#: models.py:2235 +#: models.py:2266  msgid "Can view own Organization"  msgstr "Peut voir sa propre Organisation" -#: models.py:2236 +#: models.py:2267  msgid "Can add own Organization"  msgstr "Peut ajouter sa propre Organisation" -#: models.py:2238 +#: models.py:2269  msgid "Can change own Organization"  msgstr "Peut modifier sa propre Organisation" -#: models.py:2240 +#: models.py:2271  msgid "Can delete own Organization"  msgstr "Peut supprimer sa propre Organisation" -#: models.py:2275 +#: models.py:2306  msgid "Groups"  msgstr "Groupes" -#: models.py:2280 +#: models.py:2311  msgid "Person types"  msgstr "Types de personne" -#: models.py:2286 +#: models.py:2319  msgid "Title type"  msgstr "Type de titre" -#: models.py:2287 +#: models.py:2320  msgid "Title types"  msgstr "Types de titre" -#: models.py:2294 +#: models.py:2329  msgid "Mr"  msgstr "M." -#: models.py:2295 +#: models.py:2330  msgid "Miss"  msgstr "Mlle" -#: models.py:2296 +#: models.py:2331  msgid "Mr and Mrs"  msgstr "M. et Mme" -#: models.py:2297 +#: models.py:2332  msgid "Mrs"  msgstr "Mme" -#: models.py:2298 +#: models.py:2333  msgid "Doctor"  msgstr "Dr." -#: models.py:2316 +#: models.py:2351  msgid "Contact type"  msgstr "Type de contact" -#: models.py:2319 models.py:2368 +#: models.py:2354 models.py:2418  msgid "Types"  msgstr "Types" -#: models.py:2322 +#: models.py:2357  msgid "Is attached to"  msgstr "Est rattaché à" -#: models.py:2327 +#: models.py:2362  msgid "Persons"  msgstr "Personnes" -#: models.py:2329 +#: models.py:2364  msgid "Can view all Persons"  msgstr "Peut voir toutes les Personnes" -#: models.py:2330 +#: models.py:2365  msgid "Can view own Person"  msgstr "Peut voir sa propre Personne" -#: models.py:2331 +#: models.py:2366  msgid "Can add own Person"  msgstr "Peut ajouter sa propre Personne" -#: models.py:2332 +#: models.py:2367  msgid "Can change own Person"  msgstr "Peut modifier sa propre Personne" -#: models.py:2333 +#: models.py:2368  msgid "Can delete own Person"  msgstr "Peut supprimer sa propre Personne" -#: models.py:2484 +#: models.py:2533 +msgid "Advanced shortcut menu" +msgstr "Menu de raccourci (avancé)" + +#: models.py:2536  msgid "Ishtar user"  msgstr "Utilisateur d'Ishtar" -#: models.py:2485 +#: models.py:2537  msgid "Ishtar users"  msgstr "Utilisateurs d'Ishtar" -#: models.py:2528 +#: models.py:2580  msgid "To modify the password use the form in Auth > User"  msgstr ""  "Pour modifier le mot de passe, utilisez le formulaire dans Authentification "  "> Utilisateurs" -#: models.py:2534 +#: models.py:2586  msgid "Author types"  msgstr "Types d'auteur" -#: models.py:2560 +#: models.py:2618  msgid "Source types"  msgstr "Types de document" -#: models.py:2566 +#: models.py:2626  msgid "Support types"  msgstr "Types de support" -#: models.py:2572 +#: models.py:2634  msgid "Formats"  msgstr "Formats" -#: models.py:2577 +#: models.py:2641  msgid "External ID"  msgstr "Identifiant externe" -#: models.py:2580 +#: models.py:2644  msgid "Support"  msgstr "Support" -#: models.py:2584 +#: models.py:2648  msgid "Scale"  msgstr "Échelle" -#: models.py:2598 +#: models.py:2662  msgid "Item number"  msgstr "Numéro d'élément" -#: models.py:2599 +#: models.py:2663  msgid "Ref."  msgstr "Réf." -#: models.py:2602 +#: models.py:2666  msgid "Internal ref."  msgstr "Réf. interne" -#: models.py:2645 +#: models.py:2709  msgid "Surface (m2)"  msgstr "Surface (m2)" -#: models.py:2646 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107 +#: models.py:2710 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107  msgid "Localisation"  msgstr "Localisation" -#: models.py:2671 +#: models.py:2735  msgid "Is preventive"  msgstr "Est du préventif" -#: models.py:2675 +#: models.py:2739  msgid "Operation types"  msgstr "Types d'opération" -#: models.py:2704 +#: models.py:2768  msgid "Preventive"  msgstr "Préventif" -#: models.py:2705 +#: models.py:2769  msgid "Research"  msgstr "Programmé" -#: utils.py:56 +#: utils.py:64  msgid " (...)"  msgstr " (...)" -#: utils.py:89 +#: utils.py:97  msgid "Load another random image?"  msgstr "Charger une autre image au hasard ?" -#: views.py:109 +#: views.py:111  msgid "New person"  msgstr "Nouvelle personne" -#: views.py:117 +#: views.py:119  msgid "Person modification"  msgstr "Modification d'une personne" -#: views.py:132 +#: views.py:134  msgid "Person deletion"  msgstr "Suppression de personne" -#: views.py:143 +#: views.py:145  msgid "New organization"  msgstr "Nouvelle organisation" -#: views.py:150 +#: views.py:152  msgid "Organization modification"  msgstr "Modification d'une organisation" -#: views.py:166 +#: views.py:168  msgid "Organization deletion"  msgstr "Suppression d'une organisation" -#: views.py:173 +#: views.py:175  msgid "Account management"  msgstr "Gestion des comptes" -#: views.py:179 +#: views.py:181  msgid "Account deletion"  msgstr "Suppression de comptes" -#: views.py:210 +#: views.py:233  msgid "Archaeological file"  msgstr "Dossier" -#: views.py:213 +#: views.py:236  msgid "Context record"  msgstr "Unité d'Enregistrement" -#: views.py:215 +#: views.py:238  msgid "Find"  msgstr "Mobilier" -#: views.py:1105 views.py:1174 +#: views.py:1178 views.py:1247  msgid "Operation not permitted."  msgstr "Opération non permise." -#: views.py:1107 +#: views.py:1180  #, python-format  msgid "New %s"  msgstr "Nouveau %s" -#: views.py:1193 views.py:1247 +#: views.py:1266 views.py:1320  msgid "Operations"  msgstr "Opérations" -#: views.py:1446 templates/ishtar/import_list.html:43 +#: views.py:1519 templates/ishtar/import_list.html:43  msgid "Link unmatched items"  msgstr "Associer les éléments non rapprochés" -#: views.py:1461 +#: views.py:1534  msgid "Delete import"  msgstr "Suppression de l'import" -#: views.py:1500 +#: views.py:1573  msgid "Merge persons"  msgstr "Fusionner des personnes" -#: views.py:1524 +#: views.py:1597  msgid "Select the main person"  msgstr "Choisir la personne principale" -#: views.py:1533 +#: views.py:1606  msgid "Merge organization"  msgstr "Fusionner des organisations" -#: views.py:1543 +#: views.py:1616  msgid "Select the main organization"  msgstr "Sélectionner l'organisation principale" -#: views.py:1583 views.py:1599 +#: views.py:1656 views.py:1672  msgid "Corporation manager"  msgstr "Représentant de la personne morale" @@ -1560,28 +1564,38 @@ msgid "The %(app_name)s team"  msgstr "L'équipe %(app_name)s"  #: templates/base.html:41 +msgid "Searches in the shortcut menu deals with all items." +msgstr "" +"Les recherches dans le menu de raccourci concernent tous les éléments." + +#: templates/base.html:42 +msgid "Searches in the shortcut menu deals with only your items." +msgstr "" +"Les recherches dans le menu de raccourci ne concernent que vos éléments." + +#: templates/base.html:49  msgid "Logged in"  msgstr "Connecté" -#: templates/base.html:42 +#: templates/base.html:50  msgid "Log out"  msgstr "Déconnexion" -#: templates/base.html:43 +#: templates/base.html:51  msgid "Change password"  msgstr "Changement de mot de passe" -#: templates/base.html:45 templates/registration/activate.html:10 +#: templates/base.html:53 templates/registration/activate.html:10  #: templates/registration/login.html:8 templates/registration/login.html:10  #: templates/registration/password_reset_complete.html:8  msgid "Log in"  msgstr "Connexion" -#: templates/base.html:51 +#: templates/base.html:59  msgid "Lang"  msgstr "Langue" -#: templates/base.html:51 templates/base.html.py:75 templates/welcome.html:8 +#: templates/base.html:59 templates/base.html.py:83 templates/welcome.html:8  #: templates/welcome.html.py:9 templates/welcome.html:10  #: templates/welcome.html.py:11 templates/ishtar/manage_basket.html:4  #: templates/ishtar/blocks/window_field.html:1 @@ -1591,23 +1605,23 @@ msgstr "Langue"  msgid ":"  msgstr " :" -#: templates/base.html:73 +#: templates/base.html:81  msgid "Current items"  msgstr "Éléments courants" -#: templates/base.html:107 +#: templates/base.html:115  msgid "Processing..."  msgstr "En traitement..." -#: templates/base.html:108 +#: templates/base.html:116  msgid "This can be long."  msgstr "Cela peut être long." -#: templates/base.html:109 +#: templates/base.html:117  msgid "Time to take a coffee?"  msgstr "Il est temps de prendre un café ?" -#: templates/base.html:110 +#: templates/base.html:118  msgid "Time to take another coffee?"  msgstr "Pourquoi pas un autre café ?" @@ -1883,7 +1897,7 @@ msgstr "tickets"  msgid "where the magic happens."  msgstr "c'est là que la magie opère." -#: templates/window.html:38 templates/blocks/JQueryJqGrid.html:25 +#: templates/window.html:40 templates/blocks/JQueryJqGrid.html:25  #: templates/ishtar/manage_basket.html:9  msgid "Add"  msgstr "Ajout" @@ -2164,7 +2178,32 @@ msgstr "Documents des Unités d'Enregistrement associées"  msgid "Documents associated to finds"  msgstr "Documents du mobilier associé" -#: templates/ishtar/blocks/shortcut_menu.html:6 +#: templates/ishtar/blocks/advanced_shortcut_menu.html:7 +#: templates/ishtar/blocks/shortcut_menu.html:7 +msgid "" +"Simple menu limited to your own items. Be careful only the last 100 items " +"are displayed." +msgstr "" +"Menu simple limité à vos propres éléments. Attention seuls les 100 derniers " +"éléments sont affichés." + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:7 +#: templates/ishtar/blocks/shortcut_menu.html:7 +msgid "simple" +msgstr "simple" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:8 +#: templates/ishtar/blocks/shortcut_menu.html:8 +msgid "Advanced menu." +msgstr "Menu avancé." + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:8 +#: templates/ishtar/blocks/shortcut_menu.html:8 +msgid "advanced" +msgstr "avancé" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:11 +#: templates/ishtar/blocks/shortcut_menu.html:10  msgid ""  "Pin an item in order to constrain default searches with this item. By "  "default only your items are displayed. New created and modified items are " @@ -2174,7 +2213,20 @@ msgstr ""  "élément. Par défaut seuls ses propres éléments sont listés. Les nouveaux "  "éléments, ceux modifiés sont auto-épinglés." -#: templates/ishtar/blocks/shortcut_menu.html:18 +#: templates/ishtar/blocks/advanced_shortcut_menu.html:13 +msgid "Search within my items" +msgstr "Rechercher parmi mes éléments" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:14 +msgid "Search within all items" +msgstr "Rechercher parmi tous les éléments" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:17 +msgid "Refresh menu" +msgstr "Rafraîchir le menu" + +#: templates/ishtar/blocks/advanced_shortcut_menu.html:28 +#: templates/ishtar/blocks/shortcut_menu.html:22  msgid "Unpin"  msgstr "Détacher" diff --git a/version.py b/version.py index 0138ede37..cd8064223 100644 --- a/version.py +++ b/version.py @@ -1,4 +1,4 @@ -VERSION = (0, 98, 5) +VERSION = (0, 98, 6)  def get_version(): | 
