Sorry, only Pros can change account settings.

master
Nick Sergeant 2013-02-12 01:13:22 -05:00
parent ba049649c8
commit e3ff982eed
5 changed files with 15 additions and 7 deletions

View File

@ -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>

View File

@ -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'),
)

View File

@ -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):

View File

@ -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

View File

@ -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.'