Completed
Push — master ( 8a2447...e2760f )
by Paolo
06:42
created

biosample.admin.SubmissionAdmin.short_message()   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
        'submission_title', 'usi_submission_name', 'created_at', 'updated_at',
18
        'status', 'samples_count', 'samples_status', 'short_message',
19
    )
20
21
    list_select_related = ('uid_submission',)
22
23
    def short_message(self, obj):
24
        return truncatechars(obj.message, 40)
25
26
    # rename column in admin
27
    short_message.short_description = "Message"
28
29
    def submission_title(self, obj):
30
        return obj.uid_submission.title
31
32
    list_filter = ('uid_submission__owner', 'status')
33
34
    list_per_page = 10
35
36
    # I cannot edit a auto_add_now field
37
    readonly_fields = ('uid_submission', 'created_at', 'updated_at')
38
39
    fields = (
40
        'uid_submission', 'usi_submission_name', 'created_at', 'updated_at',
41
        'message', 'status', 'samples_count', 'samples_status'
42
    )
43
44
45
class SubmissionDataAdmin(admin.ModelAdmin):
46
    list_display = (
47
        'short_submission', 'submission_title', 'status', 'content_type',
48
        'object_id'
49
    )
50
51
    def short_submission(self, obj):
52
        return obj.submission.usi_submission_name
53
54
    # rename column in admin
55
    short_submission.short_description = "USI Submission"
56
57
    # rename column in admin
58
    short_submission.short_description = "USI Submission"
59
60
    def status(self, obj):
61
        return obj.submission.get_status_display()
62
63
    def submission_title(self, obj):
64
        return obj.submission.uid_submission.title
65
66
    list_filter = (
67
        'submission__uid_submission__owner',
68
        'submission__uid_submission__status')
69
70
    list_per_page = 10
71
72
    # Fields I don't want to edit
73
    readonly_fields = ('submission',)
74
75
    fields = (
76
        'submission', 'content_type',
77
        'object_id'
78
    )
79
80
81
class AccountAdmin(admin.ModelAdmin):
82
    list_display = (
83
        'user', 'name', 'team'
84
    )
85
86
    list_per_page = 10
87
88
89
# --- registering applications
90
91
92
# Register your models here.
93
admin.site.register(Account, AccountAdmin)
94
admin.site.register(ManagedTeam)
95
admin.site.register(Submission, SubmissionAdmin)
96
admin.site.register(SubmissionData, SubmissionDataAdmin)
97