Fixed search
This commit is contained in:
parent
b86d4c473c
commit
42d61ecaca
@ -9,8 +9,44 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
# Create your views here.
|
||||
def search(request):
|
||||
rooms = Room.objects.all()
|
||||
return render(request, 'search.jinja', {"title": "rooF(i)S is love rooF(i)S is live!!", "rooms": rooms})
|
||||
if request.method == 'POST':
|
||||
logger.info(request.POST)
|
||||
search_token = request.POST['search']
|
||||
rooms = Room.objects.all()
|
||||
# barrierfree = request.POST.get('barrierfree', 'off')
|
||||
# logger.info(barrierfree)
|
||||
if search_token:
|
||||
rooms = rooms.filter(room_number__contains=search_token)
|
||||
# else:
|
||||
# # barrierfree = request.POST['barrierfree']
|
||||
#
|
||||
# if barrierfree:
|
||||
# # barrierfree = request.POST['barrierfree']
|
||||
# if barrierfree == 'on':
|
||||
# rooms = rooms.filter(barrierfree=True)
|
||||
#
|
||||
# if 'seating' in request.POST:
|
||||
# seating = request.POST['seating']
|
||||
# if seating == 'on':
|
||||
# rooms = rooms.filter(seating=True)
|
||||
#
|
||||
# if 'cooling' in request.POST:
|
||||
# cooling = request.POST['cooling']
|
||||
# if cooling == 'on':
|
||||
# rooms = rooms.filter(cooling=True)
|
||||
#
|
||||
# if 'capatacity' in request.POST:
|
||||
# capatacity = request.POST['capatacity']
|
||||
# if not capatacity == '-1':
|
||||
# rooms = rooms.filter(capacity__gte=capatacity)
|
||||
|
||||
# logger.info(search_token, barrierfree, seating, cooling, capatacity)
|
||||
|
||||
return render(request, 'search.jinja',
|
||||
{"title": "rooF(i)S is love rooF(i)S is live!!", "rooms": rooms, "result_count": rooms.count()})
|
||||
else:
|
||||
rooms = {}
|
||||
return render(request, 'search.jinja', {"title": "rooF(i)S is love rooF(i)S is live!!", "rooms": rooms})
|
||||
|
||||
|
||||
def booking(request):
|
||||
|
||||
@ -7,70 +7,88 @@
|
||||
<p>
|
||||
|
||||
|
||||
<form class="form-inline my-2 my-lg-0">
|
||||
<form class="form-inline my-2 my-lg-0" action="{{ url('roomservice:search') }}" method="POST">
|
||||
<a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" role="button"
|
||||
aria-expanded="false" aria-controls="collapseExample">
|
||||
Filter
|
||||
</a>
|
||||
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
|
||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
<input name="search" class="form-control mr-sm-2" type="search" placeholder="Search"
|
||||
aria-label="Search">
|
||||
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
|
||||
</form>
|
||||
</p>
|
||||
|
||||
<div class="collapse" id="collapseExample" style="max-width: 200px">
|
||||
<form action="{{url('roomservice:filter-search')}}" method="POST" id="FormFilter">
|
||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
<div class="card card-body">
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox" class="form-check-input" id="checkboxbarrierfree">
|
||||
<label class="form-check-label" for="checkbox">barrierfree</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox" class="form-check-input" id="checkbox">
|
||||
<label class="form-check-label" for="checkbox">seating</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox" class="form-check-input" id="checkbox">
|
||||
<label class="form-check-label" for="checkbox">cooling</label>
|
||||
</div>
|
||||
<div class="collapse" id="collapseExample" style="max-width: 200px">
|
||||
<form action="{{ url('roomservice:filter-search') }}" method="POST" id="form">
|
||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
<div class="card card-body">
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox" class="form-check-input" name="barrierfree"
|
||||
id="checkboxbarrierfree">
|
||||
<label class="form-check-label" for="checkbox">barrierfree</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox" class="form-check-input" id="checkbox" name="seating">
|
||||
<label class="form-check-label" for="checkbox">seating</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input type="checkbox" class="form-check-input" id="checkbox" name="cooling">
|
||||
<label class="form-check-label" for="checkbox">cooling</label>
|
||||
</div>
|
||||
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Capacity
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<a class="dropdown-item" href="#">no selection</a>
|
||||
<a class="dropdown-item" href="#">20</a>
|
||||
<a class="dropdown-item" href="#">30</a>
|
||||
<a class="dropdown-item" href="#">60</a>
|
||||
<div class="form-group">
|
||||
<label for="sel1">Select list:</label>
|
||||
<select name="capacity" class="form-control" form="form" id="sel1">
|
||||
<option value="-1">no selection</option>
|
||||
<option value="20">20</option>
|
||||
<option value="30">30</option>
|
||||
<option value="60">60</option>
|
||||
<option value="120">120</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Use filters</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Use filters</button>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col"></div>
|
||||
<div class="col-8">
|
||||
<form action="{{ url("roomservice:booking") }}" method="POST" id="form">
|
||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||
<div class="form-group">
|
||||
<label for="sel1">Select list:</label>
|
||||
<select multiple name="room" class="form-control" form="form" id="sel1">
|
||||
{% for room in rooms %}
|
||||
<option value="{{ room.id }}">{{ room.room_number }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" method="POST" value=" Send" class="btn btn-success" id="submit"> Submit
|
||||
</button>
|
||||
</form>
|
||||
{# <form action="{{ url("roomservice:booking") }}" method="POST" id="form">#}
|
||||
{# <input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">#}
|
||||
{# <div class="form-group">#}
|
||||
{#
|
||||
{# </div>#}
|
||||
{# <button type="submit" method="POST" value=" Send" class="btn btn-success" id="submit"> Submit#}
|
||||
{# </button>#}
|
||||
{# </form>#}
|
||||
</div>
|
||||
<div class="col"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2>Results</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{% for room in rooms %}
|
||||
<div class="col-6">
|
||||
<div class="card" style="width: 18rem;">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Room:{{ room.room_number }}</h5>
|
||||
<h6 class="card-subtitle mb-2 text-muted">Building Name: {{ room.building.name }}</h6>
|
||||
<div class="card-text">
|
||||
<p>Capacity: {{ room.capacity }} Persons</p>
|
||||
<p>Room type: {{ room.room_type.type }}</p></div>
|
||||
<a href="#" class="card-link">Detail</a>
|
||||
<a href="#" class="card-link">Another link</a>
|
||||
</div>
|
||||
</div>
|
||||
<p></p></br>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<p>Results: {{ result_count }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user