5 from django.core.exceptions
import ValidationError
6 from django.shortcuts
import render, redirect
7 from django.http.response
import HttpResponseRedirect
8 from django.http
import HttpResponse, response
9 from django.contrib.auth
import default_app_config, login, authenticate
14 from .forms
import CreateNewUser
15 from .models
import Student
16 from .updateDB
import new_user_firstContact
17 from .timely_update
import update_database_daily
18 from .timely_update
import send_update_to_students
19 from twilio.twiml.messaging_response
import MessagingResponse
20 from .utils
import fetch_reply
21 from django.views.decorators.csrf
import csrf_exempt
22 from .clockinterval
import sendupdates
32 return render(response,
"main/base.html",{})
37 def updater(response):
39 return render(response,
"main/base.html",{})
45 return render(response,
"main/home.html",{})
51 def success(response):
52 return render(response,
"main/success.html", {})
57 def sms_reply(request):
58 """Respond to incoming calls with a simple text message."""
60 if request.method ==
"POST":
62 message = request.POST[
'Body']
63 phone_no=request.POST[
'From']
66 phone_no = phone_no[-10:]
67 if Student.objects.filter(phone_number = phone_no).exists():
68 reply=fetch_reply(message,phone_no)
69 resp = MessagingResponse()
72 return HttpResponse(resp)
74 resp = MessagingResponse()
75 resp.message(
"You are not registered!!")
76 return HttpResponse(resp)
78 resp = MessagingResponse()
79 resp.message(
"Phone Number Not found!!")
80 return HttpResponse(resp)
85 def register(response):
86 if response.method ==
"POST":
87 form = CreateNewUser(response.POST)
89 fn = form.cleaned_data[
"fname"]
90 pnumb = form.cleaned_data[
"phone_number"]
91 rnumb = form.cleaned_data[
"roll_number"]
92 token = form.cleaned_data[
"moodle_token"]
94 '''Other Functions are called from here
95 to update the database table Student entries'''
97 course_taken,updater, update_subs = new_user_firstContact(token)
98 course_taken =
','.join(course_taken)
99 update_subs =
','.join(update_subs)
106 t = Student(fname=fn, phone_number=pnumb, roll_number=rnumb, moodle_token=token,user_type = user,courses=course_taken,update_courses= update_subs)
110 return redirect(
"/success")
112 form = CreateNewUser()
114 return render(response,
"main/register.html", {
"form":form})