Преглед на файлове

Add name propert to Benefit and Condition

This fixes an issue where the admin would render HTML within the list
display (#705).

Also fixes #715
master
Matus Moravcik преди 12 години
родител
ревизия
d62dfde60f
променени са 1 файла, в които са добавени 24 реда и са изтрити 10 реда
  1. 24
    10
      oscar/apps/offer/models.py

+ 24
- 10
oscar/apps/offer/models.py Целия файл

433
         return self
433
         return self
434
 
434
 
435
     def __unicode__(self):
435
     def __unicode__(self):
436
-        return self.proxy().__unicode__()
436
+        return self.proxy().name
437
+
438
+    @property
439
+    def name(self):
440
+        return self.description
437
 
441
 
438
     @property
442
     @property
439
     def description(self):
443
     def description(self):
553
         raise RuntimeError("Unrecognised benefit type (%s)" % self.type)
557
         raise RuntimeError("Unrecognised benefit type (%s)" % self.type)
554
 
558
 
555
     def __unicode__(self):
559
     def __unicode__(self):
556
-        desc = self.description
560
+        name = self.proxy().name
557
         if self.max_affected_items:
561
         if self.max_affected_items:
558
-            desc += ungettext(
562
+            name += ungettext(
559
                 " (max %d item)",
563
                 " (max %d item)",
560
                 " (max %d items)",
564
                 " (max %d items)",
561
                 self.max_affected_items) % self.max_affected_items
565
                 self.max_affected_items) % self.max_affected_items
562
-        return desc
566
+        return name
567
+
568
+    @property
569
+    def name(self):
570
+        return self.description
563
 
571
 
564
     @property
572
     @property
565
     def description(self):
573
     def description(self):
816
     """
824
     """
817
     _description = _("Basket includes %(count)d item(s) from %(range)s")
825
     _description = _("Basket includes %(count)d item(s) from %(range)s")
818
 
826
 
819
-    def __unicode__(self):
827
+    @property
828
+    def name(self):
820
         return self._description % {
829
         return self._description % {
821
             'count': self.value,
830
             'count': self.value,
822
             'range': unicode(self.range).lower()}
831
             'range': unicode(self.range).lower()}
901
     """
910
     """
902
     _description = _("Basket includes %(count)d distinct item(s) from %(range)s")
911
     _description = _("Basket includes %(count)d distinct item(s) from %(range)s")
903
 
912
 
904
-    def __unicode__(self):
913
+    @property
914
+    def name(self):
905
         return self._description % {
915
         return self._description % {
906
             'count': self.value,
916
             'count': self.value,
907
             'range': unicode(self.range).lower()}
917
             'range': unicode(self.range).lower()}
1000
     """
1010
     """
1001
     _description = _("Basket includes %(amount)s from %(range)s")
1011
     _description = _("Basket includes %(amount)s from %(range)s")
1002
 
1012
 
1003
-    def __unicode__(self):
1013
+    @property
1014
+    def name(self):
1004
         return self._description % {
1015
         return self._description % {
1005
             'amount': currency(self.value),
1016
             'amount': currency(self.value),
1006
             'range': unicode(self.range).lower()}
1017
             'range': unicode(self.range).lower()}
1167
     """
1178
     """
1168
     _description = _("%(value)s%% discount on %(range)s")
1179
     _description = _("%(value)s%% discount on %(range)s")
1169
 
1180
 
1170
-    def __unicode__(self):
1181
+    @property
1182
+    def name(self):
1171
         return self._description % {
1183
         return self._description % {
1172
             'value': self.value,
1184
             'value': self.value,
1173
             'range': self.range.name.lower()}
1185
             'range': self.range.name.lower()}
1214
     """
1226
     """
1215
     _description = _("%(value)s discount on %(range)s")
1227
     _description = _("%(value)s discount on %(range)s")
1216
 
1228
 
1217
-    def __unicode__(self):
1229
+    @property
1230
+    def name(self):
1218
         return self._description % {
1231
         return self._description % {
1219
             'value': currency(self.value),
1232
             'value': currency(self.value),
1220
             'range': self.range.name.lower()}
1233
             'range': self.range.name.lower()}
1358
 class MultibuyDiscountBenefit(Benefit):
1371
 class MultibuyDiscountBenefit(Benefit):
1359
     _description = _("Cheapest product from %(range)s is free")
1372
     _description = _("Cheapest product from %(range)s is free")
1360
 
1373
 
1361
-    def __unicode__(self):
1374
+    @property
1375
+    def name(self):
1362
         return self._description % {
1376
         return self._description % {
1363
             'range': self.range.name.lower()}
1377
             'range': self.range.name.lower()}
1364
 
1378
 

Loading…
Отказ
Запис