From f09a00dddb0ae015f024f6b1a603b6d3969ab732 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 21 May 2015 14:34:03 +0200 Subject: OSM import: truncate cooordinate to conform to XAPI API --- chimere/static/chimere/js/importer_interface.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chimere/static/chimere/js/importer_interface.js b/chimere/static/chimere/js/importer_interface.js index 65bcf8c..4c6e29d 100644 --- a/chimere/static/chimere/js/importer_interface.js +++ b/chimere/static/chimere/js/importer_interface.js @@ -118,10 +118,10 @@ django.jQuery(function($) { value = $('input[name=id_filtr_type]:checked').val(); value += '[' + $("#id_filtr_tag").val() + ']'; value += '[bbox='; - value += $('#upper_left_lon').val() + ','; - value += $('#lower_right_lat').val() + ','; - value += $('#lower_right_lon').val() + ','; - value += $('#upper_left_lat').val(); + value += Number($('#upper_left_lon').val()).toFixed(6) + ','; + value += Number($('#lower_right_lat').val()).toFixed(6) + ','; + value += Number($('#lower_right_lon').val()).toFixed(6) + ','; + value += Number($('#upper_left_lat').val()).toFixed(6); value += ']'; $('#id_filtr').val(value); return false; -- cgit v1.2.3 From 126affc426744c2d6afdce06a1eb807343c1c65a Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 21 May 2015 17:36:17 +0200 Subject: Imports: "modified_since_import" now take description, start_date into account --- chimere/models.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/chimere/models.py b/chimere/models.py index 5727098..74555ae 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -697,7 +697,8 @@ class Marker(GeographicItem): PRE_ATTRS = { - 'Marker':('name', 'geometry', 'import_version', 'modified_since_import'), + 'Marker':('name', 'description', 'start_date', 'geometry', 'import_version', + 'modified_since_import'), 'Route':('name', 'geometry', 'import_version', 'modified_since_import'), 'Area':('urn', 'name'), } @@ -708,8 +709,9 @@ def geometry_pre_save(cls, pre_save_geom_values): instance = kwargs['instance'] try: instance = cls.objects.get(pk=instance.pk) - pre_save_geom_values[instance.pk] = [getattr(instance, attr) - for attr in PRE_ATTRS[cls.__name__]] + pre_save_geom_values[instance.pk] = dict( + [(attr, getattr(instance, attr)) + for attr in PRE_ATTRS[cls.__name__]]) except ObjectDoesNotExist: pass return geom_pre_save @@ -727,19 +729,20 @@ def geometry_post_save(pre_save_geom_values): or kwargs['instance'].pk not in pre_save_geom_values: return instance = kwargs['instance'] - name, geometry, import_version, modified_since_import = \ - pre_save_geom_values[instance.pk] + pre = pre_save_geom_values[instance.pk] # force the reinit of modified_since_import - if modified_since_import != instance.modified_since_import: + if pre['modified_since_import'] != instance.modified_since_import: return - if (instance.import_version != import_version + if (instance.import_version != pre['import_version'] and instance.modified_since_import): instance.modified_since_import = False instance.save() return if instance.modified_since_import: return - if instance.name != name or instance.geometry != geometry: + if [key for key in pre if pre not in ('import_version', + 'modified_since_import') and + getattr(instance, key) != pre[key]]: instance.modified_since_import = True instance.save() return geom_post_save -- cgit v1.2.3 From f8c2ecf2fe3aa78c64b2fa3b29979fe55e5636cf Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 21 May 2015 18:36:19 +0200 Subject: Fix modified_since_import in imports --- chimere/models.py | 7 ++++++- chimere/utils.py | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/chimere/models.py b/chimere/models.py index 74555ae..36a9e4b 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -466,7 +466,12 @@ class GeographicItem(models.Model): if not _set: new_keys += '%s:%s;' % (key, value) self.import_key = new_keys + modified_since_import = self.modified_since_import self.save() + # preserve modified_since_import + if modified_since_import != self.modified_since_import: + self.modified_since_import = modified_since_import + self.save() def has_modified(self): if (self.ref_item and self.ref_item != self) \ @@ -747,7 +752,7 @@ def geometry_post_save(pre_save_geom_values): instance.save() return geom_post_save def marker_post_save(sender, **kwargs): - if not kwargs['instance']: + if not kwargs['instance'] or kwargs['created']: return geometry_post_save(pre_save_marker_values)(sender, **kwargs) post_save.connect(marker_post_save, sender=Marker) diff --git a/chimere/utils.py b/chimere/utils.py index 55fc45c..5b34e9c 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -131,6 +131,8 @@ class ImportManager(object): values['has_associated_marker'] = False try: item = cls.objects.create(**values) + item.modified_since_import = False + item.save() except TypeError: # error on data source return None, False, False -- cgit v1.2.3 From 5fe6d580e85dc7208f48c89e417290cee7ec9d33 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 21 May 2015 18:41:20 +0200 Subject: Do not re-import modified since import --- chimere/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chimere/utils.py b/chimere/utils.py index 5b34e9c..a765c32 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -100,7 +100,7 @@ class ImportManager(object): return ref_item, None, None if not self.importer_instance.overwrite \ and ref_item.modified_since_import: - dct_import['ref_item'] = ref_item + return ref_item, None, None else: item = ref_item for k in values: -- cgit v1.2.3 From 7f62e7d756265c88556d0afd8aa9ae6c941dfe5f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 22 May 2015 20:39:37 +0200 Subject: HTML/XML imports: origin is a link with target blank --- chimere/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chimere/utils.py b/chimere/utils.py index a765c32..2fe5fb4 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -1065,7 +1065,7 @@ class HtmlXsltManager(ImportManager): not "point" in item and not ("lat" in item and item['lat']): return cls = None - dct = {'origin':"%s" % (item['link'], + dct = {'origin':"%s" % (item['link'], self.importer_instance.origin), 'license':self.importer_instance.license, 'name':item['name']} -- cgit v1.2.3 From 7252ff1780351457fb785cdc78d89005b8c2cc12 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 30 May 2015 19:09:51 +0200 Subject: Remove routing for simple maps --- chimere/templates/chimere/blocks/map_menu.html | 2 +- chimere/templatetags/chimere_tags.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/chimere/templates/chimere/blocks/map_menu.html b/chimere/templates/chimere/blocks/map_menu.html index 38fb4a8..02f415a 100644 --- a/chimere/templates/chimere/blocks/map_menu.html +++ b/chimere/templates/chimere/blocks/map_menu.html @@ -1,7 +1,7 @@ {% load i18n %}
    - {% if routing %} + {% if routing and not simple %}
  • {% trans "From" context "routing" %}
  • {% trans "Add a step" context "routing" %}
  • {% trans "To" context "routing" %}
  • diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index 15b8afa..2b78839 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -171,7 +171,8 @@ def head_form(): @register.inclusion_tag('chimere/blocks/map_menu.html', takes_context=True) def map_menu(context): context_data = {'routing': settings.CHIMERE_ENABLE_ROUTING \ - if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') else False} + if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') else False, + 'simple':context.get('simple')} return context_data @register.inclusion_tag('chimere/blocks/routing.html', takes_context=True) -- cgit v1.2.3 From 893054de5c4c436af2b2c4b486366eecc923d198 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sun, 31 May 2015 16:00:11 +0200 Subject: JS: fix reinitialization of clustering after dialog closing --- chimere/static/chimere/js/jquery.chimere.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index c9f02af..524767b 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -43,7 +43,6 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { else return v; }; })( jQuery ); - (function ($) { /* * Chimere jQuery plugin @@ -547,6 +546,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { content += "
"; $('#cluster_list').html(content); $('#cluster_list').dialog('open'); + $("#cluster_list").on("dialogclose", methods.cleanCluster); settings.map.setCenter( feature.geometry.getBounds().getCenterLonLat()); // register after the display -- cgit v1.2.3 From 338dbb2f83e1549371c367102bbb156360bba221 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 13 Jul 2015 11:49:31 +0200 Subject: JS: fix catagory change when a popup is open --- chimere/static/chimere/js/jquery.chimere.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 524767b..a4b1321 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -712,7 +712,6 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { } else { par.removeClass('selected'); } - methods.hidePopup(e); methods.loadGeoObjects(); _toggle_categories($(this)); settings.permalink.updateLink(); @@ -720,6 +719,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { $('#layer_cat_'+c_name).prop("checked", this.checked); } + methods.hidePopup(e); }); $('#display_submited_check').bind("click", function () { methods.loadGeoObjects(); -- cgit v1.2.3 From 34f46a933020740a63d2a80d025787aaa30c99e7 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 14 Jul 2015 10:49:12 +0200 Subject: Fix property representation when empty --- chimere/models.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chimere/models.py b/chimere/models.py index 36a9e4b..2f30892 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -1593,6 +1593,8 @@ class Property(models.Model): value = models.TextField(_(u"Value")) def __unicode__(self): if self.propertymodel.type == 'C': + if not self.value: + return '' try: return unicode(PropertyModelChoice.objects.get( pk=self.value).value) -- cgit v1.2.3 From 744633f3153ac5cf647e0d9691666a3e691cb426 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 6 Jun 2015 11:15:06 +0200 Subject: JS: add a method for new JSON items --- chimere/static/chimere/js/jquery.chimere.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index a4b1321..0af3f47 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -983,6 +983,20 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { cleanRoute: function(){ settings.layerVectors.removeAllFeatures(); }, + // add json layer + addJSON: function(json_url){ + settings.layerJson = new OpenLayers.Layer.Vector("GeoJSON", { + projection: EPSG_PROJECTION, + strategies: [new OpenLayers.Strategy.Fixed()], + protocol: new OpenLayers.Protocol.HTTP({ + url: json_url, + format: new OpenLayers.Format.GeoJSON() + }) + }); + settings.map.addLayer(settings.layerJson); + settings.map.zoomToExtent(settings.layerJson.getDataExtent()); + // settings.layerJson.setOpacity(0.5); + }, // Put a route on the map addRoute: function(route) { var polyline = route.geometry; -- cgit v1.2.3 From fd28c2563a802775fa8d45639a1a60c29d67e999 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 27 Jul 2015 16:56:40 +0200 Subject: JS: remove automatic zoom on JSON loading --- chimere/static/chimere/js/jquery.chimere.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 0af3f47..16a7832 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -986,16 +986,15 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { // add json layer addJSON: function(json_url){ settings.layerJson = new OpenLayers.Layer.Vector("GeoJSON", { - projection: EPSG_PROJECTION, - strategies: [new OpenLayers.Strategy.Fixed()], + projection: EPSG_DISPLAY_PROJECTION, + strategies: [new OpenLayers.Strategy.BBOX()], protocol: new OpenLayers.Protocol.HTTP({ url: json_url, format: new OpenLayers.Format.GeoJSON() }) }); settings.map.addLayer(settings.layerJson); - settings.map.zoomToExtent(settings.layerJson.getDataExtent()); - // settings.layerJson.setOpacity(0.5); + settings.layerJson.setOpacity(0.8); }, // Put a route on the map addRoute: function(route) { -- cgit v1.2.3 From 8b2270ff8ebb5512d94c60604272d61ea8f8d549 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 28 Jul 2015 18:19:50 +0200 Subject: JS: put by default JSON layer to the bottom (without that the marker layer not working anymore) --- chimere/static/chimere/js/jquery.chimere.js | 1 + 1 file changed, 1 insertion(+) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 16a7832..3253c13 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -994,6 +994,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { }) }); settings.map.addLayer(settings.layerJson); + settings.map.setLayerIndex(settings.layerJson, 0); settings.layerJson.setOpacity(0.8); }, // Put a route on the map -- cgit v1.2.3 From bfeab1a4d50e6d8a941a9de7b034d86d7704926d Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 28 Jul 2015 21:02:52 +0200 Subject: XSLT import : default link --- chimere/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chimere/utils.py b/chimere/utils.py index 2fe5fb4..d898759 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -1065,7 +1065,8 @@ class HtmlXsltManager(ImportManager): not "point" in item and not ("lat" in item and item['lat']): return cls = None - dct = {'origin':"%s" % (item['link'], + dct = {'origin':"%s" % ( + item.get('link') or '#', self.importer_instance.origin), 'license':self.importer_instance.license, 'name':item['name']} -- cgit v1.2.3 From 33a658752352be3b95d31bba87a1c9f00d565edd Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 30 Jul 2015 13:26:04 +0200 Subject: JS: adapt JSON layer --- chimere/static/chimere/js/jquery.chimere.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 3253c13..728bc00 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -985,17 +985,25 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { }, // add json layer addJSON: function(json_url){ + var jsonStyle = new OpenLayers.Style({ + 'strokeWidth':1, + 'fillColor':'#BBBBBB', + 'strokeColor':'#AAAAAA' + }); + + var jsonStyleMap = new OpenLayers.StyleMap({'default': jsonStyle}); settings.layerJson = new OpenLayers.Layer.Vector("GeoJSON", { projection: EPSG_DISPLAY_PROJECTION, - strategies: [new OpenLayers.Strategy.BBOX()], + strategies: [new OpenLayers.Strategy.Fixed()], protocol: new OpenLayers.Protocol.HTTP({ url: json_url, format: new OpenLayers.Format.GeoJSON() - }) + }), + styleMap: jsonStyleMap }); settings.map.addLayer(settings.layerJson); settings.map.setLayerIndex(settings.layerJson, 0); - settings.layerJson.setOpacity(0.8); + settings.layerJson.setOpacity(0.6); }, // Put a route on the map addRoute: function(route) { -- cgit v1.2.3 From a1e080dc1e0de5e7673fe19a471cd3e8116e3889 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 11 Aug 2015 11:32:03 +0200 Subject: JS: change JSON layer transparency --- chimere/static/chimere/js/jquery.chimere.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 728bc00..41fe484 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -1003,7 +1003,7 @@ OpenLayers.Layer.MapQuestOSM = OpenLayers.Class(OpenLayers.Layer.XYZ, { }); settings.map.addLayer(settings.layerJson); settings.map.setLayerIndex(settings.layerJson, 0); - settings.layerJson.setOpacity(0.6); + settings.layerJson.setOpacity(0.4); }, // Put a route on the map addRoute: function(route) { -- cgit v1.2.3 From 4dc29d3286a34b8dc428d69a138b6eb6ac97461e Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 13 Aug 2015 10:48:09 +0200 Subject: Admin: add a filter when no category is available --- chimere/admin.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/chimere/admin.py b/chimere/admin.py index b8414dc..47e7e25 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -25,6 +25,7 @@ import datetime from django import forms from django.conf import settings from django.contrib import admin, messages +from django.contrib.admin import SimpleListFilter from django.core.exceptions import ObjectDoesNotExist from django.db.models import Q from django.http import HttpResponse, HttpResponseRedirect @@ -176,13 +177,30 @@ class MultimediaInline(admin.TabularInline): ordering = ('order',) form = MultimediaFileAdminForm +class HasCategoriesListFilter(SimpleListFilter): + title = _('Has categories') + parameter_name = 'has_category' + + def lookups(self, request, model_admin): + return ( + ('true', _('Yes')), + ('false', _('No')), + ) + + def queryset(self, request, queryset): + if self.value() == 'false': + return queryset.filter(categories__isnull=True) + else: + return queryset.exclude(categories__isnull=True) + class MarkerAdmin(admin.ModelAdmin): """ Specialized the Point field. """ search_fields = ("name",) list_display = ('name', 'status', 'start_date', 'end_date') - list_filter = ('status', 'categories', 'start_date', 'end_date') + list_filter = ('status', 'categories', HasCategoriesListFilter, + 'start_date', 'end_date') actions = [validate, disable, managed_modified, export_to_kml, export_to_shapefile, export_to_csv] exclude = ['submiter_session_key', 'import_key', 'import_version', -- cgit v1.2.3 From 9d0ff9f26f5b71c2e3d02451e8240472b29a2134 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 13 Aug 2015 11:48:05 +0200 Subject: Admin: fix has_category doesn't have to filter by true by default --- chimere/admin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chimere/admin.py b/chimere/admin.py index 47e7e25..e94f22f 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -190,8 +190,9 @@ class HasCategoriesListFilter(SimpleListFilter): def queryset(self, request, queryset): if self.value() == 'false': return queryset.filter(categories__isnull=True) - else: + elif self.value() == 'true': return queryset.exclude(categories__isnull=True) + return queryset class MarkerAdmin(admin.ModelAdmin): """ -- cgit v1.2.3 From 5d2cac2cb5a03c8f55a2396e4c4ce13911a9149c Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 23 Sep 2015 23:33:10 +0200 Subject: Imports: specify the status used by default during imports --- ...0009_auto__add_field_importer_default_status.py | 289 +++++++++++++++++++++ chimere/models.py | 16 +- chimere/static/chimere/js/importer_interface.js | 16 +- chimere/utils.py | 3 +- 4 files changed, 308 insertions(+), 16 deletions(-) create mode 100644 chimere/migrations/0009_auto__add_field_importer_default_status.py diff --git a/chimere/migrations/0009_auto__add_field_importer_default_status.py b/chimere/migrations/0009_auto__add_field_importer_default_status.py new file mode 100644 index 0000000..e29c599 --- /dev/null +++ b/chimere/migrations/0009_auto__add_field_importer_default_status.py @@ -0,0 +1,289 @@ +# -*- 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 'Importer.default_status' + db.add_column('chimere_importer', 'default_status', + self.gf('django.db.models.fields.CharField')(default='I', max_length=1), + keep_default=False) + + + def backwards(self, orm): + # Deleting field 'Importer.default_status' + db.delete_column('chimere_importer', 'default_status') + + + models = { + 'chimere.aggregatedroute': { + 'Meta': {'object_name': 'AggregatedRoute', 'db_table': "'chimere_aggregated_routes'", 'managed': 'False'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'route': ('django.contrib.gis.db.models.fields.MultiLineStringField', [], {}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'subcategory': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.SubCategory']"}) + }, + 'chimere.area': { + 'Meta': {'ordering': "('order', 'name')", 'object_name': 'Area'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'default': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'default_subcategories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False', 'blank': 'True'}), + 'dynamic_categories': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'external_css': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layers': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'areas'", 'blank': 'True', 'through': "orm['chimere.AreaLayers']", 'to': "orm['chimere.Layer']"}), + 'lower_right_corner': ('django.contrib.gis.db.models.fields.PointField', [], {'default': "'POINT(0 0)'"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'order': ('django.db.models.fields.IntegerField', [], {'unique': 'True'}), + 'restrict_to_extent': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'subcategories': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'areas'", 'blank': 'True', 'db_table': "'chimere_subcategory_areas'", 'to': "orm['chimere.SubCategory']"}), + 'upper_left_corner': ('django.contrib.gis.db.models.fields.PointField', [], {'default': "'POINT(0 0)'"}), + 'urn': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'blank': 'True'}), + 'welcome_message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) + }, + 'chimere.arealayers': { + 'Meta': {'ordering': "('order',)", 'object_name': 'AreaLayers'}, + 'area': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Area']"}), + 'default': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Layer']"}), + 'order': ('django.db.models.fields.IntegerField', [], {}) + }, + 'chimere.category': { + 'Meta': {'ordering': "['order']", 'object_name': 'Category'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'order': ('django.db.models.fields.IntegerField', [], {}) + }, + 'chimere.color': { + 'Meta': {'ordering': "['order']", 'object_name': 'Color'}, + 'code': ('django.db.models.fields.CharField', [], {'max_length': '6'}), + 'color_theme': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.ColorTheme']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {}) + }, + 'chimere.colortheme': { + 'Meta': {'object_name': 'ColorTheme'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}) + }, + 'chimere.icon': { + 'Meta': {'object_name': 'Icon'}, + 'height': ('django.db.models.fields.IntegerField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'width': ('django.db.models.fields.IntegerField', [], {}) + }, + 'chimere.importer': { + 'Meta': {'object_name': 'Importer'}, + 'associate_marker_to_way': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'automatic_update': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'categories': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'to': "orm['chimere.SubCategory']", 'null': 'True', 'blank': 'True'}), + 'default_description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'default_localisation': ('chimere.widgets.PointField', [], {'null': 'True', 'blank': 'True'}), + 'default_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'default_status': ('django.db.models.fields.CharField', [], {'default': "'I'", 'max_length': '1'}), + 'filtr': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'get_description': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer_type': ('django.db.models.fields.CharField', [], {'max_length': '4'}), + 'license': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'origin': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'overwrite': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'source': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'source_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'source_file_alt': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'srid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'state': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'zipped': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'chimere.importerkeycategories': { + 'Meta': {'object_name': 'ImporterKeyCategories'}, + 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.SubCategory']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'importer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'key_categories'", 'to': "orm['chimere.Importer']"}), + 'key': ('django.db.models.fields.CharField', [], {'max_length': '200'}) + }, + 'chimere.layer': { + 'Meta': {'object_name': 'Layer'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'layer_code': ('django.db.models.fields.TextField', [], {'max_length': '300'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}) + }, + 'chimere.marker': { + 'Meta': {'ordering': "('status', 'name')", 'object_name': 'Marker'}, + 'available_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'categories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'import_key': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'import_source': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'import_version': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'is_front_page': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'license': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'modified_since_import': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'not_for_osm': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'origin': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'point': ('chimere.widgets.PointField', [], {}), + 'ref_item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'submited_marker'", 'null': 'True', 'to': "orm['chimere.Marker']"}), + 'route': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'associated_marker'", 'null': 'True', 'to': "orm['chimere.Route']"}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'submiter_comment': ('django.db.models.fields.TextField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), + 'submiter_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), + 'submiter_session_key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}) + }, + 'chimere.multimediaextension': { + 'Meta': {'object_name': 'MultimediaExtension'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multimedia_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'extensions'", 'to': "orm['chimere.MultimediaType']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '6'}) + }, + 'chimere.multimediafile': { + 'Meta': {'object_name': 'MultimediaFile'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'marker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'multimedia_files'", 'to': "orm['chimere.Marker']"}), + 'miniature': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'multimedia_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.MultimediaType']", 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'url': ('django.db.models.fields.URLField', [], {'max_length': '200'}) + }, + 'chimere.multimediatype': { + 'Meta': {'object_name': 'MultimediaType'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iframe': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'media_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}) + }, + 'chimere.news': { + 'Meta': {'object_name': 'News'}, + 'areas': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'to': "orm['chimere.Area']", 'null': 'True', 'blank': 'True'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'date': ('django.db.models.fields.DateField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_front_page': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}) + }, + 'chimere.page': { + 'Meta': {'object_name': 'Page'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mnemonic': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '10', 'null': 'True', 'blank': 'True'}), + 'template_path': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '150'}) + }, + 'chimere.picturefile': { + 'Meta': {'object_name': 'PictureFile'}, + 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'marker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pictures'", 'to': "orm['chimere.Marker']"}), + 'miniature': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'picture': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), + 'thumbnailfile': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'thumbnailfile_height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'thumbnailfile_width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'chimere.property': { + 'Meta': {'object_name': 'Property'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'marker': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Marker']"}), + 'propertymodel': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.PropertyModel']"}), + 'value': ('django.db.models.fields.TextField', [], {}) + }, + 'chimere.propertymodel': { + 'Meta': {'ordering': "('order',)", 'object_name': 'PropertyModel'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mandatory': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'subcategories': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'properties'", 'blank': 'True', 'to': "orm['chimere.SubCategory']"}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'}) + }, + 'chimere.propertymodelchoice': { + 'Meta': {'object_name': 'PropertyModelChoice'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'propertymodel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'choices'", 'to': "orm['chimere.PropertyModel']"}), + 'value': ('django.db.models.fields.CharField', [], {'max_length': '150'}) + }, + 'chimere.route': { + 'Meta': {'ordering': "('status', 'name')", 'object_name': 'Route'}, + 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.RouteFile']", 'null': 'True', 'blank': 'True'}), + 'categories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False'}), + 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'has_associated_marker': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'import_key': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'import_source': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'import_version': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'license': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'modified_since_import': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'not_for_osm': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'origin': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'picture': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'ref_item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'submited_route'", 'null': 'True', 'to': "orm['chimere.Route']"}), + 'route': ('chimere.widgets.RouteField', [], {}), + 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'submiter_comment': ('django.db.models.fields.TextField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), + 'submiter_name': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), + 'submiter_session_key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'chimere.routefile': { + 'Meta': {'ordering': "('name',)", 'object_name': 'RouteFile'}, + 'file_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'raw_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'simplified_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}) + }, + 'chimere.subcategory': { + 'Meta': {'ordering': "['category', 'order']", 'object_name': 'SubCategory'}, + 'as_layer': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'category': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'subcategories'", 'to': "orm['chimere.Category']"}), + 'color_theme': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.ColorTheme']", 'null': 'True', 'blank': 'True'}), + 'dated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'hover_icon': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'subcat_hovered'", 'null': 'True', 'to': "orm['chimere.Icon']"}), + 'icon': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Icon']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), + 'order': ('django.db.models.fields.IntegerField', [], {'default': '1000'}), + 'routing_warn': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'submission': ('django.db.models.fields.BooleanField', [], {'default': 'True'}) + }, + 'chimere.tinyurl': { + 'Meta': {'object_name': 'TinyUrl'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'parameters': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + } + } + + complete_apps = ['chimere'] \ No newline at end of file diff --git a/chimere/models.py b/chimere/models.py index 2f30892..757e464 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -299,6 +299,13 @@ class SubCategory(models.Model): json_string = json.dumps(self.getJSONDict()) return json_string +STATUS = (('S', _(u'Submited')), + ('A', _(u'Available')), + ('M', _(u'Modified')), + ('D', _(u'Disabled')), + ('I', _(u'Imported'))) +STATUS_DCT = dict(STATUS) + IMPORTERS = {'KML':KMLManager, 'OSM':OSMManager, 'SHP':ShapefileManager, @@ -355,6 +362,8 @@ class Importer(models.Model): u"a marker to a way"), default=False) automatic_update = models.BooleanField(_(u"Automatically updated"), default=False) + default_status = models.CharField(_(u"Default status"), max_length=1, + choices=STATUS, default='I') default_localisation = PointField(_(u"Default localisation"), srid=settings.CHIMERE_EPSG_DISPLAY_PROJECTION, blank=True, null=True, @@ -403,13 +412,6 @@ class ImporterKeyCategories(models.Model): class Meta: verbose_name = _(u"Importer - Key categories") -STATUS = (('S', _(u'Submited')), - ('A', _(u'Available')), - ('M', _(u'Modified')), - ('D', _(u'Disabled')), - ('I', _(u'Imported'))) -STATUS_DCT = dict(STATUS) - class GeographicItem(models.Model): name = models.CharField(_(u"Name"), max_length=150) categories = SelectMultipleField(SubCategory) diff --git a/chimere/static/chimere/js/importer_interface.js b/chimere/static/chimere/js/importer_interface.js index 4c6e29d..5c77a8d 100644 --- a/chimere/static/chimere/js/importer_interface.js +++ b/chimere/static/chimere/js/importer_interface.js @@ -2,35 +2,37 @@ django.jQuery(function($) { var importer_form_filter = { OSM:new Array('field-filtr', 'field-default_name', 'field-categories', 'field-source', 'field-overwrite', - 'field-automatic_update'), + 'field-automatic_update', 'field-default_status'), KML:new Array('field-source', 'field-source_file', 'field-default_name', 'field-filtr', 'field-zipped', 'field-origin', 'field-license', 'field-categories', 'field-overwrite', - 'field-get_description', 'field-automatic_update'), + 'field-get_description', 'field-automatic_update', + 'field-default_status'), SHP:new Array('field-source', 'field-source_file', 'field-default_name', 'field-zipped', 'field-origin', 'field-srid', 'field-license', 'field-categories', 'field-overwrite', - 'field-automatic_update'), + 'field-automatic_update', 'field-default_status'), RSS:new Array('field-source', 'field-default_name', 'field-origin', 'field-srid', 'field-license', 'field-categories', 'field-overwrite', 'field-get_description', - 'field-automatic_update'), + 'field-automatic_update', 'field-default_status'), CSV:new Array('field-source', 'field-source_file', 'field-default_name', 'field-origin', 'field-srid', 'field-license', 'field-categories', 'field-overwrite', - 'field-get_description', 'field-automatic_update'), + 'field-get_description', 'field-automatic_update', + 'field-default_status'), XSLT:new Array('field-source', 'field-source_file', 'field-source_file_alt', 'field-default_name', 'field-origin', 'field-srid', 'field-license', 'field-categories', 'field-overwrite', 'field-get_description', 'field-default_localisation', - 'field-automatic_update'), + 'field-automatic_update', 'field-default_status'), XXLT:new Array('field-source', 'field-source_file', 'field-source_file_alt', 'field-default_name', 'field-origin', 'field-srid', 'field-license', 'field-categories', 'field-overwrite', 'field-get_description', 'field-default_localisation', - 'field-automatic_update') + 'field-automatic_update', 'field-default_status') } var osm_map_initialized; var edit_map_initialized; diff --git a/chimere/utils.py b/chimere/utils.py index d898759..c5c59e9 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -124,8 +124,7 @@ class ImportManager(object): self.importer_instance.default_description values.update({ 'import_source':self.importer_instance.source}) - values['status'] = 'I' \ - if not self.importer_instance.automatic_update else 'A' + values['status'] = self.importer_instance.default_status if not self.importer_instance.associate_marker_to_way\ and cls.__name__ == 'Route': values['has_associated_marker'] = False -- cgit v1.2.3