Merge pull request #69 from Schlabonski/reply-field

improve foreign key dropdown menus
v1-0-stable
Christian Merten 9 years ago committed by GitHub
commit 978394b9a6

@ -45,6 +45,7 @@ INSTALLED_APPS = [
'material.apps.MaterialConfig', 'material.apps.MaterialConfig',
'members.apps.MembersConfig', 'members.apps.MembersConfig',
'mailer.apps.MailerConfig', 'mailer.apps.MailerConfig',
'easy_select2',
'django.contrib.admin', 'django.contrib.admin',
'django.contrib.auth', 'django.contrib.auth',
'django.contrib.contenttypes', 'django.contrib.contenttypes',

@ -4,6 +4,7 @@ from django.utils.translation import ugettext_lazy as _
from django.shortcuts import render from django.shortcuts import render
from django.db import models from django.db import models
from django import forms from django import forms
from easy_select2 import apply_select2
from .models import Message, Attachment, MessageForm from .models import Message, Attachment, MessageForm
from .mailutils import NOT_SENT, PARTLY_SENT from .mailutils import NOT_SENT, PARTLY_SENT
@ -19,7 +20,8 @@ class MessageAdmin(admin.ModelAdmin):
list_display = ('subject', 'get_recipients', 'sent') list_display = ('subject', 'get_recipients', 'sent')
change_form_template = "mailer/change_form.html" change_form_template = "mailer/change_form.html"
formfield_overrides = { formfield_overrides = {
models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple} models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
models.ForeignKey: {'widget': apply_select2(forms.Select)}
} }
inlines = [AttachmentInline] inlines = [AttachmentInline]

@ -1,8 +1,11 @@
from django.contrib import admin from django.contrib import admin
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.contrib.admin import SimpleListFilter from django.contrib.admin import SimpleListFilter
from django.db import models
from django import forms
from .models import MaterialPart, Ownership from .models import MaterialPart, Ownership
from easy_select2 import apply_select2
# Register your models here. # Register your models here.
@ -13,6 +16,9 @@ class OwnershipInline(admin.StackedInline):
""" """
model = Ownership model = Ownership
extra = 0 extra = 0
formfield_overrides = {
models.ForeignKey: {'widget': apply_select2(forms.Select)}
}
class NotTooOldFilter(SimpleListFilter): class NotTooOldFilter(SimpleListFilter):

@ -11,13 +11,14 @@ from django import forms
from django.contrib import admin from django.contrib import admin
from django.contrib.admin import DateFieldListFilter from django.contrib.admin import DateFieldListFilter
from django.utils.translation import ugettext_lazy as translate from django.utils.translation import ugettext_lazy as translate
from django.db.models import TextField, ManyToManyField from django.db.models import TextField, ManyToManyField, ForeignKey
from django.forms import Textarea, RadioSelect, TypedChoiceField from django.forms import Textarea, RadioSelect, TypedChoiceField
from django.shortcuts import render from django.shortcuts import render
from .models import (Member, Group, MemberList, MemberOnList, Klettertreff, from .models import (Member, Group, MemberList, MemberOnList, Klettertreff,
KlettertreffAttendee, ActivityCategory) KlettertreffAttendee, ActivityCategory)
from django.conf import settings from django.conf import settings
from easy_select2 import apply_select2
# Register your models here. # Register your models here.
@ -27,7 +28,8 @@ class MemberAdmin(admin.ModelAdmin):
list_display = ('name', 'birth_date', 'gets_newsletter', 'get_group', 'queue', 'created', 'comments') list_display = ('name', 'birth_date', 'gets_newsletter', 'get_group', 'queue', 'created', 'comments')
list_filter = ('group', 'gets_newsletter', 'queue') list_filter = ('group', 'gets_newsletter', 'queue')
formfield_overrides = { formfield_overrides = {
ManyToManyField: {'widget': forms.CheckboxSelectMultiple} ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
ForeignKey: {'widget': apply_select2(forms.Select)}
} }
change_form_template = "members/change_member.html" change_form_template = "members/change_member.html"
@ -71,9 +73,10 @@ class MemberOnListInline(admin.StackedInline):
model = MemberOnList model = MemberOnList
extra = 0 extra = 0
formfield_overrides = { formfield_overrides = {
TextField: {'widget': Textarea( TextField: {'widget': Textarea(attrs={'rows': 1,
attrs={'rows': 1, 'cols': 40})},
'cols': 40})}, ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
ForeignKey: {'widget': apply_select2(forms.Select)}
} }
@ -83,7 +86,8 @@ class MemberListAdmin(admin.ModelAdmin):
list_display = ['__str__', 'date'] list_display = ['__str__', 'date']
actions = ['convert_to_pdf', 'generate_notes'] actions = ['convert_to_pdf', 'generate_notes']
formfield_overrides = { formfield_overrides = {
ManyToManyField: {'widget': forms.CheckboxSelectMultiple} ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
ForeignKey: {'widget': apply_select2(forms.Select)}
} }
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -309,6 +313,10 @@ class KlettertreffAttendeeInline(admin.StackedInline):
model = KlettertreffAttendee model = KlettertreffAttendee
form = KlettertreffAttendeeInlineForm form = KlettertreffAttendeeInlineForm
extra = 0 extra = 0
formfield_overrides = {
ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
ForeignKey: {'widget': apply_select2(forms.Select)}
}
class KlettertreffAdmin(admin.ModelAdmin): class KlettertreffAdmin(admin.ModelAdmin):
@ -337,7 +345,8 @@ class KlettertreffAdmin(admin.ModelAdmin):
context) context)
formfield_overrides = { formfield_overrides = {
ManyToManyField: {'widget': forms.CheckboxSelectMultiple} ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
ForeignKey: {'widget': apply_select2(forms.Select)}
} }

@ -1,3 +1,4 @@
Django==1.10.2 Django==1.10.2
Pillow==3.4.2 Pillow==3.4.2
mysqlclient==1.3.9 mysqlclient==1.3.9
django-easy-select2==1.3.4

Loading…
Cancel
Save