taiga-back/greenmine/scrum/admin.py

64 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
from django.contrib import admin
from guardian.admin import GuardedModelAdmin
import reversion
from greenmine.scrum.models import Project, Milestone, UserStory, Change, \
ChangeAttachment, Task
class MilestoneInline(admin.TabularInline):
model = Milestone
fields = ('name', 'owner', 'estimated_start', 'estimated_finish', 'closed', 'disponibility', 'order')
sortable_field_name = 'order'
extra = 0
class UserStoryInline(admin.TabularInline):
model = UserStory
fields = ('subject', 'order')
sortable_field_name = 'order'
extra = 0
def get_inline_instances(self, request, obj=None):
if obj:
return obj.user_stories.filter(mileston__isnone=True)
else:
return UserStory.objects.none()
class ProjectAdmin(reversion.VersionAdmin):
list_display = ["name", "owner"]
inlines = [MilestoneInline, UserStoryInline]
admin.site.register(Project, ProjectAdmin)
class MilestoneAdmin(reversion.VersionAdmin):
list_display = ["name", "project", "owner", "closed", "estimated_start", "estimated_finish"]
admin.site.register(Milestone, MilestoneAdmin)
class UserStoryAdmin(reversion.VersionAdmin):
list_display = ["ref", "milestone", "project", "owner"]
admin.site.register(UserStory, UserStoryAdmin)
class ChangeAdmin(reversion.VersionAdmin):
list_display = ["id", "change_type", "project", "owner"]
admin.site.register(Change, ChangeAdmin)
class ChangeAttachmentAdmin(reversion.VersionAdmin):
list_display = ["id", "change", "owner"]
admin.site.register(ChangeAttachment, ChangeAttachmentAdmin)
class TaskAdmin(reversion.VersionAdmin):
list_display = ["subject", "type", "user_story"]
admin.site.register(Task, TaskAdmin)