Files
@ 36ecf098b059
Branch filter:
Location: website/conservancy/usethesource/admin.py - annotation
36ecf098b059
1.2 KiB
text/x-python
Merge branch 'master' into sustainer-payment
cc3224bb60dd cc3224bb60dd 3cccc3bdd90e 54ae2c7b068c cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd 7a682ed6d0ff 7a682ed6d0ff cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd 296f29c84bb2 cc3224bb60dd cc3224bb60dd cc3224bb60dd cc3224bb60dd 1b1e2b994fc7 3cccc3bdd90e 3cccc3bdd90e 3cccc3bdd90e 3cccc3bdd90e 3cccc3bdd90e 3cccc3bdd90e 3cccc3bdd90e 3cccc3bdd90e 54ae2c7b068c 54ae2c7b068c 54ae2c7b068c 54ae2c7b068c 54ae2c7b068c 54ae2c7b068c 54ae2c7b068c | from django.contrib import admin
from .emails import make_candidate_email
from .models import Candidate, Comment, SourceOffer
class CommentInline(admin.TabularInline):
model = Comment
fields = ['user', 'message']
extra = 0
@admin.register(Candidate)
class CandidateAdmin(admin.ModelAdmin):
list_display = ['name', 'vendor', 'device', 'release_date', 'ordering']
list_editable = ['ordering']
fields = [
'name',
'slug',
'vendor',
'device',
'release_date',
'source_url',
'binary_url',
'show_download_disclaimer',
'description',
]
inlines = [CommentInline]
prepopulated_fields = {'slug': ['name']}
view_on_site = True
def save_model(self, request, obj, form, change):
send_email = obj.id is None
super().save_model(request, obj, form, change)
if send_email:
# Announce the new candidate
email = make_candidate_email(obj, request.user)
email.send()
@admin.register(SourceOffer)
class SourceOfferAdmin(admin.ModelAdmin):
list_display = ['time', 'vendor', 'device']
fields = ['time', 'vendor', 'device', 'photo']
readonly_fields = ['time']
|