6fd7c34cbdd84a7adcb77f3383f40213930ea551
[plstackapi.git] / planetstack / core / models / key.py
1 import os
2 from django.db import models
3 from core.models import PlCoreBase
4
5 # Create your models here.
6
7 class Key(PlCoreBase):
8     name = models.CharField(max_length=256)
9     nkey_id = models.CharField(null=True, blank=True, max_length=256, unique=True)
10     key = models.CharField(max_length=512)
11     type = models.CharField(max_length=256)
12     blacklisted = models.BooleanField(default=False)
13
14     def __unicode__(self):  return u'%s' % (self.key)
15
16     def save(self, *args, **kwds):
17         if not hasattr(self, 'os_manager'):
18             from openstack.manager import OpenStackManager
19             setattr(self, 'os_manager', OpenStackManager())
20         self.os_manager.save_key(self)
21         super(Key, self).save(*args, **kwds)
22
23     def delete(self, *args, **kwds):
24         if not hasattr(self, 'os_manager'):
25             from openstack.manager import OpenStackManager
26             setattr(self, 'os_manager', OpenStackManager())
27         self.os_manager.delete_key(self)
28         super(Key, self).delete(*args, **kwds) 
29