Skip to content
Snippets Groups Projects
Select Git revision
  • aff7100ad7e2f0ee0a803beb95da8db38a2d24d8
  • test default protected
  • master protected
  • original
  • pirati-backup protected
  • beta-2
  • beta-1
  • v3.1.4
  • v3.1.3
  • v3.1.2
  • v3.1.1
  • v3.1.0
  • v3.0.16
  • v3.0.15
  • v3.0.14
  • v3.0.13
  • v3.0.12
  • v3.0.11
  • v3.0.10
  • v3.0.9
  • v3.0.8
  • v3.0.7
  • v3.0.6
  • v3.0.5
  • v3.0.4
25 results

manage.py

Blame
  • admin.py 1.21 KiB
    import copy
    
    from django.conf import settings
    from django.contrib import admin
    from django_admin_index.models import AppGroup, AppGroupQuerySet
    
    
    def get_app_list(self, request):
        app_dict = self._build_app_dict(request)
    
        for app_name, object_list in app_dict.items():
            if app_name in settings.ADMIN_ORDERING:
                app = app_dict[app_name]
                app["models"].sort(
                    key=lambda model: settings.ADMIN_ORDERING[app_name].index(
                        model["object_name"]
                    )
                )
                app_dict[app_name]
    
                yield app
            else:
                yield app_dict[app_name]
    
    
    admin.AdminSite.get_app_list = get_app_list
    
    
    original_as_list_func = copy.deepcopy(AppGroupQuerySet.as_list)
    
    
    def as_list(self, request, include_remaining=True):
        result = original_as_list_func(self, request, include_remaining=include_remaining)
    
        for item in result:
            if item["app_label"] not in settings.ADMIN_ORDERING:
                continue
    
            item["models"].sort(
                key=lambda model: (
                    settings.ADMIN_ORDERING[item["app_label"]].index(model["object_name"])
                )
            )
    
        return result
    
    
    AppGroupQuerySet.as_list = as_list