Commit 173a844c by Piotr Mitros

Incorporated Dave's feedback

parent 894ff82f
......@@ -31,10 +31,12 @@ class UserProfile(models.Model):
courseware = models.CharField(blank=True, max_length=255, default='course.xml')
def get_meta(self):
try:
js = json.reads(self.meta)
except:
js_str = self.meta
if not js:
js = dict()
else:
js = json.reads(self.meta)
return js
def set_meta(self,js):
......@@ -138,10 +140,9 @@ default_groups = {'email_future_courses' : 'Receive e-mails about future MITx co
'6002x_unenroll' : 'Took and dropped 6002x'}
def add_user_to_default_group(user, group):
''' Untested '''
try:
utg = UserTestGroup.objects.get(name = group)
except:
except UserTestGroup.DoesNotExist:
utg = UserTestGroup()
utg.name = group
utg.description = default_groups[group]
......
......@@ -2,6 +2,7 @@ import json
import logging
import random
import string
import sys
import uuid
from django.conf import settings
......@@ -16,9 +17,10 @@ from django.http import HttpResponse, Http404
from django.shortcuts import redirect
from mitxmako.shortcuts import render_to_response, render_to_string
from models import Registration, UserProfile, PendingNameChange, PendingEmailChange
from django_future.csrf import ensure_csrf_cookie
from models import Registration, UserProfile, PendingNameChange, PendingEmailChange
log = logging.getLogger("mitx.user")
def csrf_token(context):
......@@ -87,7 +89,6 @@ def login_user(request, error=""):
def logout_user(request):
''' HTTP request to log in the user. Redirects to marketing page'''
logout(request)
# print len(connection.queries), connection.queries
return redirect('/')
@ensure_csrf_cookie
......@@ -98,10 +99,8 @@ def change_setting(request):
return redirect('/')
up = UserProfile.objects.get(user=request.user) #request.user.profile_cache
if 'location' in request.POST:
# print "loc"
up.location=request.POST['location']
if 'language' in request.POST:
# print "lang"
up.language=request.POST['language']
up.save()
......@@ -199,13 +198,13 @@ def create_account(request, post_override=None):
if not settings.GENERATE_RANDOM_USER_CREDENTIALS:
res=u.email_user(subject, message, settings.DEFAULT_FROM_EMAIL)
except:
log.exception(sys.exc_info())
js['value']='Could not send activation e-mail.'
return HttpResponse(json.dumps(js))
js={'success':True,
'value':render_to_string('registration/reg_complete.html', {'email':post_vars['email'],
'csrf':csrf(request)['csrf_token']})}
# print len(connection.queries), connection.queries
return HttpResponse(json.dumps(js), mimetype="application/json")
def create_random_account(create_account_function):
......@@ -223,8 +222,6 @@ def create_random_account(create_account_function):
'honor_code' : u'true',
'terms_of_service' : u'true',}
# print "Creating random account: " , post_override
return create_account_function(request, post_override = post_override)
return inner_create_random_account
......@@ -267,11 +264,11 @@ def password_reset(request):
@ensure_csrf_cookie
def reactivation_email(request):
''' Send an e-mail to reactivate a deactivated account, or to
resend an activation e-mail '''
resend an activation e-mail. Untested. '''
email = request.POST['email']
try:
user = User.objects.get(email = 'email')
except: # TODO: Type of exception
except User.DoesNotExist:
return HttpResponse(json.dumps({'success':False,
'error': 'No inactive user with this e-mail exists'}))
......@@ -351,7 +348,7 @@ def confirm_email_change(request, key):
'''
try:
pec=PendingEmailChange.objects.get(activation_key=key)
except:
except PendingEmailChange.DoesNotExist:
return render_to_response("invalid_email_key.html", {})
user = pec.user
......@@ -368,7 +365,6 @@ def confirm_email_change(request, key):
message = render_to_string('emails/confirm_email_change.txt',d)
up = UserProfile.objects.get( user = user )
meta = up.get_meta()
print meta
if 'old_emails' not in meta:
meta['old_emails'] = []
meta['old_emails'].append(user.email)
......@@ -389,7 +385,7 @@ def change_name_request(request):
try:
pnc = PendingNameChange.objects.get(user = request.user)
except:
except PendingNameChange.DoesNotExist:
pnc = PendingNameChange()
pnc.user = request.user
pnc.new_name = request.POST['new_name']
......@@ -404,9 +400,7 @@ def change_name_request(request):
@ensure_csrf_cookie
def pending_name_changes(request):
''' Web page which allows staff to approve or reject name changes. '''
print request.user.is_staff, request.user
if not request.user.is_staff:
print "AAAA"
raise Http404
changes = list(PendingNameChange.objects.all())
......@@ -426,7 +420,7 @@ def reject_name_change(request):
try:
pnc = PendingNameChange.objects.get(id = int(request.POST['id']))
except:
except PendingNameChange.DoesNotExist:
return HttpResponse(json.dumps({'success':False, 'error':'Invalid ID'}))
pnc.delete()
......@@ -440,7 +434,7 @@ def accept_name_change(request):
try:
pnc = PendingNameChange.objects.get(id = int(request.POST['id']))
except:
except PendingNameChange.DoesNotExist:
return HttpResponse(json.dumps({'success':False, 'error':'Invalid ID'}))
u = pnc.user
......@@ -448,7 +442,6 @@ def accept_name_change(request):
# Save old name
meta = up.get_meta()
print meta
if 'old_names' not in meta:
meta['old_names'] = []
meta['old_names'].append(up.name)
......
......@@ -23,7 +23,7 @@ urlpatterns = ('',
url(r'^logout$', 'student.views.logout_user'),
url(r'^create_account$', 'student.views.create_account'),
url(r'^activate/(?P<key>[^/]*)$', 'student.views.activate_account'),
url(r'^reactivate/(?P<key>[^/]*)$', 'student.views.reactivation_email'),
# url(r'^reactivate/(?P<key>[^/]*)$', 'student.views.reactivation_email'),
url(r'^password_reset/$', 'student.views.password_reset'),
## Obsolete Django views for password resets
## TODO: Replace with Mako-ized views
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment