# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.shortcuts import redirect from loginSystem.views import loadLoginPage from databaseManager import DatabaseManager from pluginManager import pluginManager import json # Create your views here. def loadDatabaseHome(request): try: userID = request.session['userID'] dm = DatabaseManager() return dm.loadDatabaseHome(request, userID) except KeyError: return redirect(loadLoginPage) def createDatabase(request): try: result = pluginManager.preCreateDatabase(request) if result != 200: return result userID = request.session['userID'] dm = DatabaseManager() coreResult = dm.createDatabase(request, userID) result = pluginManager.postCreateDatabase(request, coreResult) if result != 200: return result return coreResult except KeyError: return redirect(loadLoginPage) def submitDBCreation(request): try: userID = request.session['userID'] result = pluginManager.preSubmitDBCreation(request) if result != 200: return result dm = DatabaseManager() coreResult = dm.submitDBCreation(userID, request.data) result = pluginManager.postSubmitDBCreation(request, coreResult) if result != 200: return result return coreResult except KeyError: return redirect(loadLoginPage) def deleteDatabase(request): try: userID = request.session['userID'] dm = DatabaseManager() return dm.deleteDatabase(request, userID) except KeyError: return redirect(loadLoginPage) def fetchDatabases(request): try: userID = request.session['userID'] dm = DatabaseManager() return dm.fetchDatabases(userID, json.loads(request.body)) except KeyError: return redirect(loadLoginPage) def submitDatabaseDeletion(request): try: userID = request.session['userID'] result = pluginManager.preSubmitDatabaseDeletion(request) if result != 200: return result dm = DatabaseManager() coreResult = dm.submitDatabaseDeletion(userID, json.loads(request.body)) result = pluginManager.postSubmitDatabaseDeletion(request, coreResult) if result != 200: return result return coreResult except KeyError: return redirect(loadLoginPage) def listDBs(request): try: userID = request.session['userID'] dm = DatabaseManager() return dm.listDBs(request, userID) except KeyError: return redirect(loadLoginPage) def changePassword(request): try: userID = request.session['userID'] result = pluginManager.preChangePassword(request) if result != 200: return result dm = DatabaseManager() coreResult = dm.changePassword(userID, json.loads(request.body)) result = pluginManager.postChangePassword(request, coreResult) if result != 200: return result return coreResult except KeyError: return redirect(loadLoginPage)