Fix a severe bug in VariationField

This commit is contained in:
Raphael Michel
2015-02-18 20:35:24 +01:00
parent 03184bdbf2
commit c5ae503c0e
3 changed files with 7 additions and 7 deletions

View File

@@ -649,12 +649,12 @@ class PropertyValue(Versionable):
if self.prop:
self.prop.event.get_cache().clear()
@property
def sortkey(self):
return self.position, self.pk
def __lt__(self, other):
if self.position < other.position:
return True
if self.position == other.position:
return self.pk < other.pk
return False
return self.sortkey < other.sortkey
class Question(Versionable):

View File

@@ -179,7 +179,7 @@ class VariationsFieldRenderer(forms.widgets.CheckboxFieldRenderer):
def sort(v):
# Given a list of variations, this will sort them by their position
# on the x-axis
return v[prop2.identity].identity
return v[prop2.identity].sortkey
# We now iterate over the cartesian product of all the other
# properties which are NOT on the axes of the grid because we

View File

@@ -765,7 +765,7 @@ class ItemVariations(ItemDetailMixin, EventPermissionRequiredMixin, TemplateView
def sort(v):
# Given a list of variations, this will sort them by their position
# on the x-axis
return v[prop2.identity].identity
return v[prop2.identity].sortkey
# We now iterate over the cartesian product of all the other
# properties which are NOT on the axes of the grid because we