DATABASES = your database setting dict (don't forget to create the database if needed)
MEDIA_ROOT = absolute path to the media directory you just created
INSTALLED_APPS = add 'telemeta' and 'jsonrpc' to the tuple
+
+Set the following languages:
+
+ LANGUAGES = [ ('fr', 'French'),
+ ('en', 'English'),
+ ]
+
+
+Set the following Middlewares:
+ MIDDLEWARE_CLASSES = (
+ 'django.middleware.common.CommonMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.locale.LocaleMiddleware',
+ )
+
Add the following variables:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
'django.contrib.auth.context_processors.auth',)
- TELEMETA_ORGANIZATION = name of the organization which hosts this installation
- TELEMETA_SUBJECTS = tuple of subject keywords (used for Dublin Core), such as "Ethnology", etc...
- TELEMETA_CACHE_DIR = absolute path to the cache directory that you just created
- TELEMETA_GMAP_KEY = your Google Map API key
- TELEMETA_DOWNLOAD_ENABLED = True to enable audio data download
- TELEMETA_PUBLIC_ACCESS_PERIOD = 51 # (in years)
-
+ TELEMETA_ORGANIZATION = name of the organization which hosts this installation
+ TELEMETA_SUBJECTS = tuple of subject keywords (used for Dublin Core), such as "Ethnology", etc...
+ TELEMETA_CACHE_DIR = absolute path to the cache directory that you just created
+ TELEMETA_GMAP_KEY = your Google Map API key
+ TELEMETA_DOWNLOAD_ENABLED = True to enable audio data download
+ TELEMETA_PUBLIC_ACCESS_PERIOD = number of years above which item files are automagically published
+ EMAIL_HOST = your default SMTP server
+ DEFAULT_FROM_EMAIL = the default sending email address
+
Just paste the lines below::
LOGIN_URL = '/login'
LOGIN_REDIRECT_URL = '/'
+ AUTH_PROFILE_MODULE = 'telemeta.userprofile'
TELEMETA_EXPORT_CACHE_DIR = TELEMETA_CACHE_DIR + "/export"
TELEMETA_DATA_CACHE_DIR = TELEMETA_CACHE_DIR + "/data"
CACHE_BACKEND = "file://" + TELEMETA_CACHE_DIR + "/data"
msgid "Last login"
msgstr "Dernière connexion"
+#: templates/telemeta_default/profile_detail.html:60
+msgid "Set"
+msgstr "Appliquer"
+
+#: templates/telemeta_default/profile_detail.html:50
+msgid "Language"
+msgstr "Langue"
+
#: templates/telemeta_default/login.html:21
msgid "Password forgotten"
msgstr "Mot de passe oublié"
{% block tabcontents %}
{% endblock %}
</div>
+
{% endblock %}
<div id="quick_search">
<form action="{% url telemeta-search %}" id="_quickSearchForm" method="GET">
<input type="text" id="quick_search_pattern" name="pattern" />
-<!--<input type="submit" value="{% trans 'Search' %}" />-->
<a href="#" class="component button"
onclick="document.getElementById('_quickSearchForm').submit(); return false;">{% trans "Search" %}</a>
</form>
{% extends "telemeta/base.html" %}
{% load i18n %}
{% load telemeta_utils %}
-
+
{% block head_title %}{% trans "User Profile" %} : {{ usr.username }}{% endblock %}
-
-
{% block content %}
<div class="module-set" style="width: 33%">
{% block modules %}
</div>
<h3>{% trans "User profile" %} : {{ usr.username }}</h3>
-{% if user.is_authenticated %}
- <a href="{% url telemeta-profile-edit usr.username %}" class="component_icon button icon_edit" style="float:right">{% trans "Edit" %}</a>
- {% endif %}
<div class="infos" style="padding-top: 1em;">
<dl class="listing">
<dt>{% trans "First Name" %}</dt><dd>{{ usr.first_name }}</dd>
<dt>{% trans "Is staff" %}</dt><dd>{{ usr.is_staff }}</dd>
<dt>{% trans "Is superuser" %}</dt><dd>{{ usr.is_superuser }}</dd>
<dt>{% trans "Last login" %}</dt><dd>{{ usr.last_login }}</dd>
+ {% if user.is_authenticated and user.username == usr.username %}
+ {% get_current_language as LANGUAGE_CODE %}
+ {% get_available_languages as LANGUAGES %}
+ <dt>{% trans "Language" %}</dt><dd><form id="setlang" action="/i18n/setlang/" method="post">{% csrf_token %}
+ <input name="next" type="hidden" value="" />
+ <select name="language">
+ {% for lang in LANGUAGES %}
+ <option {% if lang.0 == LANGUAGE_CODE %}selected{% endif %} value="{{ lang.0 }}">{{ lang.1 }}</option>
+ {% endfor %}
+ </select>
+ <a href="#" class="component_icon button icon_save"
+ onclick="document.getElementById('setlang').submit(); return false;">{% trans "Set" %}</a>
+ </form>
+ </dd>
+ {% endif %}
</dl>
</div>
- <a href="{% url telemeta-password-change %}" class="component_icon button icon_login" style="float:left">{% trans "Change password" %}</a>
- </div>
+
+ {% if user.is_authenticated and user.username == usr.username or user.is_staff %}
+ <a href="{% url telemeta-profile-edit usr.username %}" class="component_icon button icon_edit">{% trans "Edit" %}</a>
+ {% endif %}
+ {% if user.is_authenticated and user.username == usr.username %}
+ <a href="{% url telemeta-password-change %}" class="component_icon button icon_login">{% trans "Change password" %}</a>
+ {% endif %}
+
+ </div>
{% endblock %}
url(r'^accounts/password_reset_complete/$', 'django.contrib.auth.views.password_reset_complete', {'template_name': 'telemeta/registration/password_reset_complete.html'}, name="telemeta-password-reset-complete"),
# JSON RPC
- url(r'^json/browse/', 'jsonrpc.views.browse', name="jsonrpc_browser"), # for the graphical browser/web console only, omissible
url(r'^json/$', jsonrpc_site.dispatch, name='jsonrpc_mountpoint'),
- url(r'^json/(?P<method>[a-zA-Z0-9.]+)$', jsonrpc_site.dispatch), # for HTTP GET only, also omissible
+ # for the graphical browser/web console only, omissible
+ url(r'^json/browse/', 'jsonrpc.views.browse', name="jsonrpc_browser"),
+ # for HTTP GET only, also omissible
+ #url(r'^json/(?P<method>[a-zA-Z0-9.]+)$', jsonrpc_site.dispatch),
# Playlists
url(r'^playlists/(?P<public_id>[a-zA-Z0-9]+)/(?P<resource_type>[a-zA-Z0-9]+)/csv/$', web_view.playlist_csv_export, name="telemeta-playlist-csv-export"),
# Not allowed
url(r'/*/(?P<public_id>[A-Za-z0-9._-]+)/not_allowed/$', web_view.not_allowed, name="telemeta-not-allowed"),
+
)