aboutsummaryrefslogblamecommitdiffstats
path: root/ctrack/caf/admin.py
blob: 244512562cc9217733888372218ee0a368606bcb (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

                                









                     

                                                                                 



                                                                                




                                                 

                                              
                                                          
 
 

                                                  
                                                       

 




                                                   

 



                                                            

 
       

                                 



                                                                    


                                  
                                                            
                              
                                 
                            
                                                                
from django.contrib import admin

from .models import (
    CAF,
    FileStore,
    DocumentFile,
    Grading,
    ApplicableSystem,
    EssentialService,
)


def get_system_org(obj):
    es = obj.essentialservice_set.first()  # just get the first if there are many
    if es:  # return blank if there are none to copy with current admin template
        return es.organisation.name
    else:
        return ""


get_system_org.short_description = "Organisation"


class EssentialServiceAdmin(admin.ModelAdmin):
    model = EssentialService
    list_display = ["name", "description", "organisation"]


class ApplicableSystemListAdmin(admin.ModelAdmin):
    model = ApplicableSystem
    list_display = ["name", get_system_org, "function"]


# FIXME
# class ApplicableSystemAdmin(admin.StackedInline):
#     model = ApplicableSystem
#     max_num = 3
#     extra = 1


# FIXME - NOT NEEDED
# def get_caf_name(obj):
#     ass = ApplicableSystem.objects.filter(caf=obj).first()
#     return f"{ass.organisation.name}_v{obj.version}"


# FIXME
class CAFAdmin(admin.ModelAdmin):
    model = CAF
    #   inlines = [ApplicableSystemAdmin]


#   list_display = ["quality_grading", "confidence_grading", "file"]


admin.site.register(CAF, CAFAdmin)
admin.site.register(EssentialService, EssentialServiceAdmin)
admin.site.register(FileStore)
admin.site.register(DocumentFile)
admin.site.register(Grading)
admin.site.register(ApplicableSystem, ApplicableSystemListAdmin)