summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--workshop_app/models.py2
-rw-r--r--workshop_app/send_mails.py99
-rw-r--r--workshop_app/templates/workshop_app/base.html4
-rw-r--r--workshop_app/templates/workshop_app/booking.html34
-rw-r--r--workshop_app/templates/workshop_app/create_workshop.html8
-rw-r--r--workshop_app/templates/workshop_app/edit_profile.html14
-rw-r--r--workshop_app/templates/workshop_app/index.html4
-rw-r--r--workshop_app/templates/workshop_app/login.html4
-rw-r--r--workshop_app/templates/workshop_app/logout.html4
-rw-r--r--workshop_app/templates/workshop_app/manage.html10
-rw-r--r--workshop_app/templates/workshop_app/my_workshops.html12
-rw-r--r--workshop_app/templates/workshop_app/profile_updated.html10
-rw-r--r--workshop_app/templates/workshop_app/register.html4
-rw-r--r--workshop_app/templates/workshop_app/registeration_error.html2
-rw-r--r--workshop_app/templates/workshop_app/view_course_details.html4
-rw-r--r--workshop_app/templates/workshop_app/view_course_list.html9
-rw-r--r--workshop_app/templates/workshop_app/view_profile.html16
-rw-r--r--workshop_app/views.py118
18 files changed, 229 insertions, 129 deletions
diff --git a/workshop_app/models.py b/workshop_app/models.py
index e5f6306..a7ce494 100644
--- a/workshop_app/models.py
+++ b/workshop_app/models.py
@@ -1,4 +1,4 @@
-#from __future__ import unicode_literals
+
from django.db import models
from django.contrib.auth.models import User
from django.core.validators import RegexValidator
diff --git a/workshop_app/send_mails.py b/workshop_app/send_mails.py
index a4bbc0b..6566041 100644
--- a/workshop_app/send_mails.py
+++ b/workshop_app/send_mails.py
@@ -1,4 +1,7 @@
+__author__ = "Akshen Doke"
+
from django.core.mail import send_mail
+from textwrap import dedent
from workshop_portal.settings import (
EMAIL_HOST,
EMAIL_PORT,
@@ -10,7 +13,7 @@ from workshop_portal.settings import (
def send_email(request, call_on,
user_position=None, workshop_date=None,
workshop_title=None, user_name=None,
- other_email=None
+ other_email=None, phone_number=None
):
'''
Email sending function while registration and
@@ -19,21 +22,32 @@ def send_email(request, call_on,
if call_on == "Registration":
if user_position == "instructor":
- message = "Thank You for Registering on this platform. \n \
- Since you have ask for Instructor Profile, \n \
- we will get back to you soon after verifying your \n \
- profile. \
- In case if you don\t get any response within 3days, \
- Please contact us at "
+ message = dedent("""\
+ Thank You for Registering on this platform.
+ Since you have ask for Instructor Profile,
+ we will get back to you soon after verifying your
+ profile.
+ In case if you don\t get any response within 3days,
+ Please contact us at workshops@fossee.in""")
send_mail(
"Welcome to FOSSEE", message, EMAIL_HOST_USER,
[request.user.email], fail_silently=False
)
+
#Send a mail to admin as well as a notification.
+ message = dedent("""\
+ There is a Request for instructor profile on Workshop
+ Booking Website from {0} Please get check the profile
+ and get back to the user within 2days.
+ """.format(request.user))
+ send_mail("Instructor Request", message, EMAIL_HOST_USER,
+ ['workshops@fossee.in'], fail_silently=False)
+
else:
- message = "Thank You for Registering on this platform.\n \
- Rules. \n \ If you face any issue during \
- your session please contact fossee."
+ message = dedent("""\
+ Thank You for Registering on this platform.
+ If you face any issue during your session please
+ contact us a workshops@fossee.in""")
send_mail(
"Welcome to FOSSEE", message, EMAIL_HOST_USER,
[request.user.email], fail_silently=False
@@ -41,17 +55,31 @@ def send_email(request, call_on,
elif call_on == "Booking":
if user_position == "instructor":
- message = "You got a workshop booking request from "+user_name+" for "+workshop_title+" on "+workshop_date+" please respond."
+ message = dedent("""\
+ You got a workshop booking request from user:{0}, email:{1},
+ phone_number:{2} for workshop_title:{3} on date:{4}
+ please respond at the earliest""".format(
+ user_name, request.user.email,
+ request.user.profile.phone_number,
+ workshop_title, workshop_date
+ )
+ )
send_mail(
"Python Workshop Booking | FOSSEE", message, EMAIL_HOST_USER,
[other_email], fail_silently=False
)
-
else:
- message = "Thank You for Booking on this platform.\
- Here are your workshop details " +workshop_title+ "\
- If you face any issue during your session please contact \
- fossee."
+ message = dedent("""\
+ Thank You for Booking on this platform.
+ Here are your workshop details workshop_title:{0}
+ workshop_date:{1}, instructor_email:{2},
+ instructor phone_number:{3}
+ If you face any issue during your session please contact
+ respective instructor or fossee at workshops@fossee.in""".format(
+ workshop_title, workshop_date,
+ other_email, phone_number
+ )
+ )
send_mail(
"Python Workshop Booking | FOSSEE", message, EMAIL_HOST_USER,
[request.user.email], fail_silently=False
@@ -59,31 +87,48 @@ def send_email(request, call_on,
elif call_on == "Booking Confirmed":
if user_position == "instructor":
- message = "You have confirmed the booking"
+ message = dedent("""\
+ You have confirmed the booking on workshop_date:{0} for
+ workshop_title:{1} by coordinator:{2} coordinator_email:{3},
+ coordinator_phone_number:{4}"""
+ .format(workshop_date, workshop_title, user_name, other_email,
+ phone_number))
send_mail("Python Workshop Booking Confirmation", message, EMAIL_HOST_USER,
[request.user.email], fail_silently=False)
else:
- message = "Your workshop for "+workshop_date+"request has been confirmed"
+ message = dedent("""\
+ Your workshop on {0} for {1} has been confirmed by the
+ instructor please get in touch with the
+ instructor {2} - {3} for further assistance""".format(
+ workshop_date, workshop_title,
+ request.user.email, phone_number))
send_mail("Python Workshop Booking Confirmation", message, EMAIL_HOST_USER,
[other_email], fail_silently=False)
elif call_on == "Booking Request Rejected":
if user_position == "instructor":
- message = "You have reject the booking on "+workshop_date+" for "+workshop_title
- send_mail("Python Workshop Booking Rejected", message, EMAIL_HOST_USER,
- [request.user.email], fail_silently=False)
+ message = dedent("""\
+ You have reject the booking on {0} for {1} by {2}"""
+ .format(workshop_date, workshop_title, user_name))
+ send_mail("Python Workshop Booking Rejected", message,
+ EMAIL_HOST_USER, [request.user.email], fail_silently=False)
else:
- message = "Your workshop request for "+workshop_date+" has been rejected by the instructor,\
- please try for some other day."
- send_mail("Python Workshop Booking Request Rejected", message, EMAIL_HOST_USER,
- [other_email], fail_silently=False)
+ message = dedent("""\
+ Your workshop request on {0}
+ has been rejected by the instructor,
+ please try for some other day.""".format(workshop_date))
+ send_mail("Python Workshop Booking Request Rejected", message,
+ EMAIL_HOST_USER, [other_email], fail_silently=False)
elif call_on =='Workshop Deleted':
- message = "You have deleted a Workshop, scheduled on "+workshop_date+"."
+ message = dedent("""\
+ You have deleted a Workshop, scheduled on {0},
+ workshop title: {1}"""
+ .format(workshop_date, workshop_title))
send_mail("Python Workshop Deleted", message, EMAIL_HOST_USER,
[request.user.email], fail_silently=False)
else:
message = "Issue at Workshop Booking App please check"
- send_mail("Issue At Workshop Booking App", message, EMAIL_HOST_USER,
+ send_mail("Issue At Workshop Booking App Mailing", message, EMAIL_HOST_USER,
[doke.akshen@gmail.com, mahesh.p.gudi@gmail.com, aditya94palaparthy@gmail.com], fail_silently=False)
diff --git a/workshop_app/templates/workshop_app/base.html b/workshop_app/templates/workshop_app/base.html
index 37b6d6a..0e702e5 100644
--- a/workshop_app/templates/workshop_app/base.html
+++ b/workshop_app/templates/workshop_app/base.html
@@ -33,8 +33,8 @@
<li class="active"><a href="#">Home</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/register"><span class="glyphicon glyphicon-user"></span> Register</a></li>
- <li><a href="{{ URL_ROOT }}/login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
+ <li><a href="{{ URL_ROOT }}/register/"><span class="glyphicon glyphicon-user"></span> Register</a></li>
+ <li><a href="{{ URL_ROOT }}/login/"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/booking.html b/workshop_app/templates/workshop_app/booking.html
index 9321e33..4d2f03c 100644
--- a/workshop_app/templates/workshop_app/booking.html
+++ b/workshop_app/templates/workshop_app/booking.html
@@ -11,26 +11,44 @@
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script>
+
// Button function
function sendData(d){
- console.log(d);
+ var check_count;
+ //For queue
+ var URL = "{{ URL_ROOT }}/book_workshop/";
+ c = d + ',0';
+ $.ajax({
+ url: URL,
+ datatype: 'json',
+ async: false,
+ type: "POST",
+ data: {
+ c,
+ csrfmiddlewaretoken: $("input[name=csrfmiddlewaretoken]").val()
+ },
+ success:function(response){
+ check_count = response;
+ }
+ });
var $dialog = $('<div></div').html(
'<form id="myform" action="">\
<input type="checkbox" id="one"\
name="one" value="one"/> I will give minimum 50 participants for the workshop.<br/>\
- <input type="checkbox" id="two" name="two" value="two" /> I agree that this booking won\'t be cancelled(if you want to cancel please contact the instructor 2days before the event).<br/>\
+ <input type="checkbox" id="two" name="two" value="two" /> I agree that this booking won\'t be cancelled without prior notice to the instructor and fossee.<br/>\
+ <input type="checkbox" id="three" name="three" value="three"/> I am '+ check_count +' in the queue.\
</form> ')
.dialog({
autoOpen: false,
title: 'Terms & Condition',
buttons: {
"Confirm": function(){
- if($('#one').is(":checked") && $('#two').is(":checked")){
+ if($('#one').is(":checked") && $('#two').is(":checked") && $('#three').is(":checked")){
booking_confirmed(d);
$(this).dialog("close");
} else {
- alert("Please select both the checkboxes");
+ alert("Please select all the checkboxes.");
}
},
"Cancel": function(){
@@ -70,12 +88,12 @@
<a class="navbar-brand" href="#">WebSiteName</a>
</div>
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT}}/my_workshops">My Workshops</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/view_course_list">View Course List</a></li>
+ <li class="active"><a href="{{ URL_ROOT}}/my_workshops/">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/view_course_list/">View Course List</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/create_workshop.html b/workshop_app/templates/workshop_app/create_workshop.html
index 301512a..bec8745 100644
--- a/workshop_app/templates/workshop_app/create_workshop.html
+++ b/workshop_app/templates/workshop_app/create_workshop.html
@@ -18,12 +18,12 @@
<a class="navbar-brand" href="{{ URL_ROOT}}/manage/">WebSiteName</a>
</div>
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/view_course_list">View Course List</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/view_course_list/">View Course List</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/edit_profile.html b/workshop_app/templates/workshop_app/edit_profile.html
index 7f8bfef..6c07c6f 100644
--- a/workshop_app/templates/workshop_app/edit_profile.html
+++ b/workshop_app/templates/workshop_app/edit_profile.html
@@ -12,19 +12,19 @@
</div>
{% if request.user.profile.position == 'instructor' %}
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/create_workshop">Create Event</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/view_course_list">View Course List</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/create_workshop/">Create Event</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/view_course_list/">View Course List</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
{% else %}
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/book">Home</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/book/">Home</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
{% endif %}
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/index.html b/workshop_app/templates/workshop_app/index.html
index 10ba623..363922e 100644
--- a/workshop_app/templates/workshop_app/index.html
+++ b/workshop_app/templates/workshop_app/index.html
@@ -16,8 +16,8 @@
</div>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/register"><span class="glyphicon glyphicon-user"></span> Register</a></li>
- <li><a href="{{ URL_ROOT }}/login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
+ <li><a href="{{ URL_ROOT }}/register/"><span class="glyphicon glyphicon-user"></span> Register</a></li>
+ <li><a href="{{ URL_ROOT }}/login/"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/login.html b/workshop_app/templates/workshop_app/login.html
index 6c4b82b..300a9d4 100644
--- a/workshop_app/templates/workshop_app/login.html
+++ b/workshop_app/templates/workshop_app/login.html
@@ -12,8 +12,8 @@
</div>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/register"><span class="glyphicon glyphicon-user"></span> Register</a></li>
- <li><a href="{{ URL_ROOT }}/login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
+ <li><a href="{{ URL_ROOT }}/register/"><span class="glyphicon glyphicon-user"></span> Register</a></li>
+ <li><a href="{{ URL_ROOT }}/login/"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/logout.html b/workshop_app/templates/workshop_app/logout.html
index 492f914..ba33d61 100644
--- a/workshop_app/templates/workshop_app/logout.html
+++ b/workshop_app/templates/workshop_app/logout.html
@@ -12,8 +12,8 @@
</div>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/register"><span class="glyphicon glyphicon-user"></span> Register</a></li>
- <li><a href="{{ URL_ROOT }}/login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
+ <li><a href="{{ URL_ROOT }}/register/"><span class="glyphicon glyphicon-user"></span> Register</a></li>
+ <li><a href="{{ URL_ROOT }}/login/"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/manage.html b/workshop_app/templates/workshop_app/manage.html
index 302f715..a3f328f 100644
--- a/workshop_app/templates/workshop_app/manage.html
+++ b/workshop_app/templates/workshop_app/manage.html
@@ -7,13 +7,13 @@
<a class="navbar-brand" href="#">Instructor Profile</a>
</div>
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/create_workshop">Create Event</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/view_course_list">View Course List</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/create_workshop/">Create Event</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/view_course_list/">View Course List</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/my_workshops.html b/workshop_app/templates/workshop_app/my_workshops.html
index 672f9f9..f7b75c9 100644
--- a/workshop_app/templates/workshop_app/my_workshops.html
+++ b/workshop_app/templates/workshop_app/my_workshops.html
@@ -43,23 +43,23 @@
<div class="container-fluid">
<div class="navbar-header">
{% if request.user.profile.position == 'instructor' %}
- <a class="navbar-brand" href="{{ URL_ROOT}}/manage">WebSiteName</a>
+ <a class="navbar-brand" href="{{ URL_ROOT}}/manage/">WebSiteName</a>
{% endif %}
</div>
{% if request.user.profile.position == 'instructor' %}
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/create_workshop">Create Event</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/view_course_list">View Course List</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/create_workshop/">Create Event</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/view_course_list/">View Course List</a></li>
</ul>
{% else %}
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/book">Home</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/book/">Home</a></li>
</ul>
{% endif %}
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/profile_updated.html b/workshop_app/templates/workshop_app/profile_updated.html
index c41f6a7..19c3fb1 100644
--- a/workshop_app/templates/workshop_app/profile_updated.html
+++ b/workshop_app/templates/workshop_app/profile_updated.html
@@ -12,15 +12,15 @@
</div>
<ul class="nav navbar-nav">
{% if request.user.profile.position == 'instructor' %}
- <li class="active"><a href="{{ URL_ROOT }}/manage">Home</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/manage/">Home</a></li>
{% else %}
- <li class="active"><a href="{{ URL_ROOT }}/book">Home</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/book/">Home</a></li>
{% endif %}
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/register.html b/workshop_app/templates/workshop_app/register.html
index db69118..1798f57 100644
--- a/workshop_app/templates/workshop_app/register.html
+++ b/workshop_app/templates/workshop_app/register.html
@@ -12,8 +12,8 @@
</div>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/register"><span class="glyphicon glyphicon-user"></span> Register</a></li>
- <li><a href="{{ URL_ROOT }}/login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
+ <li><a href="{{ URL_ROOT }}/register/"><span class="glyphicon glyphicon-user"></span> Register</a></li>
+ <li><a href="{{ URL_ROOT }}/login/"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/registeration_error.html b/workshop_app/templates/workshop_app/registeration_error.html
index d460fe6..ad1e73b 100644
--- a/workshop_app/templates/workshop_app/registeration_error.html
+++ b/workshop_app/templates/workshop_app/registeration_error.html
@@ -8,6 +8,6 @@
<div class="container" >
<br>
<h1>Error Occurred While registration</h1>
- <h3>Please try to <a href="{{ URL_ROOT }}/register"> register again</a> using different username or email and see to it that you fill all the fields.</h3>
+ <h3>Please try to <a href="{{ URL_ROOT }}/register/"> register again</a> using different username or email and see to it that you fill all the fields.</h3>
</div>
{% endblock %} \ No newline at end of file
diff --git a/workshop_app/templates/workshop_app/view_course_details.html b/workshop_app/templates/workshop_app/view_course_details.html
index aca59a0..a0e46c7 100644
--- a/workshop_app/templates/workshop_app/view_course_details.html
+++ b/workshop_app/templates/workshop_app/view_course_details.html
@@ -14,8 +14,8 @@
<li class="active"><a href="#">Home</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/templates/workshop_app/view_course_list.html b/workshop_app/templates/workshop_app/view_course_list.html
index bd2bcea..7e38d10 100644
--- a/workshop_app/templates/workshop_app/view_course_list.html
+++ b/workshop_app/templates/workshop_app/view_course_list.html
@@ -13,21 +13,20 @@
</div>
<ul class="nav navbar-nav">
{% if request.user.profile.position == 'instructor'%}
- <li class="active"><a href="{{ URL_ROOT }}/create_workshop">Create Workshop</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/create_workshop/">Create Workshop</a></li>
{% endif %}
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
{% endblock %}
{% block extra %}
- <!-- <script src="{{ URL_ROOT }}/static/workshop_app/js/overlay.js"></script> -->
<!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> -->
diff --git a/workshop_app/templates/workshop_app/view_profile.html b/workshop_app/templates/workshop_app/view_profile.html
index f3f0652..e758c59 100644
--- a/workshop_app/templates/workshop_app/view_profile.html
+++ b/workshop_app/templates/workshop_app/view_profile.html
@@ -11,21 +11,21 @@
</div>
{% if request.user.profile.position == 'instructor' %}
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/manage">Home</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/create_workshop">Create Event</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/view_course_list">View Course List</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/manage/">Home</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/create_workshop/">Create Event</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/view_course_list/">View Course List</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
{% else %}
<ul class="nav navbar-nav">
- <li class="active"><a href="{{ URL_ROOT }}/book">Home</a></li>
- <li class="active"><a href="{{ URL_ROOT }}/my_workshops">My Workshops</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/book/">Home</a></li>
+ <li class="active"><a href="{{ URL_ROOT }}/my_workshops/">My Workshops</a></li>
</ul>
{% endif %}
<ul class="nav navbar-nav navbar-right">
- <li><a href="{{ URL_ROOT }}/view_profile"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
- <li><a href="{{ URL_ROOT }}/logout"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
+ <li><a href="{{ URL_ROOT }}/view_profile/"><span class="glyphicon glyphicon-user"></span> Profile </a></li>
+ <li><a href="{{ URL_ROOT }}/logout/"><span class="glyphicon glyphicon-log-in"></span> Logout</a></li>
</ul>
</div>
</nav>
diff --git a/workshop_app/views.py b/workshop_app/views.py
index 526e865..326da9d 100644
--- a/workshop_app/views.py
+++ b/workshop_app/views.py
@@ -20,31 +20,33 @@ from collections import OrderedDict
from dateutil.parser import parse
from .send_mails import send_email
from django.http import HttpResponse, HttpResponseRedirect
+from textwrap import dedent
+__author__ = "Akshen Doke"
+__credits__ = ["Mahesh Gudi", "Aditya P.", "Ankit Javalkar",
+ "Prathamesh Salunke", "Akshen Doke"]
def index(request):
'''Landing Page'''
user = request.user
if user.is_authenticated():
- if user.groups.filter(name='instructor').count() > 0:
+ if user.profile.position == 'instructor':
return redirect('/manage/')
return redirect('/book/')
-
return render(request, "workshop_app/index.html")
def is_instructor(user):
'''Check if the user is having instructor rights'''
- if user.groups.filter(name='instructor').exists():
- return True
-
+ return True if user.profile.position == 'instructor' else False
+
def user_login(request):
- '''Login'''
+ '''User Login'''
user = request.user
if user.is_authenticated():
- if user.groups.filter(name='instructor').count() > 0:
+ if user.profile.position == 'instructor':
return redirect('/manage/')
return redirect('/book/')
@@ -53,7 +55,7 @@ def user_login(request):
if form.is_valid():
user = form.cleaned_data
login(request, user)
- if user.groups.filter(name='instructor').count() > 0:
+ if user.profile.position == 'instructor':
return redirect('/manage/')
return redirect('/book/')
else:
@@ -85,7 +87,7 @@ def user_register(request):
user_position=user_position
)
return redirect('/view_profile/')
- except IntegrityError as e:
+ except:
return render(
request,
"workshop_app/registeration_error.html"
@@ -104,7 +106,7 @@ def user_register(request):
def book(request):
user = request.user
if user.is_authenticated():
- if user.groups.filter(name='instructor').count() > 0:
+ if user.profile.position == 'instructor':
return redirect('/manage/')
workshop_details = Workshop.objects.all()
@@ -130,7 +132,6 @@ def book(request):
workshop_occurence_list.append(workshop_occurence)
del workshop_occurence
-
#Gives you the objects of BookedWorkshop
bookedworkshop = BookedWorkshop.objects.all()
for b in bookedworkshop:
@@ -145,7 +146,7 @@ def book(request):
workshop_occurence_list.remove(a)
del x, y
- #Gives you the objects of RequestedWorkshop for that particular coordinator
+ #Objects of RequestedWorkshop for that particular coordinator
rW_obj = RequestedWorkshop.objects.filter(
requested_workshop_coordinator=request.user
)
@@ -188,8 +189,17 @@ def book_workshop(request):
client_data = request.body.decode("utf-8").split("&")
client_data = client_data[0].split("%2C")
workshop_date = client_data[0][2:]
- instructor_profile = Profile.objects.filter(user=client_data[1])
+ if client_data[-1] == '0':
+ queue = RequestedWorkshop.objects.filter(
+ requested_workshop_instructor=client_data[1],
+ requested_workshop_date=datetime.strptime(
+ client_data[0][2:], "%d-%m-%Y"
+ ),
+ requested_workshop_title=client_data[-2]
+ ).count() + 1
+
+ return HttpResponse(str(queue))
workshops_list = Workshop.objects.filter(
workshop_instructor=client_data[1],
@@ -213,20 +223,30 @@ def book_workshop(request):
requested_workshop_title=client_data[-1]
).count() > 0:
- return HttpResponse("You already have a booking for this workshop \
- please check the instructors response in My Workshops tab and \
- also check your email.")
+ return HttpResponse(dedent("""You already have a booking
+ for this workshop please check the
+ instructors response in My Workshops tab and
+ also check your email."""))
else:
- for d in workshop_recurrence_list:
- if workshop_date == (d.strftime("%d-%m-%Y")):
+ for w in workshop_recurrence_list:
+ if workshop_date == (w.strftime("%d-%m-%Y")):
+ print(workshop_date)
rW_obj.requested_workshop_instructor = workshop.workshop_instructor
rW_obj.requested_workshop_coordinator = request.user
rW_obj.requested_workshop_date = datetime.strptime(
- client_data[0][2:], "%d-%m-%Y"
- )
+ workshop_date,"%d-%m-%Y"
+ )
rW_obj.requested_workshop_title = workshop.workshop_title
rW_obj.save()
+ queue = RequestedWorkshop.objects.filter(
+ requested_workshop_instructor=workshop.workshop_instructor,
+ requested_workshop_date=datetime.strptime(
+ workshop_date, "%d-%m-%Y",
+ ),
+ requested_workshop_title=client_data[-1]
+ ).count()
+
# Mail to instructor
send_email(request, call_on='Booking',
user_position='instructor',
@@ -235,14 +255,19 @@ def book_workshop(request):
user_name=str(request.user),
other_email=workshop.workshop_instructor.email
)
-
+ phone_number = workshop.workshop_instructor.profile.phone_number
#Mail to coordinator
send_email(request, call_on='Booking',
- workshop_date=workshop_date,
- workshop_title=workshop.workshop_title.course_name,
- user_name=workshop.workshop_instructor.username)
+ workshop_date=workshop_date,
+ workshop_title=workshop.workshop_title.course_name,
+ user_name=workshop.workshop_instructor.username,
+ other_email=workshop.workshop_instructor.email,
+ phone_number=phone_number)
- return HttpResponse("Thank You, Please check your email for further information.")
+ return HttpResponse(dedent("""\
+ Thank You, Please check
+ your email for further information. Your number on the
+ queue for this book is {0}""".format(str(queue))))
else:
return HttpResponse("Some Error Occurred.")
@@ -330,32 +355,42 @@ def my_workshops(request):
)
coordinator_obj = User.objects.get(username=client_data[0][2:])
+
workshop_status = RequestedWorkshop.objects.get(
- requested_workshop_instructor=user.id,
- requested_workshop_date=workshop_date,
- requested_workshop_coordinator=coordinator_obj.id,
- requested_workshop_title=client_data[2]
- )
+ requested_workshop_instructor=user.id,
+ requested_workshop_date=workshop_date,
+ requested_workshop_coordinator=coordinator_obj.id,
+ requested_workshop_title=client_data[2]
+ )
+
workshop_status.status = client_data[-1]
workshop_status.save()
booked_workshop_obj = BookedWorkshop()
booked_workshop_obj.booked_workshop = workshop_status
booked_workshop_obj.save()
+ cmail = workshop_status.requested_workshop_coordinator.email
+ cname = workshop_status.requested_workshop_coordinator.username
+ cnum = workshop_status.requested_workshop_coordinator.profile.phone_number
+ inum = request.user.profile.phone_number
+ wtitle = workshop_status.requested_workshop_title.course_name
#For Instructor
send_email(request, call_on='Booking Confirmed',
user_position='instructor',
workshop_date=str(client_data[1]),
- workshop_title=workshop_status.requested_workshop_title.course_name,
- user_name=str(request.user),
+ workshop_title=wtitle,
+ user_name=str(cname),
+ other_email=cmail,
+ phone_number=cnum
)
#For Coordinator
send_email(request, call_on='Booking Confirmed',
workshop_date=str(client_data[1]),
- workshop_title=workshop_status.requested_workshop_title.course_name,
- other_email=workshop_status.requested_workshop_coordinator.email
+ workshop_title=wtitle,
+ other_email=cmail,
+ phone_number=inum
)
elif client_data[-1] == 'DELETED':
@@ -387,6 +422,7 @@ def my_workshops(request):
#For instructor
send_email(request, call_on='Workshop Deleted',
workshop_date=str(client_data[1]),
+ workshop_title=workshop.workshop_title
)
return HttpResponse("Workshop Deleted")
@@ -406,19 +442,23 @@ def my_workshops(request):
workshop_status.status = client_data[-1]
workshop_status.save()
+ wtitle = workshop_status.requested_workshop_title.course_name
+ cmail = workshop_status.requested_workshop_coordinator.email
+ cname = workshop_status.requested_workshop_coordinator.username
+
#For Instructor
send_email(request, call_on='Booking Request Rejected',
user_position='instructor',
workshop_date=str(client_data[1]),
- workshop_title=workshop_status.requested_workshop_title.course_name,
- user_name=str(request.user),
+ workshop_title=wtitle,
+ user_name=str(cname),
)
#For Coordinator
send_email(request, call_on='Booking Request Rejected',
workshop_date=str(client_data[1]),
- workshop_title=workshop_status.requested_workshop_title.course_name,
- other_email=workshop_status.requested_workshop_coordinator.email
+ workshop_title=wtitle,
+ other_email=cmail
)
workshop_occurence_list = RequestedWorkshop.objects.filter(
@@ -564,8 +604,6 @@ def view_course_details(request):
user = request.user
if is_instructor(user):
-
return redirect('/')
-
else:
return redirect('/book/')