taiga-back/greenmine/projects/userstories/admin.py

47 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
from django.contrib import admin
from greenmine.projects.admin import AttachmentInline
from . import models
import reversion
class UserStoryInline(admin.TabularInline):
model = models.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 models.UserStory.objects.none()
class RolePointsInline(admin.TabularInline):
model = models.RolePoints
sortable_field_name = 'role'
readonly_fields = ["id"]
extra = 0
class RolePointsAdmin(admin.ModelAdmin):
list_display = ["user_story", "role", "points"]
list_display_links = list_display
list_filter = ["role", "user_story__project"]
class UserStoryAdmin(reversion.VersionAdmin):
list_display = ["id", "ref", "milestone", "project", "owner", 'status', 'is_closed']
list_filter = ["milestone", "project"]
list_display_links = list_display
readonly_fields = ["project", "status"]
inlines = [RolePointsInline, AttachmentInline]
admin.site.register(models.UserStory, UserStoryAdmin)
admin.site.register(models.RolePoints, RolePointsAdmin)