From 2951d0b03541e7dc86e2624e971ed11d937f6619 Mon Sep 17 00:00:00 2001 From: Real-Gecko Date: Tue, 16 Jun 2020 11:26:58 +0600 Subject: [PATCH] Cleaned up UserAttributes model --- accounts/models.py | 22 ---------------------- admin/views.py | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/accounts/models.py b/accounts/models.py index c584c9b..614dfb9 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -55,28 +55,6 @@ class UserAttributes(models.Model): validators=[MinValueValidator(-1)], ) - @staticmethod - def create_missing_userattributes(user): - try: - userattributes = user.userattributes - except UserAttributes.DoesNotExist: - userattributes = UserAttributes(user=user) - userattributes.save() - - @staticmethod - def add_default_instances(user): - existing_instances = UserInstance.objects.filter(user=user) - if not existing_instances: - for instance_name in settings.NEW_USER_DEFAULT_INSTANCES: - instance = Instance.objects.get(name=instance_name) - user_instance = UserInstance(user=user, instance=instance) - user_instance.save() - - @staticmethod - def configure_user(user): - UserAttributes.create_missing_userattributes(user) - UserAttributes.add_default_instances(user) - def __str__(self): return self.user.username diff --git a/admin/views.py b/admin/views.py index f5158be..73579e5 100644 --- a/admin/views.py +++ b/admin/views.py @@ -1,9 +1,10 @@ +from django.conf import settings from django.contrib.auth.models import Group, User from django.core.paginator import Paginator from django.shortcuts import get_object_or_404, redirect, render from django.utils.translation import ugettext_lazy as _ -from accounts.models import UserAttributes +from accounts.models import UserAttributes, UserInstance, Instance from appsettings.models import AppSettings from logs.models import Logs @@ -97,6 +98,7 @@ def user_create(request): attributes = attributes_form.save(commit=False) attributes.user = user attributes.save() + add_default_instances(user) return redirect('admin:user_list') return render( @@ -169,3 +171,15 @@ def logs(request): page = request.GET.get('page', 1) logs = paginator.page(page) return render(request, 'admin/logs.html', {'logs': logs}) + + +def add_default_instances(user): + """ + Adds instances listed in NEW_USER_DEFAULT_INSTANCES to user + """ + existing_instances = UserInstance.objects.filter(user=user) + if not existing_instances: + for instance_name in settings.NEW_USER_DEFAULT_INSTANCES: + instance = Instance.objects.get(name=instance_name) + user_instance = UserInstance(user=user, instance=instance) + user_instance.save()