diff options
Diffstat (limited to 'rrs')
-rw-r--r-- | rrs/admin.py | 14 | ||||
-rw-r--r-- | rrs/migrations/0002_maintenanceplan.py | 33 | ||||
-rw-r--r-- | rrs/models.py | 18 |
3 files changed, 63 insertions, 2 deletions
diff --git a/rrs/admin.py b/rrs/admin.py index cef0b8bf25..3f4178f3d5 100644 --- a/rrs/admin.py +++ b/rrs/admin.py @@ -9,7 +9,18 @@ from django.contrib.admin import DateFieldListFilter from rrs.models import Release, Milestone, Maintainer, RecipeMaintainerHistory, \ RecipeMaintainer, RecipeDistro, RecipeUpgrade, RecipeUpstream, \ - RecipeUpstreamHistory + RecipeUpstreamHistory, MaintenancePlan, MaintenancePlanLayerBranch + +class MaintenancePlanLayerBranchInline(admin.StackedInline): + model = MaintenancePlanLayerBranch + min_num = 1 + extra = 0 + +class MaintenancePlanAdmin(admin.ModelAdmin): + model = MaintenancePlan + inlines = [ + MaintenancePlanLayerBranchInline, + ] class ReleaseAdmin(admin.ModelAdmin): search_fields = ['name'] @@ -58,6 +69,7 @@ class RecipeUpstreamAdmin(admin.ModelAdmin): 'type', ('date', DateFieldListFilter), 'history'] model = RecipeUpstream +admin.site.register(MaintenancePlan, MaintenancePlanAdmin) admin.site.register(Release, ReleaseAdmin) admin.site.register(Milestone, MilestoneAdmin) admin.site.register(Maintainer, MaintainerAdmin) diff --git a/rrs/migrations/0002_maintenanceplan.py b/rrs/migrations/0002_maintenanceplan.py new file mode 100644 index 0000000000..b6718dc7f8 --- /dev/null +++ b/rrs/migrations/0002_maintenanceplan.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('layerindex', '0010_add_dependencies'), + ('rrs', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='MaintenancePlan', + fields=[ + ('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), + ('name', models.CharField(max_length=50, unique=True)), + ('description', models.TextField(blank=True)), + ('updates_enabled', models.BooleanField(verbose_name='Enable updates', default=True, help_text='Enable automatically updating metadata for this plan via the update scripts')), + ], + ), + migrations.CreateModel( + name='MaintenancePlanLayerBranch', + fields=[ + ('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), + ('layerbranch', models.ForeignKey(to='layerindex.LayerBranch')), + ('plan', models.ForeignKey(to='rrs.MaintenancePlan')), + ], + options={'verbose_name_plural': 'Maintenance plan layer branches'}, + ), + ] diff --git a/rrs/models.py b/rrs/models.py index 7c327fb6ba..ebce4c3b53 100644 --- a/rrs/models.py +++ b/rrs/models.py @@ -12,7 +12,23 @@ sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), '../ from datetime import date from django.db import models -from layerindex.models import Recipe +from layerindex.models import Recipe, LayerBranch + + +class MaintenancePlan(models.Model): + name = models.CharField(max_length=50, unique=True) + description = models.TextField(blank=True) + updates_enabled = models.BooleanField('Enable updates', default=True, help_text='Enable automatically updating metadata for this plan via the update scripts') + + def __str__(self): + return '%s' % (self.name) + +class MaintenancePlanLayerBranch(models.Model): + plan = models.ForeignKey(MaintenancePlan) + layerbranch = models.ForeignKey(LayerBranch) + + class Meta: + verbose_name_plural = "Maintenance plan layer branches" class Release(models.Model): name = models.CharField(max_length=100, unique=True) |