Beispiel #1
0
    def move(self, queryset, direction):
        try:
            if direction in ['left', 'up', 'previous', 'back']:
                swappee, unused = get_previous_and_next(queryset, self)
            elif direction in ['right', 'down', 'next', 'forward']:
                unused, swappee = get_previous_and_next(queryset, self)
            else:
                raise AssertionError(f'Invalid direction: {direction}')
        except self.__class__.DoesNotExist:
            raise IndexError(f'Cannot go {direction} from here')

        if self.order == swappee.order:
            raise ValueError(f'Unable to swap because {self} and {swappee} have same order: {self.order}')

        self.order, swappee.order = swappee.order, self.order
        self.save()
        swappee.save()
Beispiel #2
0
    def move(self, queryset, direction):
        try:
            if direction in ['left', 'up', 'previous', 'back']:
                swappee, unused = get_previous_and_next(queryset, self)
            elif direction in ['right', 'down', 'next', 'forward']:
                unused, swappee = get_previous_and_next(queryset, self)
            else:
                raise AssertionError(f'Invalid direction: {direction}')
        except self.__class__.DoesNotExist:
            raise IndexError(f'Cannot go {direction} from here')

        if self.order == swappee.order:
            raise ValueError(
                f'Unable to swap because {self} and {swappee} have same order: {self.order}'
            )

        self.order, swappee.order = swappee.order, self.order
        self.save()
        swappee.save()
Beispiel #3
0
 def get_previous_and_next_signup(self):
     queryset = self.event.signup_set.order_by('person__surname',
                                               'person__first_name',
                                               'id').all()
     return get_previous_and_next(queryset, self)
Beispiel #4
0
 def get_previous_and_next_signup(self):
     queryset = self.event.signup_set.order_by('person__surname', 'person__first_name', 'id').all()
     return get_previous_and_next(queryset, self)
Beispiel #5
0
 def get_previous_and_next_programme(self):
     queryset = ProgrammeManagementProxy.objects.filter(category__event=self.category.event).order_by('title')
     return get_previous_and_next(queryset, self)
Beispiel #6
0
 def get_previous_and_next_programme(self):
     queryset = ProgrammeManagementProxy.objects.filter(category__event=self.category.event).order_by('title')
     return get_previous_and_next(queryset, self)