diff --git a/admin/base_site.html b/admin/base_site.html
new file mode 100644
index 0000000..0fcc54e
--- /dev/null
+++ b/admin/base_site.html
@@ -0,0 +1,5 @@
+{% extends "admin/base.html" %}
+{% block branding %}
+
OpenEmbedded Metadata Index Admin
+{% endblock %}
+
diff --git a/layerindex/admin.py b/layerindex/admin.py
index 0890ff2..18e51ab 100644
--- a/layerindex/admin.py
+++ b/layerindex/admin.py
@@ -7,21 +7,38 @@
from layerindex.models import *
from django.contrib import admin
from reversion_compare.admin import CompareVersionAdmin
+from django.forms import TextInput
class LayerItemAdmin(CompareVersionAdmin):
- """ Admin settings here """
+ list_filter = ['status', 'layer_type']
+ save_as = True
+ search_fields = ['name', 'summary']
+ readonly_fields = ['vcs_last_fetch', 'vcs_last_rev', 'vcs_last_commit']
+ formfield_overrides = {
+ models.URLField: {'widget': TextInput(attrs={'size':'100'})},
+ models.CharField: {'widget': TextInput(attrs={'size':'100'})},
+ }
class LayerMaintainerAdmin(CompareVersionAdmin):
- """ Admin settings here """
+ list_filter = ['status', 'layer__name']
class LayerDependencyAdmin(CompareVersionAdmin):
- """ Admin settings here """
+ list_filter = ['layer__name']
class LayerNoteAdmin(CompareVersionAdmin):
- """ Admin settings here """
+ list_filter = ['layer__name']
+
+class RecipeAdmin(admin.ModelAdmin):
+ search_fields = ['filename', 'pn']
+ list_filter = ['layer__name']
+ readonly_fields = Recipe._meta.get_all_field_names()
+ def has_add_permission(self, request, obj=None):
+ return False
+ def has_delete_permission(self, request, obj=None):
+ return False
admin.site.register(LayerItem, LayerItemAdmin)
admin.site.register(LayerMaintainer, LayerMaintainerAdmin)
admin.site.register(LayerDependency, LayerDependencyAdmin)
admin.site.register(LayerNote, LayerNoteAdmin)
-admin.site.register(Recipe)
+admin.site.register(Recipe, RecipeAdmin)
diff --git a/layerindex/models.py b/layerindex/models.py
index 69389f4..b5c7861 100644
--- a/layerindex/models.py
+++ b/layerindex/models.py
@@ -21,14 +21,14 @@ class LayerItem(models.Model):
('D', 'Distribution'),
('M', 'Miscellaneous'),
)
- name = models.CharField(max_length=40, unique=True)
+ name = models.CharField('Layer name', max_length=40, unique=True)
created_date = models.DateTimeField('Created')
status = models.CharField(max_length=1, choices=LAYER_STATUS_CHOICES, default='N')
layer_type = models.CharField(max_length=1, choices=LAYER_TYPE_CHOICES, default='M')
summary = models.CharField(max_length=200)
description = models.TextField()
vcs_last_fetch = models.DateTimeField('Last successful fetch', blank=True, null=True)
- vcs_last_rev = models.CharField(max_length=80, blank=True)
+ vcs_last_rev = models.CharField('Last revision fetched', max_length=80, blank=True)
vcs_last_commit = models.DateTimeField('Last commit date', blank=True, null=True)
vcs_subdir = models.CharField('Repository subdirectory', max_length=40, blank=True)
vcs_url = models.CharField('Repository URL', max_length=200)
@@ -37,6 +37,7 @@ class LayerItem(models.Model):
usage_url = models.URLField('Usage web page URL', blank=True)
class Meta:
+ verbose_name = "Layer"
permissions = (
("publish_layer", "Can publish layers"),
)
@@ -74,14 +75,17 @@ class LayerMaintainer(models.Model):
def __unicode__(self):
respstr = ""
if self.responsibility:
- respstr = " - %s" % self.responsibility
- return "%s <%s>%s" % (self.name, self.email, respstr)
+ respstr = " (%s)" % self.responsibility
+ return "%s: %s <%s>%s" % (self.layer.name, self.name, self.email, respstr)
class LayerDependency(models.Model):
layer = models.ForeignKey(LayerItem, related_name='dependencies_set')
dependency = models.ForeignKey(LayerItem, related_name='dependents_set')
+ class Meta:
+ verbose_name_plural = "Layer dependencies"
+
def __unicode__(self):
return "%s depends on %s" % (self.layer.name, self.dependency.name)