summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/admin.py6
-rw-r--r--ishtar_common/locale/django.pot500
-rw-r--r--ishtar_common/migrations/0018_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py491
-rw-r--r--ishtar_common/models.py13
-rw-r--r--ishtar_common/utils.py38
-rw-r--r--ishtar_common/views.py1
6 files changed, 807 insertions, 242 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index aa04a7b1c..efb452e74 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -235,6 +235,12 @@ class OperationTypeAdmin(GeneralTypeAdmin):
admin.site.register(models.OperationType, OperationTypeAdmin)
+class SpatialReferenceSystemAdmin(GeneralTypeAdmin):
+ list_display = GeneralTypeAdmin.list_display + ['order', 'srid']
+ model = models.SpatialReferenceSystem
+admin.site.register(models.SpatialReferenceSystem, SpatialReferenceSystemAdmin)
+
+
class IshtarUserAdmin(admin.ModelAdmin):
readonly_fields = ('password',)
diff --git a/ishtar_common/locale/django.pot b/ishtar_common/locale/django.pot
index 2a60902e5..42440b19a 100644
--- a/ishtar_common/locale/django.pot
+++ b/ishtar_common/locale/django.pot
@@ -156,12 +156,12 @@ msgstr ""
msgid "Add a new item"
msgstr ""
-#: forms.py:262 models.py:1367
+#: forms.py:262 models.py:1368
msgid "Template"
msgstr ""
#: forms_common.py:41 forms_common.py:59 forms_common.py:182
-#: forms_common.py:406 models.py:1433 models.py:2825
+#: forms_common.py:406 models.py:1434 models.py:2826
#: templates/blocks/JQueryAdvancedTown.html:19
#: templates/ishtar/sheet_organization.html:13
msgid "Town"
@@ -177,8 +177,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:1606
-#: models.py:2452 models.py:2634 models.py:2695
+#: forms_common.py:68 forms_common.py:855 ishtar_menu.py:47 models.py:1607
+#: models.py:2453 models.py:2635 models.py:2696
#: templates/ishtar/sheet_person.html:4
msgid "Person"
msgstr ""
@@ -190,63 +190,63 @@ msgid ""
msgstr ""
#: forms_common.py:170 forms_common.py:327 forms_common.py:451
-#: ishtar_menu.py:75 models.py:1607 models.py:2338
+#: ishtar_menu.py:75 models.py:1608 models.py:2339
#: 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:1034 models.py:1366
-#: models.py:1652 models.py:1871 models.py:2332 models.py:2438 models.py:2811
+#: forms_common.py:376 forms_common.py:446 models.py:1034 models.py:1367
+#: models.py:1653 models.py:1872 models.py:2333 models.py:2439 models.py:2812
#: templates/ishtar/sheet_organization.html:8
#: templates/ishtar/sheet_organization.html:21
msgid "Name"
msgstr ""
-#: forms_common.py:174 models.py:1588 models.py:2002
+#: forms_common.py:174 models.py:1589 models.py:2003
msgid "Organization type"
msgstr ""
-#: forms_common.py:176 forms_common.py:400 models.py:1428
+#: forms_common.py:176 forms_common.py:400 models.py:1429
#: templates/ishtar/sheet_organization.html:10
msgid "Address"
msgstr ""
-#: forms_common.py:178 forms_common.py:403 models.py:1429
+#: forms_common.py:178 forms_common.py:403 models.py:1430
#: templates/ishtar/sheet_organization.html:11
msgid "Address complement"
msgstr ""
-#: forms_common.py:180 forms_common.py:404 models.py:1431
+#: forms_common.py:180 forms_common.py:404 models.py:1432
#: templates/ishtar/sheet_organization.html:12
msgid "Postal code"
msgstr ""
-#: forms_common.py:183 forms_common.py:407 models.py:1434
+#: forms_common.py:183 forms_common.py:407 models.py:1435
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:1461
+#: forms_common.py:448 forms_common.py:572 models.py:1462
msgid "Email"
msgstr ""
-#: forms_common.py:186 forms_common.py:383 models.py:1446
+#: forms_common.py:186 forms_common.py:383 models.py:1447
#: 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:1458
+#: forms_common.py:187 forms_common.py:392 models.py:1459
#: 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:2032
-#: models.py:2334 models.py:2746 templates/sheet_ope.html:85
+#: forms_common.py:211 forms_common.py:325 forms_common.py:449 models.py:2033
+#: models.py:2335 models.py:2747 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
@@ -270,7 +270,7 @@ msgstr ""
msgid "Organization to merge"
msgstr ""
-#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2436
+#: forms_common.py:323 forms_common.py:374 forms_common.py:447 models.py:2437
#: templates/ishtar/sheet_organization.html:22
msgid "Surname"
msgstr ""
@@ -288,25 +288,25 @@ msgstr ""
msgid "Identity"
msgstr ""
-#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2003
-#: models.py:2430 models.py:2432 models.py:2743 templates/sheet_ope.html:104
+#: forms_common.py:371 forms_common.py:773 forms_common.py:822 models.py:2004
+#: models.py:2431 models.py:2433 models.py:2744 templates/sheet_ope.html:104
#: templates/ishtar/blocks/window_tables/documents.html:7
msgid "Title"
msgstr ""
-#: forms_common.py:372 models.py:2434
+#: forms_common.py:372 models.py:2435
msgid "Salutation"
msgstr ""
-#: forms_common.py:378 models.py:2440
+#: forms_common.py:378 models.py:2441
msgid "Raw name"
msgstr ""
-#: forms_common.py:381 models.py:1447
+#: forms_common.py:381 models.py:1448
msgid "Phone description"
msgstr ""
-#: forms_common.py:384 models.py:1449 models.py:1451
+#: forms_common.py:384 models.py:1450 models.py:1452
msgid "Phone description 2"
msgstr ""
@@ -314,11 +314,11 @@ msgstr ""
msgid "Phone 2"
msgstr ""
-#: forms_common.py:388 models.py:1455
+#: forms_common.py:388 models.py:1456
msgid "Phone description 3"
msgstr ""
-#: forms_common.py:390 models.py:1453
+#: forms_common.py:390 models.py:1454
msgid "Phone 3"
msgstr ""
@@ -326,23 +326,23 @@ msgstr ""
msgid "Current organization"
msgstr ""
-#: forms_common.py:409 models.py:1436
+#: forms_common.py:409 models.py:1437
msgid "Other address: address"
msgstr ""
-#: forms_common.py:412 models.py:1439
+#: forms_common.py:412 models.py:1440
msgid "Other address: address complement"
msgstr ""
-#: forms_common.py:414 models.py:1440
+#: forms_common.py:414 models.py:1441
msgid "Other address: postal code"
msgstr ""
-#: forms_common.py:416 models.py:1442
+#: forms_common.py:416 models.py:1443
msgid "Other address: town"
msgstr ""
-#: forms_common.py:418 models.py:1444
+#: forms_common.py:418 models.py:1445
msgid "Other address: country"
msgstr ""
@@ -358,7 +358,7 @@ msgstr ""
msgid "Account search"
msgstr ""
-#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2386
+#: forms_common.py:510 forms_common.py:550 forms_common.py:554 models.py:2387
msgid "Person type"
msgstr ""
@@ -390,7 +390,7 @@ msgstr ""
msgid "Send the new password by email?"
msgstr ""
-#: forms_common.py:628 forms_common.py:641 models.py:2826
+#: forms_common.py:628 forms_common.py:641 models.py:2827
msgid "Towns"
msgstr ""
@@ -406,7 +406,7 @@ msgstr ""
msgid "Documentation informations"
msgstr ""
-#: forms_common.py:775 forms_common.py:823 models.py:2004 models.py:2720
+#: forms_common.py:775 forms_common.py:823 models.py:2005 models.py:2721
msgid "Source type"
msgstr ""
@@ -418,37 +418,37 @@ msgstr ""
msgid "Internal reference"
msgstr ""
-#: forms_common.py:783 models.py:2757
+#: forms_common.py:783 models.py:2758
msgid "Numerical ressource (web address)"
msgstr ""
-#: forms_common.py:784 models.py:2759
+#: forms_common.py:784 models.py:2760
msgid "Receipt date"
msgstr ""
-#: forms_common.py:786 models.py:2161 models.py:2761
+#: forms_common.py:786 models.py:2162 models.py:2762
msgid "Creation date"
msgstr ""
-#: forms_common.py:789 models.py:2764
+#: forms_common.py:789 models.py:2765
msgid "Receipt date in documentation"
msgstr ""
#: forms_common.py:791 forms_common.py:827 models.py:323 models.py:634
-#: models.py:1898 models.py:2444 models.py:2771
+#: models.py:1899 models.py:2445 models.py:2772
msgid "Comment"
msgstr ""
-#: forms_common.py:793 forms_common.py:826 models.py:1036 models.py:1656
-#: models.py:1830 models.py:1872 models.py:2770 templates/sheet_ope.html:128
+#: forms_common.py:793 forms_common.py:826 models.py:1036 models.py:1657
+#: models.py:1831 models.py:1873 models.py:2771 templates/sheet_ope.html:128
msgid "Description"
msgstr ""
-#: forms_common.py:796 models.py:2772
+#: forms_common.py:796 models.py:2773
msgid "Additional information"
msgstr ""
-#: forms_common.py:798 forms_common.py:830 models.py:2774
+#: forms_common.py:798 forms_common.py:830 models.py:2775
msgid "Has a duplicate"
msgstr ""
@@ -463,7 +463,7 @@ msgid ""
"p>"
msgstr ""
-#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2700
+#: forms_common.py:819 forms_common.py:848 forms_common.py:882 models.py:2701
#: templates/ishtar/wizard/wizard_person_deletion.html:124
msgid "Author"
msgstr ""
@@ -476,7 +476,7 @@ msgstr ""
msgid "Would you like to delete this documentation?"
msgstr ""
-#: forms_common.py:856 models.py:2005 models.py:2688 models.py:2697
+#: forms_common.py:856 models.py:2006 models.py:2689 models.py:2698
msgid "Author type"
msgstr ""
@@ -488,7 +488,7 @@ msgstr ""
msgid "There are identical authors."
msgstr ""
-#: forms_common.py:893 models.py:2701 models.py:2753
+#: forms_common.py:893 models.py:2702 models.py:2754
#: templates/sheet_ope.html:106
#: templates/ishtar/blocks/window_tables/documents.html:9
msgid "Authors"
@@ -506,7 +506,7 @@ msgstr ""
msgid "Deletion"
msgstr ""
-#: ishtar_menu.py:39 models.py:1162 views.py:1530
+#: ishtar_menu.py:39 models.py:1163 views.py:1530
msgid "Global variables"
msgstr ""
@@ -534,7 +534,7 @@ msgstr ""
msgid "Manual merge"
msgstr ""
-#: ishtar_menu.py:109 models.py:2172
+#: ishtar_menu.py:109 models.py:2173
msgid "Imports"
msgstr ""
@@ -546,7 +546,7 @@ msgstr ""
msgid "Current imports"
msgstr ""
-#: ishtar_menu.py:120
+#: ishtar_menu.py:120 views.py:1588
msgid "Old imports"
msgstr ""
@@ -562,7 +562,7 @@ msgstr ""
msgid "This item already exists."
msgstr ""
-#: models.py:319 models.py:633 models.py:1401 models.py:1413 models.py:1827
+#: models.py:319 models.py:633 models.py:1402 models.py:1414 models.py:1828
msgid "Label"
msgstr ""
@@ -570,11 +570,11 @@ msgstr ""
msgid "Textual ID"
msgstr ""
-#: models.py:324 models.py:636 models.py:1370
+#: models.py:324 models.py:636 models.py:1371
msgid "Available"
msgstr ""
-#: models.py:655 models.py:1944
+#: models.py:655 models.py:1945
msgid "Key"
msgstr ""
@@ -590,7 +590,7 @@ msgstr ""
msgid "Creator"
msgstr ""
-#: models.py:898 models.py:2837
+#: models.py:898 models.py:2838 models.py:2894
msgid "Order"
msgstr ""
@@ -614,7 +614,7 @@ msgstr ""
msgid "US dollar"
msgstr ""
-#: models.py:1035 models.py:1654
+#: models.py:1035 models.py:1655
msgid "Slug"
msgstr ""
@@ -642,120 +642,124 @@ msgstr ""
msgid "Need finds module"
msgstr ""
-#: models.py:1046
-msgid "Home page"
+#: models.py:1045
+msgid "Mapping module"
msgstr ""
#: models.py:1047
+msgid "Home page"
+msgstr ""
+
+#: models.py:1048
#, 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:1051
+#: models.py:1052
msgid "File external id"
msgstr ""
-#: models.py:1053
+#: models.py:1054
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:1058
+#: models.py:1059
msgid "Parcel external id"
msgstr ""
-#: models.py:1061
+#: models.py:1062
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:1066
+#: models.py:1067
msgid "Context record external id"
msgstr ""
-#: models.py:1068
+#: models.py:1069
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:1073
+#: models.py:1074
msgid "Base find external id"
msgstr ""
-#: models.py:1075
+#: models.py:1076
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:1080
+#: models.py:1081
msgid "Find external id"
msgstr ""
-#: models.py:1082
+#: models.py:1083
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:1087
+#: models.py:1088
msgid "Raw name for person"
msgstr ""
-#: models.py:1089
+#: models.py:1090
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:1093
+#: models.py:1094
msgid "Current active"
msgstr ""
-#: models.py:1094
+#: models.py:1095
msgid "Currency"
msgstr ""
-#: models.py:1098
+#: models.py:1099
msgid "Ishtar site profile"
msgstr ""
-#: models.py:1099
+#: models.py:1100
msgid "Ishtar site profiles"
msgstr ""
-#: models.py:1155
+#: models.py:1156
msgid "Variable name"
msgstr ""
-#: models.py:1156
+#: models.py:1157
msgid "Description of the variable"
msgstr ""
-#: models.py:1158 models.py:1945
+#: models.py:1159 models.py:1946
msgid "Value"
msgstr ""
-#: models.py:1161
+#: models.py:1162
msgid "Global variable"
msgstr ""
-#: models.py:1271 models.py:1301
+#: models.py:1272 models.py:1302
msgid "Total"
msgstr ""
-#: models.py:1278 models.py:1402 models.py:1414
+#: models.py:1279 models.py:1403 models.py:1415
#: templates/ishtar/sheet_person.html:22
#: templates/ishtar/dashboards/dashboard_main_detail.html:141
#: templates/ishtar/dashboards/dashboard_main_detail_users.html:26
@@ -763,617 +767,629 @@ msgstr ""
msgid "Number"
msgstr ""
-#: models.py:1365
+#: models.py:1366
msgid "Administrative Act"
msgstr ""
-#: models.py:1369
+#: models.py:1370
msgid "Associated object"
msgstr ""
-#: models.py:1373
+#: models.py:1374
msgid "Document template"
msgstr ""
-#: models.py:1374
+#: models.py:1375
msgid "Document templates"
msgstr ""
-#: models.py:1405 models.py:1415 models.py:2156
+#: models.py:1406 models.py:1416 models.py:2157
msgid "State"
msgstr ""
-#: models.py:1419 templates/blocks/JQueryAdvancedTown.html:12
+#: models.py:1420 templates/blocks/JQueryAdvancedTown.html:12
msgid "Department"
msgstr ""
-#: models.py:1420
+#: models.py:1421
msgid "Departments"
msgstr ""
-#: models.py:1457
+#: models.py:1458
msgid "Raw phone"
msgstr ""
-#: models.py:1463
+#: models.py:1464
msgid "Alternative address is prefered"
msgstr ""
-#: models.py:1502
+#: models.py:1503
msgid "Tel: "
msgstr ""
-#: models.py:1506
+#: models.py:1507
msgid "Mobile: "
msgstr ""
-#: models.py:1510
+#: models.py:1511
msgid "Email: "
msgstr ""
-#: models.py:1515
+#: models.py:1516
msgid "Merge key"
msgstr ""
-#: models.py:1589
+#: models.py:1590
msgid "Organization types"
msgstr ""
-#: models.py:1608 views.py:237
+#: models.py:1609 views.py:237
msgid "Operation"
msgstr ""
-#: models.py:1610
+#: models.py:1611
msgid "Archaeological site"
msgstr ""
-#: models.py:1611
+#: models.py:1612
msgid "Parcels"
msgstr ""
-#: models.py:1613
+#: models.py:1614
msgid "Operation source"
msgstr ""
-#: models.py:1616 views.py:1346 views.py:1396
+#: models.py:1617 views.py:1346 views.py:1396
msgid "Archaeological files"
msgstr ""
-#: models.py:1618 views.py:1349 views.py:1404
+#: models.py:1619 views.py:1349 views.py:1404
msgid "Context records"
msgstr ""
-#: models.py:1620
+#: models.py:1621
msgid "Context record relations"
msgstr ""
-#: models.py:1622
+#: models.py:1623
msgid "Base finds"
msgstr ""
-#: models.py:1658 templates/ishtar/dashboards/dashboard_main.html:25
+#: models.py:1659 templates/ishtar/dashboards/dashboard_main.html:25
msgid "Users"
msgstr ""
-#: models.py:1660
+#: models.py:1661
msgid "Associated model"
msgstr ""
-#: models.py:1663
+#: models.py:1664
msgid "Is template"
msgstr ""
-#: models.py:1664
+#: models.py:1665
msgid "Unicity keys (separator \";\")"
msgstr ""
-#: models.py:1668
+#: models.py:1669
msgid "Importer - Type"
msgstr ""
-#: models.py:1669
+#: models.py:1670
msgid "Importer - Types"
msgstr ""
-#: models.py:1759
+#: models.py:1760
msgid "Importer - Default"
msgstr ""
-#: models.py:1760
+#: models.py:1761
msgid "Importer - Defaults"
msgstr ""
-#: models.py:1795
+#: models.py:1796
msgid "Importer - Default value"
msgstr ""
-#: models.py:1796
+#: models.py:1797
msgid "Importer - Default values"
msgstr ""
-#: models.py:1829
+#: models.py:1830
msgid "Column number"
msgstr ""
-#: models.py:1832
+#: models.py:1833
msgid "Required"
msgstr ""
-#: models.py:1835
+#: models.py:1836
msgid "Importer - Column"
msgstr ""
-#: models.py:1836
+#: models.py:1837
msgid "Importer - Columns"
msgstr ""
-#: models.py:1856
+#: models.py:1857
msgid "Field name"
msgstr ""
-#: models.py:1858 models.py:1892
+#: models.py:1859 models.py:1893
msgid "Force creation of new items"
msgstr ""
-#: models.py:1860 models.py:1894
+#: models.py:1861 models.py:1895
msgid "Concatenate with existing"
msgstr ""
-#: models.py:1862 models.py:1896
+#: models.py:1863 models.py:1897
msgid "Concatenate character"
msgstr ""
-#: models.py:1866
+#: models.py:1867
msgid "Importer - Duplicate field"
msgstr ""
-#: models.py:1867
+#: models.py:1868
msgid "Importer - Duplicate fields"
msgstr ""
-#: models.py:1874
+#: models.py:1875
msgid "Regular expression"
msgstr ""
-#: models.py:1877
+#: models.py:1878
msgid "Importer - Regular expression"
msgstr ""
-#: models.py:1878
+#: models.py:1879
msgid "Importer - Regular expressions"
msgstr ""
-#: models.py:1901
+#: models.py:1902
msgid "Importer - Target"
msgstr ""
-#: models.py:1902
+#: models.py:1903
msgid "Importer - Targets"
msgstr ""
-#: models.py:1926 views.py:536
+#: models.py:1927 views.py:536
msgid "True"
msgstr ""
-#: models.py:1927 views.py:538
+#: models.py:1928 views.py:538
msgid "False"
msgstr ""
-#: models.py:1946
+#: models.py:1947
msgid "Is set"
msgstr ""
-#: models.py:1953
+#: models.py:1954
msgid "Importer - Target key"
msgstr ""
-#: models.py:1954
+#: models.py:1955
msgid "Importer - Targets keys"
msgstr ""
-#: models.py:2006 models.py:2736 models.py:2749
+#: models.py:2007 models.py:2737 models.py:2750
msgid "Format"
msgstr ""
-#: models.py:2007 models.py:2841
+#: models.py:2008 models.py:2842
msgid "Operation type"
msgstr ""
-#: models.py:2008
+#: models.py:2009
msgid "Period"
msgstr ""
-#: models.py:2009
+#: models.py:2010
msgid "Report state"
msgstr ""
-#: models.py:2010
+#: models.py:2011
msgid "Remain type"
msgstr ""
-#: models.py:2011
+#: models.py:2012
msgid "Unit"
msgstr ""
-#: models.py:2012
+#: models.py:2013
msgid "Activity type"
msgstr ""
-#: models.py:2013
+#: models.py:2014
msgid "Material"
msgstr ""
-#: models.py:2015
+#: models.py:2016
msgid "Conservatory state"
msgstr ""
-#: models.py:2016
+#: models.py:2017
msgid "Preservation type"
msgstr ""
-#: models.py:2017
+#: models.py:2018
msgid "Object type"
msgstr ""
-#: models.py:2019
+#: models.py:2020
msgid "Identification type"
msgstr ""
-#: models.py:2021
+#: models.py:2022
msgid "Context record relation type"
msgstr ""
-#: models.py:2022 models.py:2728
+#: models.py:2023 models.py:2729
msgid "Support type"
msgstr ""
-#: models.py:2028
+#: models.py:2029
msgid "Integer"
msgstr ""
-#: models.py:2029
+#: models.py:2030
msgid "Float"
msgstr ""
-#: models.py:2030
+#: models.py:2031
msgid "String"
msgstr ""
-#: models.py:2031 templates/sheet_ope.html:86
+#: models.py:2032 templates/sheet_ope.html:86
msgid "Date"
msgstr ""
-#: models.py:2033 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
+#: models.py:2034 templates/sheet_ope.html:61 templates/sheet_ope.html.py:83
#: templates/ishtar/dashboards/dashboard_main_detail.html:126
msgid "Year"
msgstr ""
-#: models.py:2034
+#: models.py:2035
msgid "String to boolean"
msgstr ""
-#: models.py:2035
+#: models.py:2036
msgctxt "filesystem"
msgid "File"
msgstr ""
-#: models.py:2036
+#: models.py:2037
msgid "Unknow type"
msgstr ""
-#: models.py:2052
+#: models.py:2053
msgid "4 digit year. e.g.: \"2015\""
msgstr ""
-#: models.py:2053
+#: models.py:2054
msgid "4 digit year/month/day. e.g.: \"2015/02/04\""
msgstr ""
-#: models.py:2054
+#: models.py:2055
msgid "Day/month/4 digit year. e.g.: \"04/02/2015\""
msgstr ""
-#: models.py:2064
+#: models.py:2065
msgid "Options"
msgstr ""
-#: models.py:2066
+#: models.py:2067
msgid "Split character(s)"
msgstr ""
-#: models.py:2070
+#: models.py:2071
msgid "Importer - Formater type"
msgstr ""
-#: models.py:2071
+#: models.py:2072
msgid "Importer - Formater types"
msgstr ""
-#: models.py:2120 templates/ishtar/dashboards/dashboard_main_detail.html:63
+#: models.py:2121 templates/ishtar/dashboards/dashboard_main_detail.html:63
msgid "Created"
msgstr ""
-#: models.py:2121
+#: models.py:2122
msgid "Analyse in progress"
msgstr ""
-#: models.py:2122
+#: models.py:2123
msgid "Analysed"
msgstr ""
-#: models.py:2123
+#: models.py:2124
msgid "Import pending"
msgstr ""
-#: models.py:2124
+#: models.py:2125
msgid "Import in progress"
msgstr ""
-#: models.py:2125
+#: models.py:2126
msgid "Finished with errors"
msgstr ""
-#: models.py:2126
+#: models.py:2127
msgid "Finished"
msgstr ""
-#: models.py:2127
+#: models.py:2128
msgid "Archived"
msgstr ""
-#: models.py:2139
+#: models.py:2140
msgid "Imported file"
msgstr ""
-#: models.py:2142
+#: models.py:2143
msgid "Associated images (zip file)"
msgstr ""
-#: models.py:2144
+#: models.py:2145
msgid "Encoding"
msgstr ""
-#: models.py:2146
+#: models.py:2147
msgid "Skip lines"
msgstr ""
-#: models.py:2147 templates/ishtar/import_list.html:47
+#: models.py:2148 templates/ishtar/import_list.html:47
msgid "Error file"
msgstr ""
-#: models.py:2150
+#: models.py:2151
msgid "Result file"
msgstr ""
-#: models.py:2153 templates/ishtar/import_list.html:53
+#: models.py:2154 templates/ishtar/import_list.html:53
msgid "Match file"
msgstr ""
-#: models.py:2159
+#: models.py:2160
msgid "Conservative import"
msgstr ""
-#: models.py:2164
+#: models.py:2165
msgid "End date"
msgstr ""
-#: models.py:2166
+#: models.py:2167
msgid "Remaining seconds"
msgstr ""
-#: models.py:2171
+#: models.py:2172
msgid "Import"
msgstr ""
-#: models.py:2188
+#: models.py:2189
msgid "Analyse"
msgstr ""
-#: models.py:2190 models.py:2193
+#: models.py:2191 models.py:2194
msgid "Re-analyse"
msgstr ""
-#: models.py:2191
+#: models.py:2192
msgid "Launch import"
msgstr ""
-#: models.py:2194
+#: models.py:2195
msgid "Re-import"
msgstr ""
-#: models.py:2195
+#: models.py:2196
msgid "Archive"
msgstr ""
-#: models.py:2197
+#: models.py:2198
msgid "Unarchive"
msgstr ""
-#: models.py:2198 widgets.py:129 templates/ishtar/form_delete.html:11
+#: models.py:2199 widgets.py:130 templates/ishtar/form_delete.html:11
msgid "Delete"
msgstr ""
-#: models.py:2339
+#: models.py:2340
msgid "Organizations"
msgstr ""
-#: models.py:2341
+#: models.py:2342
msgid "Can view all Organizations"
msgstr ""
-#: models.py:2342
+#: models.py:2343
msgid "Can view own Organization"
msgstr ""
-#: models.py:2343
+#: models.py:2344
msgid "Can add own Organization"
msgstr ""
-#: models.py:2345
+#: models.py:2346
msgid "Can change own Organization"
msgstr ""
-#: models.py:2347
+#: models.py:2348
msgid "Can delete own Organization"
msgstr ""
-#: models.py:2382
+#: models.py:2383
msgid "Groups"
msgstr ""
-#: models.py:2387
+#: models.py:2388
msgid "Person types"
msgstr ""
-#: models.py:2398
+#: models.py:2399
msgid "Title type"
msgstr ""
-#: models.py:2399
+#: models.py:2400
msgid "Title types"
msgstr ""
-#: models.py:2408
+#: models.py:2409
msgid "Mr"
msgstr ""
-#: models.py:2409
+#: models.py:2410
msgid "Miss"
msgstr ""
-#: models.py:2410
+#: models.py:2411
msgid "Mr and Mrs"
msgstr ""
-#: models.py:2411
+#: models.py:2412
msgid "Mrs"
msgstr ""
-#: models.py:2412
+#: models.py:2413
msgid "Doctor"
msgstr ""
-#: models.py:2442
+#: models.py:2443
msgid "Contact type"
msgstr ""
-#: models.py:2445 models.py:2509
+#: models.py:2446 models.py:2510
msgid "Types"
msgstr ""
-#: models.py:2448
+#: models.py:2449
msgid "Is attached to"
msgstr ""
-#: models.py:2453
+#: models.py:2454
msgid "Persons"
msgstr ""
-#: models.py:2455
+#: models.py:2456
msgid "Can view all Persons"
msgstr ""
-#: models.py:2456
+#: models.py:2457
msgid "Can view own Person"
msgstr ""
-#: models.py:2457
+#: models.py:2458
msgid "Can add own Person"
msgstr ""
-#: models.py:2458
+#: models.py:2459
msgid "Can change own Person"
msgstr ""
-#: models.py:2459
+#: models.py:2460
msgid "Can delete own Person"
msgstr ""
-#: models.py:2637
+#: models.py:2638
msgid "Advanced shortcut menu"
msgstr ""
-#: models.py:2640
+#: models.py:2641
msgid "Ishtar user"
msgstr ""
-#: models.py:2641
+#: models.py:2642
msgid "Ishtar users"
msgstr ""
-#: models.py:2683
+#: models.py:2684
msgid "To modify the password use the form in Auth > User"
msgstr ""
-#: models.py:2689
+#: models.py:2690
msgid "Author types"
msgstr ""
-#: models.py:2721
+#: models.py:2722
msgid "Source types"
msgstr ""
-#: models.py:2729
+#: models.py:2730
msgid "Support types"
msgstr ""
-#: models.py:2737
+#: models.py:2738
msgid "Formats"
msgstr ""
-#: models.py:2744
+#: models.py:2745
msgid "External ID"
msgstr ""
-#: models.py:2747
+#: models.py:2748
msgid "Support"
msgstr ""
-#: models.py:2751
+#: models.py:2752
msgid "Scale"
msgstr ""
-#: models.py:2765
+#: models.py:2766
msgid "Item number"
msgstr ""
-#: models.py:2766
+#: models.py:2767
msgid "Ref."
msgstr ""
-#: models.py:2769
+#: models.py:2770
msgid "Internal ref."
msgstr ""
-#: models.py:2812
+#: models.py:2813
msgid "Surface (m2)"
msgstr ""
-#: models.py:2813 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
+#: models.py:2814 templates/sheet_ope.html:46 templates/sheet_ope.html.py:107
msgid "Localisation"
msgstr ""
-#: models.py:2838
+#: models.py:2839
msgid "Is preventive"
msgstr ""
-#: models.py:2842
+#: models.py:2843
msgid "Operation types"
msgstr ""
-#: models.py:2871
+#: models.py:2872
msgid "Preventive"
msgstr ""
-#: models.py:2872
+#: models.py:2873
msgid "Research"
msgstr ""
-#: utils.py:81
+#: models.py:2895
+msgid "SRID"
+msgstr ""
+
+#: models.py:2898
+msgid "Spatial reference system"
+msgstr ""
+
+#: models.py:2899
+msgid "Spatial reference systems"
+msgstr ""
+
+#: utils.py:83
msgid " (...)"
msgstr ""
-#: utils.py:114
+#: utils.py:116
msgid "Load another random image?"
msgstr ""
@@ -1446,47 +1462,47 @@ msgstr ""
msgid "Finds"
msgstr ""
-#: views.py:1599 templates/ishtar/import_list.html:43
+#: views.py:1600 templates/ishtar/import_list.html:43
msgid "Link unmatched items"
msgstr ""
-#: views.py:1614
+#: views.py:1615
msgid "Delete import"
msgstr ""
-#: views.py:1653
+#: views.py:1654
msgid "Merge persons"
msgstr ""
-#: views.py:1677
+#: views.py:1678
msgid "Select the main person"
msgstr ""
-#: views.py:1686
+#: views.py:1687
msgid "Merge organization"
msgstr ""
-#: views.py:1696
+#: views.py:1697
msgid "Select the main organization"
msgstr ""
-#: views.py:1736 views.py:1752
+#: views.py:1737 views.py:1753
msgid "Corporation manager"
msgstr ""
-#: widgets.py:258 widgets.py:365 widgets.py:480
+#: widgets.py:259 widgets.py:366 widgets.py:481
msgid "Search..."
msgstr ""
-#: widgets.py:670 templatetags/window_tables.py:91
+#: widgets.py:671 templatetags/window_tables.py:91
msgid "No results"
msgstr ""
-#: widgets.py:671 templatetags/window_tables.py:92
+#: widgets.py:672 templatetags/window_tables.py:92
msgid "Loading..."
msgstr ""
-#: widgets.py:672
+#: widgets.py:673
msgid "Remove"
msgstr ""
diff --git a/ishtar_common/migrations/0018_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py b/ishtar_common/migrations/0018_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
new file mode 100644
index 000000000..2c1dc8a49
--- /dev/null
+++ b/ishtar_common/migrations/0018_auto__add_spatialreferencesystem__add_field_ishtarsiteprofile_mapping.py
@@ -0,0 +1,491 @@
+# -*- 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 model 'SpatialReferenceSystem'
+ db.create_table('ishtar_common_spatialreferencesystem', (
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('label', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)),
+ ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=True)),
+ ('order', self.gf('django.db.models.fields.IntegerField')(default=10)),
+ ('srid', self.gf('django.db.models.fields.IntegerField')()),
+ ))
+ db.send_create_signal('ishtar_common', ['SpatialReferenceSystem'])
+
+ # Adding field 'IshtarSiteProfile.mapping'
+ db.add_column('ishtar_common_ishtarsiteprofile', 'mapping',
+ self.gf('django.db.models.fields.BooleanField')(default=False),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting model 'SpatialReferenceSystem'
+ db.delete_table('ishtar_common_spatialreferencesystem')
+
+ # Deleting field 'IshtarSiteProfile.mapping'
+ db.delete_column('ishtar_common_ishtarsiteprofile', 'mapping')
+
+
+ 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']"}),
+ 'label': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+ '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', [], {}),
+ 'mapping': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ '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.spatialreferencesystem': {
+ 'Meta': {'ordering': "('label',)", 'object_name': 'SpatialReferenceSystem'},
+ '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': '10'}),
+ 'srid': ('django.db.models.fields.IntegerField', [], {}),
+ '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 ccb817adc..7451d9b33 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1042,6 +1042,7 @@ class IshtarSiteProfile(models.Model, Cached):
warehouse = models.BooleanField(
_(u"Warehouses module"), default=False,
help_text=_(u"Need finds module"))
+ mapping = models.BooleanField(_(u"Mapping module"), default=False)
homepage = models.TextField(
_(u"Home page"), null=True, blank=True,
help_text=_(u"Homepage of Ishtar - if not defined a default homepage "
@@ -2887,3 +2888,15 @@ class OperationType(GeneralType):
return key == op_type.txt_idx
post_save.connect(post_save_cache, sender=OperationType)
post_delete.connect(post_save_cache, sender=OperationType)
+
+
+class SpatialReferenceSystem(GeneralType):
+ order = models.IntegerField(_(u"Order"), default=10)
+ srid = models.IntegerField(_(u"SRID"))
+
+ class Meta:
+ verbose_name = _(u"Spatial reference system")
+ verbose_name_plural = _(u"Spatial reference systems")
+ ordering = ('label',)
+post_save.connect(post_save_cache, sender=SpatialReferenceSystem)
+post_delete.connect(post_save_cache, sender=SpatialReferenceSystem)
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index 9b3c85694..ddd9268ce 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -20,7 +20,9 @@
import hashlib
import random
+from django import forms
from django.conf import settings
+from django.contrib.gis.geos import GEOSGeometry
from django.core.cache import cache
from django.core.urlresolvers import reverse
from django.utils.safestring import mark_safe
@@ -151,3 +153,39 @@ def get_random_item_image_link(request):
image_nb - ope_image_nb - cr_image_nb])
# should never happen except in case of deletion during the excution
return ''
+
+
+def convert_coordinates_to_point(x, y, z=None, srid=4326):
+ if z:
+ geom = GEOSGeometry('POINT({} {} {})'.format(x, y, z), srid=srid)
+ else:
+ geom = GEOSGeometry('POINT({} {})'.format(x, y), srid=srid)
+ if not geom.valid:
+ raise forms.ValidationError(geom.valid_reason)
+ return geom
+
+
+def post_save_point(sender, **kwargs):
+ """
+ Convert raw x, y, z point to real geo field
+ """
+ if not kwargs.get('instance'):
+ return
+ instance = kwargs.get('instance')
+ point = None
+ point_2d = None
+ if instance.x and instance.y and \
+ instance.spatial_reference_system and \
+ instance.spatial_reference_system.srid != 0:
+ point_2d = convert_coordinates_to_point(
+ instance.x, instance.y, srid=instance.spatial_reference_system.srid)
+ if instance.z:
+ point = convert_coordinates_to_point(
+ instance.x, instance.y, instance.z,
+ srid=instance.spatial_reference_system.srid)
+ if point_2d != instance.point_2d or point != instance.point:
+ instance.point = point
+ instance.point_2d = point_2d
+ instance.skip_history_when_saving = True
+ instance.save()
+ return
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index d827ae065..c4525b18b 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -1585,6 +1585,7 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView):
class ImportOldListView(ImportListView):
+ page_name = _(u"Old imports")
current_url = 'old_imports'
def get_queryset(self):