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

Define User Groups

parent 61ee02cf
...@@ -4,6 +4,10 @@ superuser credentials: ...@@ -4,6 +4,10 @@ superuser credentials:
username- sysad username- sysad
password- messadmin password- messadmin
Mess manager credentials:
username- h4_manager
password- messofh4
--STUDENT--- --STUDENT---
viewreq.html = view status of requests made by students (rebates request table to be added) also the homepage for students 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/ ...@@ -11,7 +11,7 @@ https://docs.djangoproject.com/en/2.2/ref/settings/
""" """
import os import os
# from django_auth_ldap.config import LDAPSearch
# Build paths inside the project like this: os.path.join(BASE_DIR, ...) # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...@@ -127,6 +127,7 @@ STATIC_ROOT = os.path.join(BASE_DIR,'static') ...@@ -127,6 +127,7 @@ STATIC_ROOT = os.path.join(BASE_DIR,'static')
LOGIN_URL = '/user/login/' LOGIN_URL = '/user/login/'
LOGIN_REDIRECT_URL = '/user/' LOGIN_REDIRECT_URL = '/user/'
# AUTHENTICATION_BACKENDS = ["django_auth_ldap.backend.LDAPBackend"] # AUTHENTICATION_BACKENDS = ["django_auth_ldap.backend.LDAPBackend"]
# AUTH_LDAP_SERVER_URI = "ldap://ldap.iitb.ac.in" # AUTH_LDAP_SERVER_URI = "ldap://ldap.iitb.ac.in"
# AUTH_LDAP_ALWAYS_UPDATE_USER = False # AUTH_LDAP_ALWAYS_UPDATE_USER = False
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</div> </div>
<form class="user" action="{% url 'login' %}" method="POST"> <form class="user" action="{% url 'login' %}" method="POST">
{% csrf_token %} {% 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"> <div class="form-group text-danger font-weight-bold">
<label id='error_msg'>{{ error_msg }}</label> <label id='error_msg'>{{ error_msg }}</label>
</div> </div>
......
...@@ -7,9 +7,12 @@ from django.views.generic import RedirectView ...@@ -7,9 +7,12 @@ from django.views.generic import RedirectView
urlpatterns = [ urlpatterns = [
path('', RedirectView.as_view(url='login/'), name='base'), path('', RedirectView.as_view(url='login/'), name='base'),
path('homepage/', views.homepage_view, name='homepage'),
path('login/', views.login_view, name='login'), path('login/', views.login_view, name='login'),
path('logout/', views.logout_view, name='logout'), 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: ## student functions below:
path('rebate/',views.rebate), 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 ...@@ -3,12 +3,13 @@ from django.http import HttpResponse, HttpRequest
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from usermgmt.utils import *
# Create your views here. # Create your views here.
@login_required @login_required
def homepage_view(request): def homepage_view(request):
#get the user object and send in context #get the user object and send in context
return render(request, 'viewreq.html', context=None) return homepage_redirect(request)
def login_view(request): def login_view(request):
"""View function for login page of site""" """View function for login page of site"""
...@@ -25,10 +26,14 @@ def login_view(request): ...@@ -25,10 +26,14 @@ def login_view(request):
username = request.POST['username'] username = request.POST['username']
password = request.POST['password'] password = request.POST['password']
user = authenticate(request, username=username, password=password) user = authenticate(request, username=username, password=password)
valuenext= request.POST.get('next')
if user is not None: if user is not None:
login(request, user) login(request, user)
return redirect(request.POST.get('next','homepage')) if valuenext=="":
return redirect('homepage')
else:
return redirect(valuenext)
else: else:
return render(request, 'login.html', context={'error_msg':'Invalid Username/Password.'}) return render(request, 'login.html', context={'error_msg':'Invalid Username/Password.'})
# return render(request, 'viewreq.html', context=None) # return render(request, 'viewreq.html', context=None)
...@@ -40,6 +45,15 @@ def logout_view(request): ...@@ -40,6 +45,15 @@ def logout_view(request):
else: else:
return redirect('base') 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): def rebate(request):
return render(request, 'rebates.html') 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