Fix imports.
[pithos] / pithos / aai / models.py
index dfcd745..ca964b0 100644 (file)
@@ -31,6 +31,8 @@
 # interpreted as representing official policies, either expressed
 # or implied, of GRNET S.A.
 
+import datetime
+
 from django.db import models
 
 from pithos import settings
@@ -39,13 +41,23 @@ from pithos import settings
 class PithosUser(models.Model):
     uniq = models.CharField('Unique ID', max_length=255, null=True)
     realname = models.CharField('Real Name', max_length=255, default='')
+    is_admin = models.BooleanField('Admin', default=False)
     affiliation = models.CharField('Affiliation', max_length=255, default='')
     quota = models.IntegerField('Storage Limit', default=settings.DEFAULT_QUOTA)
     auth_token = models.CharField('Authentication Token', max_length=32, null=True)
-    auth_token_created = models.DateTimeField('Time of auth token creation', auto_now_add=True)
-    auth_token_expires = models.DateTimeField('Time of auth token expiration', auto_now_add=True)
-    created = models.DateTimeField('Time of creation', auto_now_add=True)
-    updated = models.DateTimeField('Time of last update', auto_now=True)
+    auth_token_created = models.DateTimeField('Time of auth token creation')
+    auth_token_expires = models.DateTimeField('Time of auth token expiration')
+    created = models.DateTimeField('Time of creation')
+    updated = models.DateTimeField('Time of last update')
+    
+    def save(self, update_timestamps=True):
+        if update_timestamps:
+            if not self.id:
+                self.created = datetime.datetime.now()
+                self.auth_token_created = datetime.datetime.now()
+                self.auth_token_expires = datetime.datetime.now()
+            self.updated = datetime.datetime.now()
+        super(PithosUser, self).save()
     
     class Meta:
         verbose_name = u'Pithos User'