diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo
index 8e55528..e0305ac 100755
Binary files a/locale/fr/LC_MESSAGES/django.mo and b/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po
index 85019f3..62981bd 100755
--- a/locale/fr/LC_MESSAGES/django.po
+++ b/locale/fr/LC_MESSAGES/django.po
@@ -111,7 +111,7 @@ msgstr ""
#: outside/templates/hub/reinitialize_passwd.html:19
#: outside/templates/hub/signup.html:27
msgid "username"
-msgstr "Nom d'utilisateur"
+msgstr "identifiant"
#: outside/views.py:154 outside/views.py:213
#, python-format
@@ -651,7 +651,7 @@ msgstr ""
#: outside/templates/hub/reinitialize_passwd.html:43
#: outside/templates/hub/signup.html:78
msgid "Please fill the image below"
-msgstr "Veuillez recopier l'image ci-dessous"
+msgstr "Merci de bien vouloir reproduire les lettres qui apparaissent dans l'image ci-dessous"
#: outside/templates/enquete/access_form.html:86
msgid "accepted terms"
@@ -841,7 +841,7 @@ msgstr "L'enquête sur l'enquête"
#: outside/templates/enquete/enquetes.html:75
msgid "To access the survey datas you have to be registered"
-msgstr "Pour accêder aux données de l'enquête vous devez être inscrit"
+msgstr "Pour lire les données de l'enquête vous devez être inscrit"
#: outside/templates/enquete/enquetes.html:78
msgid "access content"
@@ -1085,8 +1085,16 @@ msgstr "Changer votre mot de passe"
#: outside/templates/hub/change_password.html:26
#: outside/templates/hub/signup.html:45
-msgid "The password must have a good security"
-msgstr "Le mot de passe doit avoir une bonne sécurité"
+msgid "The password must have a good security, use signs and numbers to strenghten the password"
+msgstr "Le mot de passe doit avoir une bonne sécurité, utilisez des signes et des chiffres pour renforcer la sécurité"
+
+
+msgid "Research content"
+msgstr "Contenus de l'enquête"
+
+
+msgid "Create profile"
+msgstr "Création du profil"
#: outside/templates/hub/change_password.html:34
msgid "Confirmation"
@@ -1154,7 +1162,7 @@ msgstr ""
#: outside/templates/hub/create_profile.html:13
msgid "You don't have a profile, create one"
-msgstr "Vous n'avez pas de profile, veuillez en créer un"
+msgstr "Vous n'avez pas de profil, veuillez en créer un"
#: outside/templates/hub/create_profile.html:18
#: outside/templates/hub/edit_profile.html:18
@@ -1204,7 +1212,7 @@ msgid ""
msgstr ""
"\n"
"
Les données de l'enquête peuvent être très longue à télécharger, vous "
-"devriez donc utiliser un gestionnaire de téléchargement qui permet de mettre "
+"devriez donc utiliser un gestionnaire de téléchargement qui permet de mettre "
"en pause un téléchargement et le continuer plus tard.Si vous êtes sur "
"windows vous pouvez utiliser free download manager . Sur "
@@ -1325,7 +1333,7 @@ msgstr "Confirmation du mot de passe"
#: outside/templates/hub/signup.html:72
msgid "describe yourself"
-msgstr "Décrivez-vous professionnellement, votre poste, où vous travaillez..."
+msgstr "Pouvez-vous nous décrire les raisons pour lesquelles vous vous intéressez à la banque d'enquêtes qualitatives?"
#: outside/templates/hub/signup.html:85
msgid "legal notices"
@@ -1356,21 +1364,16 @@ msgstr "Authentification"
#: outside/templates/outside/login.html:37
#, python-format
-msgid ""
-"\n"
-"\t\t\tPlease fill this form to connect, click "
-"here if you are not registered\n"
-"\t\t\t "
+msgid "Please fill this form to connect, click here if you are not registered"
msgstr ""
-"\n"
-"\t\t\tPour demander l'accès à une enquête vous devez être incrit sur le "
-"site, vous pouvez vous inscrire ici "
+"Pour demander l'accès à une enquête vous devez être incrit sur le "
+"site, vous pouvez vous inscrire ici "
"a> Si vous disposez déjà d'un compte veuillez entrer vos login et mot "
"de passe ci-dessous. Nous vous rappelons que ce site est réservé à la "
"communauté académique pour un usage strictement scientifique. Une fois "
"authentifié, vous pouvez demander à consulter les documents de l'enquête en "
"remplissant le formulaire de demande d'accès. Vous devrez renouveller la "
-"procédure pour chaque enquête que vous souhaiterez consulter.\t\t\t "
+"procédure pour chaque enquête que vous souhaiterez consulter."
#: outside/templates/outside/login.html:67
msgid "Password forgotten?"
@@ -1862,4 +1865,6 @@ msgid "Show/Hide Paraverbal"
msgstr "Voir/cacher le paraverbal"
+msgid "Refresh captcha image"
+msgstr "rafraichir l'image"
diff --git a/outside/api.py b/outside/api.py
index 9accaaf..045fdd1 100755
--- a/outside/api.py
+++ b/outside/api.py
@@ -729,6 +729,23 @@ def subscriber( request, subscriber_id ):
import random
+
+from captcha.models import CaptchaStore
+from captcha.helpers import captcha_image_url
+
+import json
+
+def captcha_refresh(request):
+ """ Return json with new captcha for ajax refresh request """
+
+ new_key = CaptchaStore.generate_key()
+ to_json_response = {
+ 'key': new_key,
+ 'image_url': captcha_image_url(new_key),
+ }
+ return HttpResponse(json.dumps(to_json_response), content_type='application/json')
+
+
def captcha(request):
# this compare captcha's number from POST and SESSION
if(request.method == 'POST' and request.POST['captcha'] is not None and request.POST['captcha'] == request.session['captcha']):
diff --git a/outside/forms.py b/outside/forms.py
index 3728291..0f1c3b6 100755
--- a/outside/forms.py
+++ b/outside/forms.py
@@ -1,7 +1,7 @@
from django import forms
from django.forms import ModelForm, ModelChoiceField
from django.utils.translation import ugettext as _
-from captcha.fields import ReCaptchaField
+from captcha.fields import *
from outside.models import Subscriber
from reanalyseapp.models import Enquete
@@ -22,13 +22,12 @@ class SubscriberForm (forms.Form):
accepted_terms = forms.BooleanField(required=False, initial=False)
description = forms.CharField( widget=forms.Textarea) # personal description
action = forms.CharField( label="action", required=False, widget=forms.HiddenInput )
- #captcha = ReCaptchaField(attrs={'theme':'clean'})
-
+ captcha = CaptchaField(required=False, )
class LoginForm( forms.Form ):
username = forms.CharField( max_length=32, widget=forms.TextInput, required=True )
password = forms.CharField( max_length=64, label='Password', widget=forms.PasswordInput(render_value=False ), required=True )
- #captcha = ReCaptchaField(attrs={'theme':'clean'}, required=True)
+ captcha = CaptchaField(required=False, )
@@ -43,19 +42,17 @@ class SignupForm( forms.Form ):
status = forms.CharField(max_length=3, widget=forms.Select(choices=Subscriber.STATUS_CHOICES), )
accepted_terms = forms.BooleanField(initial=False)
description = forms.CharField( widget=forms.Textarea) # personal message
- captcha = ReCaptchaField(attrs={'theme':'clean'})
+ captcha = CaptchaField(required=False, )
class ChangePasswordForm( forms.Form ):
password1 = forms.CharField( max_length=64, label='Password', widget=forms.PasswordInput(render_value=False ), required=True )
password2 = forms.CharField( max_length=64, label='Password', widget=forms.PasswordInput(render_value=False ), required=True )
- username = forms.CharField( label="username", required=True, widget=forms.HiddenInput )
- captcha = ReCaptchaField(attrs={'theme':'clean'})
-
+ username = forms.CharField( label="username", required=True, widget=forms.HiddenInput )
class ReinitializePasswordForm(forms.Form):
email = forms.EmailField()
#username = forms.CharField( label=_("username"), required=True )
- captcha = ReCaptchaField(attrs={'theme':'clean'})
+ captcha = CaptchaField(required=True)
@@ -81,7 +78,7 @@ def label_from_instance(self, obj):
description = forms.CharField( widget=forms.Textarea) # personal message
- captcha = ReCaptchaField(attrs={'theme':'clean'})
+
diff --git a/outside/templates/email/access_request.html b/outside/templates/email/access_request.html
index cd67135..7d64efe 100644
--- a/outside/templates/email/access_request.html
+++ b/outside/templates/email/access_request.html
@@ -20,7 +20,7 @@
Vous pouvez cliquer ici pour accéder à la page admin
- Aurevoir
+ A bientôt!
{% endblocktrans %}
@@ -32,11 +32,12 @@
{% blocktrans %}
- Bonjour,
+ Bonjour {{prenom }} {{nom}},
- Vous avez demandé l'accès pour l'enquête {{enquete}}, nous allons étudier votre demande et vous recevrez un mail quand l'accès vous sera autorisé.
+ Vous avez demandé l'accès pour l'enquête {{enquete}}, nous allons étudier votre demande et vous recevrez un mail dès que l'accès vous aura été donné.
- Aurevoir
+ A bientôt!
+ L'équipe beQuali
{% endblocktrans %}
@@ -48,10 +49,11 @@
{% blocktrans %}
- Bonjour,
+ Bonjour {{prenom }} {{nom}},
Votre demande d'accès pour l'enquête "{{enquete}}" a été acceptée. Vous pouvez consulter l'enquête ici
- Aurevoir
+ Bonne exploration!
+ L'équipe beQuali
{% endblocktrans %}
diff --git a/outside/templates/email/contact.html b/outside/templates/email/contact.html
index 617a782..e67bebe 100644
--- a/outside/templates/email/contact.html
+++ b/outside/templates/email/contact.html
@@ -6,10 +6,11 @@
{% blocktrans %}
- Bonjour votre message a été envoyé, nous vous répondrons dès que possible.
+ Bonjour votre message a bien été envoyé, nous vous répondrons dès que possible.
Contenu du message : {{description}}
- Aurevoir
+ A bientôt!
+ L'équipe beQuali
@@ -37,7 +38,7 @@
message:{{description}}
- Aurevoir
+ A bientôt
{% endblocktrans %}
diff --git a/outside/templates/email/reinitialize_password.html b/outside/templates/email/reinitialize_password.html
index bfd49df..384e581 100644
--- a/outside/templates/email/reinitialize_password.html
+++ b/outside/templates/email/reinitialize_password.html
@@ -3,14 +3,15 @@
{%if action == 'reinitialize_confirm'%}
- Bonjour {{firstname }}{{lastname}},
+ Bonjour {{prenom }} {{nom}},
Nous avons reçu une demande de réinitialisation de votre mot de passe pour votre identitiant {{username}} .
Si vous êtes bien à l'origine de la demande, veuillez confirmer votre demande de réinitialisation en cliquant sur ce lien ,
vous recevrez alors un email contenant votre nouveau mot de passe.
- A bientôt
+ A bientôt!
+ L'équipe beQuali
@@ -20,16 +21,17 @@
{%if action == 'reinitialize_notification'%}
- Bonjour {{firstname }}{{lastname}},
+ Bonjour {{prenom }} {{nom}},
- Votre mot de passe a bien été réinitialisé, vous pouvez vous connecter ici avec ces informations :
+ Votre mot de passe a bien été réinitialisé, vous pouvez dès maintenant vous connecter ici avec ces informations :
Identifiant : {{username}}
Mot de passe : {{password}}
Vous pouvez changer votre mot de passe à cette adresse :
- A bientôt
+ A bientôt!
+ L'équipe beQuali
diff --git a/outside/templates/email/signup.html b/outside/templates/email/signup.html
index 8dec28d..d129aef 100644
--- a/outside/templates/email/signup.html
+++ b/outside/templates/email/signup.html
@@ -5,13 +5,15 @@
{% blocktrans %}
- Bonjour {{firstname}} {{nom}},
+ Bonjour {{prenom}} {{nom}},
- Veuillez cliquer sur ce lien pour confirmer votre inscription sur le site BeQuali.
+ Nous avons bien reçu votre de mande d'inscription sur le site beQuali.
+ Afin de finaliser la procédure veuillez cliquer sur ce lien .
- Vous pourrez vous connecter avec cet identifiant : {{username}} et mot de passe : {{password}} (masqué pour raison de sécurité).
+ Vous pourrez ensuite vous connecter avec cet identifiant : {{username}} et ce mot de passe : {{password}} (masqué pour raison de sécurité).
- Aurevoir
+ A bientôt!
+ L'équipe beQuali
@@ -25,9 +27,9 @@
{% blocktrans %}
Bonjour, vous avez une nouvelle demande d'accès :
- user information :
+ Informations sur l'utilisateur :
- prenom: {{prenom}}
+ prénom: {{prenom}}
nom: {{nom}}
email: {{email}}
affiliation: {{affiliation}}
@@ -36,7 +38,7 @@
Vous pouvez cliquer ici pour accéder à la page admin
- Aurevoir
+ A bientôt!
diff --git a/outside/templates/enquete/access_form.html b/outside/templates/enquete/access_form.html
index ecd201d..af72de0 100644
--- a/outside/templates/enquete/access_form.html
+++ b/outside/templates/enquete/access_form.html
@@ -81,11 +81,6 @@
{%trans "Ask for access"%}
- {% trans "captcha"|capfirst %}
- {% trans "Please fill the image below"|capfirst %}
-
- {{ access_request_form.captcha }}
-
diff --git a/outside/templates/enquete/metadata.html b/outside/templates/enquete/metadata.html
index 4e06f32..761631e 100644
--- a/outside/templates/enquete/metadata.html
+++ b/outside/templates/enquete/metadata.html
@@ -97,7 +97,7 @@ {% trans "general" %}
{% trans key %}
-
+
{% for i in item.value %}{{ i }}{% if not forloop.last %}, {% endif %}{% endfor %}
@@ -119,7 +119,7 @@ {% trans "actors" %}
{% trans key %}
-
+
{% for i in item.value %}{{ i }}{% if not forloop.last %}, {% endif %}{% endfor %}
@@ -141,7 +141,7 @@ {% trans "universe" %}
{% trans key %}
-
+
{% for i in item.value %}{{ i }}{% if not forloop.last %}, {% endif %}{% endfor %}
@@ -163,7 +163,7 @@ {% trans "method" %}
{% trans key %}
-
+
{% for i in item.value %}{{ i }}{% if not forloop.last %}, {% endif %}{% endfor %}
@@ -185,7 +185,7 @@ {% trans "corpus" %}
{% trans key %}
-
+
{% for i in item.value %}{{ i }}{% if not forloop.last %}, {% endif %}{% endfor %}
@@ -207,7 +207,7 @@ {% trans "analysis" %}
{% trans key %}
-
+
{% for i in item.value %}{{ i }}{% if not forloop.last %}, {% endif %}{% endfor %}
@@ -229,7 +229,7 @@ {% trans "edition" %}
{% trans key %}
-
+
{% for i in item.value %}{{ i }}{% if not forloop.last %}, {% endif %}{% endfor %}
diff --git a/outside/templates/enquete/middle.html b/outside/templates/enquete/middle.html
index c9ececa..428cb3f 100755
--- a/outside/templates/enquete/middle.html
+++ b/outside/templates/enquete/middle.html
@@ -32,7 +32,7 @@
- {% trans "connection" %}
+ {% trans "connection" %}
{% endif %}
@@ -224,27 +224,38 @@ {{ p.title }}
+ {% block footer %}
+
+ {% endblock %}
+
{% block modals %}
diff --git a/outside/templates/hub/boilerplate.html b/outside/templates/hub/boilerplate.html
index fb26544..4f4d031 100755
--- a/outside/templates/hub/boilerplate.html
+++ b/outside/templates/hub/boilerplate.html
@@ -82,13 +82,17 @@
{% endblock %}
{% block outside_scripts %}
+
+
+
+
-
+
diff --git a/outside/templates/hub/change_password.html b/outside/templates/hub/change_password.html
index 390d792..077edb4 100644
--- a/outside/templates/hub/change_password.html
+++ b/outside/templates/hub/change_password.html
@@ -22,14 +22,14 @@ {% trans "Change your password" %}
- {% trans "New password" %}
-
-
- {% trans "The password must have a good security"|capfirst %}:
+
+ {% trans "password"|capfirst %} *
+
+
+ {% trans "The password must have a good security, use signs and numbers to strenghten the password"|capfirst %}:
-
- {{change_password_form.password1}}
+ {{ change_password_form.password1 }}
@@ -43,12 +43,7 @@
{% trans "Change your password" %}
{{change_password_form.password2}}
-
-
{% trans "captcha"|capfirst %}
- {% trans "Please fill the image below"|capfirst %}
-
-
- {{change_password_form.captcha}}
+
diff --git a/outside/templates/hub/create_profile.html b/outside/templates/hub/create_profile.html
index 005eda3..f81dffb 100644
--- a/outside/templates/hub/create_profile.html
+++ b/outside/templates/hub/create_profile.html
@@ -8,7 +8,7 @@
{% block page_left %}
-
{% trans "Your profile" %}
+
{% trans "Create profile" %}
{% trans "You don't have a profile, create one"%}
@@ -40,15 +40,7 @@
{% trans "Your profile" %}
{{ create_profile_form.affiliation }}
-
-
-
-
{% trans "captcha"|capfirst %}
- {% trans "Please fill the image below"|capfirst %}
-
- {{ create_profile_form.captcha }}
-
-
+
{{ create_profile_form.action }}
diff --git a/outside/templates/hub/download.html b/outside/templates/hub/download.html
index f1b9b1a..e17b81c 100644
--- a/outside/templates/hub/download.html
+++ b/outside/templates/hub/download.html
@@ -3,7 +3,22 @@
{% load extras %}
+
+
{% block page_hook_inner %}
+
+
{{ enquete.name }}
diff --git a/outside/templates/hub/middle.html b/outside/templates/hub/middle.html
index ab20db1..62b9a82 100755
--- a/outside/templates/hub/middle.html
+++ b/outside/templates/hub/middle.html
@@ -394,6 +394,7 @@
{% trans "edit section" %}
{% block api_urls %}
oo.urls = {
+ "captcha_refresh":"{% url api_captcha_refresh %}",
"add_page":"{% url glue_api_pages %}",
"add_pin":"{% url glue_api_pins %}",
"edit_pin":"{% url glue_api_pin 0 %}",
diff --git a/outside/templates/hub/reinitialize_passwd.html b/outside/templates/hub/reinitialize_passwd.html
index 0542515..318c493 100644
--- a/outside/templates/hub/reinitialize_passwd.html
+++ b/outside/templates/hub/reinitialize_passwd.html
@@ -27,23 +27,26 @@
-->
- {% trans "email"|capfirst %}
+ {% trans "email"|capfirst %} *
+
{{reinitialize_password_form.email}}
-
{% trans "captcha"|capfirst %}
- {% trans "Please fill the image below"|capfirst %}
-
-
- {{reinitialize_password_form.captcha}}
+
{% trans "captcha"|capfirst %} *
+
+
+
+ {{ reinitialize_password_form.captcha }}
diff --git a/outside/templates/hub/signup.html b/outside/templates/hub/signup.html
index 78dd5d4..fc3fd01 100644
--- a/outside/templates/hub/signup.html
+++ b/outside/templates/hub/signup.html
@@ -42,7 +42,7 @@ {% trans "Registration" %}
{% trans "password"|capfirst %} *
- {% trans "The password must have a good security"|capfirst %}:
+ {% trans "The password must have a good security, use signs and numbers to strenghten the password"|capfirst %}:
{{ signup_form.password1 }}
@@ -53,7 +53,7 @@ {% trans "Registration" %}
{% trans "password confirmation"|capfirst %} *
- {% trans "Please confirm your password"|capfirst %}:
+ {% trans "Please confirm your password"|capfirst %}:
@@ -75,10 +75,14 @@ {% trans "Registration" %}
{% trans "captcha"|capfirst %} *
- {% trans "Please fill the image below"|capfirst %}
+
+
{{ signup_form.captcha }}
-
+
+
diff --git a/outside/templates/outside/login.html b/outside/templates/outside/login.html
index 7a85abe..1f07550 100755
--- a/outside/templates/outside/login.html
+++ b/outside/templates/outside/login.html
@@ -1,19 +1,14 @@
-{% extends "outside/middle.html" %}
+{% extends "enquete/middle.html" %}
{% load i18n %}
-{% block sidebar %}
-
-
-{% endblock %}
+{% block sidebar %}{% endblock %}
-{% block page_title %}
-
-{% endblock %}
+{% block page_title %}{% endblock %}
{% block page %}
{% url outside_signup_generic as signup_url %}
-
+
diff --git a/outside/urls.py b/outside/urls.py
index 28b02ad..f790aa5 100755
--- a/outside/urls.py
+++ b/outside/urls.py
@@ -3,7 +3,7 @@
urlpatterns = patterns('',
-
+ url(r'^captcha/', include('captcha.urls')),
url(r'^$','outside.views.index', name='outside_index'),
url(r'^index/$','outside.views.index', name='outside_index'),
url(r'^news/$','outside.views.news', name='outside_news'),
@@ -39,7 +39,7 @@
url(r'^enquete_admin$', 'outside.views.enquete_admin', name='outside_enquete_admin'),
-
+ url(r'^api/captcha_refresh/$', 'outside.api.captcha_refresh', name='api_captcha_refresh'),
diff --git a/outside/views.py b/outside/views.py
index 8f6f05e..bc47e52 100755
--- a/outside/views.py
+++ b/outside/views.py
@@ -21,11 +21,11 @@
from reanalyseapp.models import Enquete, Tag, Texte, AccessRequest
from glue.models import Pin, Page
-from glue.forms import LoginForm, AddPageForm, AddPinForm, EditPinForm
+from glue.forms import AddPageForm, AddPinForm, EditPinForm
from outside.models import Enquiry, Subscriber, Confirmation_code
from outside.sites import OUTSIDE_SITES_AVAILABLE
-from outside.forms import AddEnquiryForm, SubscriberForm, SignupForm, AccessRequestForm, ChangePasswordForm, ReinitializePasswordForm
+from outside.forms import LoginForm, AddEnquiryForm, SubscriberForm, SignupForm, AccessRequestForm, ChangePasswordForm, ReinitializePasswordForm
from django.core.mail import EmailMultiAlternatives
@@ -126,7 +126,7 @@ def page( request, page_slug ):
return render_to_response("%s/page.html" % 'enquete', RequestContext(request, data ) )
def enquete( request, enquete_id ):
- data = shared_context( request, tags=[ "enquetes", "focus-on-enquete" ] )
+ data = shared_context( request, tags=[ "enquetes", "focus-on-enquete", 'visualizations' ] )
data['enquete'] = get_object_or_404( Enquete, id=enquete_id )
data['disabled'] = [ t.slug for t in data['enquete'].tags.filter( type=Tag.DISABLE_VISUALIZATION ) ]
@@ -575,9 +575,16 @@ def login_view( request ):
form = LoginForm( request.POST )
login_message = { 'next':request.REQUEST.get('next', 'outside_index') }
+
+ try:
+ if 'next' not in request.session:
+ request.session['next'] = request.REQUEST['next']
+ except:
+ pass
+
+
if request.method == 'POST':
- #return HttpResponse( request.POST, content_type="text" )
if form.is_valid():
user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password'])
@@ -594,8 +601,16 @@ def login_view( request ):
# @todo: Redirect to next page
#return redirect( settings.REANALYSEURL+'/'+settings.ROOT_DIRECTORY_NAME )
-
- return redirect( request.REQUEST.get('next', 'outside_index') )
+
+
+
+ next_url = request.session['next']
+
+ del request.session['next']
+
+ #return HttpResponse(next_url)
+
+ return redirect( next_url )
#return redirect( settings.REANALYSEURL+request.GET['next'] )
@@ -633,6 +648,8 @@ def access_request(request, enquete_id=None):
#Verify if he has already requested the enquete
try:
access = AccessRequest.objects.get(user=request.user.id, enquete=enquete_id)
+
+
except AccessRequest.DoesNotExist:
try:
@@ -640,6 +657,8 @@ def access_request(request, enquete_id=None):
except Subscriber.DoesNotExist:
pass
+ #redirect to creation profileS
+
else:
#Fill form with user infos
@@ -801,6 +820,7 @@ def shared_context( request, tags=[], previous_context={} ):
d['stylesheet'] = settings.OUTSIDE_THEME
d['template'] = settings.OUTSIDE_TEMPLATE_DIR
d['REANALYSEURL'] = settings.REANALYSEURL
+ d['next'] = request.path
# if it is not auth, pull loginform
@@ -976,21 +996,20 @@ def reinitialize_password(request):
def download_page( request, enquete_id ):
-
-
-
+
data = shared_context( request, tags=[ "download" ] )
-
- try:
- AccessRequest.objects.get(user=request.user.id, enquete=enquete_id, is_activated=True)
- except AccessRequest.DoesNotExist:
-
- request.flash['notice'] = _("You don't have access to this document, please ask for access here to ask for permission.") % ( reverse('outside.views.access_request', kwargs={'enquete_id':enquete_id}) )
-
- viewurl = reverse('outside.views.enquete', kwargs={'enquete_id':enquete_id})
- return redirect(viewurl)
-
+ if( not request.user.has_perm('reanalyseapp.can_browse') ):
+ try:
+ AccessRequest.objects.get(user=request.user.id, enquete=enquete_id, is_activated=True)
+ except AccessRequest.DoesNotExist:
+
+ request.flash['notice'] = _("You don't have access to this document, please ask for access here to ask for permission.") % ( reverse('outside.views.access_request', kwargs={'enquete_id':enquete_id}) )
+
+ viewurl = reverse('outside.views.enquete', kwargs={'enquete_id':enquete_id})
+ return redirect(viewurl)
+ else:
+ pass
if enquete_id is not None:
data['enquete'] = get_object_or_404( Enquete, id=enquete_id )
diff --git a/settings.py b/settings.py
index ee5d4c5..7c87da3 100755
--- a/settings.py
+++ b/settings.py
@@ -345,3 +345,20 @@
OUTSIDE_SITE_NAME = "reanalyse"
OUTSIDE_THEME = "app"
OUTSIDE_TEMPLATE_DIR = "hub"
+
+
+
+#CAPTCHA_FONT_PATH
+CAPTCHA_FONT_SIZE = 50
+#CAPTCHA_LETTER_ROTATION
+#CAPTCHA_BACKGROUND_COLOR
+#CAPTCHA_FOREGROUND_COLOR
+#CAPTCHA_NOISE_FUNCTIONS
+#CAPTCHA_FILTER_FUNCTIONS
+#CAPTCHA_WORDS_DICTIONARY
+#CAPTCHA_FLITE_PATH
+#CAPTCHA_LENGTH
+#CAPTCHA_DICTIONARY_MIN_LENGTH
+#CAPTCHA_DICTIONARY_MAX_LENGTH
+#CAPTCHA_OUTPUT_FORMAT
+#CAPTCHA_TEST_MOD = False
diff --git a/static/css/themes/app.less b/static/css/themes/app.less
index 1dec0a0..64b7f4b 100755
--- a/static/css/themes/app.less
+++ b/static/css/themes/app.less
@@ -2223,10 +2223,17 @@ table.meta{
.serif-slant(14px);
text-align:left;
padding: 0 @grid-padding/2 0 @grid-padding/3;
+ vertical-align: top;
+ text-align: right
}
- }
+
+ td.value{
+ vertical-align: top;
+ }
+
+ }
}
@@ -2373,6 +2380,7 @@ table.meta{
.ajax-loader {
+
background:url("../../img/rea/loading.gif");
display:inline-block;
height: 12px;
diff --git a/static/js/outside.js b/static/js/outside.js
index a99be36..8c8c5f0 100755
--- a/static/js/outside.js
+++ b/static/js/outside.js
@@ -57,11 +57,11 @@ oo.api.process = function( result, callback, namespace ){
*/
oo.toast( oo.i18n.translate("invalid form") , oo.i18n.translate("error"), {stayTime:3000, cleanup: true});
- Recaptcha.reload();
+ captcha_refresh()
} else {
oo.toast( result.error , oo.i18n.translate("error"), {stayTime:3000, cleanup: true});
oo.invalidate( result.fields, namespace );
- Recaptcha.reload();
+ captcha_refresh()
}
}
@@ -130,14 +130,15 @@ oo.invalidate = function( errors, namespace ){ if (!namespace){ namespace = "id"
$("#"+namespace+"_"+i).parent().addClass("invalid");
continue;
} else if(i.indexOf("captcha") != -1 ) {
- $("#recaptcha_response_field").addClass("invalid");
+ $("#"+namespace+"_"+"captcha_1").addClass("invalid");
+ console.log("#"+namespace+"_"+"captcha_1")
continue;
} else if(i.indexOf("terms") != -1 ) {
$("#"+namespace+"_"+i).parent().attr("style", "color:red;text-decoration:underline");
continue;
}
- oo.log("#"+namespace+"_"+i)
+
$("#"+namespace+"_"+i).addClass("invalid");
}
}
@@ -218,8 +219,11 @@ oo.i18n.dict = {
"Bad":"Sécurité trop faible ",
"Good":"Sécurité convenable",
"Strong":"Sécurité forte",
+ "Too easy":"Ne mettez pas votre nom ou prénom pour raison de sécurité",
"Your password security is too weak":"La sécurité de votre mot de passe est trop faible",
- "the password is not the same as above":"Les deux mots de passes ne sont pas égaux"
+ "the password is not the same as above":"Les deux mots de passes ne sont pas égaux",
+ "Password confirmed":"Mot de passe confirmé"
+
}
};
\ No newline at end of file
diff --git a/static/js/outside/access_request.js b/static/js/outside/access_request.js
index 2760740..550982d 100644
--- a/static/js/outside/access_request.js
+++ b/static/js/outside/access_request.js
@@ -78,8 +78,8 @@ oo.access_request.init = function(){oo.log("[oo.access_request.init]");
description:$('#id_access_request_description').val(),
enquete:!$('#id_access_request_enquete').is("select")?$('input[name=enquete]').val():$('select[name=enquete]').val(),
accepted_terms: $('input[name=accepted_terms]').val(),
- recaptcha_challenge_field: $('input[name=recaptcha_challenge_field]').val(),
- recaptcha_response_field: $('input[name=recaptcha_response_field]').val(),
+ captcha_0:$('input[name=captcha_0]').val(),
+ captcha_1:$('input[name=captcha_1]').val(),
})});
//$("").click()
};
diff --git a/static/js/outside/change_password.js b/static/js/outside/change_password.js
index e059361..318a524 100644
--- a/static/js/outside/change_password.js
+++ b/static/js/outside/change_password.js
@@ -89,8 +89,8 @@ oo.change_password.init = function(){
username:$('input[name=username]').val(),
password1:$('input[name=password1]').val(),
password2:$('input[name=password2]').val(),
- recaptcha_challenge_field:$('input[name=recaptcha_challenge_field]').val(),
- recaptcha_response_field:$('input[name=recaptcha_response_field]').val(),
+ captcha_0:$('input[name=captcha_0]').val(),
+ captcha_1:$('input[name=captcha_1]').val(),
})});
diff --git a/static/js/outside/forms.js b/static/js/outside/forms.js
index 8a4c47c..39915e7 100644
--- a/static/js/outside/forms.js
+++ b/static/js/outside/forms.js
@@ -21,7 +21,7 @@ oo.api.forms.init = function( params ){
$('#pass_confirm').html(oo.i18n.translate('the password is not the same as above')).removeClass().addClass('red');
} else {
- $('#pass_confirm').html('ok').removeClass().addClass('green');
+ $('#pass_confirm').html(oo.i18n.translate('Password confirmed')).removeClass().addClass('green');
}
}
@@ -41,6 +41,9 @@ oo.api.forms.init = function( params ){
span_class = 'blue'
} else if(check =="Strong") {
span_class = 'green'
+
+ } else if(check =="Too easy") {
+ span_class = 'red'
}
html = $(' ')
@@ -49,7 +52,39 @@ oo.api.forms.init = function( params ){
$('#result').html(html)
})
+
+
+
+
+
+
}
+function captcha_refresh(){
+
+ $.ajax({
+ url: oo.urls.captcha_refresh,
+ dataType:'json',
+ cache:false
+ }).done(function(json) {
+ $('img.captcha').attr('src', json.image_url)// This your should update captcha image src and captcha hidden input
+ $('input[name=captcha_0]').val(json.key)
+
+ $('input[name=captcha_1]').val("")
+
+ });
+
+
+
+
+
+}
+
+$('.js-captcha-refresh').click(function(){
+ captcha_refresh();
+ return false;
+});
+
+
diff --git a/static/js/outside/passwordStrengthMeter.js b/static/js/outside/passwordStrengthMeter.js
index ff62db3..7e27ca1 100644
--- a/static/js/outside/passwordStrengthMeter.js
+++ b/static/js/outside/passwordStrengthMeter.js
@@ -5,6 +5,7 @@
var shortPass = 'Too short'
var badPass = 'Bad'
+var tooEasy = 'Too easy'
var goodPass = 'Good'
var strongPass = 'Strong'
@@ -20,6 +21,11 @@ function passwordStrength(password,username)
//password == username
if (password.toLowerCase()==username.toLowerCase()) return badPass
+ var firstname = $('input[name=first_name]').val()
+ var lastname = $('input[name=last_name]').val()
+
+ if( password == firstname || password == lastname || firstname+lastname == password || lastname+firstname == password) return tooEasy
+
//password length
score += password.length * 4
score += ( checkRepetition(1,password).length - password.length ) * 1
diff --git a/static/js/outside/reinitialize_password.js b/static/js/outside/reinitialize_password.js
index d7bba4c..f5f65c7 100644
--- a/static/js/outside/reinitialize_password.js
+++ b/static/js/outside/reinitialize_password.js
@@ -68,8 +68,8 @@ oo.api.reinitialize_password.init = function(){
oo.api.reinitialize_password.launch({
username:$('input[name=username]').val(),
email:$('input[name=email]').val(),
- recaptcha_challenge_field:$('input[name=recaptcha_challenge_field]').val(),
- recaptcha_response_field:$('input[name=recaptcha_response_field]').val(),
+ captcha_0:$('input[name=captcha_0]').val(),
+ captcha_1:$('input[name=captcha_1]').val(),
})});
diff --git a/static/js/outside/signup.js b/static/js/outside/signup.js
index 2911f6d..0ea704f 100644
--- a/static/js/outside/signup.js
+++ b/static/js/outside/signup.js
@@ -42,6 +42,7 @@ oo.api.signup.add = function( params ){
if( passwordStrength($('#id_signup_password1').val(),$('#id_signup_username').val()) == 'Too short'
|| passwordStrength($('#id_signup_password1').val(),$('#id_signup_username').val()) == 'Bad'
+ || passwordStrength($('#id_signup_password1').val(),$('#id_signup_username').val()) == 'Too easy'
) {
return oo.toast( oo.i18n.translate("Your password security is too weak"), oo.i18n.translate("error") );
@@ -105,6 +106,8 @@ oo.signup.init = function(){oo.log("[oo.signup.init]");
description:$('textarea[name=description]').val(),
accepted_terms:$('input[name=accepted_terms]').prop("checked"),
recaptcha_challenge_field:$('input[name=recaptcha_challenge_field]').val(),
- recaptcha_response_field:$('input[name=recaptcha_response_field]').val(),
+ captcha_0:$('input[name=captcha_0]').val(),
+ captcha_1:$('input[name=captcha_1]').val(),
+
})});
};
diff --git a/static/js/outside/subscriber.js b/static/js/outside/subscriber.js
index ecbb580..01ce310 100755
--- a/static/js/outside/subscriber.js
+++ b/static/js/outside/subscriber.js
@@ -72,8 +72,8 @@ oo.subscriber.init = function(){
status:$('select[name=status]').val(),
email:$("input[name=email]").val(),
action:$("input[name=action]").val(),
- recaptcha_challenge_field:$('#recaptcha_challenge_field').val(),
- recaptcha_response_field:$('#recaptcha_response_field').val(),
+ captcha_0:$('input[name=captcha_0]').val(),
+ captcha_1:$('input[name=captcha_1]').val(),
})});
//$("").click()
};
\ No newline at end of file