import datetime
from collections import defaultdict
from django.db import models
-from plstackapi.core.models import PlCoreBase
-from plstackapi.core.models import Site
-from plstackapi.openstack.manager import OpenStackManager
-from django.contrib.auth.models import User, AbstractBaseUser, UserManager, BaseUserManager
+from core.models import PlCoreBase
+from core.models import Site
+from core.models import Key
+from openstack.manager import OpenStackManager
+from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
# Create your models here.
-
-class PLUserManager(BaseUserManager):
+class UserManager(BaseUserManager):
def create_user(self, email, firstname, lastname, password=None):
"""
Creates and saves a User with the given email, date of
raise ValueError('Users must have an email address')
user = self.model(
- email=PLUserManager.normalize_email(email),
+ email=UserManager.normalize_email(email),
firstname=firstname,
lastname=lastname,
password=password
return user
-class PLUser(AbstractBaseUser):
+class User(AbstractBaseUser):
class Meta:
app_label = "core"
db_index=True,
)
- user_id = models.CharField(null=True, blank=True, help_text="keystone user id", max_length=200)
+ kuser_id = models.CharField(null=True, blank=True, help_text="keystone user id", max_length=200)
firstname = models.CharField(help_text="person's given name", max_length=200)
lastname = models.CharField(help_text="person's surname", max_length=200)
phone = models.CharField(null=True, blank=True, help_text="phone number contact", max_length=100)
user_url = models.URLField(null=True, blank=True)
site = models.ForeignKey(Site, related_name='users', verbose_name="Site this user will be homed too", null=True)
+ key = models.ForeignKey(Key, related_name='user', null=True, blank=True)
is_active = models.BooleanField(default=True)
- is_admin = models.BooleanField(default=False)
+ is_admin = models.BooleanField(default=True)
is_staff = models.BooleanField(default=True)
- objects = PLUserManager()
+ objects = UserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['firstname', 'lastname']
def save(self, *args, **kwds):
if not hasattr(self, 'os_manager'):
setattr(self, 'os_manager', OpenStackManager())
+ self.os_manager.save_user(self)
- self.os_manager.save_user(self)
if not self.id:
self.set_password(self.password)
- super(PLUser, self).save(*args, **kwds)
+ super(User, self).save(*args, **kwds)
def delete(self, *args, **kwds):
if not hasattr(self, 'os_manager'):
setattr(self, 'os_manager', OpenStackManager())
+ self.os_manager.delete_user(self)
- self.os_manager.delete_user(self)
- super(PLUser, self).delete(*args, **kwds)
+ super(User, self).delete(*args, **kwds)