Exemplo n.º 1
0
Arquivo: views.py Projeto: mbad/kitabu
def availability(request, pool_id):
    pool = get_object_or_404(Pool, pk=pool_id)

    form = ClusterSearchForm(request.GET or None)

    searcher = SubjectSearcher(Lane, pool.lanes)

    available_lanes = searcher.search(**form.cleaned_data) if form.is_valid() else []

    return render(
        request,
        'pools/availability.html',
        {
            'pool': pool,
            'form': form,
            'available_lanes': available_lanes
        }
    )
Exemplo n.º 2
0
    def test_find_subject_when_no_reservations_conflicting(self):
        RoomReservation.objects.create(
            subject=self.room1,
            size=1,
            start=datetime(2001, 1, 1),
            end=datetime(2001, 1, 8)
        )
        start = datetime(2000, 01, 01)
        end = datetime(2000, 01, 31)

        data = {
            'start': start,
            'end': end,
            'required_size': 1,
        }

        searcher = SubjectsSearcher(Room)

        self.assertEqual(1, len(searcher.search(**data)))
Exemplo n.º 3
0
        }

        searcher = SubjectsSearcher(Room)

        self.assertEqual(1, len(searcher.search(**data)))

    def test_find_subject_when_no_reservations_at_all(self):
        RoomReservation.objects.all().delete()

        data = {
            'start': datetime(2000, 01, 01),
            'end': datetime(2000, 01, 31),
            'required_size': 1,
        }

        searcher = SubjectsSearcher(Room)

        self.assertEqual(1, len(searcher.search(**data)))

    def test_find_subject_when_no_reservations_at_all_and_not_enough_size(self):
        RoomReservation.objects.all().delete()

        data = {
            'start': datetime(2000, 01, 01),
            'end': datetime(2000, 01, 31),
            'required_size': 2,
        }

        searcher = SubjectsSearcher(Room)

        self.assertEqual(0, len(searcher.search(**data)))