7 |
7 |
from django.utils import timezone
|
8 |
8 |
from django.utils.http import urlencode
|
9 |
9 |
from django.http import HttpResponseRedirect
|
10 |
10 |
from django.views.decorators.cache import never_cache
|
11 |
11 |
from django.contrib.auth.admin import GroupAdmin, UserAdmin
|
12 |
12 |
from django.contrib.auth.models import Group
|
13 |
13 |
from django.contrib.sessions.models import Session
|
14 |
14 |
from django.contrib.auth import REDIRECT_FIELD_NAME
|
|
15 |
from django.contrib.admin.utils import flatten_fieldsets
|
15 |
16 |
|
16 |
17 |
from .nonce.models import Nonce
|
17 |
18 |
from . import forms, models, admin_forms, compat, app_settings
|
18 |
19 |
|
19 |
20 |
def cleanup_action(modeladmin, request, queryset):
|
20 |
21 |
queryset.cleanup()
|
21 |
22 |
cleanup_action.short_description = _('Cleanup expired objects')
|
22 |
23 |
|
... | ... | |
188 |
189 |
qs = models.Attribute.objects.filter(required=True)
|
189 |
190 |
insertion_idx = 1
|
190 |
191 |
if qs.exists():
|
191 |
192 |
fieldsets = list(fieldsets)
|
192 |
193 |
fieldsets.insert(insertion_idx,
|
193 |
194 |
(_('Attributes'), {'fields': [at.name for at in qs]}))
|
194 |
195 |
return fieldsets
|
195 |
196 |
|
|
197 |
def get_form(self, request, obj=None, **kwargs):
|
|
198 |
if 'fields' in kwargs:
|
|
199 |
fields = kwargs.pop('fields')
|
|
200 |
else:
|
|
201 |
fields = flatten_fieldsets(self.get_fieldsets(request, obj))
|
|
202 |
if obj:
|
|
203 |
qs = models.Attribute.objects.all()
|
|
204 |
else:
|
|
205 |
qs = models.Attribute.objects.filter(required=True)
|
|
206 |
non_model_fields = [a.name for a in qs]
|
|
207 |
fields = list(set(fields) - set(non_model_fields))
|
|
208 |
kwargs['fields'] = fields
|
|
209 |
return super(AuthenticUserAdmin, self).get_form(request, obj=obj, **kwargs)
|
|
210 |
|
196 |
211 |
User = compat.get_user_model()
|
197 |
212 |
if User.__module__ == 'django.contrib.auth.models':
|
198 |
213 |
if User in admin.site._registry:
|
199 |
214 |
admin.site.unregister(User)
|
200 |
215 |
admin.site.register(User, AuthenticUserAdmin)
|
201 |
216 |
|
202 |
217 |
class AttributeAdmin(admin.ModelAdmin):
|
203 |
218 |
list_display = ('label', 'name', 'kind', 'required',
|
204 |
|
-
|