diff options
author | Dusty Phillips <buchuki@gmail.com> | 2008-08-16 12:58:22 -0400 |
---|---|---|
committer | Dusty Phillips <buchuki@gmail.com> | 2008-08-16 13:01:27 -0400 |
commit | e1fa499f637e00f5e7eb91ec460903558b46017a (patch) | |
tree | 9b842e19522e0b9ffd2dc2ebce5b65e6113cf25f | |
parent | a3a0e4a4e23e8f3102a5686254ac3bc7fa883cc5 (diff) |
add signoff model for capturing signoffs
-rw-r--r-- | main/models.py | 11 | ||||
-rw-r--r-- | migrate_signoff.sql | 14 |
2 files changed, 25 insertions, 0 deletions
diff --git a/main/models.py b/main/models.py index f7d4c2c3..7cd00bff 100644 --- a/main/models.py +++ b/main/models.py @@ -266,6 +266,17 @@ class Package(models.Model): deps.append({'dep': dep, 'pkg': pkg}) return deps +class Signoff(models.Model): + pkg = models.ForeignKey(Package) + pkgver = models.CharField(maxlength=255) + pkgrel = models.CharField(maxlength=255) + signed_off = models.ManyToManyField(User) + + def is_approved(self): + if signed_off.all().count() > 2: + return True + return False + class PackageFile(models.Model): id = models.AutoField(primary_key=True) pkg = models.ForeignKey('Package') diff --git a/migrate_signoff.sql b/migrate_signoff.sql new file mode 100644 index 00000000..ed2ceef5 --- /dev/null +++ b/migrate_signoff.sql @@ -0,0 +1,14 @@ +CREATE TABLE `main_signoff` ( + `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, + `pkg_id` integer NOT NULL, + `pkgver` varchar(255) NOT NULL, + `pkgrel` varchar(255) NOT NULL +); +CREATE TABLE `main_signoff_signed_off` ( + `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, + `signoff_id` integer NOT NULL REFERENCES `main_signoff` (`id`), + `user_id` integer NOT NULL REFERENCES `auth_user` (`id`), + UNIQUE (`signoff_id`, `user_id`) +); +CREATE INDEX main_signoff_pkg_id ON `main_signoff` (`pkg_id`); + |