Skip to content

Commit

Permalink
Merge pull request #22 from sergio971st/admin_filtration
Browse files Browse the repository at this point in the history
added admin filter for subdomains in MetaTagPath and MetaTagView
  • Loading branch information
Dmitry Sh committed Feb 3, 2020
2 parents 9c39fda + a630c45 commit f200eab
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
10 changes: 9 additions & 1 deletion djangoseo/admin.py
Expand Up @@ -80,7 +80,7 @@ def get_view_admin(use_site=False, use_subdomains=False):
})


def register_seo_admin(admin_site, metadata_class):
def register_seo_admin(admin_site, metadata_class, filter_list=None):
""" Register the backends specified in Meta.backends with the admin """
use_sites = metadata_class._meta.use_sites
use_subdomains = metadata_class._meta.use_subdomains
Expand All @@ -100,27 +100,35 @@ def get_list_display():
class ModelAdmin(model_admin):
form = get_model_form(metadata_class)
list_display = model_admin.list_display + get_list_display()
if filter_list: # Cannot give the filter_list variable name 'list_filter', because there is a name conflict
list_filter = filter_list

_register_admin(admin_site, metadata_class._meta.get_model('model'), ModelAdmin)

if 'view' in backends:
class ViewAdmin(view_admin):
form = get_view_form(metadata_class)
list_display = view_admin.list_display + get_list_display()
if filter_list: # Cannot give the filter_list variable name 'list_filter', because there is a name conflict
list_filter = filter_list

_register_admin(admin_site, metadata_class._meta.get_model('view'), ViewAdmin)

if 'path' in backends:
class PathAdmin(path_admin):
form = get_path_form(metadata_class)
list_display = path_admin.list_display + get_list_display()
if filter_list: # Cannot give the filter_list variable name 'list_filter', because there is a name conflict
list_filter = filter_list

_register_admin(admin_site, metadata_class._meta.get_model('path'), PathAdmin)

if 'modelinstance' in backends:
class ModelInstanceAdmin(model_instance_admin):
form = get_modelinstance_form(metadata_class)
list_display = model_instance_admin.list_display + get_list_display()
if filter_list: # Cannot give the filter_list variable name 'list_filter', because there is a name conflict
list_filter = filter_list

_register_admin(admin_site, metadata_class._meta.get_model('modelinstance'), ModelInstanceAdmin)

Expand Down
2 changes: 1 addition & 1 deletion tests/userapp/admin.py
Expand Up @@ -12,7 +12,7 @@ class WithMetadataAdmin(admin.ModelAdmin):
inlines = [get_inline(Coverage), get_inline(WithSites)]


register_seo_admin(admin.site, Coverage)
register_seo_admin(admin.site, Coverage, ('title', ))
register_seo_admin(admin.site, WithSites)

try:
Expand Down

0 comments on commit f200eab

Please sign in to comment.