diff --git a/modoboa/admin/models/domain.py b/modoboa/admin/models/domain.py index 50a04d97b..af0d10c24 100644 --- a/modoboa/admin/models/domain.py +++ b/modoboa/admin/models/domain.py @@ -315,6 +315,7 @@ class MXQuerySet(models.QuerySet): return self.exists() +@python_2_unicode_compatible class MXRecord(models.Model): """A model used to store MX records for Domain.""" @@ -331,8 +332,8 @@ class MXRecord(models.Model): return False return bool(param_tools.get_global_parameter("valid_mxs").strip()) - def __unicode__(self): - return u"{0.name} ({0.address}) for {0.domain} ".format(self) + def __str__(self): + return "{0.name} ({0.address}) for {0.domain} ".format(self) class DNSBLQuerySet(models.QuerySet): diff --git a/modoboa/core/models.py b/modoboa/core/models.py index 3bdaa7a22..a118d52e2 100644 --- a/modoboa/core/models.py +++ b/modoboa/core/models.py @@ -405,6 +405,7 @@ def populate_callback(user, group="SimpleUsers"): sender="populate_callback", user=user) +@python_2_unicode_compatible class ObjectAccess(models.Model): user = models.ForeignKey(User) content_type = models.ForeignKey(ContentType) @@ -415,7 +416,7 @@ class ObjectAccess(models.Model): class Meta(object): unique_together = (("user", "content_type", "object_id"),) - def __unicode__(self): + def __str__(self): return "%s => %s (%s)" % ( self.user, self.content_object, self.content_type ) diff --git a/modoboa/lib/form_utils.py b/modoboa/lib/form_utils.py index e2b7144b1..b869ba183 100644 --- a/modoboa/lib/form_utils.py +++ b/modoboa/lib/form_utils.py @@ -13,7 +13,7 @@ from django.forms.fields import Field from django.forms.widgets import RadioSelect from django.forms.widgets import RadioChoiceInput from django.shortcuts import render -from django.utils.encoding import force_text, force_str +from django.utils.encoding import python_2_unicode_compatible, force_text, force_str from django.utils.html import conditional_escape from django.utils.safestring import mark_safe from django.utils.translation import ugettext as _, ugettext_lazy @@ -370,17 +370,18 @@ class TabForms(object): # +@python_2_unicode_compatible class CustomRadioInput(RadioChoiceInput): """Custom radio input.""" - def __unicode__(self): + def __str__(self): if "id" in self.attrs: label_for = ' for="%s"' % self.attrs["id"] else: label_for = "" choice_label = conditional_escape(force_text(self.choice_label)) return mark_safe( - u"" + "" % (label_for, self.tag(), choice_label) )