Completed
Push — devel ( ae9b96...8edacd )
by Paolo
06:10
created

biosample.admin.SubmissionAdmin.submission_id()   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 2
rs 10
c 0
b 0
f 0
cc 1
nop 2
1
# -*- coding: utf-8 -*-
2
"""
3
Created on Fri Jul  6 11:39:15 2018
4
5
@author: Paolo Cozzi <[email protected]>
6
"""
7
8
from django.contrib import admin
9
from django.template.defaultfilters import truncatechars
10
11
from .models import (
12
    Account, ManagedTeam, Submission, SubmissionData)
13
14
15
class SubmissionAdmin(admin.ModelAdmin):
16
    list_display = (
17
        'id', 'submission_id', 'submission_title', 'usi_submission_name',
18
        'created_at', 'updated_at', 'status', 'samples_count',
19
        'samples_status', 'short_message',
20
    )
21
22
    list_select_related = ('uid_submission',)
23
24
    def short_message(self, obj):
25
        return truncatechars(obj.message, 40)
26
27
    # rename column in admin
28
    short_message.short_description = "Message"
29
30
    def submission_id(self, obj):
31
        return obj.uid_submission.id
32
33
    def submission_title(self, obj):
34
        return obj.uid_submission.title
35
36
    list_filter = ('uid_submission__owner', 'status')
37
38
    list_per_page = 10
39
40
    # I cannot edit a auto_add_now field
41
    readonly_fields = ('uid_submission', 'created_at', 'updated_at')
42
43
    fields = (
44
        'uid_submission', 'usi_submission_name', 'created_at', 'updated_at',
45
        'message', 'status', 'samples_count', 'samples_status'
46
    )
47
48
49
class SubmissionDataAdmin(admin.ModelAdmin):
50
    list_display = (
51
        'id', 'short_submission', 'submission_id', 'submission_title',
52
        'status', 'content_type', 'object_id'
53
    )
54
55
    def short_submission(self, obj):
56
        return obj.submission.usi_submission_name
57
58
    # rename column in admin
59
    short_submission.short_description = "USI Submission"
60
61
    def status(self, obj):
62
        return obj.submission.get_status_display()
63
64
    def submission_id(self, obj):
65
        return obj.submission.uid_submission.id
66
67
    def submission_title(self, obj):
68
        return obj.submission.uid_submission.title
69
70
    list_filter = (
71
        'submission__uid_submission__owner',
72
        'submission__status')
73
74
    list_per_page = 10
75
76
    # Fields I don't want to edit
77
    readonly_fields = ('submission',)
78
79
    fields = (
80
        'submission', 'content_type',
81
        'object_id'
82
    )
83
84
85
class AccountAdmin(admin.ModelAdmin):
86
    list_display = (
87
        'user', 'name', 'team'
88
    )
89
90
    list_per_page = 10
91
92
93
# --- registering applications
94
95
96
# Register your models here.
97
admin.site.register(Account, AccountAdmin)
98
admin.site.register(ManagedTeam)
99
admin.site.register(Submission, SubmissionAdmin)
100
admin.site.register(SubmissionData, SubmissionDataAdmin)
101