summaryrefslogtreecommitdiff
path: root/drupal_auth/managers.py
diff options
context:
space:
mode:
Diffstat (limited to 'drupal_auth/managers.py')
-rw-r--r--drupal_auth/managers.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/drupal_auth/managers.py b/drupal_auth/managers.py
new file mode 100644
index 0000000..d1dc662
--- /dev/null
+++ b/drupal_auth/managers.py
@@ -0,0 +1,26 @@
+import md5
+
+from django.db import models
+from django.contrib.auth.models import (
+ BaseUserManager, AbstractBaseUser
+)
+
+class DrupalUserManager(BaseUserManager):
+ def create_user(self, password=None):
+ user = self.model()
+ if not email:
+ raise ValueError('Users must have an email address')
+
+ user.set_password(password)
+ user.save(using=self._db)
+ return user
+
+ def create_superuser(self, name, password):
+ user = self.model()
+ user.name= name
+ p = md5.new()
+ p.update(password)
+ user.pass_field= p.hexdigest()
+ user.is_admin = True
+ user.save(using=self._db)
+ return user