Add OrganizationAdminMixin. Enable OrganizationAdminMixin for the tags, folders and user_management apps.
This commit is contained in:
@@ -2,10 +2,13 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.contrib import admin
|
||||
|
||||
from organizations.admin import OrganizationAdminMixin
|
||||
|
||||
from .models import Folder
|
||||
|
||||
|
||||
@admin.register(Folder)
|
||||
class FolderAdmin(admin.ModelAdmin):
|
||||
class FolderAdmin(OrganizationAdminMixin, admin.ModelAdmin):
|
||||
filter_horizontal = ('documents',)
|
||||
list_display = ('label', 'datetime_created')
|
||||
list_display_links = ('label',)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib import admin
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from .models import Organization
|
||||
|
||||
@@ -9,3 +10,27 @@ from .models import Organization
|
||||
class OrganizationAdmin(admin.ModelAdmin):
|
||||
list_display = ('label',)
|
||||
search_fields = ('label',)
|
||||
|
||||
|
||||
class OrganizationAdminMixin(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(OrganizationAdminMixin, self).__init__(*args, **kwargs)
|
||||
self.list_display = ('organization',) + self.list_display
|
||||
self.list_filter = self.list_filter + ('organization',)
|
||||
self.ordering = self.ordering or ()
|
||||
self.ordering = ('organization',) + self.ordering
|
||||
|
||||
def get_fieldsets(self, *args, **kwargs):
|
||||
result = super(OrganizationAdminMixin, self).get_fieldsets(*args, **kwargs)
|
||||
|
||||
if 'organization' in result[0][1]['fields']:
|
||||
try:
|
||||
result[0][1]['fields'] = result[0][1]['fields'] - ('organization',)
|
||||
except TypeError:
|
||||
result[0][1]['fields'].remove('organization')
|
||||
|
||||
result = ((_('Organizations'), {
|
||||
'fields': ('organization',),
|
||||
},),) + tuple(result)
|
||||
|
||||
return result
|
||||
|
||||
@@ -2,10 +2,13 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.contrib import admin
|
||||
|
||||
from organizations.admin import OrganizationAdminMixin
|
||||
|
||||
from .models import Tag
|
||||
|
||||
|
||||
@admin.register(Tag)
|
||||
class TagAdmin(admin.ModelAdmin):
|
||||
class TagAdmin(OrganizationAdminMixin, admin.ModelAdmin):
|
||||
filter_horizontal = ('documents',)
|
||||
list_display = ('label', 'color')
|
||||
list_display_links = ('label',)
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
from django import forms
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
from django.contrib.auth.forms import ReadOnlyPasswordHashField
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from user_management.models import MayanUser
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth.admin import UserAdmin, GroupAdmin
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from organizations.admin import OrganizationAdminMixin
|
||||
|
||||
from .models import MayanGroup, MayanUser
|
||||
|
||||
|
||||
@admin.register(MayanUser)
|
||||
class MayanUserAdmin(UserAdmin):
|
||||
list_display = ('organization',) + UserAdmin.list_display
|
||||
class MayanUserAdmin(OrganizationAdminMixin, UserAdmin):
|
||||
list_display_links = ('username',)
|
||||
list_filter = UserAdmin.list_filter + ('organization',)
|
||||
ordering = ('organization',) + UserAdmin.ordering
|
||||
fieldsets = UserAdmin.fieldsets
|
||||
fieldsets[1][1]['fields'] = ('organization',) + fieldsets[1][1]['fields']
|
||||
|
||||
|
||||
@admin.register(MayanGroup)
|
||||
class MayanGroupAdmin(OrganizationAdminMixin, GroupAdmin):
|
||||
list_display = ('name',)
|
||||
list_display_links = ('name',)
|
||||
|
||||
Reference in New Issue
Block a user