main
Malte Kerl 1 year ago
parent c8dd8ef4fc
commit 175e13da4f
Signed by: malte
GPG Key ID: EF4BC804CE1AB1D5

@ -0,0 +1,57 @@
<!-- abac/templates/base.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}Privacy Preserving ABAC{% endblock %}</title>
<!-- Bootstrap CSS -->
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="d-flex flex-column min-vh-100">
<header>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="{% url 'home' %}">Privacy Preserving ABAC</a>
<span class="navbar-text ml-auto">
{% if user.is_authenticated %}
{{ user.username }}
<a class="btn btn-outline-light ml-3" href="{% url 'logout' %}">Logout</a>
{% else %}
<a class="btn btn-outline-light" href="{% url 'login' %}">Login</a>
{% endif %}
</span>
</nav>
{% if user.is_authenticated %}
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<button class="btn btn-primary">Upload File</button>
{% if perms.abac.can_create_users %}
<button class="btn btn-primary ml-2">Create User</button>
{% endif %}
<span class="ml-auto">
<button class="btn btn-primary">Upload Certificate</button>
</span>
</nav>
{% endif %}
</header>
<main class="flex-shrink-0">
<div class="container mt-4">
{% block content %}{% endblock %}
</div>
</main>
<footer class="footer mt-auto py-3 bg-dark text-white">
<div class="container text-center">
<span>© 2023 Privacy Preserving ABAC</span>
</div>
</footer>
<!-- Bootstrap JS, Popper.js, and jQuery -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</body>
</html>

@ -0,0 +1,14 @@
{% extends 'base.html' %}
{% block title %}Landing Page{% endblock %}
{% block content %}
<h2>All Files</h2>
<ul>
{% for file in files %}
<li>{{ file.name }}</li>
{% empty %}
<li>No files have been uploaded yet.</li>
{% endfor %}
</ul>
{% endblock %}

@ -0,0 +1,12 @@
{% extends 'base.html' %}
{% block title %}Login{% endblock %}
{% block content %}
<h2>Login</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Login</button>
</form>
{% endblock %}

@ -0,0 +1,11 @@
# abac/urls.py
from django.contrib.auth import views as auth_views
from django.urls import path
from .views import landing_page
urlpatterns = [
path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'),
path('', landing_page, name='home'),
]

@ -3,7 +3,8 @@ from django.http.response import HttpResponseNotAllowed
from django.contrib.auth.decorators import permission_required
from django.http import HttpResponse
# Create your views here.
from .models import File
def create_user(request):
special_user = request.user
if special_user.has_perm('abac.can_create_users'):
@ -16,3 +17,8 @@ def create_user(request):
def create_user_view(request):
# Your view logic here
return HttpResponse('New user created')
def landing_page(request):
files = File.objects.all()
return render(request, 'landing_page.html', {'files': files})

@ -123,3 +123,6 @@ STATIC_URL = 'static/'
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'

@ -15,8 +15,9 @@ Including another URLconf
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('abac/', include('abac.urls')),
]

Loading…
Cancel
Save