Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 133 additions & 0 deletions FusionIIIT/Fusion/settings/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
from Fusion.settings.common import *

DEBUG = False
TEMPLATE_DEBUG = False
SECRET_KEY = 'test-secret-key'

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django.contrib.humanize',
'django_crontab',
'corsheaders',
'applications.eis',
'notification',
'applications.academic_procedures',
'applications.examination',
'applications.academic_information',
'applications.leave',
'applications.library',
'applications.notifications_extension',
'applications.gymkhana',
'applications.office_module',
'applications.globals',
'applications.central_mess',
'applications.complaint_system',
'applications.filetracking',
'applications.finance_accounts',
'applications.health_center',
'applications.online_cms',
'applications.ps1',
'applications.programme_curriculum',
'applications.placement_cell',
'applications.otheracademic',
'applications.recruitment',
'applications.scholarships',
'applications.visitor_hostel',
'applications.establishment',
'applications.estate_module',
'applications.counselling_cell',
'applications.hostel_management',
'applications.research_procedures',
'applications.income_expenditure',
'applications.hr2',
'applications.department',
'applications.iwdModuleV2',
'allauth',
'allauth.account',
'allauth.socialaccount',
'semanticuiforms',
'applications.feeds.apps.FeedsConfig',
'pagedown',
'markdown_deux',
'django_cleanup.apps.CleanupConfig',
'django_unused_media',
'rest_framework',
'rest_framework.authtoken',
]

MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'allauth.account.middleware.AccountMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'test_db.sqlite3'),
}
}

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}

PASSWORD_HASHERS = [
'django.contrib.auth.hashers.MD5PasswordHasher',
]

MIGRATION_MODULES = {
'academic_information': None,
'academic_procedures': None,
'central_mess': None,
'complaint_system': None,
'counselling_cell': None,
'department': None,
'eis': None,
'establishment': None,
'estate_module': None,
'examination': None,
'filetracking': None,
'finance_accounts': None,
'globals': None,
'gymkhana': None,
'health_center': None,
'hostel_management': None,
'hr2': None,
'income_expenditure': None,
'iwdModuleV2': None,
'leave': None,
'library': None,
'notification': None,
'notifications_extension': None,
'office_module': None,
'online_cms': None,
'otheracademic': None,
'placement_cell': None,
'programme_curriculum': None,
'placement_cell': None,
'ps1': None,
'recruitment': None,
'research_procedures': None,
'scholarships': None,
'feeds': None,
'visitor_hostel': None,
}
160 changes: 78 additions & 82 deletions FusionIIIT/Fusion/urls.py
Original file line number Diff line number Diff line change
@@ -1,97 +1,93 @@
"""Fusion URL Configuration
"""Fusion URL Configuration."""

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""

import notifications.urls
import debug_toolbar
from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls import include
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.auth import views as auth_views
from django.urls import path
from django.urls import path, re_path

IS_TEST_SETTINGS = getattr(settings, 'SETTINGS_MODULE', '').endswith('.test')

if not IS_TEST_SETTINGS:
import debug_toolbar

from applications.globals.views import RateLimitedPasswordResetView
from applications.globals.views import RateLimitedPasswordResetView


urlpatterns = [
url(r'^', include('applications.globals.urls')),
url(r'^feeds/', include('applications.feeds.urls')),
url(r'^admin/', admin.site.urls),
url(r'^academic-procedures/', include('applications.academic_procedures.urls')),
url(r'^aims/', include('applications.academic_information.urls')),
url(r'^notifications/', include('applications.notifications_extension.urls')),
url(r'^estate/', include('applications.estate_module.urls')),
url(r'^dep/', include('applications.department.urls')),
url(r'^programme_curriculum/',include('applications.programme_curriculum.urls')),
url(r'^iwdModuleV2/', include('applications.iwdModuleV2.urls')),
url(r'^__debug__/', include(debug_toolbar.urls)),
url(r'^research_procedures/', include('applications.research_procedures.urls')),
url(r'^accounts/', include('allauth.urls')),
if IS_TEST_SETTINGS:
urlpatterns = [
re_path(r'^admin/', admin.site.urls),
re_path(r'^', include(('applications.globals.test_urls', 'globals'), namespace='globals')),
re_path(r'^healthcenter/', include('applications.health_center.urls')),
]
else:
urlpatterns = [
re_path(r'^', include('applications.globals.urls')),
re_path(r'^feeds/', include('applications.feeds.urls')),
re_path(r'^admin/', admin.site.urls),
re_path(r'^academic-procedures/', include('applications.academic_procedures.urls')),
re_path(r'^aims/', include('applications.academic_information.urls')),
re_path(r'^notifications/', include('applications.notifications_extension.urls')),
re_path(r'^estate/', include('applications.estate_module.urls')),
re_path(r'^dep/', include('applications.department.urls')),
re_path(r'^programme_curriculum/',include('applications.programme_curriculum.urls')),
re_path(r'^iwdModuleV2/', include('applications.iwdModuleV2.urls')),
re_path(r'^__debug__/', include(debug_toolbar.urls)),
re_path(r'^research_procedures/', include('applications.research_procedures.urls')),
re_path(r'^accounts/', include('allauth.urls')),


url(r'^eis/', include('applications.eis.urls')),
url(r'^mess/', include('applications.central_mess.urls')),
url(r'^complaint/', include('applications.complaint_system.urls')),
url(r'^healthcenter/', include('applications.health_center.urls')),
url(r'^leave/', include('applications.leave.urls')),
url(r'^placement/', include('applications.placement_cell.urls')),
url(r'^filetracking/', include('applications.filetracking.urls')),
url(r'^spacs/', include('applications.scholarships.urls')),
url(r'^visitorhostel/', include('applications.visitor_hostel.urls')),
url(r'^office/', include('applications.office_module.urls')),
url(r'^finance/', include('applications.finance_accounts.urls')),
url(r'^purchase-and-store/', include('applications.ps1.urls')),
url(r'^gymkhana/', include('applications.gymkhana.urls')),
url(r'^library/', include('applications.library.urls')),
url(r'^establishment/', include('applications.establishment.urls')),
url(r'^ocms/', include('applications.online_cms.urls')),
url(r'^counselling/', include('applications.counselling_cell.urls')),
url(r'^hostelmanagement/', include('applications.hostel_management.urls')),
url(r'^income-expenditure/', include('applications.income_expenditure.urls')),
url(r'^hr2/', include('applications.hr2.urls')),
url(r'^recruitment/', include('applications.recruitment.urls')),
url(r'^examination/', include('applications.examination.urls')),
url(r'^otheracademic/', include('applications.otheracademic.urls')),
re_path(r'^eis/', include('applications.eis.urls')),
re_path(r'^mess/', include('applications.central_mess.urls')),
re_path(r'^complaint/', include('applications.complaint_system.urls')),
re_path(r'^healthcenter/', include('applications.health_center.urls')),
re_path(r'^leave/', include('applications.leave.urls')),
re_path(r'^placement/', include('applications.placement_cell.urls')),
re_path(r'^filetracking/', include('applications.filetracking.urls')),
re_path(r'^spacs/', include('applications.scholarships.urls')),
re_path(r'^visitorhostel/', include('applications.visitor_hostel.urls')),
re_path(r'^office/', include('applications.office_module.urls')),
re_path(r'^finance/', include('applications.finance_accounts.urls')),
re_path(r'^purchase-and-store/', include('applications.ps1.urls')),
re_path(r'^gymkhana/', include('applications.gymkhana.urls')),
re_path(r'^library/', include('applications.library.urls')),
re_path(r'^establishment/', include('applications.establishment.urls')),
re_path(r'^ocms/', include('applications.online_cms.urls')),
re_path(r'^counselling/', include('applications.counselling_cell.urls')),
re_path(r'^hostelmanagement/', include('applications.hostel_management.urls')),
re_path(r'^income-expenditure/', include('applications.income_expenditure.urls')),
re_path(r'^hr2/', include('applications.hr2.urls')),
re_path(r'^recruitment/', include('applications.recruitment.urls')),
re_path(r'^examination/', include('applications.examination.urls')),
re_path(r'^otheracademic/', include('applications.otheracademic.urls')),

path(
'password-reset/',
RateLimitedPasswordResetView.as_view(
template_name='registration/password_reset_form.html',
path(
'password-reset/',
RateLimitedPasswordResetView.as_view(
template_name='registration/password_reset_form.html',
),
name='reset_password',
),
name='reset_password',
),
path(
'password-reset/done/',
auth_views.PasswordResetDoneView.as_view(
template_name='registration/password_reset_done.html'
path(
'password-reset/done/',
auth_views.PasswordResetDoneView.as_view(
template_name='registration/password_reset_done.html'
),
name='password_reset_done',
),
name='password_reset_done',
),
path(
'reset/<uidb64>/<token>/',
auth_views.PasswordResetConfirmView.as_view(
template_name='registration/password_reset_confirm.html',
path(
'reset/<uidb64>/<token>/',
auth_views.PasswordResetConfirmView.as_view(
template_name='registration/password_reset_confirm.html',
),
name='password_reset_confirm',
),
name='password_reset_confirm',
),
path(
'reset/done/',
auth_views.PasswordResetCompleteView.as_view(
template_name='registration/password_reset_complete.html'
path(
'reset/done/',
auth_views.PasswordResetCompleteView.as_view(
template_name='registration/password_reset_complete.html'
),
name='password_reset_complete',
),
name='password_reset_complete',
),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
28 changes: 14 additions & 14 deletions FusionIIIT/applications/globals/api/urls.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
from django.conf.urls import url
from django.urls import re_path

from . import views

urlpatterns = [
url(r'^auth/login/', views.login, name='login-api'),
url(r'^auth/logout/', views.logout, name='logout-api'),
url(r'^auth/me', views.auth_view, name='auth-api'),
url(r'^update-role/', views.update_last_selected_role, name='update_last_selected_role'),
re_path(r'^auth/login/', views.login, name='login-api'),
re_path(r'^auth/logout/', views.logout, name='logout-api'),
re_path(r'^auth/me', views.auth_view, name='auth-api'),
re_path(r'^update-role/', views.update_last_selected_role, name='update_last_selected_role'),

# Profile endpoints
url(r'^profile/(?P<username>.+)/', views.profile, name='profile-api'),
url(r'^profile/', views.profile, name='profile-api'),
url(r'^profile_update/', views.profile_update, name='update-profile-api'),
url(r'^profile_delete/(?P<id>[0-9]+)/', views.profile_delete, name='delete-profile-api'),
re_path(r'^profile/(?P<username>.+)/', views.profile, name='profile-api'),
re_path(r'^profile/', views.profile, name='profile-api'),
re_path(r'^profile_update/', views.profile_update, name='update-profile-api'),
re_path(r'^profile_delete/(?P<id>[0-9]+)/', views.profile_delete, name='delete-profile-api'),

# Notification endpoints
url(r'^notification/',views.notification,name='notification'),
url(r'^notificationread',views.NotificationRead,name='notifications-read'),
url(r'^notificationdelete',views.delete_notification,name='notifications-delete'),
url(r'^notificationunread',views.NotificationUnread,name='notifications-unread'),
re_path(r'^notification/',views.notification,name='notification'),
re_path(r'^notificationread',views.NotificationRead,name='notifications-read'),
re_path(r'^notificationdelete',views.delete_notification,name='notifications-delete'),
re_path(r'^notificationunread',views.NotificationUnread,name='notifications-unread'),

# Course management proxy
url(r'^admin_delete_course/(?P<course_id>\d+)/', views.admin_delete_course_proxy, name='admin_delete_course_proxy')
re_path(r'^admin_delete_course/(?P<course_id>\d+)/', views.admin_delete_course_proxy, name='admin_delete_course_proxy')
]
21 changes: 21 additions & 0 deletions FusionIIIT/applications/globals/test_urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from django.http import HttpResponse
from django.urls import re_path

app_name = 'globals'


def _ok(_request):
return HttpResponse('ok')


urlpatterns = [
re_path(r'^$', _ok, name='index'),
re_path(r'^dashboard/$', _ok, name='dashboard'),
re_path(r'^about/$', _ok, name='about'),
re_path(r'^profile/$', _ok, name='profile'),
re_path(r'^profile/(?P<username>.+)/$', _ok, name='profile'),
re_path(r'^search/$', _ok, name='search'),
re_path(r'^feedback/$', _ok, name='feedback'),
re_path(r'^issue/$', _ok, name='issue'),
re_path(r'^logout/$', _ok, name='logout_view'),
]
Loading
Loading