avatar
This commit is contained in:
parent
7d48fbf588
commit
cfa0220da7
|
@ -5,4 +5,5 @@
|
|||
*.pyc
|
||||
*.swp
|
||||
*.sqlite3
|
||||
/media/avatars/
|
||||
ponyconf/*_settings.py
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block speakertab %} class="active"{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ profile }}</h1>
|
||||
|
||||
{% include "_form.html" %}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3>{% blocktrans %}{{ profile }}'s profile{% endblocktrans %}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% include "_form.html" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% load bootstrap3 i18n %}
|
||||
{% load bootstrap3 i18n avatar_tags %}
|
||||
|
||||
{% block profiletab %} class="active"{% endblock %}
|
||||
|
||||
|
@ -12,14 +12,29 @@
|
|||
<h3>{% trans "Profile" %}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% include "_form.html" %}
|
||||
<form action="" method="post" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label" for="id_first_name">Avatar</label>
|
||||
{% avatar request.user %}
|
||||
<a href="{% url 'avatar_change' %}" class="btn btn-default">{% trans "Change avatar" %}</a>
|
||||
</div>
|
||||
{% for form in forms %}
|
||||
{% bootstrap_form form layout="horizontal" %}
|
||||
{% endfor %}
|
||||
{% buttons layout="horizontal" %}
|
||||
<button type="submit" class="btn btn-primary">{% trans "Submit" %}</button>
|
||||
{% for url, class, text in buttons %}
|
||||
<a href="{% url url %}" class="btn btn-{{ class }}">{{ text }}</a>
|
||||
{% endfor %}
|
||||
<a href="{% if request.META.HTTP_REFERER %}{{ request.META.HTTP_REFERER }}{% else %}{% url 'home' %}{% endif %}" class="btn btn-default">{% trans "Cancel" %}</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
<a href="{% url 'password_change' %}" class="btn btn-warning">Change password</a>
|
||||
|
||||
{% block css %}
|
||||
{{ block.super }}
|
||||
{{ form.media.css }}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
{% extends "avatar/base.html" %}
|
||||
{% load i18n avatar_tags %}
|
||||
|
||||
{% block avatarcontent %}
|
||||
<p>{% trans "Your current avatar: " %}</p>
|
||||
{% avatar user %}
|
||||
{% if not avatars %}
|
||||
<p>{% trans "You haven't uploaded an avatar yet. Please upload one now." %}</p>
|
||||
{% endif %}
|
||||
<form enctype="multipart/form-data" method="POST" action="{% url 'avatar_add' %}">
|
||||
{{ upload_avatar_form.as_p }}
|
||||
<p>{% csrf_token %}<input type="submit" value="{% trans "Upload New Image" %}" /></p>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -0,0 +1 @@
|
|||
<img src="{{ url }}" alt="{{ alt }}" width="{{ size }}" height="{{ size }}" />
|
|
@ -0,0 +1,20 @@
|
|||
{% extends 'base.html' %}
|
||||
|
||||
{% load i18n %}
|
||||
|
||||
{% block profiletab %} class="active"{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3>{% trans "Avatar" %}
|
||||
<a href="{% url 'profile' %}" class="btn btn-primary pull-right"><span class="glyphicon glyphicon-arrow-left"> {% trans "Back to profile" %}</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{% block avatarcontent %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -0,0 +1,21 @@
|
|||
{% extends "avatar/base.html" %}
|
||||
{% load i18n avatar_tags %}
|
||||
|
||||
{% block avatarcontent %}
|
||||
<p>{% trans "Your current avatar: " %}</p>
|
||||
{% avatar user %}
|
||||
{% if not avatars %}
|
||||
<p>{% trans "You haven't uploaded an avatar yet. Please upload one now." %}</p>
|
||||
{% else %}
|
||||
<form method="POST" action="{% url 'avatar_change' %}">
|
||||
<ul>
|
||||
{{ primary_avatar_form.as_ul }}
|
||||
</ul>
|
||||
<p>{% csrf_token %}<input type="submit" value="{% trans "Choose new Default" %}" /></p>
|
||||
</form>
|
||||
{% endif %}
|
||||
<form enctype="multipart/form-data" method="POST" action="{% url 'avatar_add' %}">
|
||||
{{ upload_avatar_form.as_p }}
|
||||
<p>{% csrf_token %}<input type="submit" value="{% trans "Upload New Image" %}" /></p>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -0,0 +1,17 @@
|
|||
{% extends "avatar/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block avatarcontent %}
|
||||
<p>{% trans "Please select the avatars that you would like to delete." %}</p>
|
||||
{% if not avatars %}
|
||||
{% url 'avatar_change' as avatar_change_url %}
|
||||
<p>{% blocktrans %}You have no avatars to delete. Please <a href="{{ avatar_change_url }}">upload one</a> now.{% endblocktrans %}</p>
|
||||
{% else %}
|
||||
<form method="POST" action="{% url 'avatar_delete' %}">
|
||||
<ul>
|
||||
{{ delete_avatar_form.as_ul }}
|
||||
</ul>
|
||||
<p>{% csrf_token %}<input type="submit" value="{% trans "Delete These" %}" /></p>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
|
@ -10,6 +10,7 @@ urlpatterns = [
|
|||
url(r'^logout/$', auth_views.logout, {'next_page': settings.LOGOUT_REDIRECT_URL}, name='logout'),
|
||||
url(r'^admin/participants/$', views.participation_list, name='list-participant'),
|
||||
url(r'^admin/participant/(?P<username>[\w.@+-]+)$', views.edit, name='edit-participant'),
|
||||
url(r'^avatar/', include('avatar.urls')),
|
||||
url(r'', include('django.contrib.auth.urls')),
|
||||
url(r'', include('registration.backends.default.urls')),
|
||||
]
|
||||
|
|
|
@ -14,6 +14,7 @@ from .utils import can_edit_profile, is_orga
|
|||
|
||||
RESET_PASSWORD_BUTTON = ('password_reset', 'warning', _('Reset your password'))
|
||||
CHANGE_PASSWORD_BUTTON = ('password_change', 'warning', _('Change password'))
|
||||
CHANGE_AVATAR_BUTTON = ('avatar_change', 'default', _('Change avatar'))
|
||||
|
||||
|
||||
@login_required
|
||||
|
|
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-07-23 12:13+0000\n"
|
||||
"POT-Creation-Date: 2016-07-23 15:18+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -18,7 +18,7 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: accounts/models.py:17 proposals/templates/proposals/user_details.html:10
|
||||
#: accounts/models.py:17 proposals/templates/proposals/user_details.html:12
|
||||
msgid "Biography"
|
||||
msgstr "Biographie"
|
||||
|
||||
|
@ -42,7 +42,7 @@ msgstr "J’accepte d’être enregistré en vidéo"
|
|||
msgid "Video licence"
|
||||
msgstr "Licence vidéo"
|
||||
|
||||
#: accounts/models.py:60 proposals/templates/proposals/user_details.html:17
|
||||
#: accounts/models.py:60 proposals/templates/proposals/user_details.html:19
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
|
@ -54,6 +54,11 @@ msgstr "Bienvenue !"
|
|||
msgid "Goodbye!"
|
||||
msgstr "Au revoir !"
|
||||
|
||||
#: accounts/templates/accounts/edit_profile.html:11
|
||||
#, python-format
|
||||
msgid "%(profile)s's profile"
|
||||
msgstr "Profile de %(profile)s"
|
||||
|
||||
#: accounts/templates/accounts/participation_list.html:32
|
||||
msgid "View conversation"
|
||||
msgstr "Afficher la discussion"
|
||||
|
@ -72,6 +77,57 @@ msgstr "S’abonner à la discussion"
|
|||
msgid "Profile"
|
||||
msgstr "Profile"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:20 accounts/views.py:17
|
||||
msgid "Change avatar"
|
||||
msgstr "Changer d’avatar"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:26 ponyconf/templates/_form.html:12
|
||||
msgid "Submit"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:30 ponyconf/templates/_form.html:16
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: accounts/templates/avatar/add.html:5 accounts/templates/avatar/change.html:5
|
||||
msgid "Your current avatar: "
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/avatar/add.html:8 accounts/templates/avatar/change.html:8
|
||||
msgid "You haven't uploaded an avatar yet. Please upload one now."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/avatar/add.html:12
|
||||
#: accounts/templates/avatar/change.html:19
|
||||
msgid "Upload New Image"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/avatar/base.html:11
|
||||
msgid "Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/avatar/base.html:12
|
||||
msgid "Back to profile"
|
||||
msgstr "Retourner au profile"
|
||||
|
||||
#: accounts/templates/avatar/change.html:14
|
||||
msgid "Choose new Default"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/avatar/confirm_delete.html:5
|
||||
msgid "Please select the avatars that you would like to delete."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/avatar/confirm_delete.html:8
|
||||
msgid ""
|
||||
"You have no avatars to delete. Please <a href=\"%(avatar_change_url)s"
|
||||
"\">upload one</a> now."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/avatar/confirm_delete.html:14
|
||||
msgid "Delete These"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/registration/login.html:11
|
||||
#: ponyconf/templates/base.html:76
|
||||
msgid "Login"
|
||||
|
@ -108,7 +164,7 @@ msgstr "Réinitialiser son mot de passe"
|
|||
|
||||
#: accounts/views.py:16
|
||||
msgid "Change password"
|
||||
msgstr "Changer son mot de passe"
|
||||
msgstr "Changer de mot de passe"
|
||||
|
||||
#: conversations/templates/conversations/_message_form.html:4
|
||||
msgid "Send a message"
|
||||
|
@ -139,28 +195,20 @@ msgid "You can use this page to communicate with the staff."
|
|||
msgstr ""
|
||||
"Vous pouvez utiliser cette page pour communiquer avec l’équipe organisatrice."
|
||||
|
||||
#: ponyconf/settings.py:135
|
||||
#: ponyconf/settings.py:136
|
||||
msgid "English"
|
||||
msgstr "Anglais"
|
||||
|
||||
#: ponyconf/settings.py:136
|
||||
#: ponyconf/settings.py:137
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
#: ponyconf/templates/_form.html:11
|
||||
msgid "Submit"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: ponyconf/templates/_form.html:15
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: ponyconf/templates/base.html:45
|
||||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
|
||||
#: ponyconf/templates/base.html:47
|
||||
#: proposals/templates/proposals/user_details.html:13
|
||||
#: proposals/templates/proposals/user_details.html:15
|
||||
msgid "Talks"
|
||||
msgstr "Exposés"
|
||||
|
||||
|
@ -281,7 +329,7 @@ msgstr "Aucun thèmes."
|
|||
msgid "Add a topic"
|
||||
msgstr "Ajouter un thème"
|
||||
|
||||
#: proposals/templates/proposals/user_details.html:19
|
||||
#: proposals/templates/proposals/user_details.html:21
|
||||
msgid "Edit"
|
||||
msgstr "Éditer"
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ INSTALLED_APPS = [
|
|||
'bootstrap3',
|
||||
'registration',
|
||||
'django_select2',
|
||||
'avatar',
|
||||
|
||||
# build-in apps
|
||||
'django.contrib.admin',
|
||||
|
@ -143,11 +144,13 @@ LOCALE_PATHS = [
|
|||
]
|
||||
|
||||
|
||||
MEDIA_URL = '/media/'
|
||||
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/1.9/howto/static-files/
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
STATICFILES_FINDERS = [
|
||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{% load bootstrap3 i18n %}
|
||||
<form action="" method="post" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
{% block beforeform %}{% endblock %}
|
||||
{% if form %}
|
||||
{% bootstrap_form form layout="horizontal" %}
|
||||
{% endif %}
|
||||
|
|
|
@ -15,6 +15,8 @@ Including another URLconf
|
|||
"""
|
||||
from django.conf.urls import include, url
|
||||
from django.contrib import admin
|
||||
from django.conf.urls.static import static
|
||||
from django.conf import settings
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^admin/', admin.site.urls),
|
||||
|
@ -22,4 +24,4 @@ urlpatterns = [
|
|||
url(r'', include('proposals.urls')),
|
||||
url(r'^conversations/', include('conversations.urls')),
|
||||
url(r'^select2/', include('django_select2.urls')),
|
||||
]
|
||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends 'base.html' %}
|
||||
{% load accounts_tags i18n %}
|
||||
{% load accounts_tags i18n avatar_tags %}
|
||||
|
||||
{% block speakertab %} class="active"{% endblock %}
|
||||
|
||||
|
@ -7,6 +7,8 @@
|
|||
|
||||
<h1>{{ profile }}</h1>
|
||||
|
||||
<img class="pull-right" src="{% avatar_url request.user 160 %}" />
|
||||
|
||||
<h2>{% trans "Biography" %}</h2>
|
||||
<p>{{ profile.biography }}</p>
|
||||
|
||||
|
|
Loading…
Reference in New Issue