diff options
-rw-r--r-- | main/actions.py | 4 | ||||
-rw-r--r-- | main/views.py | 15 | ||||
-rw-r--r-- | main/widgets.py | 12 | ||||
-rw-r--r-- | settings.py | 8 | ||||
-rw-r--r-- | static/main_map.js | 6 | ||||
-rw-r--r-- | static/styles.css | 3 | ||||
-rw-r--r-- | templates/base.html | 2 | ||||
-rw-r--r-- | templates/edit.html | 2 | ||||
-rw-r--r-- | templates/edit_route.html | 2 | ||||
-rw-r--r-- | templates/main_map.html | 3 | ||||
-rw-r--r-- | urls.py | 24 |
11 files changed, 44 insertions, 37 deletions
diff --git a/main/actions.py b/main/actions.py index 89ba987..46f8928 100644 --- a/main/actions.py +++ b/main/actions.py @@ -23,11 +23,11 @@ Actions available in the main interface from django.utils.translation import ugettext_lazy as _ from django.contrib.auth import models -main_path = 'chimere/' +from settings import EXTRA_URL class Action: def __init__(self, id, path, label): - self.id, self.path, self.label = id, main_path + path, label + self.id, self.path, self.label = id, EXTRA_URL + path, label actions = [Action('view', '', _('View')), Action('edit', 'edit', _('Add a new point of interest')), diff --git a/main/views.py b/main/views.py index d88e67a..723e565 100644 --- a/main/views.py +++ b/main/views.py @@ -42,16 +42,10 @@ def index(request): Main page """ subcategories = SubCategory.getAvailable() - # by default all subcategories are checked for cat, sub_cats in subcategories: - all_checked = True for sub_category in sub_cats: if sub_category.id in settings.DEFAULT_CATEGORIES: sub_category.selected = True - elif all_checked: - all_checked = False - if all_checked: - cat.selected = True extra = "" tab = " "*4 for url in URL_OSM_CSS: @@ -59,7 +53,7 @@ def index(request): for url in URL_OSM_JS + ["%sbase.js" % settings.MEDIA_URL, "%smain_map.js" % settings.MEDIA_URL,]: extra += tab + '<script src="%s"></script>\n' % url - extra += tab + '<script src="/chimere/jsi18n/"></script>\n' + extra += tab + '<script src="/' + settings.EXTRA_URL + 'jsi18n/"></script>\n' # show the welcome page today = datetime.date.today().strftime('%y-%m-%d') display_welcome = None @@ -72,6 +66,7 @@ def index(request): 'sub_categories':subcategories, 'extra_head':extra + getMapJS(), 'media_path':settings.MEDIA_URL, + 'extra_url':settings.EXTRA_URL, 'welcome':welcome(request, display_welcome), 'areas':Area.getAvailable() } @@ -104,7 +99,7 @@ def edit(request): marker.status = 'S' marker.save() notifyStaff(marker) - return HttpResponseRedirect('/chimere/submited/edit') + return HttpResponseRedirect('/' + settings.EXTRA_URL +'submited/edit') else: # An unbound form form = MarkerForm() @@ -113,6 +108,7 @@ def edit(request): response_dct = {'actions':actions, 'action_selected':'edit', 'error_message':'', 'media_path':settings.MEDIA_URL, + 'extra_url':settings.EXTRA_URL, 'form':form, 'extra_head':form.media, 'sub_categories':SubCategory.getAvailable(['M', 'B']), @@ -138,7 +134,7 @@ def editRoute(request): route.status = 'S' route.save() notifyStaff(route) - return HttpResponseRedirect('/chimere/submited/edit_route') + return HttpResponseRedirect('/' + settings.EXTRA_URL + 'submited/edit_route') else: # An unbound form form = RouteForm() @@ -149,6 +145,7 @@ def editRoute(request): 'media_path':settings.MEDIA_URL, 'form':form, 'extra_head':form.media, + 'extra_url':settings.EXTRA_URL, 'sub_categories':SubCategory.getAvailable(['R', 'B']), 'route_widget':RouteChooserWidget().render('route', None), 'properties':declared_fields diff --git a/main/widgets.py b/main/widgets.py index 8e6bd19..4bf95fc 100644 --- a/main/widgets.py +++ b/main/widgets.py @@ -24,6 +24,7 @@ Extra widgets and fields from django import forms from django.utils.safestring import mark_safe from django.utils.translation import ugettext as _ +from django.contrib.gis.geos import fromstr from chimere import settings from django.contrib.gis.db import models @@ -180,9 +181,16 @@ onclick='toggleDrawOff();'>%s</div> tpl += """<script type='text/javascript'><!-- init();""" if value: - tpl += """ + val = value + if type(value) == unicode: + try: + val = fromstr(value) + except: + pass + if hasattr(val, 'json'): + tpl += """ var geometry='%s'; -initFeature(geometry);""" % value.json +initFeature(geometry);""" % val.json tpl += """ // --></script> """ diff --git a/settings.py b/settings.py index d8c6204..13f9d24 100644 --- a/settings.py +++ b/settings.py @@ -2,7 +2,9 @@ ROOT_PATH = '/var/local/django/chimere/' -BASE_URL = "http://www.peacefrogs.net/chimere/" +SERVER_URL = "http://www.peacefrogs.net/" +EXTRA_URL = 'chimere/' +BASE_URL = SERVER_URL + EXTRA_URL EMAIL_HOST = 'localhost' # chimere specific @@ -53,12 +55,12 @@ MEDIA_ROOT = ROOT_PATH + 'static/' # URL that handles the media served from MEDIA_ROOT. # Example: "http://media.lawrence.com" -MEDIA_URL = '/chimere/static/' +MEDIA_URL = '/' + EXTRA_URL + 'static/' # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a # trailing slash. # Examples: "http://foo.com/media/", "/media/". -ADMIN_MEDIA_PREFIX = '/chimere/media/' +ADMIN_MEDIA_PREFIX = '/' + EXTRA_URL + 'media/' # Make this unique, and don't share it with anybody. SECRET_KEY = 'achanger_!ToChange!' diff --git a/static/main_map.js b/static/main_map.js index d803025..364c18f 100644 --- a/static/main_map.js +++ b/static/main_map.js @@ -115,7 +115,7 @@ function zoomToArea(top, left, bottom, right){ function zoomToCategory(categorie_ids){ updateCheckedCategories(); /* 0 stand for all categories */ - var uri = "/chimere/getGeoObjects/" + categorie_ids; + var uri = "/" + extra_url + "getGeoObjects/" + categorie_ids; if (display_submited) uri += "/A_S"; OpenLayers.loadURL(uri, '', this, zoomToCategoryExtent); } @@ -147,7 +147,7 @@ function loadGeoObjects(){ updateCheckedCategories(); /* 0 stand for all categories */ if (!checked_categories) checked_categories = '0'; - var uri = "/chimere/getGeoObjects/" + checked_categories; + var uri = "/" + extra_url + "getGeoObjects/" + checked_categories; if (display_submited) uri += "/A_S"; OpenLayers.loadURL(uri, '', this, setGeoObjects); } @@ -271,7 +271,7 @@ var hidePopUp = function (evt) { /* update current detail panel with an AJAX request */ function updateDetail(pk){ - var uri = "/chimere/getDetail/" + pk; + var uri = "/" + extra_url + "getDetail/" + pk; OpenLayers.loadURL(uri, '', this, setDetail); } diff --git a/static/styles.css b/static/styles.css index 225d537..d5ae8cf 100644 --- a/static/styles.css +++ b/static/styles.css @@ -127,13 +127,12 @@ opacity:0.8; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; +overflow:auto; } #areas ul{ margin:0; padding:0; -overflow:auto; -height:180px; } #areas li{ diff --git a/templates/base.html b/templates/base.html index c76fba2..956347a 100644 --- a/templates/base.html +++ b/templates/base.html @@ -24,7 +24,7 @@ {% block content %}{% endblock %} </div> {% block footer %} - <div id='footer'>{% trans "This site uses Chimère"%} - Copyright © 2008 <a href='http://redmine.peacefrogs.net/projects/show/chimere'>Chimère project</a></div> + <div id='footer'>{% trans "This site uses Chimère"%} - Copyright © 2008-2009 <a href='http://redmine.peacefrogs.net/projects/show/chimere'>Chimère project</a></div> {% endblock %} </body> </html> diff --git a/templates/edit.html b/templates/edit.html index 99dc99b..4f9d015 100644 --- a/templates/edit.html +++ b/templates/edit.html @@ -8,7 +8,7 @@ <fieldset class='edit'> <legend>{% trans "Add a new site" %}</legend> <p>* {% trans "indicates a mandatory field" %}</p> -<form enctype="multipart/form-data" method='post' action='/chimere/edit/'> +<form enctype="multipart/form-data" method='post' action='/{{extra_url}}edit/'> <div class="fieldWrapper"> <label for="id_name">{% trans "Site name"%} *</label> {{ form.name.errors }} diff --git a/templates/edit_route.html b/templates/edit_route.html index 2212f85..d870b0e 100644 --- a/templates/edit_route.html +++ b/templates/edit_route.html @@ -8,7 +8,7 @@ <fieldset class='edit'> <legend>{% trans "Add a new route" %}</legend> <p>* {% trans "indicates a mandatory field" %}</p> -<form enctype="multipart/form-data" method='post' action='/chimere/edit_route/'> +<form enctype="multipart/form-data" method='post' action='/{{extra_url}}edit_route/'> <div class="fieldWrapper"> <label for="id_name">{% trans "Site name"%} *</label> {{ form.name.errors }} diff --git a/templates/main_map.html b/templates/main_map.html index 17ad9b7..93b50f2 100644 --- a/templates/main_map.html +++ b/templates/main_map.html @@ -36,6 +36,7 @@ lst_{{category.id}}.push("{{sub_category.id}}");{% endfor %} {% block content %}<div id='map'></div> <script type='text/javascript'><!-- var permalink_label = '{%trans "Permalink"%}'; +var extra_url = "{{extra_url}}"; var p_zoom; {%if p_zoom %}p_zoom={{p_zoom}}; var p_lat={{p_lat}}; @@ -45,5 +46,5 @@ var p_checked_categories = [{{p_checked_categories}}];{%endif%} init(); // --> </script>{% endblock %} {% block footer %} - <div id='map-footer'><a href='javascript:show("welcome");'>{% trans "Welcome message"%}</a> - {% trans "Map"%} © <a href='http://openstreetmap.org/'>OpenStreetMap</a> - {% trans "This site uses Chimère"%} - Copyright © 2008 <a href='http://redmine.peacefrogs.net/projects/show/chimere'>Chimère project</a></div> + <div id='map-footer'><a href='javascript:show("welcome");'>{% trans "Welcome message"%}</a> - {% trans "Map"%} © <a href='http://openstreetmap.org/'>OpenStreetMap</a> - {% trans "This site uses Chimère"%} - Copyright © 2008-2009 <a href='http://redmine.peacefrogs.net/projects/show/chimere'>Chimère project</a></div> {% endblock %} @@ -3,27 +3,27 @@ from django.conf.urls.defaults import * from django.contrib import admin admin.autodiscover() -from settings import ROOT_PATH +from settings import ROOT_PATH, EXTRA_URL js_info_dict = { 'packages': 'chimere', } urlpatterns = patterns('', - (r'^chimere/admin/(.*)', admin.site.root), - (r'^chimere/$', 'chimere.main.views.index'), - (r'^chimere/edit/$', 'chimere.main.views.edit'), - (r'^chimere/edit_route/$', 'chimere.main.views.editRoute'), - (r'^chimere/submited/(?P<action>\w+)/$$', 'chimere.main.views.submited'), - (r'^chimere/getDetail/(?P<marker_id>\d+)/$', + (r'^' + EXTRA_URL + r'admin/(.*)', admin.site.root), + (r'^' + EXTRA_URL + r'$', 'chimere.main.views.index'), + (r'^' + EXTRA_URL + r'edit/$', 'chimere.main.views.edit'), + (r'^' + EXTRA_URL + r'edit_route/$', 'chimere.main.views.editRoute'), + (r'^' + EXTRA_URL + r'submited/(?P<action>\w+)/$$', 'chimere.main.views.submited'), + (r'^' + EXTRA_URL + r'getDetail/(?P<marker_id>\d+)/$', 'chimere.main.views.getDetail'), - (r'^chimere/getGeoObjects/(?P<category_ids>\w+)/$', + (r'^' + EXTRA_URL + 'getGeoObjects/(?P<category_ids>\w+)/$', 'chimere.main.views.getGeoObjects'), - (r'^chimere/getGeoObjects/(?P<category_ids>\w+)/(?P<status>\w+)$', + (r'^' + EXTRA_URL + 'getGeoObjects/(?P<category_ids>\w+)/(?P<status>\w+)$', 'chimere.main.views.getGeoObjects'), - (r'^chimere/static/(?P<path>.*)$', 'django.views.static.serve', + (r'^' + EXTRA_URL + 'static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': ROOT_PATH + 'static/'}), - (r'^chimere/media/(?P<path>.*)$', 'django.views.static.serve', + (r'^' + EXTRA_URL + 'media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': ROOT_PATH + 'media/'}), - (r'^chimere/jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), + (r'^' + EXTRA_URL + 'jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), ) |