Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F84759248
admin.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Tue, Sep 24, 17:59
Size
3 KB
Mime Type
text/x-python
Expires
Thu, Sep 26, 17:59 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
21082254
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
admin.py
View Options
from
django.contrib
import
admin
from
.models
import
Country
from
.models
import
Language
from
.models
import
Issn
from
.models
import
Oa
from
.models
import
Publisher
from
.models
import
Journal
from
.models
import
Organization
from
.models
import
Version
from
.models
import
Licence
from
.models
import
Cost_factor_type
from
.models
import
Cost_factor
from
.models
import
Term
from
.models
import
ConditionType
from
.models
import
ConditionSet
from
.models
import
OrganizationCondition
from
.models
import
JournalCondition
from
import_export.admin
import
ImportExportModelAdmin
from
django.contrib.admin
import
TabularInline
# Register your models here.
@admin.register
(
Journal
)
class
JournalAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"name"
,
"journal_issns"
,)
list_filter
=
(
'publisher__name'
,
)
filter_horizontal
=
(
'publisher'
,
'language'
,
)
def
journal_issns
(
self
,
obj
):
# TBD
pass
@admin.register
(
Language
)
class
LanguageAdmin
(
ImportExportModelAdmin
):
pass
@admin.register
(
Organization
)
class
OrganizationAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"name"
)
list_filter
=
(
'is_funder'
,)
# for some reason, the line below has no effet. AB 2021-07-05
filter_horizontal
=
(
'country'
,
)
@admin.register
(
Version
)
class
VersionAdmin
(
ImportExportModelAdmin
):
pass
@admin.register
(
Country
)
class
CountryAdmin
(
ImportExportModelAdmin
):
pass
@admin.register
(
Issn
)
class
IssnAdmin
(
ImportExportModelAdmin
):
list_filter
=
(
'issn_type'
,
)
@admin.register
(
Oa
)
class
OaAdmin
(
ImportExportModelAdmin
):
pass
@admin.register
(
Publisher
)
class
PublisherAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"name"
)
# Experimental: what will happen with 200+ countries in the database?
list_filter
=
(
'country__name'
,
)
filter_horizontal
=
(
'country'
,
)
@admin.register
(
Term
)
class
TermAdmin
(
ImportExportModelAdmin
):
list_filter
=
(
'version'
,
'licence'
)
filter_horizontal
=
(
'version'
,
'cost_factor'
,
'licence'
,
)
@admin.register
(
ConditionType
)
class
ConditionTypeAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"condition_issuer"
)
class
JournalConditionInline
(
TabularInline
):
model
=
JournalCondition
extra
=
1
class
OrganizationConditionInline
(
TabularInline
):
model
=
OrganizationCondition
extra
=
1
@admin.register
(
ConditionSet
)
class
ConditionSetAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"condition_type"
,
"comment"
)
search_fields
=
[
'organization__name'
,
'journal__name'
,
'comment'
]
list_filter
=
(
'condition_type'
,
)
inlines
=
(
OrganizationConditionInline
,
JournalConditionInline
,
)
@admin.register
(
OrganizationCondition
)
class
OrganizationConditionAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"organization_name"
,
"condition_set"
,
"valid_from"
,
"valid_until"
)
list_filter
=
(
'condition_set__condition_type'
,
)
def
organization_name
(
self
,
obj
):
return
obj
.
organization
.
name
@admin.register
(
Licence
)
class
LicenceAdmin
(
ImportExportModelAdmin
):
pass
@admin.register
(
JournalCondition
)
class
JournalConditionAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"journal_name"
,
"condition_set"
,
"valid_from"
,
"valid_until"
)
list_filter
=
(
'condition_set__condition_type'
,
)
def
journal_name
(
self
,
obj
):
return
obj
.
journal
.
name
# unsuccessful attempt
# def formfield_for_foreignkey(self, db_field, request, **kwargs):
# if db_field.name == "journal":
# kwargs["queryset"] = Journal.objects.filter(publisher__name__in=Publisher.objects.order_by().values('name').distinct())
# return super().formfield_for_foreignkey(db_field, request, **kwargs)
@admin.register
(
Cost_factor
)
class
Cost_factorAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"comment"
,
"amount"
,
"symbol"
)
list_filter
=
(
'cost_factor_type'
,
'symbol'
)
@admin.register
(
Cost_factor_type
)
class
Cost_factor_typeAdmin
(
ImportExportModelAdmin
):
list_display
=
(
"id"
,
"name"
)
Event Timeline
Log In to Comment