Changeset 128:d3572b3e76d1


Ignore:
Timestamp:
04.09.2009 17:16:33 (3 years ago)
Author:
slav0nic <slav0nic0@…>
Branch:
default
Message:

enable openid [ticket #34]; captcha removed

Files:
1 added
63 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • apps/forum/forms.py

    r115 r128  
    1414from forum.markups import mypostmarkup 
    1515from forum import settings as forum_settings 
    16 from openauth.forms import RegistrationForm 
     16import openauth 
     17from openauth.forms import RegistrationForm, OpenIDRegistrationForm 
     18from openauth.models import OpenID 
    1719from annoying.functions import get_object_or_None 
    1820 
     
    396398                                                    ) 
    397399        super(RegistrationForm, self).__init__(*args, **kwargs) 
    398         if ACCOUNT_CAPTCHA: 
    399             self.fields['captcha'] = CaptchaField() 
    400  
    401      
     400 
    402401    def clean_email(self): 
    403         if get_object_or_None(User, email=self.cleaned_data['login'].lower()): 
     402        if get_object_or_None(User, email=self.cleaned_data['email'].lower()): 
    404403                raise forms.ValidationError(_(u'This email already registered')) 
    405              
    406      
     404 
    407405    def save(self): 
    408406        username = self.cleaned_data['login'] 
     
    420418        profile.save() 
    421419        return user 
     420 
     421 
     422class CustomOpenIDRegistrationForm(OpenIDRegistrationForm): 
     423    username = forms.CharField() 
     424    email = forms.EmailField() 
     425 
     426    def clean_email(self): 
     427        if get_object_or_None(User, email=self.cleaned_data['email'].lower()): 
     428            raise forms.ValidationError(_(u'This email already registered')) 
     429        return self.cleaned_data['email'] 
     430 
     431    def clean_username(self): 
     432        if get_object_or_None(User, username__iexact=self.cleaned_data['username']): 
     433            raise forms.ValidationError(_(u'This username is already taken')) 
     434        return self.cleaned_data['username'] 
     435 
     436    def save(self, openid_url): 
     437        username = self.cleaned_data['username'] 
     438        email = self.cleaned_data['email'] 
     439        user = User.objects.create(username=username, email=email) 
     440        if openauth.settings.OPENID_ACTIVATION_REQUIRED: 
     441            user.is_active = False 
     442        user.save() 
     443        OpenID(user=user, url=openid_url).save() 
     444        return user 
  • apps/forum/urls.py

    r115 r128  
    77urlpatterns = patterns('', 
    88    # Account 
    9     url(r'^registration/$', openauth_views.registration, name='openauth-registration'), 
    10     url(r'^login/$', openauth_views.login, name='openauth-login'), 
    11     url(r'^openid-login/$', openauth_views.openid_login, name='openauth-openid-login'), 
    12     #url(r'^openid-complete/$', openauth_views.openid_complete, name='openauth-openid-complete'), 
    13     #url(r'^openid-registration/$', openauth_views.openid_registration, name='openauth-openid-registration'), 
    14     url(r'^logout/$', openauth_views.logout, name='openauth-logout'), 
    15     url(r'^reset-password/$', openauth_views.reset_password, name='openauth-reset-password'), 
    16     url(r'^change-password/$', openauth_views.change_password, name='openauth-change-password'), 
    17      
    18     # Captcha 
    19     (r'^', include('captcha.urls')), 
    20        
     9    url(r'^auth/registration/$', openauth_views.registration, name='openauth-registration'), 
     10    url(r'^auth/login/$', openauth_views.login, name='openauth-login'), 
     11    url(r'^auth/openid-login/$', openauth_views.openid_login, name='openauth-openid-login'), 
     12    url(r'^auth/openid-complete/$', openauth_views.openid_complete, name='openauth-openid-complete'), 
     13    url(r'^auth/openid-registration/$', openauth_views.openid_registration, name='openauth-openid-registration'), 
     14    url(r'^auth/logout/$', openauth_views.logout, name='openauth-logout'), 
     15    url(r'^auth/reset-password/$', openauth_views.reset_password, name='openauth-reset-password'), 
     16    url(r'^auth/change-password/$', openauth_views.change_password, name='openauth-change-password'), 
     17    #(r'', include('confirmation.urls'))# needed for activation 
     18 
    2119    # Misc 
    2220    url('^$', forum_views.index, name='index'), 
     
    2523    url('^search/$', forum_views.search, name='search'), 
    2624    url('^misc/$', forum_views.misc, name='misc'), 
    27      
     25 
    2826    # User 
    2927    url('^user/(?P<username>.*)/$', forum_views.user, name='forum_profile'), 
     
    8078        url('^reputation/(?P<username>.*)/$', forum_views.reputation, name='reputation'), 
    8179    ) 
    82      
     80 
    8381# ATTACHMENT Extension 
    8482if (forum_settings.ATTACHMENT_SUPPORT): 
  • apps/forum/views.py

    r127 r128  
    360360        return {'categories': Category.objects.all(), 
    361361                'topic': topic, 
    362                 #'last_post': last_post, 
    363                 #'form': form, 
    364                 #'moderator': moderator, 
    365                 #'subscribed': subscribed, 
    366                 #'paged_qs': posts, 
    367362                'pages': pages, 
    368363                'paginator': paginator,  
  • settings.py

    r118 r128  
    116116    'django.contrib.admin', 
    117117    'django.contrib.admindocs', 
     118    'notify', 
     119    'confirmation', 
    118120    'openauth', 
    119     'captcha', 
    120121    'forum', 
    121122    'djapian', 
     
    138139# Account settings 
    139140REGISTRATION_FORM = 'forum.forms.CustomRegistrationForm' 
    140 ACCOUNT_CAPTCHA = True 
     141OPENID_REGISTRATION_FORM = 'forum.forms.CustomOpenIDRegistrationForm' 
    141142LOGIN_REDIRECT_URL = '/forum/' 
    142143LOGOUT_REDIRECT_URL = '/forum/' 
    143144NOTIFY_TYPE = 'flashcookie' 
     145OPENID_EXTRA_FIELDS = ['nickname', 'email'] 
     146OPENID_PROFILE_MAPPING = {'nickname': 'login', 'email': 'email'} 
     147 
    144148 
    145149try: 
  • templates/openauth/openid_registration.html

    r115 r128  
    1 {% extends 'base.html' %} 
     1{% extends 'forum/base.html' %} 
    22{% load i18n %} 
    33 
    44{% block content %} 
    5 <h2>{% trans "Registration with OpenID: last step" %}</h2> 
    6 <p><label>{% trans "OpenID URL" %}:</label> {{ openid_url }}</p> 
    7 <form method="post"> 
    8     <formfield> 
    9         <legend>Регистрация через OpenID</legend> 
    10         <div class="wide">{{ form.as_p }}</div> 
    11         <p><input type="submit" value="{% trans "Submit" %}"/></p> 
    12     </formfield> 
    13 </form> 
     5<div class="blockform"> 
     6    <h2><span>{% trans "Registration with OpenID: last step" %}</span></h2> 
     7    <div class="box"> 
     8        <form method="post"> 
     9            <div class="inform"> 
     10                <fieldset> 
     11                    <legend>{% trans "Registration with OpenID" %}</legend> 
     12                    <div class="infldset"> 
     13                        <div class="inform">{{ form.as_p }}</div> 
     14                        <p>{% trans "OpenID URL" %}: {{ openid_url }}</p> 
     15                    </div> 
     16                    <p><input type="submit" value="{% trans "Submit" %}"/></p> 
     17                </fieldset> 
     18            </div> 
     19        </form> 
     20    </div> 
     21</div> 
    1422{% endblock %} 
  • templates/openauth/registration.html

    r115 r128  
    2222                                </fieldset> 
    2323                        </div> 
    24  
    2524                        <div class="inform"> 
    2625                                <fieldset> 
     
    3029                                                <label class="conl"><strong>{{ form.password_dup.label }}</strong><br />{{ form.password_dup }}<br /></label> 
    3130                                                <p class="clearb">{% blocktrans %}Passwords are case sensitive.{% endblocktrans %}</p> 
    32  
    3331                                        </div> 
    3432                                </fieldset> 
    3533                        </div> 
    36                          
    37                         <div class="inform"> 
    38                                 <fieldset>                       
    39                                         <legend>{% trans "Image Verification" %}</legend> 
    40                                         <div class="infldset"> 
    41                                                 {{ form.captcha }} 
    42                                                 <p class="clearb">{% trans "Please enter 4 letters or digits that appear in the image opposite" %}</p> 
    43  
    44                                         </div> 
    45                                 </fieldset> 
    46                         </div> 
    47                          
    4834                        <div class="inform"> 
    4935                                <fieldset> 
     
    6753                        </div> 
    6854                        <div class="inform"> 
    69  
    7055                                <fieldset> 
    7156                                        <legend>{% trans "Set your privacy options" %}</legend> 
     
    7661                                                </div> 
    7762                                        </div> 
    78  
    7963                                </fieldset> 
    8064                        </div> 
  • templates/openauth/reset_password.html

    r115 r128  
    1010                                <fieldset> 
    1111                                        <legend>{% trans "Enter the e-mail address with which you registered" %}</legend> 
    12  
    1312                                        <div class="infldset"> 
    1413                                                {{ form.email }} 
Note: See TracChangeset for help on using the changeset viewer.