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 iciinscrire ici
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"%}

- - {{ 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 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" %}

    - {{ 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" %}

    + {{ 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 %} -
    +
    {% csrf_token %}

    @@ -34,35 +29,44 @@

    {%endif%}

    - {% blocktrans %} - Please fill this form to connect, click here if you are not registered - {% endblocktrans %} + + {% trans "Please fill this form to connect, click here if you are not registered"%} +

    {% comment %}{{ next }}{% endcomment %}
    - {{ login_form.username.label }} + {{ login_form.username }}
    - {{ login_form.password.label_tag }} + {{ login_form.password }}
    - {%comment%} + + +
    {{ login_form.captcha }}
    + - {{ login_form.captcha }} - {%endcomment%}
    -
    {% trans 'Password forgotten?'%}
    +
    + + + {% trans 'Password forgotten?'%} +
    + {% trans "signup"|capfirst %} +

    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