+ def save(self, *args, **kwds):
+ if not self.user_id:
+ if not hasattr(self, 'driver'):
+ setattr(self, 'driver', OpenStackDriver())
+ name = self.email[:self.email.find('@')]
+ user_fields = {'name': name,
+ 'email': self.email,
+ 'password': self.password,
+ 'enabled': self.is_active}
+ user = self.driver.create_user(**user_fields)
+ self.user_id = user.id
+ super(PLUser, self).save(*args, **kwds)
+
+ def delete(self, *args, **kwds):
+ if self.user_id:
+ if not getattr(self, 'driver'):
+ setattr(self, 'driver', OpenStackDriver())
+ self.driver.delete_user(self.user_id)
+ super(PLUser, self).delete(*args, **kwds)