diff --git a/biscuit/core/templates/core/person_card.html b/biscuit/core/templates/core/person_card.html new file mode 100644 index 0000000000000000000000000000000000000000..4bb5200155d63a87b68baae992fb1fd486c3f571 --- /dev/null +++ b/biscuit/core/templates/core/person_card.html @@ -0,0 +1,19 @@ +{% load staticfiles %} +<div class="card mb-3"> + <div class="row no-gutters"> + <div class="col-md-4"> + {% if person.photo %} + <img class="person-img" src="{{ person.photo.url }}" alt="{{ person.first_name }} {{ person.last_name }}" /> + {% else %} + <img class="person-img" src="{% static 'img/fallback.png' %}" alt="{{ person.first_name }} {{ person.last_name }}" /> + {% endif %} + </div> + <div class="col-md-8"> + <h3 class="card-header">{{ person.first_name }} {{ person.last_name }}</h3> + <div class="card-body"> + <h5 class="card-text">!Group</h5> + <p class="card-text">{{ person.date_of_birth|date }}</p> + </div> + </div> + </div> +</div> diff --git a/biscuit/core/urls.py b/biscuit/core/urls.py index 781d9f223d413d394342370843f3dd084fb1a361..2676f577856fd929deac7f276cfad8e081bb4d69 100644 --- a/biscuit/core/urls.py +++ b/biscuit/core/urls.py @@ -12,6 +12,7 @@ urlpatterns = [ path('persons', views.persons, name='persons'), path('person', views.person, name='person'), path('person/<int:id_>', views.person, name='person_by_id'), + path('person_card/<int:id_>', views.person_card, name='person_card_by_id'), path('', views.index, name='index'), ] diff --git a/biscuit/core/views.py b/biscuit/core/views.py index dc415e138b1219ea3a08537b0706fc4db902a8fb..bf85ef51b6c0042c04b869ce201d74b8ba6f9385 100644 --- a/biscuit/core/views.py +++ b/biscuit/core/views.py @@ -7,10 +7,12 @@ from django.urls import reverse from .models import Person from .tables import PersonsTable + def index(request): context = {} return render(request, 'core/index.html', context) + @login_required def persons(request): context = {} @@ -25,7 +27,27 @@ def persons(request): return render(request, 'core/persons.html', context) + @login_required +def person_card(request, id_): + context = {} + + # Raise Http404 if now id is given + if id is None: + raise Http404 + + # Get person and check access + try: + person = Person.objects.get(pk=id_) + except Person.DoesNotExist as e: + # Turn not-found object into a 404 error + raise Http404 from e + + context['person'] = person + + return render(request, 'core/person_card.html', context) + + def person(request, id_): context = {}