Sorry, only Pros can change account settings.
parent
ba049649c8
commit
e3ff982eed
|
@ -15,7 +15,7 @@
|
|||
{% block content %}
|
||||
<section class="profile group" ng-app="Account" ng-controller="MainController">
|
||||
<aside>
|
||||
<ul class="nav nav-list">
|
||||
<ul class="nav nav-list ng-cloak" ng-cloak>
|
||||
<li class="nav-header">Account</li>
|
||||
<li ng-class="{active: route.current.scope.section == 'Profile'}">
|
||||
<a href="/account/">Profile</a>
|
||||
|
@ -23,14 +23,14 @@
|
|||
<li>
|
||||
<a href="/password/change/">Change password</a>
|
||||
</li>
|
||||
<li class="nav-header">Pro</li>
|
||||
<li ng-class="{active: route.current.scope.section == 'Blogging'}">
|
||||
<li ng-show="user.is_pro" class="nav-header">Pro</li>
|
||||
<li ng-show="user.is_pro" ng-class="{active: route.current.scope.section == 'Blogging'}">
|
||||
<a href="/account/blogging/">Blogging</a>
|
||||
</li>
|
||||
<li ng-class="{active: route.current.scope.section == 'Editor'}">
|
||||
<li ng-show="user.is_pro" ng-class="{active: route.current.scope.section == 'Editor'}">
|
||||
<a href="/account/editor/">Editor</a>
|
||||
</li>
|
||||
<li ng-class="{active: route.current.scope.section == 'Billing'}">
|
||||
<li ng-show="user.is_pro" ng-class="{active: route.current.scope.section == 'Billing'}">
|
||||
<a href="/account/billing/">Billing</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -5,5 +5,5 @@ from accounts import views
|
|||
|
||||
urlpatterns = patterns('',
|
||||
url(r'^stats/$', views.stats, name='account-stats'),
|
||||
url(r'^', direct_to_template, {'template': 'account.html'}, name='account-detail'),
|
||||
url(r'^', views.account, name='account-detail'),
|
||||
)
|
||||
|
|
|
@ -3,6 +3,11 @@ from django.http import HttpResponseRedirect
|
|||
from annoying.decorators import render_to
|
||||
from snipts.models import Snipt
|
||||
|
||||
@login_required
|
||||
@render_to('account.html')
|
||||
def account(request):
|
||||
return {}
|
||||
|
||||
@login_required
|
||||
@render_to('stats.html')
|
||||
def stats(request):
|
||||
|
|
|
@ -29,6 +29,6 @@ class BlogMiddleware:
|
|||
pro_users = User.objects.filter(userprofile__is_pro=True)
|
||||
|
||||
for pro_user in pro_users:
|
||||
if pro_user.profile.blog_domain:
|
||||
if pro_user.profile.blog_domain != '':
|
||||
if host in pro_user.profile.blog_domain.split(' '):
|
||||
request.blog_user = pro_user
|
||||
|
|
|
@ -37,6 +37,9 @@ class UserProfileValidation(Validation):
|
|||
def is_valid(self, bundle, request=None):
|
||||
errors = {}
|
||||
|
||||
if not request.user.profile.is_pro:
|
||||
return 'You must be a Pro to change these settings.'
|
||||
|
||||
for field in bundle.data:
|
||||
if not re.match('^[ A-Za-z0-9\/\@\._-]*$', bundle.data[field]):
|
||||
errors[field] = 'Only spaces, letters, numbers, underscores, dashes, periods, forward slashes, and "at sign" are valid.'
|
||||
|
|
Loading…
Reference in New Issue