aboutsummaryrefslogtreecommitdiffstats
path: root/rrs
diff options
context:
space:
mode:
Diffstat (limited to 'rrs')
-rw-r--r--rrs/admin.py14
-rw-r--r--rrs/migrations/0002_maintenanceplan.py33
-rw-r--r--rrs/models.py18
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)