Commit 8e866a62 authored by ASHISH KUMAR GOYAL's avatar ASHISH KUMAR GOYAL

Define User Groups

parent 61ee02cf
......@@ -4,6 +4,10 @@ superuser credentials:
username- sysad
password- messadmin
Mess manager credentials:
username- h4_manager
password- messofh4
--STUDENT---
viewreq.html = view status of requests made by students (rebates request table to be added) also the homepage for students
......
No preview for this file type
......@@ -11,7 +11,7 @@ https://docs.djangoproject.com/en/2.2/ref/settings/
"""
import os
# from django_auth_ldap.config import LDAPSearch
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
......@@ -127,6 +127,7 @@ STATIC_ROOT = os.path.join(BASE_DIR,'static')
LOGIN_URL = '/user/login/'
LOGIN_REDIRECT_URL = '/user/'
# AUTHENTICATION_BACKENDS = ["django_auth_ldap.backend.LDAPBackend"]
# AUTH_LDAP_SERVER_URI = "ldap://ldap.iitb.ac.in"
# AUTH_LDAP_ALWAYS_UPDATE_USER = False
......
......@@ -44,7 +44,7 @@
</div>
<form class="user" action="{% url 'login' %}" method="POST">
{% csrf_token %}
<input type="hidden" name="next" value="{{ request.GET.next }}" />
<input type="hidden" id="next" name="next" value="{{ request.GET.next }}" />
<div class="form-group text-danger font-weight-bold">
<label id='error_msg'>{{ error_msg }}</label>
</div>
......
......@@ -7,9 +7,12 @@ from django.views.generic import RedirectView
urlpatterns = [
path('', RedirectView.as_view(url='login/'), name='base'),
path('homepage/', views.homepage_view, name='homepage'),
path('login/', views.login_view, name='login'),
path('logout/', views.logout_view, name='logout'),
path('homepage/', views.homepage_view, name='homepage'),
path('student/', views.student_homepage_view, name='student-homepage'),
path('manager/', views.manager_homepage_view, name='manager-homepage'),
path('worker/', views.worker_homepage_view, name='worker-homepage'),
## student functions below:
path('rebate/',views.rebate),
......
from django.contrib.auth.models import User, Group
from django.shortcuts import redirect
def is_manager(user):
return user.groups.filter(name='manager').exists()
def is_worker(user):
return user.groups.filter(name='worker').exists()
def is_student(user):
return user.groups.filter(name='student').exists()
def homepage_redirect(request):
user=request.user
if is_manager(user):
return redirect('manager-homepage')
elif is_worker(user):
return redirect('worker-homepage')
else: #is_student(user):
return redirect('student-homepage')
\ No newline at end of file
......@@ -3,12 +3,13 @@ from django.http import HttpResponse, HttpRequest
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from usermgmt.utils import *
# Create your views here.
@login_required
def homepage_view(request):
#get the user object and send in context
return render(request, 'viewreq.html', context=None)
return homepage_redirect(request)
def login_view(request):
"""View function for login page of site"""
......@@ -25,10 +26,14 @@ def login_view(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
valuenext= request.POST.get('next')
if user is not None:
login(request, user)
return redirect(request.POST.get('next','homepage'))
if valuenext=="":
return redirect('homepage')
else:
return redirect(valuenext)
else:
return render(request, 'login.html', context={'error_msg':'Invalid Username/Password.'})
# return render(request, 'viewreq.html', context=None)
......@@ -40,6 +45,15 @@ def logout_view(request):
else:
return redirect('base')
def student_homepage_view(request):
return render(request, 'viewreq.html', context=None)
def manager_homepage_view(request):
return render(request, 'viewreq.html', context=None)
def worker_homepage_view(request):
return render(request, 'viewreq.html', context=None)
def rebate(request):
return render(request, 'rebates.html')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment