def get_principal(request): controller = ParentController() try: user = eval(request.session.get('user')) service = PrincipalService() #print(user, "User Email: ", user.get("mail")) result = service.get_principal(email=user.get('mail')) except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def list_components(request): # TO-DO check if this user has a valid session controller = BillController() try: service = ComposantService() result = service.list(request.POST) except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def list_reports(request): # TO-DO check if this user has a valid session controller = ParentController() try: service = ReportService result = service.list(request.POST) except Exception as e: print(e) result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def userLoggedOn(request): #TO-DO check if this user has a valid session controller = SystemUserController() try: service = SystemUserService() user = service.userLoggedOn(request.session, request.POST) result = {'success': True, 'data' : user} except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def list_principals(request): # TO-DO check if this user has a valid session controller = SystemUserController() try: service = PrincipalService() result = service.list(request.POST) except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def savePrincipal(request): # TO-DO check if this user has a valid session controller = SystemUserController() try: service = PrincipalService() service.save_principal(request.POST) result = {'success': True, 'message': 'Principal details successfully saved. You can now view it.'} except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def user_logout(request): if request.session.get('user', 0): del request.session['user'] audit = LoginAudit.objects.get( pk=request.session.get('login_audit_id')) audit.logout_date = datetime.now() audit.save() resultmessage = 'You have successfully logged out.' return HttpResponse(json_encode({ 'success': True, 'message': resultmessage, 'data': {} }), content_type="application/json") return HttpResponse(json_encode({ 'success': False, 'message': "Logout failed, try again.", 'data': {} }), content_type="application/json")
def listExport(request): # TO-DO check if this user has a valid session controller = ParentController() try: service = ReportService headers, records = service.listExport(request.GET) return ExportUtil.export(headers, records, request.GET['exportType']) except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def saveUser(request): #TO-DO check if this user has a valid session controller = SystemUserController() try: service = SystemUserService() service.save(request.POST) result = {'success': True, 'message' : 'User details successfully updated. You can now login into the platform.'} except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def passwordChange(request): #TO-DO check if this user has a valid session controller = SystemUserController() try: service = SystemUserService() service.passwordChange(request.POST) result = {'success': True, 'message' : 'You have changed your password successfully.'} except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def passwordForget(request): #TO-DO check if this user has a valid session controller = SystemUserController() try: service = SystemUserService() service.passwordForget(request.POST) result = {'success': True, 'message' : 'The password reset instructions have been sent to your email address.'} except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def saveRepas(request): # TO-DO check if this user has a valid session controller = BillController() try: service = RepasService() service.register_repas(request.POST) result = { 'success': True, 'message': 'Repas details successfully saved. You can now view it.' } except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def saveDailyChildReport(request): # TO-DO check if this user has a valid session controller = ParentController() try: service = ReportService() service.save_parent_child(request.POST) result = { 'success': True, 'message': 'Parent and Child details successfully saved. You can now view it.' } except Exception as e: result = controller.handleException(e) return HttpResponse(json_encode(result), content_type="application/json")
def authenticate(request): controller = LoginController() auth = False resultmessage = '' data = {} print("REQUEST DATA : \n", request, "\n") if request.POST: # get the user name and the pwd for the authentication operation email = request.POST.get('user', '') password = request.POST.get('pass', '') if (email and password): #get model and check for this user try: user = None try: user = WebUsers.objects.get( name=email) #get the account using the username except WebUsers.DoesNotExist: #no user with such username, now lets try the email users = WebUsers.objects.filter( mail=email) #get the account using the email if users: user = users[0] else: raise WebUsers.DoesNotExist d = PasswordHasher() if not d.user_check_password(password, user): raise WebUsers.DoesNotExist #now check if they are allowed to use admin user_detail = WebUserDetail.objects.get(user_id=user.uid) if 0 == user_detail.can_use_admin and UserModule.objects.filter( system_user=user).count() <= 0: resultmessage = 'Sorry, your profile does not have the appropriate privileges to use admin.' #check the status of the user else: if not user.status: resultmessage = 'Your account has been deactivated. Please contact the adminstrator to get your account reactivated.' else: #after successfully loggin in, go ahead to audit this client_ip = request.META.get( 'HTTP_X_FORWARDED_FOR', '') or request.META.get('REMOTE_ADDR') audit = LoginAudit(created_by_id=user.uid, date_created=datetime.now(), ip_address=client_ip) audit.save() request.session['login_audit_id'] = audit.id request.session['user'] = json_encode(user) request.session['user_detail'] = json_encode( user_detail.user_id) request.session['full_name'] = user_detail.full_name #data.update({'user': request.session['user']}) data.update( {'user_detail': request.session['user_detail']}) #parameters for json response resultmessage = 'Login successfull.' auth = True #decode which modules this user is allowed to view cursor = connection.cursor() cursor.execute( "SELECT module_id FROM user_module_perm WHERE system_user_id = " + str(user.uid)) modules = cursor.fetchall() allowed_modules = [] for module_id in modules: module = Module.objects.get(id=module_id[0]) allowed_modules.append( json_encode({ "text": module.display_name, "handler": module.handler, "icon": module.icon_file, "desc": module.description, })) request.session['allowed_modules'] = allowed_modules except WebUsers.DoesNotExist: #print connection.queries #no user with such credentials resultmessage = 'The username and password combination you entered is invalid.' except Exception as e: jsonObj = controller.handleException(e) resultmessage = jsonObj['message'] else: resultmessage = 'Username and password are required.' print("Data: ", data, "\nSuccess: ", auth, "\nMessage: ", resultmessage) return HttpResponse(json_encode({ 'success': auth, 'message': resultmessage, 'data': data }), content_type="application/json")