creation of a function in order to avoid using settings.WEB_URL + reverse in the views. Function to get the web_url using site domain
replacement in the templates of WEB_URL + templatetag url by the templatetag absurl
--- a/src/ldt/ldt/ldt_utils/models.py Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/models.py Mon Dec 03 16:12:53 2012 +0100
@@ -14,6 +14,7 @@
from utils import (create_ldt, copy_ldt, create_empty_iri, update_iri,
generate_uuid)
from ldt.utils import generate_hash
+from ldt.utils.url import get_web_url
import datetime
import lxml.etree #@UnresolvedImport
import mimetypes
@@ -300,7 +301,7 @@
def __unicode__(self):
return str(self.id) + ":" + self.iri_id + ":" + self.title.replace("\n", " ")
- def iri_url(self, web_url=settings.WEB_URL):
+ def iri_url(self, web_url=get_web_url()):
if url_utils.is_absolute(self.iriurl):
return self.iriurl
else:
--- a/src/ldt/ldt/ldt_utils/templates/admin/ldt_utils/content/reindex_form.html Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/admin/ldt_utils/content/reindex_form.html Mon Dec 03 16:12:53 2012 +0100
@@ -1,5 +1,6 @@
{% extends "admin/ldt_utils/app_action.html" %}
{% load i18n %}
+{% load absurl %}
{# reindex contents #}
{% block content %}
{% if message %}
@@ -11,13 +12,13 @@
{% endif %}
<div>
<form method="post"
- action="{{WEB_URL}}{% url admin:ldt_content_reindex %}">{% csrf_token %}
+ action="{% absurl admin:ldt_content_reindex %}">{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" /></form>
</div>
-<a href="{{WEB_URL}}{% url admin:app_list 'ldt_utils' %}">Back to administration page</a>
+<a href="{% absurl admin:app_list 'ldt_utils' %}">Back to administration page</a>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/admin/ldt_utils/content/stats_form.html Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/admin/ldt_utils/content/stats_form.html Mon Dec 03 16:12:53 2012 +0100
@@ -1,5 +1,6 @@
{% extends "admin/ldt_utils/app_action.html" %}
{% load i18n %}
+{% load absurl %}
{# reindex contents #}
{% block content %}
{% if message %}
@@ -11,13 +12,13 @@
{% endif %}
<div>
<form method="post"
- action="{{WEB_URL}}{% url admin:ldt_project_compute_stats %}">{% csrf_token %}
+ action="{% absurl admin:ldt_project_compute_stats %}">{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" /></form>
</div>
-<a href="{{WEB_URL}}{% url admin:app_list 'ldt_utils' %}">Back to administration page</a>
+<a href="{% absurl admin:app_list 'ldt_utils' %}">Back to administration page</a>
{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_popup.html Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_popup.html Mon Dec 03 16:12:53 2012 +0100
@@ -25,7 +25,6 @@
var player_id='{{player_id}}';
var translate_show="{% trans 'Show Player' %}";
var translate_hide="{% trans 'Hide Player' %}";
- var WEB_URL='{{WEB_URL}}';
var LANGUAGE_CODE='{{LANGUAGE_CODE}}';
var json_url='{{json_url}}';
var player_id='{{player_id}}';
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_seo_meta.html Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_seo_meta.html Mon Dec 03 16:12:53 2012 +0100
@@ -1,3 +1,4 @@
+{% load absurl %}
{% spaceless %}
-<link rel="meta" href="{{WEB_URL}}{% url ldt.ldt_utils.views.rdf.project_annotations_rdf ldt_id=ldt_id %}"/>
+<link rel="meta" href="{% absurl ldt.ldt_utils.views.rdf.project_annotations_rdf ldt_id=ldt_id %}"/>
{% endspaceless %}
\ No newline at end of file
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_form.html Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_form.html Mon Dec 03 16:12:53 2012 +0100
@@ -1,5 +1,6 @@
{% extends "ldt/ldt_base.html" %}
{% load i18n %}
+{% load absurl %}
{% block js_declaration %}
<script type="text/javascript">
@@ -20,7 +21,7 @@
{% block content %}
<form method="post" id="my_form"
- {% comment %}action="{{WEB_URL}}{% url ldt.ldt_utils.views.workspace.search_index %}"{% endcomment %}
+ {% comment %}action="{% absurl ldt.ldt_utils.views.workspace.search_index %}"{% endcomment %}
action="{% url ldt.ldt_utils.views.workspace.search_index %}"
accept-charset="utf-8">
{% csrf_token %}
--- a/src/ldt/ldt/ldt_utils/utils.py Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/utils.py Mon Dec 03 16:12:53 2012 +0100
@@ -7,6 +7,8 @@
import lxml.etree #@UnresolvedImport
import uuid
from ldt.utils.url import request_with_auth
+from ldt.utils.url import absurl_norequest
+import logging
__BOOLEAN_DICT = {
'false':False,
@@ -145,12 +147,11 @@
elementFiles = lxml.etree.SubElement(iri, 'files')
elementInit = lxml.etree.SubElement(elementFiles, 'init')
- elementfile = lxml.etree.SubElement(elementInit, 'file')
-
- elementfile.set('src', settings.WEB_URL + django.core.urlresolvers.reverse(method, args=url))
+ elementfile = lxml.etree.SubElement(elementInit, 'file')
+ elementfile.set('src', absurl_norequest(method, args=url))
elementfile.set('src', django.core.urlresolvers.reverse(method, args=url))
if(search):
- elementfile.set("segsel", settings.WEB_URL + django.core.urlresolvers.reverse(search, args=url))
+ elementfile.set("segsel", absurl_norequest(search, args=url))
lxml.etree.SubElement(elementFiles, 'recent')
lxml.etree.SubElement(elementFiles, 'library')
--- a/src/ldt/ldt/ldt_utils/views/lignesdetemps.py Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/lignesdetemps.py Mon Dec 03 16:12:53 2012 +0100
@@ -10,7 +10,7 @@
from ldt.security.utils import set_forbidden_stream
from ldt.ldt_utils.stat import update_stat_project
from ldt.ldt_utils.searchutils import search_generate_ldt
-from ldt.utils.url import absstatic
+from ldt.utils.url import absstatic, absurl, get_web_url
import base64
import django.core.urlresolvers
import lxml.etree
@@ -21,7 +21,7 @@
language_code = request.LANGUAGE_CODE[:2]
- url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.lignesdetemps.search_init", args=[field, query])
+ url = absurl(request, "ldt.ldt_utils.views.lignesdetemps.search_init", args=[field, query])
colorurl=absstatic(request, "ldt/swf/ldt/pkg/color.xml")
i18nurl=absstatic(request, "ldt/swf/ldt/pkg/i18n")
baseurl=absstatic(request, "ldt/swf/ldt/")
@@ -82,7 +82,7 @@
def index_segment(request, project_id, content_id, cutting_id, ensemble_id, segment_id):
- url_str = settings.WEB_URL + reverse("ldt.ldt_utils.views.lignesdetemps.init_segment", args=[project_id, content_id, ensemble_id, cutting_id, segment_id])
+ url_str = absurl(request, "ldt.ldt_utils.views.lignesdetemps.init_segment", args=[project_id, content_id, ensemble_id, cutting_id, segment_id])
post_url = ""
language_code = request.LANGUAGE_CODE[:2]
readonly = 'true'
@@ -183,8 +183,8 @@
@login_required
def index_project(request, id, full=False):
- urlStr = settings.WEB_URL + reverse("ldt.ldt_utils.views.lignesdetemps.init", args=['ldt_project', id])
- posturl = settings.WEB_URL + reverse("ldt.ldt_utils.views.lignesdetemps.save_ldt_project")
+ urlStr = absurl(request, "ldt.ldt_utils.views.lignesdetemps.init", args=['ldt_project', id])
+ posturl = absurl(request, "ldt.ldt_utils.views.lignesdetemps.save_ldt_project")
language_code = request.LANGUAGE_CODE[:2]
colorurl=absstatic(request, "ldt/swf/ldt/pkg/color.xml")
i18nurl=absstatic(request, "ldt/swf/ldt/pkg/i18n")
@@ -321,12 +321,12 @@
def index(request, url):
- urlStr = settings.WEB_URL + reverse("ldt.ldt_utils.views.lignesdetemps.init", args=['ldt', url])
+ urlStr = absurl(request, "ldt.ldt_utils.views.lignesdetemps.init", args=['ldt', url])
language_code = request.LANGUAGE_CODE[:2]
colorurl=absstatic(request, "ldt/swf/ldt/pkg/color.xml")
i18nurl=absstatic(request, "ldt/swf/ldt/pkg/i18n")
baseurl=absstatic(request, "ldt/swf/ldt/")
- return render_to_response('ldt/ldt_utils/init_ldt.html', {'colorurl': colorurl, 'i18nurl': i18nurl, 'language': language_code, 'baseurl': baseurl, 'url': urlStr, 'weburl':settings.WEB_URL + settings.BASE_URL}, context_instance=RequestContext(request))
+ return render_to_response('ldt/ldt_utils/init_ldt.html', {'colorurl': colorurl, 'i18nurl': i18nurl, 'language': language_code, 'baseurl': baseurl, 'url': urlStr, 'weburl': get_web_url(request) + settings.BASE_URL}, context_instance=RequestContext(request))
def ldt(request, url, startSegment=None):
--- a/src/ldt/ldt/ldt_utils/views/workspace.py Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/workspace.py Mon Dec 03 16:12:53 2012 +0100
@@ -11,14 +11,13 @@
from django.utils.html import escape
from django.utils.translation import ugettext as _
from ldt.ldt_utils.forms import SearchForm
-from ldt.utils.url import absstatic
+from ldt.utils.url import absstatic, absurl, get_web_url
from ldt.ldt_utils.models import Content, Project, Segment
from ldt.ldt_utils.utils import boolean_convert
from ldt.ldt_utils.projectserializer import ProjectJsonSerializer
from ldt.ldt_utils.views.content import get_contents_page, get_content_tags
from ldt.ldt_utils.views.project import get_projects_page, get_published_projects_page
from ldt.security.utils import add_change_attr, get_userlist
-from ldt.templatetags import absurl
from operator import itemgetter
from itertools import groupby
import base64
@@ -182,7 +181,8 @@
project = Project.safe_objects.get(ldt_id=ldt_id); #@UndefinedVariable
project_contents = project.contents.all()
content=project_contents[0]
- iframe_url = mark_safe(settings.WEB_URL+settings.BASE_URL+"ldtplatform/ldt/embediframe/?content_id="+content.iri_id)
+ WEB_URL=get_web_url(request)
+ iframe_url = mark_safe(WEB_URL+settings.BASE_URL+"ldt/embediframe/?content_id="+content.iri_id)
external_url = None
if content.src is not None:
for external_src in settings.EXTERNAL_STREAM_SRC:
@@ -199,7 +199,6 @@
if not ldt_auth.check_access(request.user, project):
return HttpResponseForbidden(_("You can not access this project"))
- WEB_URL=settings.WEB_URL
LANGUAGE_CODE=settings.LANGUAGE_CODE
ps = ProjectJsonSerializer(project, from_contents=True, from_display=True)
annotations = ps.get_annotations(first_cutting=True)
@@ -253,7 +252,7 @@
page = sform.cleaned_data["page"] or 1
ldt_pres = sform.cleaned_data["ldt_pres"]
if ldt_pres:
- url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.lignesdetemps.search_init", args=[field, queryStr])
+ url = absurl(request, "ldt.ldt_utils.views.lignesdetemps.search_init", args=[field, queryStr])
return render_to_response('ldt/ldt_utils/init_ldt_full.html', {'colorurl': colorurl, 'i18nurl': i18nurl , 'language': language_code, 'baseurl': baseurl, 'url': url}, context_instance=RequestContext(request))
else:
results, nb = get_search_results(request, search, field, page)
--- a/src/ldt/ldt/user/templates/ldt/user/login_form.html Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/user/templates/ldt/user/login_form.html Mon Dec 03 16:12:53 2012 +0100
@@ -1,10 +1,11 @@
{% load i18n %}
+{% load absurl %}
{# print user's state and form of login #}
{% block js_import %}
{{block.super}}
<script language="javascript">
- var url_login_ajax='{{WEB_URL}}{% url ldt.user.views.login_ajax %}';
+ var url_login_ajax='{% absurl ldt.user.views.login_ajax %}';
{% if reload %}
var reload=true;
{% else %}
--- a/src/ldt/ldt/utils/context_processors.py Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/utils/context_processors.py Mon Dec 03 16:12:53 2012 +0100
@@ -1,10 +1,11 @@
from ldt import settings
+from ldt.utils.url import get_web_url
import ldt
def ldt_context(request):
return {'BASE_URL': settings.BASE_URL, 'MEDIA_URL': settings.MEDIA_URL, \
- 'WEB_URL': settings.WEB_URL, \
+ 'WEB_URL': get_web_url(), \
'ADMIN_MEDIA_PREFIX': settings.ADMIN_MEDIA_PREFIX, 'VERSION': ldt.get_version(), \
'WEB_VERSION' : settings.WEB_VERSION, }
--- a/src/ldt/ldt/utils/url.py Mon Dec 03 11:53:01 2012 +0100
+++ b/src/ldt/ldt/utils/url.py Mon Dec 03 16:12:53 2012 +0100
@@ -1,19 +1,36 @@
from django.contrib.staticfiles.storage import staticfiles_storage
from django.contrib.sites.models import Site
+from django.core.urlresolvers import reverse
from ldt import settings
import httplib2
import re
import urlparse
+def get_web_url(request=None):
+ if request:
+ if request.is_secure():
+ domain = "https://%s" % Site.objects.get_current().domain
+ else:
+ domain = "http://%s" % Site.objects.get_current().domain
+ else :
+ domain = "http://%s" % Site.objects.get_current().domain
+ return domain
def absstatic(request, path):
- if request.is_secure():
- domain = "https://%s" % Site.objects.get_current().domain
- else:
- domain = "http://%s" % Site.objects.get_current().domain
+ domain=get_web_url(request)
new_path = staticfiles_storage.url(path)
return urlparse.urljoin(domain, new_path)
+def absurl(request, viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None):
+ domain=get_web_url(request)
+ path=reverse(viewname, urlconf, args, kwargs, prefix, current_app)
+ return urlparse.urljoin(domain, path)
+
+def absurl_norequest(viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None):
+ domain=get_web_url()
+ path=reverse(viewname, urlconf, args, kwargs, prefix, current_app)
+ return urlparse.urljoin(domain, path)
+
def request_with_auth(url, method='GET'):
h = httplib2.Http()
web_auth = settings.WEB_AUTH if settings.WEB_AUTH else []