2010-09-03 04:07:35 +00:00
|
|
|
"""Django administration interface for `~projects.models.Project`
|
|
|
|
and related models.
|
|
|
|
"""
|
|
|
|
|
2011-01-08 23:41:31 +00:00
|
|
|
from builds.models import Version
|
2010-08-14 05:22:52 +00:00
|
|
|
from django.contrib import admin
|
2013-04-07 02:40:30 +00:00
|
|
|
from projects.models import (Project, ImportedFile, ProjectRelationship,
|
|
|
|
EmailHook, WebHook)
|
2012-10-14 02:14:15 +00:00
|
|
|
from guardian.admin import GuardedModelAdmin
|
2010-08-14 05:22:52 +00:00
|
|
|
|
2013-04-07 02:40:30 +00:00
|
|
|
|
2011-10-10 03:55:59 +00:00
|
|
|
class ProjectRelationshipInline(admin.TabularInline):
|
|
|
|
model = ProjectRelationship
|
|
|
|
fk_name = 'parent'
|
2011-01-08 23:41:31 +00:00
|
|
|
|
2013-04-07 02:40:30 +00:00
|
|
|
|
2011-01-08 23:41:31 +00:00
|
|
|
class VersionInline(admin.TabularInline):
|
|
|
|
model = Version
|
|
|
|
|
|
|
|
|
2012-10-14 02:14:15 +00:00
|
|
|
class ProjectAdmin(GuardedModelAdmin):
|
2010-08-14 06:27:15 +00:00
|
|
|
prepopulated_fields = {'slug': ('name',)}
|
2011-06-05 06:30:41 +00:00
|
|
|
list_display = ('name', 'repo', 'repo_type', 'featured', 'theme')
|
2012-10-20 01:34:58 +00:00
|
|
|
list_filter = ('repo_type', 'featured', 'privacy_level')
|
2011-06-05 06:30:41 +00:00
|
|
|
list_editable = ('featured',)
|
|
|
|
search_fields = ('name', 'repo')
|
2011-10-10 03:55:59 +00:00
|
|
|
inlines = [ProjectRelationshipInline, VersionInline]
|
2011-09-18 23:47:24 +00:00
|
|
|
raw_id_fields = ('users',)
|
2010-08-14 05:22:52 +00:00
|
|
|
|
|
|
|
|
2012-03-13 02:50:31 +00:00
|
|
|
class ImportedFileAdmin(admin.ModelAdmin):
|
2012-11-23 23:08:07 +00:00
|
|
|
list_display = ('name', 'version')
|
2012-03-13 02:50:31 +00:00
|
|
|
list_filter = ('project',)
|
2010-08-14 05:22:52 +00:00
|
|
|
|
2013-04-07 02:40:30 +00:00
|
|
|
|
2010-08-14 05:22:52 +00:00
|
|
|
admin.site.register(Project, ProjectAdmin)
|
2012-03-13 02:50:31 +00:00
|
|
|
admin.site.register(ImportedFile, ImportedFileAdmin)
|
2012-12-14 22:02:15 +00:00
|
|
|
admin.site.register(EmailHook)
|
|
|
|
admin.site.register(WebHook)
|