summaryrefslogtreecommitdiff
path: root/yaksh
diff options
context:
space:
mode:
authoradityacp2020-01-17 10:55:51 +0530
committeradityacp2020-01-17 10:55:51 +0530
commit23bf012f3428d76685cfd952cc6760eb595ff013 (patch)
tree87f9372122381b0bec07910df2b21f60b6d4f58c /yaksh
parent0a74cf7b9f60cb5acafd5654d0543bbbbf26574f (diff)
downloadonline_test-23bf012f3428d76685cfd952cc6760eb595ff013.tar.gz
online_test-23bf012f3428d76685cfd952cc6760eb595ff013.tar.bz2
online_test-23bf012f3428d76685cfd952cc6760eb595ff013.zip
Revamp course detail and courses page templates
Diffstat (limited to 'yaksh')
-rw-r--r--yaksh/templates/yaksh/add_module.html66
-rw-r--r--yaksh/templates/yaksh/addteacher.html138
-rw-r--r--yaksh/templates/yaksh/course_added_modules.html49
-rw-r--r--yaksh/templates/yaksh/course_detail.html414
-rw-r--r--yaksh/templates/yaksh/course_detail_options.html47
-rw-r--r--yaksh/templates/yaksh/course_progress.html65
-rw-r--r--yaksh/templates/yaksh/course_send_mail.html63
-rw-r--r--yaksh/templates/yaksh/course_students.html245
-rw-r--r--yaksh/templates/yaksh/course_teachers.html29
-rw-r--r--yaksh/templates/yaksh/courses.html9
-rw-r--r--yaksh/templates/yaksh/design_course_session.html30
-rw-r--r--yaksh/templates/yaksh/moderator_dashboard.html6
-rw-r--r--yaksh/templates/yaksh/showquestions.html10
13 files changed, 700 insertions, 471 deletions
diff --git a/yaksh/templates/yaksh/add_module.html b/yaksh/templates/yaksh/add_module.html
index 6b2214b..55dd8b8 100644
--- a/yaksh/templates/yaksh/add_module.html
+++ b/yaksh/templates/yaksh/add_module.html
@@ -1,28 +1,48 @@
{% extends "manage.html" %}
+{% load static %}
{% block title %}Create/Edit Learning Module{% endblock %}
{% block pagetitle %}<h4>Design Learning Module</h4>{% endblock %}
{% block script %}
-<script src="{{ URL_ROOT }}/static/yaksh/js/jquery-3.3.1.min.js"></script>
-<script src="{{ URL_ROOT }}/static/yaksh/js/design_course.js"></script>
-<script src="{{ URL_ROOT }}/static/yaksh/js/lesson.js"></script>
-<script src="{{ URL_ROOT }}/static/yaksh/js/jquery-ui.js"></script>
+<script type="text/javascript" src="{% static 'yaksh/js/jquery-3.3.1.min.js' %}">
+</script>
+<script type="text/javascript" src="{% static 'yaksh/js/design_course.js' %}">
+</script>
+<script type="text/javascript" src="{% static 'yaksh/js/lesson.js' %}">
+</script>
+<script type="text/javascript" src="{% static 'yaksh/js/jquery-ui.js' %}">
+</script>
{% endblock %}
{% block css %}
-<link rel="stylesheet" media="all" type="text/css" href="{{ URL_ROOT }}/static/yaksh/css/design_course.css" />
-<link rel="stylesheet" href="{{ URL_ROOT }}/static/yaksh/css/jquery-ui/jquery-ui.css">
+<link rel="stylesheet" href="{% static 'yaksh/css/design_course.css' %}" type="text/css" />
+<link rel="stylesheet" href="{% static 'yaksh/css/jquery-ui/jquery-ui.css' %}" type="text/css" />
{% endblock %}
{% block content %}
-<div class="yaskhwell container">
+<div class="container">
{% if course_id %}
- <a href="{{URL_ROOT}}/exam/manage/courses/" class="btn btn-primary">
- Back to Courses</a>
+ <a href="{% url 'yaksh:get_course_modules' course_id %}" class="btn btn-primary">
+ <i class="fa fa-arrow-left"></i>
+ Back to Courses
+ </a>
{% else %}
- <a href="{{URL_ROOT}}/exam/manage/courses/all_learning_module" class="btn btn-primary">
- Back to Learning Modules</a>
+ <a href="{% url 'yaksh:show_all_modules' %}" class="btn btn-primary">
+ <i class="fa fa-arrow-left"></i>
+ Back to Learning Modules
+ </a>
+{% endif %}
+<br><br>
+{% if messages %}
+ {% for message in messages %}
+ <div class="alert alert-dismissible alert-{{ message.tags }}">
+ <button type="button" class="close" data-dismiss="alert">
+ <i class="fa fa-close"></i>
+ </button>
+ <strong>{{ message }}</strong>
+ </div>
+ {% endfor %}
{% endif %}
{% if status == "add" %}
<form name=frm id=frm action="" method="post">
@@ -35,13 +55,13 @@
</center>
<br><br>
<center>
- <button class="btn btn-success" type="submit" id="submit" name="Save">
+ <button class="btn btn-success btn-lg" type="submit" id="submit" name="Save">
Save
</button>
- <button class="btn btn-outline-primary" type="button" name="button" id="preview">
- Preview Module Description
+ <button class="btn btn-outline-primary btn-lg" type="button" name="button" id="preview">
+ Preview Description
</button>
- <button class="btn btn-outline-primary" type="button" name="button" id="embed">
+ <button class="btn btn-outline-primary btn-lg" type="button" name="button" id="embed">
Embed Video link
</button>
</center>
@@ -60,11 +80,15 @@
<!-- Add learning Units -->
{% if status == "design" %}
<center><h3><u>Add/Edit Learning Units</h3></u></center>
-<form action="{{URL_ROOT}}/exam/manage/courses/designmodule/{{module_id}}/" method="POST" id="design_course_form">
+{% if course_id %}
+<form action="{% url 'yaksh:design_module' module_id course_id %}" method="POST" id="design_course_form">
+{% else %}
+<form action="{% url 'yaksh:design_module' module_id %}" method="POST" id="design_course_form">
+{% endif %}
{% csrf_token %}
<div class="tab-pane active" id="available-lesson-quiz">
<div class="row">
- <div class="col-md-8 available-list col-md-offset-2">
+ <div class="col-md-12 available-list">
<div id="fixed-available-wrapper">
<p><u><b>Available Lessons and quizzes: (Add Lessons and Quizzes)</b></u></p>
<div id="fixed-available">
@@ -87,13 +111,13 @@
</div>
<br>
<center>
- <button class="btn btn-success" type="submit" id="submit" name="Add">
- Add to Module
+ <button class="btn btn-success" type="submit" id="submit" name="Add"><i class="fa fa-plus-square"></i>
+ &nbsp;Add to Module
</button>
</center>
<br><br>
</div>
- <div class="col-md-8 col-md-offset-2">
+ <div class="col-md-12 col-md-offset-2">
<div id="fixed-added-wrapper">
<p><u><b>Chosen Lessons and quizzes:</b></u>
</p>
@@ -152,7 +176,7 @@
</div>
<br>
<center>
- <button id="Remove" name="Remove" class="btn btn-danger" type="submit">Remove from Module</button>
+ <button id="Remove" name="Remove" class="btn btn-danger" type="submit"> <i class="fa fa-minus-square"></i>&nbsp;Remove from Module</button>
<button id="Change" name="Change" class="btn btn-info" type="submit"> Change Order</button>
<button id="Change" name="Change_prerequisite" class="btn btn-primary" type="submit"> Change Prerequisite</button>
</center>
diff --git a/yaksh/templates/yaksh/addteacher.html b/yaksh/templates/yaksh/addteacher.html
index fa322f3..58f48d9 100644
--- a/yaksh/templates/yaksh/addteacher.html
+++ b/yaksh/templates/yaksh/addteacher.html
@@ -1,76 +1,86 @@
-{% extends "manage.html" %}
-
-{% block title %} Add teacher {% endblock title %}
-{% block subtitle %} {{ course.name }} {% endblock %}
-
-{% block content %}
-<div class="yakshwell container">
-<center><h3>Add Teachers for this course</h3><br></center>
-<center><h3>Search teacher with username, firstname, lastname, email</h3><br></center>
-<div align="center">
- <form action="{{ URL_ROOT }}/exam/manage/searchteacher/{{ course.id }}/" method="post">
- {% csrf_token %}
- Search Teacher: <input type="text" name="uname" style="height: 25px; padding: 0px"><br><br>
- <center><button class="btn btn-info" type="submit">Search</button>
- <button class="btn btn-danger" type="button" name="button" onClick='location.replace("{{URL_ROOT}}/exam/manage/courses");'>Cancel</button> </center></form>
-</div>
+<div class="container">
+<center><h3>Add Teachers/TAs</h3><br></center>
+<form action="{% url 'yaksh:search_teacher' course.id %}" method="post">
+ {% csrf_token %}
+ <div class="form-group">
+ <input class="form-control form-control-lg" type="text" name="uname" id="inputLarge" placeholder="Search teachers with username, firstname, lastname, email" required>
+ </div>
+ <center>
+ <button class="btn btn-info btn-lg" type="submit">
+ <i class="fa fa-search"></i>
+ Search
+ </button>
+ </center>
+</form>
<br><br>
-<form action="{{ URL_ROOT }}/exam/manage/addteacher/{{ course.id }}/" method="post">
-{% csrf_token %}
-{% if success == True %}
- {% if teachers|length == 0 %}
- <center><h3>No results found</h3></center>
- {% else %}
- <center><b><u>Search Results</u></b></center><br>
- <center><b>Search results does not include teachers already added</b></center><br>
- <table class="table table-striped table-responsive-sm">
+{% if success %}
+ {% if teachers|length == 0 %}
+ <center><h3 class="badge badge-warning">No results found</h3></center>
+ {% else %}
+ <center><b><u>Search Results</u></b></center><br>
+ <center>
+ <p class="alert alert-info">
+ Search results does not include teachers already added
+ </p>
+ </center>
+ <br>
+ <form action="{% url 'yaksh:add_teacher' course.id %}" method="post">
+ {% csrf_token %}
+ <table class="table table-striped table-responsive-sm course-detail">
<th></th>
<th>Username</th>
- <th>First Name</th>
- <th>Last Name</th>
- <th>Email</th>
- <th>Institute</th>
- <th>Department</th>
+ <th>First Name</th>
+ <th>Last Name</th>
+ <th>Email</th>
+ <th>Institute</th>
+ <th>Department</th>
<th>Position</th>
- {% for teacher in teachers %}
- {% if teacher not in course.get_teachers %}
- <tr class="yakshgreen">
- <td><input type="checkbox" name="check" value="{{ teacher.id }}"></td>
- <td>{{ teacher.username }}</td>
- <td>{{ teacher.first_name }}</td>
- <td>{{ teacher.last_name }}</td>
- <td>{{ teacher.email }}</td>
- <td>{{ teacher.profile.institute }}</td>
- <td>{{ teacher.profile.department }}</td>
- <td>{{ teacher.profile.position }}</td>
- </tr>
- {% endif %}
- {% endfor %}
- </table>
- </br>
- <button class="btn btn-success" type="submit">Add Selected</button>
- {% endif %}
+ {% for teacher in teachers %}
+ {% if teacher not in course.get_teachers %}
+ <tr class="yakshgreen">
+ <td><input type="checkbox" name="check" value="{{ teacher.id }}"></td>
+ <td>{{ teacher.username }}</td>
+ <td>{{ teacher.first_name }}</td>
+ <td>{{ teacher.last_name }}</td>
+ <td>{{ teacher.email }}</td>
+ <td>{{ teacher.profile.institute }}</td>
+ <td>{{ teacher.profile.department }}</td>
+ <td>{{ teacher.profile.position }}</td>
+ </tr>
+ {% endif %}
+ {% endfor %}
+ </table>
+ </br>
+ <button class="btn btn-success btn-lg" type="submit">
+ <i class="fa fa-plus-circle"></i>
+ Add Selected
+ </button>
+ </form>
+ {% endif %}
{% endif %}
-</form>
-{% if status == True %}
-<div class="row">
- <div class="span6 offset4 wrap">
+
+
+{% if status %}
+<div class="container">
+ <center><b><u>Teacher(s) added</u></b></center>
+ <br>
{% if teachers_added %}
- {% for teacher in teachers_added %}
- <div class="well">
- <div class="row">
- <div class="span3" style="width: auto;">
- <h5>{{ teacher.get_full_name }}</h5>
- </div>
- </div>
- </div>
- {% endfor %}
+ <table class="table table-responsive-sm">
+ <tr>
+ <th>Sr No.</th>
+ <th>Name</th>
+ </tr>
+ {% for teacher in teachers_added %}
+ <tr>
+ <td>{{forloop.counter}}</td>
+ <td>{{ teacher.get_full_name }}</td>
+ </tr>
+ {% endfor %}
+ <table>
{% else %}
- <center><b>No Teacher(s) Added</b></center>
+ <center><b class="badge badge-info">No Teacher(s)TA(s) Added</b></center>
{% endif %}
- </div>
</div>
{% endif %}
</div>
-{% endblock %}
diff --git a/yaksh/templates/yaksh/course_added_modules.html b/yaksh/templates/yaksh/course_added_modules.html
new file mode 100644
index 0000000..99f5dda
--- /dev/null
+++ b/yaksh/templates/yaksh/course_added_modules.html
@@ -0,0 +1,49 @@
+{% if is_modules %}
+ {% block pagetitle %} <center> <h3>Course Modules</h3> </center> {% endblock %}
+ {% if modules %}
+ <table class="table table-responsive">
+ <tr>
+ <th>Module</th>
+ <th>Module Design</th>
+ <th>Lessons/Quizzes</th>
+ </tr>
+ {% for module in modules %}
+ <tr>
+ <td>
+ <a href="{{URL_ROOT}}/exam/manage/courses/add_module/{{module.id}}/{{course.id}}">
+ {{module.name}}</a>
+ </td>
+ <td>
+ <a href="{{URL_ROOT}}/exam/manage/courses/designmodule/{{module.id}}/{{course.id}}/">
+ Add Quizzes/Lessons for {{module.name}}
+ </a>
+ </td>
+ <td>
+ {% for unit in module.get_learning_units %}
+ <ul class="inputs-list">
+ <li>
+ {% if unit.type == "quiz" %}
+ {% if unit.quiz.is_exercise %}
+ <a href="{{URL_ROOT}}/exam/manage/add_exercise/{{unit.quiz.id}}/{{course.id}}">
+ {{unit.quiz.description}}</a>
+ {% else %}
+ <a href="{{URL_ROOT}}/exam/manage/addquiz/{{unit.quiz.id}}/{{course.id}}">
+ {{unit.quiz.description}}</a>
+ {% endif %}
+ {% else %}
+ <a href="{{URL_ROOT}}/exam/manage/courses/edit_lesson/{{unit.lesson.id}}/{{course.id}}">
+ {{unit.lesson.name}}</a>
+ {% endif %}
+ </li>
+ </ul>
+ {% endfor %}
+ </td>
+ </tr>
+ {% endfor %} <!-- end for modules -->
+ </table>
+ {% else %}
+ <center>
+ <span class="badge badge-warning"><big>No learning modules</big></span>
+ </center>
+ {% endif %}
+{% endif %} \ No newline at end of file
diff --git a/yaksh/templates/yaksh/course_detail.html b/yaksh/templates/yaksh/course_detail.html
index f75e362..2caf109 100644
--- a/yaksh/templates/yaksh/course_detail.html
+++ b/yaksh/templates/yaksh/course_detail.html
@@ -1,383 +1,83 @@
{% extends "manage.html" %}
+{% load static %}
{% load custom_filters %}
{% block title %} Course Details {% endblock title %}
-<div class="text-center col-md-offset-2">
-{% block pagetitle %} Course Details for {{ course.name|title }} {% endblock %}
-</div>
-
{% block script %}
-<script language="JavaScript" type="text/javascript" src="{{ URL_ROOT }}/static/yaksh/js/course.js"></script>
-<script type="text/javascript" src="{{ URL_ROOT }}/static/yaksh/js/tinymce/js/tinymce/tinymce.min.js"></script>
-<script src="{{ URL_ROOT }}/static/yaksh/js/jquery-ui.js"></script>
-<script src="{{ URL_ROOT }}/static/yaksh/js/jquery.tablesorter.min.js"></script>
+<script type="text/javascript" src="{% static 'yaksh/js/course.js' %}"></script>
+<script type="text/javascript" src="{% static 'yaksh/js/tinymce/js/tinymce/tinymce.min.js' %}"></script>
+<script type="text/javascript" src="{% static 'yaksh/js/jquery-ui.js' %}"></script>
+<script type="text/javascript" src="{% static 'yaksh/js/jquery.tablesorter.min.js' %}">
+</script>
{% endblock %}
{% block css %}
-<link rel="stylesheet" href="{{ URL_ROOT }}/static/yaksh/css/jquery-ui/jquery-ui.css">
+<link rel="stylesheet" href="{% static 'yaksh/css/jquery-ui/jquery-ui.css' %}">
<style>
.user_data + .tooltip.top > .tooltip-inner {
padding: 12px;
- font-size: 10px;
+ font-size: 8px;
}
</style>
{% endblock %}
+
+<div class="text-center">
+{% block pagetitle %} <h1>{{ course.name|title }}</h1> {% endblock %}
+</div>
+
{% block content %}
-<div class="row">
- <!-- Side bar -->
- <div class="col-md-3 yakshlabel collapse" id="sidebar">
- <div class="list-group">
- {% if state == 'mail' or state == 'course_status' %}
- <a href="{{URL_ROOT}}/exam/manage/course_detail/{{course.id}}/" class="list-group-item" data-parent="#sidebar"><i class="fa fa-caret-left"></i> Go to Course Details </a>
- {% else %}
- <a href="#student-requests" id="request" class="list-group-item" data-parent="#sidebar"> Requested Students </a>
- <a href="#enrolled-students" id="enroll-students" class="list-group-item" data-parent="#sidebar"> Enrolled Students</a>
- <a href="#rejected-students" id="reject-students" class="list-group-item" data-parent="#sidebar"> Rejected Students </a>
- {% endif %}
- <a href="{{URL_ROOT}}/exam/manage/send_mail/{{ course.id }}/" class="list-group-item" data-parent="#sidebar"> Send Mail </a>
- <a href="{{URL_ROOT}}/exam/manage/course_status/{{ course.id }}/" class="list-group-item" data-parent="#sidebar"> View Course Status </a>
+<hr>
+<div id="dialog" title="Alert">
+ <p id="error_msg"></p>
+</div>
+<div class="container-fluid">
+ <div class="row">
+ <div class="col-sm-3">
+ {% include "yaksh/course_detail_options.html" %}
</div>
- </div>
- <a href="#sidebar" data-toggle="collapse" id="sidebaricon"><i class="fa fa-navicon fa-lg"></i></a>
- <!-- End of sidebar -->
- <main class="col" id="sidebarbody">
- <div class="container-fluid yakshwell">
-
- <form id="upload_users" action="{{ URL_ROOT }}/exam/manage/upload_users/{{course.id}}/"
- method="POST" enctype="multipart/form-data" class="yakshwell">
- {% csrf_token %}
- <input type="file" name="csv_file" />
- <button class="btn btn-outline-primary" type=submit> Upload Users <span class="glyphicon glyphicon-open"/></button>
- </form>
- <div class="card" role="alert">
- <div class="card-body">
- <p>
- - The uploaded csv should have headers exactly same as mentioned below:<br />
- <b>firstname, lastname, email, username, password, institute, roll_no, department,
- remove</b><br />
- - Mandatory fields are <b> firstname, lastname and email. </b><br />
- - Other fields are optional. <br />
- - If username and password are not provided then
- <b>Users created will have username and password same as their email</b>
- </p>
- <p>
- <b> Click <a class="btn btn-success" href="{{ URL_ROOT }}/exam/manage/download_sample_csv/
- ">here</a> to download a sample CSV, edit and upload it</b>
- </p>
- </div>
- </div>
- <div class="yakshwell">
- {% if message %}
- <center>
- <div class="alert alert-warning animated flash col-md-8" role="alert">
- <strong> {{ message }} </strong>
- </div>
- </center>
- {% endif %}
- {% if upload_details %}
- <div class="alert alert-info" role="info">
- {% for detail in upload_details %}
- <strong> {{ detail }} </strong><br>
- {% endfor %}
+ <div class="col-md-9">
+ <div class="tab-content">
+ {% if messages %}
+ {% for message in messages %}
+ <div class="alert alert-dismissible alert-{{ message.tags }}">
+ <button type="button" class="close" data-dismiss="alert">
+ <i class="fa fa-close"></i>
+ </button>
+ <strong>{{ message }}</strong>
</div>
+ {% endfor %}
{% endif %}
-
- {% if state == 'mail' %}
- <div id="enrolled-students" >
- <center ><div class="yakshlabel"><h5>Send Mails to Students</h5></div></center><br>
- {% if course.get_enrolled %}
- <input type="checkbox" class="reject"/>&nbsp;<font class="text-info">Select all</font>
- <div id="reject" class="yakshwell">
- <form action="{{URL_ROOT}}/exam/manage/send_mail/{{ course.id }}/" method="post" id="send_mail_form">
- {% csrf_token %}
- <table id="mail_table" class="tablesorter table table-striped table-responsive-sm" data-sortlist="[1,0]">
- <thead>
- <th></th>
- <th></th>
- <th>Full Name</th>
- <th>Email</th>
- <th>Roll Number</th>
- <th>Institute</th>
- <th>Department</th>
- </thead>
- <tbody>
- {% for enrolled in course.get_enrolled %}
- <tr>
- <td><input type="checkbox" name="check" value="{{ enrolled.id }}"></td>
- <td>{{ forloop.counter }}.</td>
- <td> {{ enrolled.get_full_name|title }} </td>
- <td> {{enrolled.email}}</td>
- <td> {{enrolled.profile.roll_number}}</td>
- <td> {{enrolled.profile.institute}}</td>
- <td> {{enrolled.profile.department}}</td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- <br>
- <div class="card">
- <textarea name="subject" id="subject" placeholder="Email Subject" cols="50"></textarea>
- <br><br>
- <textarea name="body" id="email_body"></textarea><br>
- <span class="yakshwell"> Attachments: <input type="file" name="email_attach" multiple=""></span>
- <br>
- </div>
- <div class="text-center yakshwell">
- <button class="btn btn-success" type="submit" name='send_mail' value='send_mail' id="send_mail">
- Send Mail to Selected Students</button>
- </div>
- </form>
- </div>
- {% endif %}
- </div>
- {% elif state == "course_status" %}
- <div class="course_data">
-
- <center>
- <div class="row">
- <div class="col">
- <h5>Course Status</h5>
- </div>
- <div class="col-md-8">
- Number Of Students: {{ student_details | length }}
- </div>
- <div class="col">
- <input type="hidden" id="course_name" value="{{course.name}}">
- <a href="#" class="btn btn-outline-success" id="export">Export to CSV</a>
- </div>
- </div>
- </center>
- <div class="yakshwell">
- <table class="tablesorter table table-bordered table-responsive-sm" id="course_table" data-sortlist="[0,0]">
- <thead>
- <tr class="yakshlight">
- <th>Roll No.</th>
- <th>Name</th>
- <th>Current Unit</th>
- <th>Course Completion Percentage</th>
- <th>Grade</th>
- </tr>
- </thead>
- <tbody>
- {% for student, grade, percent, unit in student_details %}
- <tr>
- <td>
- {{ student.profile.roll_number}}
- </td>
- <td width="50%">
- <a class="user_data" data-item-id="{{course.id}}+{{student.id}}" data-toggle="tooltip" title="Click to view Overall Course progress" data-placement="top">
- {{ student.get_full_name|title}}
- <i class="fa fa-caret-down"></i>
- </a>
- <div id="show_status_{{course.id}}_{{student.id}}" style="display: None;">
- </div>
- </td>
- <td>
- {% if unit %}
- {% if unit.type == 'quiz' %}
- {{unit.quiz.description}}
- {% else %}
- {{unit.lesson.name}}
- {% endif %}
- {% else %}
- NA
- {% endif%}
- </td>
- <td>
- {{ percent }} %
- </td>
- <td>
- {{ grade }}
- </td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- </div>
- </div>
+ {% if is_students %}
+ {% include "yaksh/course_students.html" %}
+ {% elif is_mail %}
+ {% include "yaksh/course_send_mail.html" %}
+ {% elif is_progress %}
+ {% include "yaksh/course_progress.html" %}
+ {% elif is_modules %}
+ {% include "yaksh/course_added_modules.html" %}
+ {% elif is_design_course %}
+ {% include "yaksh/design_course_session.html" %}
+ {% elif is_add_teacher %}
+ {% include "yaksh/addteacher.html" %}
+ {% elif is_teachers %}
+ {% include "yaksh/course_teachers.html" %}
{% else %}
- <div id="students_enrollment">
- <div id="student-requests" class="card">
- <center><div class="yakshlabel card-heading">Requests</div></center><br>
- <div class="card-body">
- {% if course.get_requests %}
- <input type="checkbox" class="checkall"/>&nbsp;<font size="2">Select all</font>
- <div id="enroll-all">
- <form action="{{URL_ROOT}}/exam/manage/enroll/{{ course.id }}/" method="post">
- {% csrf_token %}
- <table id="requested_table" class="tablesorter table table-striped table-responsive-sm" data-sortlist="[1,0]">
- <thead>
- <th></th>
- <th></th>
- <th>Full Name</th>
- <th>Email</th>
- <th>Roll Number</th>
- <th>Institute</th>
- <th>Department</th>
- <th>Enroll/Reject</th>
- </thead>
- <tbody>
- {% for request in course.get_requests %}
- <tr>
- <td><input type="checkbox" name="check" value="{{ request.id }}"></td>
- <td>{{ forloop.counter }}.</td>
- <td>{{request.get_full_name}}</td>
- <td> {{request.email}}</td>
- <td> {{request.profile.roll_number}}</td>
- <td> {{request.profile.institute}}</td>
- <td> {{request.profile.department}}</td>
- <td>
- <a class="btn btn-success"
- href="{{URL_ROOT}}/exam/manage/enroll/{{ course.id }}/{{ request.id }}/">
- Enroll </a>
- <a class="btn btn-danger"
- href="{{URL_ROOT}}/exam/manage/reject/{{ course.id }}/{{ request.id }}/">
- Reject </a>
- </td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- <button class="btn btn-success pull-right" type="submit" name='enroll' value='enroll'>Enroll Selected</button> <br>
- </form>
- </div>
- {% else %}
- <center>
- <span class="badge badge-warning"><big> No requests yet</big></span>
- </center>
- {% endif %}
- </div>
- </div>
- <br>
- <div id="enrolled-students" class="card">
- <center><div class="yakshlabel card-heading">Enrolled</div></center><br>
- <div class="card-body">
- {% if course.get_enrolled %}
- <input type="checkbox" class="reject"/>&nbsp;<font size="2">Select all</font>
- <div id="reject">
- <form action="{{URL_ROOT}}/exam/manage/enrolled/reject/{{ course.id }}/" method="post" id="reject-form">
- {% csrf_token %}
- <table id="enrolled_table" class="tablesorter table table-striped table-responsive-sm" data-sortlist="[1,0]">
- <thead>
- <th></th>
- <th></th>
- <th>Full Name</th>
- <th>Email</th>
- <th>Roll Number</th>
- <th>Institute</th>
- <th>Department</th>
- <th>Reject</th>
- </thead>
- <tbody>
- {% for enrolled in course.get_enrolled %}
- <tr>
- <td><input type="checkbox" name="check" value="{{ enrolled.id }}"></td>
- <td>{{ forloop.counter }}.</td>
- <td> {{ enrolled.get_full_name|title }} </td>
- <td> {{enrolled.email}}</td>
- <td> {{enrolled.profile.roll_number}}</td>
- <td> {{enrolled.profile.institute}}</td>
- <td> {{enrolled.profile.department}}</td>
- <td><a class="btn btn-danger"
- href="{{URL_ROOT}}/exam/manage/enrolled/reject/{{ course.id }}/{{ enrolled.id }}/">
- Reject </a>
- </td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- <button class="btn btn-danger pull-right" type="submit" name='reject' value='reject'>
- Reject Selected</button> <br>
- </form>
- </div>
- {% else %}
- <center>
- <span class="badge badge-warning"><big> No enrolled students yet</big></span>
- </center>
- {% endif %}
- </div>
- </div>
- <br>
- <div id="rejected-students" class="card">
- <center><div class="yakshlabel card-heading">Rejected</div></center><br>
- <div class="card-body">
- {% if course.get_rejected %}
- <input type="checkbox" class="enroll"/>&nbsp;<font size="2">Select all</font>
- <div id="enroll">
- <form action="{{URL_ROOT}}/exam/manage/enroll/rejected/{{ course.id }}/" method="post">
- {% csrf_token %}
- <table id="rejected_table" class="tablesorter table table-striped table-responsive-sm" data-sortlist="[1,0]">
- <thead>
- <th></th>
- <th></th>
- <th>Full Name</th>
- <th>Email</th>
- <th>Roll Number</th>
- <th>Institute</th>
- <th>Department</th>
- <th>Enroll</th>
- </thead>
- <tbody>
- {% for rejected in course.get_rejected %}
- <tr>
- <td><input type="checkbox" name="check" value="{{ rejected.id }}"></td>
- <td>{{ forloop.counter }}.</td>
- <td>{{rejected.get_full_name|title}}</td>
- <td> {{rejected.email}}</td>
- <td> {{rejected.profile.roll_number}}</td>
- <td> {{rejected.profile.institute}}</td>
- <td> {{rejected.profile.department}}</td>
- <td>
- <a class="btn btn-success"
- href="{{URL_ROOT}}/exam/manage/enroll/rejected/{{ course.id }}/{{ rejected.id }}/">
- Enroll </a>
- </td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- <br>
- <button class="btn btn-success pull-right" type="submit" name='enroll' value='enroll'>
- Enroll Selected</button> <br>
- </form>
- </div>
- {% else %}
- <center>
- <span class="badge badge-warning"><big> No rejected students yet</big></span>
- </center>
- {% endif %}
- </div>
- </div>
+ <div class="jumbotron">
+ <h1 class="display-3">Hello, world!</h1>
+ <p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
+ <hr class="my-4">
+ <p>It uses utility classes for typography and spacing to space content out within the larger container.</p>
+ <p class="lead">
+ <a class="btn btn-primary btn-lg" href="#" role="button">
+ <i class="fa fa-info-circle"></i>
+ Learn more
+ </a>
+ </p>
</div>
{% endif %}
</div>
- <!-- Dialog to display error message -->
- <div id="dialog" title="Alert">
- <p id="error_msg"></p>
- </div>
</div>
- </main>
+ </div>
</div>
{% endblock %}
-{% block footer %}
- <!--footer-->
- <footer class="container-fluid yakshsidebarfooter text-center">
- <div class="row justify-content-center">
- <div class="col-sm-5 ">
- {% if user %}
- {% block info %}
- <b>{{user.get_full_name|title}}</b> with Roll no. <b>{{user.profile.roll_number}}</b> is logged in as <b>{{user.username}}</b>
- {% endblock %}
- {% endif %}
- </div>
- <div class="col-sm-2">
- |
- </div>
- <div class="col-sm-4 text-left">
- <b>Any Queries?</b> Email : info@fossee.in
- </div>
- </div>
- </footer>
- <!--footer end-->
-{% endblock %}
diff --git a/yaksh/templates/yaksh/course_detail_options.html b/yaksh/templates/yaksh/course_detail_options.html
new file mode 100644
index 0000000..43422ed
--- /dev/null
+++ b/yaksh/templates/yaksh/course_detail_options.html
@@ -0,0 +1,47 @@
+<ul class="nav nav-pills list-group">
+ <li class="nav-item">
+ <a href="{% url 'yaksh:courses' %}" class="nav-link list-group-item" title="View all the courses" data-placement="top" data-toggle="tooltip">
+ Back to Courses
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="{% url 'yaksh:course_students' course.id %}" id="enroll-students" class="nav-link list-group-item {% if is_students %} active {% endif %}" title="View the course requested, rejected and added students" data-placement="top" data-toggle="tooltip">
+ Enroll Students
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="{% url 'yaksh:send_mail' course.id %}" class="nav-link list-group-item {% if is_mail %} active {% endif %}" title="Send mail to course students" data-placement="top" data-toggle="tooltip">
+ Send Mail
+ </a>
+ </li>
+ <li class="nav-item">
+ <a href="{% url 'yaksh:course_status' course.id %}" class="nav-link list-group-item {% if is_progress %} active {% endif %}" title="View Students course progress" data-placement="top" data-toggle="tooltip">
+ Course Progress
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link list-group-item" href="{% url 'yaksh:duplicate_course' course.id %}" data-toggle="tooltip" title="Creates copy of this course and all its contents" data-placement="top">
+ Clone Course
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link list-group-item {% if is_design_course %} active {% endif %}" href="{% url 'yaksh:design_course' course.id %}" title="Add modules to this course" data-placement="top" data-toggle="tooltip">
+ Design Course
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link list-group-item {% if is_modules %} active {% endif %}" href="{% url 'yaksh:get_course_modules' course.id %}" title="View modules added to the course" data-placement="top" data-toggle="tooltip">
+ Course Modules
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link list-group-item {% if is_add_teacher %} active {% endif %}" href="{% url 'yaksh:search_teacher' course.id %}" data-toggle="tooltip" title="Add Teachers/TAs to this course" data-placement="top">
+ Add Teachers/TAs
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link list-group-item {% if is_teachers %} active {% endif %}" href="{% url 'yaksh:course_teachers' course.id %}" data-toggle="tooltip" title="View all the Teachers/TAs for this course" data-placement="top">
+ Current Teachers/TAs
+ </a>
+ </li>
+</ul> \ No newline at end of file
diff --git a/yaksh/templates/yaksh/course_progress.html b/yaksh/templates/yaksh/course_progress.html
new file mode 100644
index 0000000..d7bb1c5
--- /dev/null
+++ b/yaksh/templates/yaksh/course_progress.html
@@ -0,0 +1,65 @@
+<!-- Course Status -->
+{% if is_progress %}
+<div class="course_data">
+ {% if student_details %}
+ <div class="text-center">
+ <h3>Course Progress</h3>
+ <div class="col">
+ Number Of Students: {{ student_details | length }}
+ </div>
+ </div>
+ <table class="tablesorter table table-bordered table-responsive-sm" id="course_table" data-sortlist="[0,0]">
+ <thead>
+ <tr>
+ <th>Roll No.</th>
+ <th>Name</th>
+ <th>Current Unit</th>
+ <th>Completion Percentage</th>
+ <th>Grade</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for student, grade, percent, unit in student_details %}
+ <tr>
+ <td>
+ {{ student.profile.roll_number}}
+ </td>
+ <td width="50%">
+ <a class="user_data" data-item-id="{{course.id}}+{{student.id}}" data-toggle="tooltip" title="Click to view Overall Course progress" data-placement="top">
+ {{ student.get_full_name|title}}
+ <i class="fa fa-caret-down"></i>
+ </a>
+ <div id="show_status_{{course.id}}_{{student.id}}" style="display: None;">
+ </div>
+ </td>
+ <td>
+ {% if unit %}
+ {% if unit.type == 'quiz' %}
+ {{unit.quiz.description}}
+ {% else %}
+ {{unit.lesson.name}}
+ {% endif %}
+ {% else %}
+ NA
+ {% endif%}
+ </td>
+ <td>
+ {{ percent }} %
+ </td>
+ <td>
+ {{ grade }}
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ {% else %}
+ <center>
+ <span class="badge badge-warning">
+ <big>No course data found</big>
+ </span>
+ </center>
+ {% endif %}
+</div>
+<!-- End Course Status -->
+{% endif %} \ No newline at end of file
diff --git a/yaksh/templates/yaksh/course_send_mail.html b/yaksh/templates/yaksh/course_send_mail.html
new file mode 100644
index 0000000..57442a6
--- /dev/null
+++ b/yaksh/templates/yaksh/course_send_mail.html
@@ -0,0 +1,63 @@
+<!-- Send Mail -->
+{% if is_mail %}
+<div id="send-mail">
+ {% if enrolled %}
+ <form action="{% url 'yaksh:send_mail' course.id %}" method="post" id="send_mail_form" enctype="multipart/form-data">
+ {% csrf_token %}
+ <div class="card">
+ <div class="card-body">
+ <textarea name="subject" class="form-control" id="subject" placeholder="Email Subject"></textarea>
+ <br><br>
+ <textarea name="body" id="email_body"></textarea><br>
+ Attachments:
+ <div class="input-group mb-3">
+ <div class="custom-file">
+ <input type="file" class="custom-file-input" name="email_attach" id="upload" multiple="">
+ <label class="custom-file-label" for="upload">Choose file</label>
+ </div>
+ </div>
+ <br>
+ </div>
+ </div>
+ <br>
+ <input type="checkbox" class="send_check"/>&nbsp;
+ <font size="5">Select all</font>
+ <div id="sender_list">
+ <table id="mail_table" class="tablesorter table table-striped table-responsive-sm course-detail" data-sortlist="[1,0]">
+ <thead>
+ <th></th>
+ <th>Full Name&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Email&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Roll Number&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Institute&nbsp;<i class="fa fa-sort"></i></th>
+ </thead>
+ <tbody>
+ {% for enroll in enrolled %}
+ <tr>
+ <td>
+ {{ forloop.counter }}.
+ <input type="checkbox" name="check" value="{{ enroll.id }}">
+ </td>
+ <td> {{ enroll.get_full_name|title }} </td>
+ <td> {{enroll.email}}</td>
+ {% with enroll.profile as user_profile %}
+ <td> {{user_profile.roll_number}}</td>
+ <td> {{user_profile.institute}}</td>
+ {% endwith %}
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ <button class="btn btn-success btn-lg" type="submit" name='send_mail' value='send_mail' id="send_mail">
+ Send Mail
+ </button>
+ </div>
+ </form>
+ {% else %}
+ <center>
+ <span class="badge badge-warning"><big> No enrolled students yet</big></span>
+ </center>
+ {% endif %}
+</div>
+<!-- End send mail -->
+{% endif %} \ No newline at end of file
diff --git a/yaksh/templates/yaksh/course_students.html b/yaksh/templates/yaksh/course_students.html
new file mode 100644
index 0000000..9d14d98
--- /dev/null
+++ b/yaksh/templates/yaksh/course_students.html
@@ -0,0 +1,245 @@
+{% if is_students %} <!-- Start if course students -->
+<!-- Upload Users -->
+<div id="accordian-upload" class="card">
+ <div class="card-header">
+ <a class="card-link" data-toggle="collapse" href="#upload_users_csv">
+ Upload Users&nbsp;<i class="fa fa-angle-down"></i>
+ </a>
+ </div>
+</div>
+<div id="upload_users_csv" class="collapse hide" data-parent="#accordion-upload">
+ <div class="card-body">
+ <form id="upload_users" action="{% url 'yaksh:upload_users' course.id %}" method="POST" enctype="multipart/form-data">
+ {% csrf_token %}
+ <div class="input-group mb-3">
+ <div class="custom-file">
+ <input type="file" class="custom-file-input" name="csv_file" id="upload"/>
+ <label class="custom-file-label" for="upload">Choose file</label>
+ </div>
+ <div class="input-group-append">
+ <button class="btn btn-outline-primary" type=submit>
+ <i class="fa fa-upload"></i>
+ Upload Users
+ </button>
+ </div>
+ </div>
+ </form>
+ <hr>
+ <p>
+ - The uploaded csv should have headers exactly same as mentioned below:<br />
+ <b>firstname, lastname, email, username, password, institute, roll_no, department,
+ remove</b><br />
+ - Mandatory fields are <b> firstname, lastname and email. </b><br />
+ - Other fields are optional. <br />
+ - If username and password are not provided then
+ <b>Users created will have username and password same as their email</b>
+ </p>
+ <p>
+ <b> Click
+ <a class="btn btn-success" href="{% url 'yaksh:download_sample_csv' %}">
+ here
+ </a> to download a sample CSV, edit and upload it</b>
+ </p>
+ </div>
+</div>
+<!-- End Upload users -->
+<br>
+<!-- Enrolled Students -->
+<div id="accordian-enrolled" class="card">
+ <div class="card-header">
+ <a class="card-link" data-toggle="collapse" href="#enrolled">
+ Enrolled Students&nbsp;<i class="fa fa-angle-down"></i>
+ </a>
+ </div>
+</div>
+<div id="enrolled" class="collapse hide" data-parent="#accordion-enrolled">
+ {% if enrolled %}
+ <br>
+ <input type="checkbox" class="reject"/>&nbsp;
+ <font size="5">Select all</font>
+ <div id="reject">
+ <form action="{% url 'yaksh:reject_users' course.id %}" method="post" id="reject-form">
+ {% csrf_token %}
+ <table id="enrolled_table" class="tablesorter table table-striped table-responsive-sm course-detail" data-sortlist="[1,0]" style="width: 100%">
+ <thead>
+ <th></th>
+ <th>Full Name&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Email&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Roll Number&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Institute&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Department&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Reject</th>
+ </thead>
+ <tbody>
+ {% for enroll in enrolled %}
+ <tr>
+ <td>
+ {{ forloop.counter }}.
+ <input type="checkbox" name="check" value="{{ enroll.id }}">
+ </td>
+ <td> {{ enroll.get_full_name|title }} </td>
+ <td> {{enroll.email}}</td>
+ {% with enroll.profile as enroll_profile %}
+ <td> {{enroll_profile.roll_number}}</td>
+ <td> {{enroll_profile.institute}}</td>
+ <td> {{enroll_profile.department}}</td>
+ {% endwith %}
+ <td>
+ <a class="btn btn-danger"
+ href="{% url 'yaksh:reject_user' course.id enroll.id %}">
+ <i class="fa fa-minus-square"></i>
+ Reject
+ </a>
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ <button class="btn btn-danger btn-lg" type="submit" name='reject' value='reject'>
+ <i class="fa fa-minus-square"></i>
+ Reject Selected
+ </button> <br>
+ </form>
+ </div>
+ {% else %}
+ <center>
+ <span class="badge badge-warning"><big> No enrolled students yet</big></span>
+ </center>
+ {% endif %}
+</div>
+<!-- End Enrolled Students -->
+
+<br>
+<!-- Requested Students -->
+<div id="accordian-request" class="card">
+ <div class="card-header">
+ <a class="card-link" data-toggle="collapse" href="#requested">
+ Requested Students&nbsp;<i class="fa fa-angle-down"></i>
+ </a>
+ </div>
+</div>
+<div id="requested" class="collapse hide" data-parent="#accordion-request">
+ {% if requested %}
+ <br>
+ <input type="checkbox" class="checkall"/>&nbsp;
+ <font size="5">Select all</font>
+ <div id="enroll-all">
+ <form action="{% url 'yaksh:enroll_users' course.id %}" method="post">
+ {% csrf_token %}
+ <table id="requested_table" class="tablesorter table table-striped table-responsive-sm course-detail" data-sortlist="[1,0]">
+ <thead>
+ <th></th>
+ <th>Full Name&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Email&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Roll Number&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Institute&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Department&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Enroll/Reject</th>
+ </thead>
+ <tbody>
+ {% for request in requested %}
+ <tr>
+ <td>
+ {{ forloop.counter }}.
+ <input type="checkbox" name="check" value="{{ request.id }}">
+ </td>
+ <td>{{request.get_full_name}}</td>
+ <td> {{request.email}}</td>
+ {% with request.profile as request_profile %}
+ <td> {{request_profile.roll_number}}</td>
+ <td> {{request_profile.institute}}</td>
+ <td> {{request_profile.department}}</td>
+ {% endwith %}
+ <td>
+ <a class="btn btn-success"
+ href="{% url 'yaksh:enroll_user' course.id request.id %}">
+ <i class="fa fa-plus-square"></i>
+ Enroll </a>
+ <a class="btn btn-danger"
+ href="{% url 'yaksh:reject_user' course.id request.id %}">
+ <i class="fa fa-minus-square"></i>
+ Reject </a>
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ <button class="btn btn-success btn-lg" type="submit" name='enroll' value='enroll'>
+ <i class="fa fa-plus-square"></i>
+ Enroll Selected
+ </button> <br>
+ </form>
+ </div>
+ {% else %}
+ <center>
+ <span class="badge badge-warning"><big> No requests yet</big></span>
+ </center>
+ {% endif %}
+</div>
+<!-- End Requested Students -->
+<br>
+<!-- Rejected Students -->
+<div id="accordian-rejected" class="card">
+ <div class="card-header">
+ <a class="card-link" data-toggle="collapse" href="#rejected">
+ Rejected Students&nbsp;<i class="fa fa-angle-down"></i>
+ </a>
+ </div>
+</div>
+<div id="rejected" class="collapse hide" data-parent="#accordion-rejected">
+ {% if rejected %}
+ <br>
+ <input type="checkbox" class="enroll"/>&nbsp;
+ <font size="5">Select all</font>
+ <div id="enroll">
+ <form action="{% url 'yaksh:enroll_rejected' course.id %}" method="post">
+ {% csrf_token %}
+ <table id="rejected_table" class="tablesorter table table-striped table-responsive-sm course-detail" data-sortlist="[1,0]">
+ <thead>
+ <th>Full Name&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Email&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Roll Number&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Institute&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Department&nbsp;<i class="fa fa-sort"></i></th>
+ <th>Enroll</th>
+ </thead>
+ <tbody>
+ {% for reject in rejected %}
+ <tr>
+ <td>
+ {{ forloop.counter }}.
+ <input type="checkbox" name="check" value="{{ reject.id }}">
+ </td>
+ <td>{{reject.get_full_name|title}}</td>
+ <td> {{reject.email}}</td>
+ {% with reject.profile as reject_profile %}
+ <td> {{reject_profile.roll_number}}</td>
+ <td> {{reject_profile.institute}}</td>
+ <td> {{reject_profile.department}}</td>
+ {% endwith %}
+ <td>
+ <a class="btn btn-success"
+ href="{% url 'yaksh:enroll_rejected' course.id reject.id %}">
+ <i class="fa fa-plus-square"></i>
+ Enroll </a>
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ <br>
+ <button class="btn btn-success btn-lg" type="submit" name='enroll' value='enroll'>
+ <i class="fa fa-plus-square"></i>
+ Enroll Selected
+ </button>
+ <br>
+ </form>
+ </div>
+ {% else %}
+ <center>
+ <span class="badge badge-warning"><big> No rejected students yet</big></span>
+ </center>
+ {% endif %}
+</div>
+<!-- End Rejected Students -->
+{% endif %} \ No newline at end of file
diff --git a/yaksh/templates/yaksh/course_teachers.html b/yaksh/templates/yaksh/course_teachers.html
new file mode 100644
index 0000000..1f241d0
--- /dev/null
+++ b/yaksh/templates/yaksh/course_teachers.html
@@ -0,0 +1,29 @@
+<center><h3>Teacher(s)/TA(s)</h3></center>
+<br>
+
+{% if teachers %}
+ <form action="{% url 'yaksh:remove_teacher' course.id %}" method="post">
+ {% csrf_token %}
+ <div class="container">
+ <table class="table table-responsive-sm course-detail">
+ <tr>
+ <th>Select</th>
+ <th>Name</th>
+ </tr>
+ {% for teacher in teachers %}
+ <tr>
+ <td><input type="checkbox" name="remove" value="{{ teacher.id }}"></td>
+ <td>{{ teacher.get_full_name }}</td>
+ </tr>
+ {% endfor %}
+ <table>
+ </div>
+ <br>
+ <button class="btn btn-danger btn-lg" type="submit" data-toggle="tooltip" title="Remove Selected Teachers from this course">
+ <i class="fa fa-minus-square"></i>
+ Remove Teachers
+ </button>
+ </form>
+{% else %}
+ <center><b class="badge badge-warning">No Teacher(s) added</b></center>
+{% endif %} \ No newline at end of file
diff --git a/yaksh/templates/yaksh/courses.html b/yaksh/templates/yaksh/courses.html
index e5f3936..d811cf7 100644
--- a/yaksh/templates/yaksh/courses.html
+++ b/yaksh/templates/yaksh/courses.html
@@ -119,17 +119,20 @@
<hr>
<div class="row">
<div class="col-md-4">
- <a href="{{URL_ROOT}}/exam/manage/edit_course/{{course.id}}" class="btn btn-primary">
+ <a href="{% url 'yaksh:edit_course' course.id %}" class="btn btn-info">
+ <i class="fa fa-edit"></i>
Edit Course
</a>
</div>
<div class="col-md-4">
- <a href="{% url 'yaksh:course_detail' course.id %}" class="btn btn-info">
+ <a href="{% url 'yaksh:course_detail' course.id %}" class="btn btn-primary">
+ <i class="fa fa-tasks"></i>
Manage Course
</a>
</div>
<div class="col-md-4">
- <a href="{{URL_ROOT}}/exam/manage/courses/download_course_csv/{{course.id}}" class="btn btn-secondary">
+ <a href="{% url 'yaksh:download_course_csv' course.id %}" class="btn btn-secondary">
+ <i class="fa fa-download"></i>
Download CSV
</a>
</div>
diff --git a/yaksh/templates/yaksh/design_course_session.html b/yaksh/templates/yaksh/design_course_session.html
index a2d9b08..52895ed 100644
--- a/yaksh/templates/yaksh/design_course_session.html
+++ b/yaksh/templates/yaksh/design_course_session.html
@@ -1,30 +1,20 @@
-{% extends "manage.html" %}
-{% load custom_filters %}
-{% block title %}Design Course Session{% endblock %}
+{% load static %}
-{% block pagetitle %}Design Course Session{% endblock %}
+{% block title %} <center> <h3> Design Course Session </h3> </center>{% endblock %}
{% block script %}
-<script src="{{ URL_ROOT }}/static/yaksh/js/jquery-3.3.1.min.js"></script>
-<script src="{{ URL_ROOT }}/static/yaksh/js/design_course.js"></script>
+<script language="JavaScript" type="text/javascript" src="{% static 'yaksh/js/design_course.js' %}"></script>
{% endblock %}
{% block css %}
-<link rel="stylesheet" media="all" type="text/css" href="{{ URL_ROOT }}/static/yaksh/css/design_course.css" />
+<link rel="stylesheet" href="{% static 'yaksh/css/design_course.css' %}">
{% endblock %}
-{% block main %}
-<div class="yakshwell container">
-<a href="{{URL_ROOT}}/exam/manage/courses/" class="btn btn-primary">
- Back to Courses
-</a>
-<br/>
-<br/>
-<form action="{{URL_ROOT}}/exam/manage/courses/designcourse/{{course_id}}/" method="POST" id="design_course_form">
+<form action="{% url 'yaksh:design_course' course.id %}" method="POST" id="design_course_form">
{% csrf_token %}
- <div class="tab-pane active" id="available-lesson-quiz">
+ <div id="available-lesson-quiz">
<div class="row">
- <div class="col-md-8 col-md-offset-2 available-list">
+ <div class="col-md-12 available-list">
<div id="fixed-available-wrapper">
<p><u><b>Available Modules:</b></u></p>
<div id="fixed-available">
@@ -65,7 +55,7 @@
</center>
<br><br>
</div>
- <div class="col-md-8 col-md-offset-2">
+ <div class="col-md-12">
<div id="fixed-added-wrapper">
<p><u><b>Chosen Modules:</b></u></p>
<div id="fixed-added">
@@ -145,6 +135,4 @@
</div>
</div> <!-- /.row -->
</div>
-</form>
-</div>
-{% endblock %} \ No newline at end of file
+</form> \ No newline at end of file
diff --git a/yaksh/templates/yaksh/moderator_dashboard.html b/yaksh/templates/yaksh/moderator_dashboard.html
index db37983..24be7b5 100644
--- a/yaksh/templates/yaksh/moderator_dashboard.html
+++ b/yaksh/templates/yaksh/moderator_dashboard.html
@@ -63,6 +63,7 @@
</div>
<div class="col-md-3">
<a href="{% url 'yaksh:course_detail' course.id %}" class="btn btn-primary btn-lg">
+ <i class="fa fa-tasks"></i>
Manage Course
</a>
</div>
@@ -115,6 +116,11 @@
<br>
{% endif %}
{% endwith %}
+ {% if trial_paper %}
+ {% for paper in trial_paper %}
+ <a href="{% url 'yaksh:grade_user' paper.question_paper.quiz.id paper.course.id %}">{{paper.question_paper.quiz.description}}</a>
+ {% endfor %}
+ {% endif %}
</div>
{% endblock %}
diff --git a/yaksh/templates/yaksh/showquestions.html b/yaksh/templates/yaksh/showquestions.html
index 4216d94..afd2ad9 100644
--- a/yaksh/templates/yaksh/showquestions.html
+++ b/yaksh/templates/yaksh/showquestions.html
@@ -160,13 +160,13 @@
<thead>
<tr class="yakshred">
<th> Select </th>
- <th> Summary </th>
- <th> Language </th>
- <th> Type </th>
- <th> Marks </th>
+ <th> Summary&nbsp;<i class="fa fa-sort"></i> </th>
+ <th> Language&nbsp;<i class="fa fa-sort"></i> </th>
+ <th> Type&nbsp;<i class="fa fa-sort"></i> </th>
+ <th> Marks&nbsp;<i class="fa fa-sort"></i> </th>
</tr>
</thead>
- <tbody>
+ <tbody>
{% for question in questions %}
<tr>
<td>