Skip to content

Commit

Permalink
Merge pull request #717 from haricot/patch-3
Browse files Browse the repository at this point in the history
Add site name in ModelMultipleChoiceField if site count >=2
  • Loading branch information
jrief committed Mar 28, 2018
2 parents cc1f678 + fe3fe5e commit a76817d
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion shop/admin/product.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from django.core.cache import cache
from django.core.exceptions import ImproperlyConfigured
from django.contrib import admin
from django.contrib.sites.models import Site
from django.utils.translation import ugettext_lazy as _

from adminsortable2.admin import SortableInlineAdminMixin
Expand All @@ -32,6 +33,13 @@ def _find_catalog_list_apphook():
else:
raise ImproperlyConfigured("You must register a CMS apphook of type `CatalogListCMSApp`.")

class CategoryModelMultipleChoiceField(forms.ModelMultipleChoiceField):
def label_from_instance(self, obj):
if Site.objects.count() >=2 :
page_sitename=str(Site.objects.filter(djangocms_nodes=obj.node_id).first().name)
return '{} | {}'.format(str(obj), page_sitename)
else:
return str(obj)

class CMSPageAsCategoryMixin(object):
"""
Expand Down Expand Up @@ -68,7 +76,7 @@ def formfield_for_manytomany(self, db_field, request, **kwargs):
queryset = Page.objects.filter(**limit_choices_to)
widget = admin.widgets.FilteredSelectMultiple(_("CMS Pages"), False)
required = not db_field.blank
field = forms.ModelMultipleChoiceField(queryset=queryset, widget=widget, required=required)
field = CategoryModelMultipleChoiceField(queryset=queryset, widget=widget, required=required)
return field
return super(CMSPageAsCategoryMixin, self).formfield_for_manytomany(db_field, request, **kwargs)

Expand Down

0 comments on commit a76817d

Please sign in to comment.