summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/actions.py4
-rw-r--r--main/views.py15
-rw-r--r--main/widgets.py12
-rw-r--r--settings.py8
-rw-r--r--static/main_map.js6
-rw-r--r--static/styles.css3
-rw-r--r--templates/base.html2
-rw-r--r--templates/edit.html2
-rw-r--r--templates/edit_route.html2
-rw-r--r--templates/main_map.html3
-rw-r--r--urls.py24
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 %}
diff --git a/urls.py b/urls.py
index eb09cff..fb93e45 100644
--- a/urls.py
+++ b/urls.py
@@ -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),
)