From: Sofia Papagiannaki Date: Thu, 22 Sep 2011 13:18:59 +0000 (+0300) Subject: remove auto_now to be able to override migrated dates & use binary instead of hex... X-Git-Tag: pithos/v0.7.8~42^2~2 X-Git-Url: https://code.grnet.gr/git/pithos/commitdiff_plain/4e02cf2ad6b609b980b38e116dac03b9ab2f40e1 remove auto_now to be able to override migrated dates & use binary instead of hex tokens to conform with migrated tokens --- diff --git a/pithos/aai/fixtures/auth_test_data.json b/pithos/aai/fixtures/auth_test_data.json index 646c91e..6190739 100644 --- a/pithos/aai/fixtures/auth_test_data.json +++ b/pithos/aai/fixtures/auth_test_data.json @@ -7,7 +7,8 @@ "auth_token": "0000", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -18,7 +19,8 @@ "auth_token": "0001", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -29,7 +31,8 @@ "auth_token": "0002", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -40,7 +43,8 @@ "auth_token": "0003", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -51,7 +55,8 @@ "auth_token": "0004", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -62,7 +67,8 @@ "auth_token": "0005", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -73,7 +79,8 @@ "auth_token": "0006", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -84,7 +91,8 @@ "auth_token": "0007", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -95,7 +103,8 @@ "auth_token": "0008", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } }, { @@ -106,7 +115,8 @@ "auth_token": "0009", "auth_token_created": "2011-04-07 09:17:14", "auth_token_expires": "2015-04-07 09:17:14", - "created": "2011-02-06" + "created": "2011-02-06", + "updated": "2011-02-06" } } ] diff --git a/pithos/aai/models.py b/pithos/aai/models.py index a056f22..959edfb 100644 --- a/pithos/aai/models.py +++ b/pithos/aai/models.py @@ -43,10 +43,19 @@ class PithosUser(models.Model): 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' diff --git a/pithos/aai/util.py b/pithos/aai/util.py index 7ce1699..1d1b024 100644 --- a/pithos/aai/util.py +++ b/pithos/aai/util.py @@ -64,7 +64,7 @@ def create_auth_token(user): md5.update(user.realname.encode('ascii', 'ignore')) md5.update(asctime()) - user.auth_token = md5.hexdigest() + user.auth_token = b64encode(md5.digest()) user.auth_token_created = datetime.now() user.auth_token_expires = user.auth_token_created + \ timedelta(hours=settings.AUTH_TOKEN_DURATION)