From 1ac9350e74bce36eb8f64d8564a3c44e6072600e Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 24 Nov 2012 15:36:43 +0100 Subject: Admin: improve property model management * Add the ability to hide property model from the admin * Add a warning to the admin that it should reload the webserver --- chimere/admin.py | 7 ++-- .../templates/admin/chimere/managed_modified.html | 47 ++++++++++++++++++++++ chimere/templates/admin/chimere/osm_export.html | 31 ++++++++++++++ .../admin/chimere/propertymodel/change_form.html | 7 ++++ chimere/templates/admin/managed_modified.html | 47 ---------------------- chimere/templates/admin/osm_export.html | 31 -------------- example_project/settings.py | 4 ++ 7 files changed, 93 insertions(+), 81 deletions(-) create mode 100644 chimere/templates/admin/chimere/managed_modified.html create mode 100644 chimere/templates/admin/chimere/osm_export.html create mode 100644 chimere/templates/admin/chimere/propertymodel/change_form.html delete mode 100644 chimere/templates/admin/managed_modified.html delete mode 100644 chimere/templates/admin/osm_export.html diff --git a/chimere/admin.py b/chimere/admin.py index 931dcf1..87d2e08 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -150,7 +150,7 @@ def managed_modified(modeladmin, request, queryset): item.delete() messages.success(request, _(u"Modified item traited.")) return HttpResponseRedirect(request.get_full_path()) - return render_to_response('admin/managed_modified.html', + return render_to_response('admin/chimere/managed_modified.html', {'item':item, 'item_ref':item_ref}, context_instance=RequestContext(request)) managed_modified.short_description = _(u"Managed modified items") @@ -343,7 +343,7 @@ def export_to_osm(modeladmin, request, queryset): form = OSMForm() msg_item = _(u"%s point(s) of interest concerned by this export before "\ u"bounding box filter.") % item_nb - return render_to_response('admin/osm_export.html', {'item':importer, + return render_to_response('admin/chimere/osm_export.html', {'item':importer, 'form':form, 'msg_item':msg_item}, context_instance=RequestContext(request)) export_to_osm.short_description = _(u"Export to osm") @@ -393,7 +393,8 @@ admin.site.register(Category, CategoryAdmin) admin.site.register(Icon, IconAdmin) admin.site.register(Marker, MarkerAdmin) admin.site.register(Route, RouteAdmin) -admin.site.register(PropertyModel, PropertyModelAdmin) +if not settings.CHIMERE_HIDE_PROPERTYMODEL: + admin.site.register(PropertyModel, PropertyModelAdmin) admin.site.register(Area, AreaAdmin) admin.site.register(ColorTheme, ColorThemeAdmin) admin.site.register(Layer) diff --git a/chimere/templates/admin/chimere/managed_modified.html b/chimere/templates/admin/chimere/managed_modified.html new file mode 100644 index 0000000..c55650d --- /dev/null +++ b/chimere/templates/admin/chimere/managed_modified.html @@ -0,0 +1,47 @@ +{% extends "admin/base_site.html" %} +{% load chimere_tags i18n admin_static %} + +{% block extrahead %} + + +{% endblock %} + + +{% block content %} +

{% trans "Be careful: after validation, the modified item will be deleted. There is no roll-back." %}

+
+
+{% csrf_token %} + + + + + + + + + + + + + + + + + +{% for property_ref in item_ref.getProperties %} +{% for property in item.getProperties %} +{% ifequal property_ref.propertymodel property.propertymodel %} + +{% endifequal %} +{% endfor %} +{% endfor %} + +
 {% trans "Reference" %}{% trans "Modified item" %}{% trans "Accept modification" %}
{% trans "Name" %}{{item_ref}}{{item}}
{% trans "Categories" %}{% for cat in item_ref.categories.all %}{%if forloop.counter0 %}, {%endif%}{{cat}}{%endfor%}{% for cat in item.categories.all %}{%if forloop.counter0 %}, {%endif%}{{cat}}{%endfor%}
{% trans "Emplacement" %}{{item_ref|ol_map:'map_ref_id'}}{{item|ol_map:'map_id'}}
{% trans "Description" %}{{item_ref.description|safe}}{{item.description|safe}}
{{property.propertymodel.name}}{{property_ref.value|safe}}{{property.value|safe}}
+
+
+ + +
+ +{% endblock %} diff --git a/chimere/templates/admin/chimere/osm_export.html b/chimere/templates/admin/chimere/osm_export.html new file mode 100644 index 0000000..dab123e --- /dev/null +++ b/chimere/templates/admin/chimere/osm_export.html @@ -0,0 +1,31 @@ +{% extends "admin/base_site.html" %} +{% load chimere_tags i18n admin_static %} + +{% block extrahead %} + +{% endblock %} + + +{% block content %} +
+
+{% csrf_token %} + + + + +{{ form.as_table }} +
+
+ +

{% blocktrans %}Ensure that all the data exported to OSM have an appropriate license. You can exclude some points of interest by checking the checkbox "Not to be imported in OSM" in the point of interest form. If you are not sure of what you are doing: DON'T EXPORT TO OSM!{% endblocktrans %}

+
+ + +
+ +{% endblock %} diff --git a/chimere/templates/admin/chimere/propertymodel/change_form.html b/chimere/templates/admin/chimere/propertymodel/change_form.html new file mode 100644 index 0000000..0ebeab0 --- /dev/null +++ b/chimere/templates/admin/chimere/propertymodel/change_form.html @@ -0,0 +1,7 @@ +{% extends "admin/change_form.html" %} +{% load i18n %} +{% block after_field_sets %} +

+{% trans "After add/modification of property models you'll have to reload the webserver." %} +

+{% endblock %} diff --git a/chimere/templates/admin/managed_modified.html b/chimere/templates/admin/managed_modified.html deleted file mode 100644 index c55650d..0000000 --- a/chimere/templates/admin/managed_modified.html +++ /dev/null @@ -1,47 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load chimere_tags i18n admin_static %} - -{% block extrahead %} - - -{% endblock %} - - -{% block content %} -

{% trans "Be careful: after validation, the modified item will be deleted. There is no roll-back." %}

-
-
-{% csrf_token %} - - - - - - - - - - - - - - - - - -{% for property_ref in item_ref.getProperties %} -{% for property in item.getProperties %} -{% ifequal property_ref.propertymodel property.propertymodel %} - -{% endifequal %} -{% endfor %} -{% endfor %} - -
 {% trans "Reference" %}{% trans "Modified item" %}{% trans "Accept modification" %}
{% trans "Name" %}{{item_ref}}{{item}}
{% trans "Categories" %}{% for cat in item_ref.categories.all %}{%if forloop.counter0 %}, {%endif%}{{cat}}{%endfor%}{% for cat in item.categories.all %}{%if forloop.counter0 %}, {%endif%}{{cat}}{%endfor%}
{% trans "Emplacement" %}{{item_ref|ol_map:'map_ref_id'}}{{item|ol_map:'map_id'}}
{% trans "Description" %}{{item_ref.description|safe}}{{item.description|safe}}
{{property.propertymodel.name}}{{property_ref.value|safe}}{{property.value|safe}}
-
-
- - -
- -{% endblock %} diff --git a/chimere/templates/admin/osm_export.html b/chimere/templates/admin/osm_export.html deleted file mode 100644 index dab123e..0000000 --- a/chimere/templates/admin/osm_export.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load chimere_tags i18n admin_static %} - -{% block extrahead %} - -{% endblock %} - - -{% block content %} -
-
-{% csrf_token %} - - - - -{{ form.as_table }} -
-
- -

{% blocktrans %}Ensure that all the data exported to OSM have an appropriate license. You can exclude some points of interest by checking the checkbox "Not to be imported in OSM" in the point of interest form. If you are not sure of what you are doing: DON'T EXPORT TO OSM!{% endblocktrans %}

-
- - -
- -{% endblock %} diff --git a/example_project/settings.py b/example_project/settings.py index e6e0430..c48a847 100644 --- a/example_project/settings.py +++ b/example_project/settings.py @@ -69,6 +69,10 @@ CHIMERE_OSM_API_URL = 'api06.dev.openstreetmap.org' # test URL CHIMERE_OSM_USER = 'test' CHIMERE_OSM_PASSWORD = 'test' +# as the web server need to be reloaded when property models are changed +# it could be a good idea to hide it to an admin who could'nt do that +CHIMERE_HIDE_PROPERTYMODEL = False + # encoding for shapefile import CHIMERE_SHAPEFILE_ENCODING = 'ISO-8859-1' -- cgit v1.2.3