From 0fcf9d662c4768729f5d11553cc07659bd7f97a7 Mon Sep 17 00:00:00 2001
From: pnshiralkar
Date: Wed, 6 May 2020 12:37:25 +0530
Subject: Refractored workshopstatus views
---
workshop_app/static/workshop_app/js/datepicker.js | 53 ++++++
.../templates/workshop_app/my_workshops.html | 82 ---------
.../templates/workshop_app/workshop_status.html | 190 ---------------------
.../workshop_app/workshop_status_coordinator.html | 81 +++++++++
.../workshop_app/workshop_status_instructor.html | 134 +++++++++++++++
workshop_app/urls.py | 8 +-
workshop_app/views.py | 22 +--
7 files changed, 281 insertions(+), 289 deletions(-)
create mode 100644 workshop_app/static/workshop_app/js/datepicker.js
delete mode 100644 workshop_app/templates/workshop_app/my_workshops.html
delete mode 100644 workshop_app/templates/workshop_app/workshop_status.html
create mode 100644 workshop_app/templates/workshop_app/workshop_status_coordinator.html
create mode 100644 workshop_app/templates/workshop_app/workshop_status_instructor.html
diff --git a/workshop_app/static/workshop_app/js/datepicker.js b/workshop_app/static/workshop_app/js/datepicker.js
new file mode 100644
index 0000000..f419f86
--- /dev/null
+++ b/workshop_app/static/workshop_app/js/datepicker.js
@@ -0,0 +1,53 @@
+//ToolTip popup function on-hover
+$(document).ready(function () {
+ $('[data-toggle="popover"]').popover({
+ placement: 'top',
+ trigger: 'hover'
+ });
+});
+
+//ToolTip popup function on-hover
+$(document).ready(function () {
+ $('[data-toggle="popinfo"]').popover({
+ placement: 'top',
+ trigger: 'hover'
+ });
+});
+
+// Change date modal
+function changeDate(date) {
+ let previous_date = new Date(date);
+ let dateToday = new Date();
+ let upto = new Date();
+
+ previous_date.setDate(previous_date.getDate() + 1);
+ upto.setFullYear(dateToday.getFullYear() + 1);
+
+ let counter = date.split(" ");
+ const id = counter.slice(-1).pop();
+ if (date[0] === 'P') {
+ counter = '.pDate' + id
+ $(counter).datepicker({
+ changeMonth: true,
+ changeYear: true,
+ minDate: dateToday,
+ maxDate: upto,
+ dateFormat: "yy-mm-dd",
+ });
+ $(".ui-dialog-content").dialog("close");
+ $('.myDialogP' + id).dialog();
+
+ } else {
+ counter = '.rDate' + id;
+ $(counter).datepicker({
+ changeMonth: true,
+ changeYear: true,
+ minDate: dateToday,
+ maxDate: upto,
+ dateFormat: "yy-mm-dd",
+ });
+ $(".ui-dialog-content").dialog("close");
+ $('.myDialogR' + id).dialog();
+
+ }
+};
\ No newline at end of file
diff --git a/workshop_app/templates/workshop_app/my_workshops.html b/workshop_app/templates/workshop_app/my_workshops.html
deleted file mode 100644
index b5b4add..0000000
--- a/workshop_app/templates/workshop_app/my_workshops.html
+++ /dev/null
@@ -1,82 +0,0 @@
-{% extends "workshop_app/base.html" %}
-
-{% block title %}
- My Workshops
-{% endblock %}
-
-{% block content %}
- {% if workshops %}
-
The status of your workshops
-
-
-
-
-
-
-
Workshops Accepted
-
-
-
- Instructor Name
- Workshop Name
- Workshop Day
- Status
-
-
-
- {% for workshop in workshops %}
-
-
- {% if workshop.status %}
- {{ workshop.instructor.get_full_name }}
- {{ workshop.workshop_type |capfirst }}
- {{ workshop.date | date }}
- {{ workshop.get_status }}
- {% endif %}
-
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
Workshops Proposed By Me
-
-
-
- Workshop Name
- Workshop Day
- Status
-
-
- {% for workshop in workshops %}
-
-
- {% if not workshop.status and workshop.tnc_accepted %}
- {{ workshop.workshop_type }}
- {{ workshop.date | date }}
- {{ workshop.get_status }}
- {% endif %}
-
-
-
- {% endfor %}
-
-
-
- {% else %}
-
-
-
Welcome {{ user.first_name }}
-
Information Related to your workshops will be shown here, you can also
- propose a Workshop as per your available date in Workshops > Propose a Workshop
- tab .
-
-
- {% endif %}
-
-{% endblock %}
diff --git a/workshop_app/templates/workshop_app/workshop_status.html b/workshop_app/templates/workshop_app/workshop_status.html
deleted file mode 100644
index b2b17ee..0000000
--- a/workshop_app/templates/workshop_app/workshop_status.html
+++ /dev/null
@@ -1,190 +0,0 @@
-{% extends "workshop_app/base.html" %}
-
-{% block title %}
- Workshop Status
-{% endblock %}
-
-{% block extra-dependencies %}
-
-
-
-{% endblock %}
-{% block extra-custom-scripts %}
-
-{% endblock %}
-
-
-{% block content %}
- {% if workshops %}
- The status of your workshops
-
-
-
-
-
-
Workshops Accepted
-
-
-
- Coordinator Name
- Institute
- Workshop Name
- Workshop Day
- Status
-
-
- {% for workshop in workshops %}
-
-
- {% if workshop.status %}
-
-
- {{ workshop.coordinator.get_full_name }}
-
- {{ workshop.coordinator.profile.institute }}
- {{ workshop.workshop_type |capfirst }}
- {{ workshop.date | date }}
-
- {% if workshop.date > today %}
- event
-
-
-
- {% endif %}
-
- {{ workshop.get_status }}
- {% endif %}
-
-
-
- {% endfor %}
-
-
-
-
-
-
-
-
-
Workshops Proposed By Coordinators
-
-
-
-
- Coordinator Name
- Institute
- Workshop Name
- Workshop Day
- Status
- Action
-
-
- {% csrf_token %}
- {% for workshop in workshops %}
-
-
- {% if not workshop.status and workshop.tnc_accepted %}
-
-
- {{ workshop.coordinator.get_full_name }}
-
- {{ workshop.coordinator.profile.institute }}
- {{ workshop.workshop_type }}
- {{ workshop.date | date }}
- {{ workshop.get_status }}
-
-
-
- Accept
-
-
-
- {% endif %}
-
-
-
- {% endfor %}
-
-
-
-
- {% else %}
-
-
-
Welcome {{ user.first_name }}
-
Your workshop related information will be shown here, Please navigate to Workshop list and
- depending upon
- your expertise and availability create a workshop by going to
- Create Workshop .
-
-
- {% endif %}
-
-{% endblock %}
diff --git a/workshop_app/templates/workshop_app/workshop_status_coordinator.html b/workshop_app/templates/workshop_app/workshop_status_coordinator.html
new file mode 100644
index 0000000..07045de
--- /dev/null
+++ b/workshop_app/templates/workshop_app/workshop_status_coordinator.html
@@ -0,0 +1,81 @@
+{% extends "workshop_app/base.html" %}
+
+{% block title %}
+ My Workshops
+{% endblock %}
+
+{% block content %}
+ {% if not workshops %}
+
+
+
Welcome {{ user.first_name }}
+
Information Related to your workshops will be shown here, you can also
+ propose a Workshop as per your available date in Workshops > Propose a Workshop
+ tab .
+
+
+ {% else %}
+ The status of your workshops
+
+
+
+
+
+
+
Workshops Accepted
+
+
+
+ Instructor Name
+ Workshop Name
+ Workshop Day
+ Status
+
+
+
+ {% for workshop in workshops %}
+
+
+ {% if workshop.status %}
+ {{ workshop.instructor.get_full_name }}
+ {{ workshop.workshop_type |capfirst }}
+ {{ workshop.date | date }}
+ {{ workshop.get_status }}
+ {% endif %}
+
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
Workshops Proposed By Me
+
+
+
+ Workshop Name
+ Workshop Day
+ Status
+
+
+ {% for workshop in workshops %}
+
+
+ {% if not workshop.status and workshop.tnc_accepted %}
+ {{ workshop.workshop_type }}
+ {{ workshop.date | date }}
+ {{ workshop.get_status }}
+ {% endif %}
+
+
+
+ {% endfor %}
+
+
+ {% endif %}
+
+{% endblock %}
diff --git a/workshop_app/templates/workshop_app/workshop_status_instructor.html b/workshop_app/templates/workshop_app/workshop_status_instructor.html
new file mode 100644
index 0000000..0a246b3
--- /dev/null
+++ b/workshop_app/templates/workshop_app/workshop_status_instructor.html
@@ -0,0 +1,134 @@
+{% extends "workshop_app/base.html" %}
+
+{% block title %}
+ Workshop Status
+{% endblock %}
+
+{% block extra-dependencies %}
+
+
+
+{% endblock %}
+{% block extra-custom-scripts %}
+ {% load static %}
+
+{% endblock %}
+
+
+{% block content %}
+ {% if not workshops %}
+
+
+
Welcome {{ user.first_name }}
+
Your workshop related information will be shown here, Please navigate to Workshop list and
+ depending upon
+ your expertise and availability create a workshop by going to
+ Create Workshop .
+
+
+ {% else %}
+ The status of your workshops
+
+
+
+
+
+
Workshops Accepted
+
+
+
+ Coordinator Name
+ Institute
+ Workshop Name
+ Workshop Day
+ Status
+
+
+ {% for workshop in workshops %}
+
+
+ {% if workshop.status %}
+
+
+ {{ workshop.coordinator.get_full_name }}
+
+ {{ workshop.coordinator.profile.institute }}
+ {{ workshop.workshop_type |capfirst }}
+ {{ workshop.date | date }}
+
+ {% if workshop.date > today %}
+ event
+
+
+
+ {% endif %}
+
+ {{ workshop.get_status }}
+ {% endif %}
+
+
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
Workshops Proposed By Coordinators
+
+
+
+
+ Coordinator Name
+ Institute
+ Workshop Name
+ Workshop Day
+ Status
+ Action
+
+
+ {% csrf_token %}
+ {% for workshop in workshops %}
+
+
+ {% if not workshop.status and workshop.tnc_accepted %}
+
+
+ {{ workshop.coordinator.get_full_name }}
+
+ {{ workshop.coordinator.profile.institute }}
+ {{ workshop.workshop_type }}
+ {{ workshop.date | date }}
+ {{ workshop.get_status }}
+
+
+
+ Accept
+
+
+
+ {% endif %}
+
+
+
+ {% endfor %}
+
+
+ {% endif %}
+
+{% endblock %}
diff --git a/workshop_app/urls.py b/workshop_app/urls.py
index 32378fd..d18b8a9 100644
--- a/workshop_app/urls.py
+++ b/workshop_app/urls.py
@@ -16,10 +16,6 @@ Including another URLconf
from django.conf.urls import url
from workshop_app import views
-js_info_dict = {
- 'packages': ('recurrence',),
-}
-
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^register/$', views.user_register),
@@ -29,8 +25,8 @@ urlpatterns = [
url(r'^logout/$', views.user_logout),
url(r'^view_profile/$', views.view_profile),
url(r'^edit_profile/$', views.edit_profile),
- url(r'^my_workshops/$', views.my_workshops, name='my_workshops'), # Coordinator
- url(r'^workshop_status/$', views.workshop_status, name='workshop_status'), # Instructor
+ url(r'^workshop_status$', views.workshop_status_coordinator, name='workshop_status_coordinator'),
+ url(r'^dashboard$', views.workshop_status_instructor, name='workshop_status_instructor'),
url(r'^accept_workshop/([1-9][0-9]*)$', views.accept_workshop, name='accept_workshop'),
url(r'^change_workshop_date/([1-9][0-9]*)$', views.change_workshop_date, name='change_workshop_date'),
url(r'^propose_workshop/$', views.propose_workshop),
diff --git a/workshop_app/views.py b/workshop_app/views.py
index 9f077a3..2eba2e0 100644
--- a/workshop_app/views.py
+++ b/workshop_app/views.py
@@ -44,8 +44,8 @@ def is_instructor(user):
def get_landing_page(user):
# For now, landing pages of both instructor and coordinator are same
if is_instructor(user):
- return reverse('workshop_status')
- return reverse('my_workshops')
+ return reverse('workshop_status_instructor')
+ return reverse('workshop_status_coordinator')
# View functions
@@ -152,7 +152,7 @@ def user_register(request):
)
else:
if request.user.is_authenticated and is_email_checked(request.user):
- return redirect('/my_workshops/')
+ return redirect(get_landing_page(request.user))
elif request.user.is_authenticated:
return render(request, 'workshop_app/activation.html')
form = UserRegistrationForm()
@@ -197,7 +197,7 @@ def edit_profile(request):
# Workshop views
@login_required
-def my_workshops(request):
+def workshop_status_coordinator(request):
""" Workshops proposed by Coordinator """
user = request.user
if is_instructor(user):
@@ -205,12 +205,12 @@ def my_workshops(request):
workshops = Workshop.objects.filter(
coordinator=user.id
).order_by('-date')
- return render(request, 'workshop_app/my_workshops.html',
+ return render(request, 'workshop_app/workshop_status_coordinator.html',
{"workshops": workshops})
@login_required
-def workshop_status(request):
+def workshop_status_instructor(request):
""" Workshops to accept and accepted by Instructor """
user = request.user
if not is_instructor(user):
@@ -226,7 +226,7 @@ def workshop_status(request):
).order_by('-date')
workshops = list(proposed_workshop) + list(proposed_workshop_pending)
- return render(request, 'workshop_app/workshop_status.html',
+ return render(request, 'workshop_app/workshop_status_instructor.html',
{"workshops": workshops,
"today": today})
@@ -262,7 +262,7 @@ def accept_workshop(request, workshop_id):
other_email=workshop.coordinator.email,
phone_number=request.user.profile.phone_number
)
- return redirect(reverse('workshop_status'))
+ return redirect(reverse('workshop_status_instructor'))
@login_required
@@ -292,7 +292,7 @@ def change_workshop_date(request, workshop_id):
workshop_date=str(workshop_date),
other_email=workshop.first().coordinator.email
)
- return redirect(reverse('workshop_status'))
+ return redirect(reverse('workshop_status_instructor'))
# TODO: Show terms n conditions of selected ws type
@@ -318,7 +318,7 @@ def propose_workshop(request):
workshop_type=form_data.workshop_type,
coordinator=form_data.coordinator
).exists():
- return redirect('/my_workshops/')
+ return redirect(get_landing_page(user))
else:
form_data.save()
instructors = Profile.objects.filter(position='instructor')
@@ -332,7 +332,7 @@ def propose_workshop(request):
phone_number=user.profile.phone_number,
institute=user.profile.institute
)
- return redirect('/my_workshops/')
+ return redirect(get_landing_page(user))
# GET request
return render(
request, 'workshop_app/propose_workshop.html',
--
cgit