user.get_profile()->user.profile

This commit is contained in:
j 2016-02-19 22:04:15 +05:30
commit 1cc795995d
27 changed files with 72 additions and 70 deletions

View file

@ -10,7 +10,7 @@ def capability_required_json(capability):
def capability_required(function=None):
def _wrapped_view(request, *args, **kwargs):
if request.user.is_authenticated() and \
request.user.get_profile().capability(capability):
request.user.profile.capability(capability):
return function(request, *args, **kwargs)
return render_to_json_response(json_response(status=403, text='permission denied'))
return wraps(function)(_wrapped_view)

View file

@ -23,7 +23,7 @@ import tasks
class SessionData(models.Model):
session_key = models.CharField(max_length=40, primary_key=True)
user = models.ForeignKey(User, unique=True, null=True, blank=True, related_name='data')
user = models.OneToOneField(User, null=True, blank=True, related_name='data')
firstseen = models.DateTimeField(auto_now_add=True, db_index=True)
lastseen = models.DateTimeField(default=datetime.now, db_index=True)
username = models.CharField(max_length=255, null=True, db_index=True)
@ -87,7 +87,7 @@ class SessionData(models.Model):
def save(self, *args, **kwargs):
if self.user:
self.username = self.user.username
self.level = self.user.get_profile().level
self.level = self.user.profile.level
self.firstseen = self.user.date_joined
if self.user.groups.exists():
self.groupssort = ''.join([g.name for g in self.user.groups.all()])
@ -160,7 +160,7 @@ class SessionData(models.Model):
'windowsize': self.windowsize,
}
if self.user:
p = self.user.get_profile()
p = self.user.profile
j['disabled'] = not self.user.is_active
j['email'] = self.user.email
j['groups'] = [g.name for g in self.user.groups.all()]
@ -176,7 +176,7 @@ class SessionData(models.Model):
class UserProfile(models.Model):
reset_code = models.CharField(max_length=255, blank=True, null=True, unique=True)
user = models.ForeignKey(User, unique=True, related_name='profile')
user = models.OneToOneField(User, related_name='profile')
level = models.IntegerField(default=1)
files_updated = models.DateTimeField(default=datetime.now)
@ -343,7 +343,7 @@ def init_user(user, request=None):
result = settings.CONFIG['user'].copy()
result['ui'] = get_ui(json.loads(request.session.get('ui', '{}')))
else:
profile = user.get_profile()
profile = user.profile
result = {}
for key in ('username', ):
result[key] = getattr(user, key)
@ -357,7 +357,7 @@ def init_user(user, request=None):
return result
def user_json(user, keys=None):
p = user.get_profile()
p = user.profile
j = {
'disabled': not user.is_active,
'email': user.email,
@ -381,7 +381,7 @@ def has_capability(user, capability):
if user.is_anonymous():
level = 'guest'
else:
level = user.get_profile().get_level()
level = user.profile.get_level()
return level in settings.CONFIG['capabilities'][capability] \
and settings.CONFIG['capabilities'][capability][level]

View file

@ -116,7 +116,7 @@ def signout(request, data):
response = json_response(text='ok')
if request.user.is_authenticated():
uid = request.user.id
profile = request.user.get_profile()
profile = request.user.profile
if profile.ui.get('page') == 'signout':
profile.ui['page'] = ''
profile.save()
@ -201,7 +201,7 @@ def signup(request, data):
user = authenticate(username=data['username'],
password=data['password'])
if ui:
profile = user.get_profile()
profile = user.profile
profile.ui = ui
profile.save()
@ -245,7 +245,7 @@ def resetPassword(request, data):
user = qs[0].user
user.set_password(data['password'])
user.save()
user_profile = user.get_profile()
user_profile = user.profile
user_profile.reset_code = None
user_profile.save()
user = authenticate(username=user.username, password=data['password'])
@ -301,7 +301,7 @@ def requestToken(request, data):
ox.fromAZ('AAAAAAAAAAAAAAAAA')))
if models.UserProfile.objects.filter(reset_code=code).count() == 0:
break
user_profile = user.get_profile()
user_profile = user.profile
user_profile.reset_code = code
user_profile.save()
@ -349,7 +349,7 @@ def editUser(request, data):
response = json_response()
user = get_object_or_404_json(User, pk=ox.fromAZ(data['id']))
profile = user.get_profile()
profile = user.profile
if 'disabled' in data:
user.is_active = not data['disabled']
if 'email' in data:
@ -567,7 +567,7 @@ def mail(request, data):
see: contact
'''
response = json_response()
p = request.user.get_profile()
p = request.user.profile
if p.capability('canSendMail'):
email_from = '"%s" <%s>' % (settings.SITENAME, settings.CONFIG['site']['email']['system'])
headers = {
@ -707,14 +707,14 @@ def editPreferences(request, data):
change = True
request.user.email = ox.escape_html(data['email'])
if 'newsletter' in data:
profile = request.user.get_profile()
profile = request.user.profile
profile.newsletter = data['newsletter']
profile.save()
if 'password' in data:
change = True
request.user.set_password(data['password'])
if 'script' in data:
profile = request.user.get_profile()
profile = request.user.profile
profile.preferences['script'] = data['script']
profile.save()
if change:
@ -727,7 +727,7 @@ actions.register(editPreferences, cache=False)
def reset_ui(request):
if request.user.is_authenticated():
profile = request.user.get_profile()
profile = request.user.profile
profile.ui = {}
profile.save()
else:
@ -744,7 +744,7 @@ def resetUI(request, data):
'''
response = json_response()
if request.user.is_authenticated():
profile = request.user.get_profile()
profile = request.user.profile
profile.ui = {}
profile.save()
else:
@ -765,7 +765,7 @@ def setUI(request, data):
see: resetUI
'''
if request.user.is_authenticated():
profile = request.user.get_profile()
profile = request.user.profile
ui = profile.ui
else:
ui = json.loads(request.session.get('ui', '{}'))