Enrolled
diff --git a/yaksh/templates/yaksh/editprofile.html b/yaksh/templates/yaksh/editprofile.html
new file mode 100644
index 0000000..b4cf037
--- /dev/null
+++ b/yaksh/templates/yaksh/editprofile.html
@@ -0,0 +1,21 @@
+{% extends "base.html" %}
+
+{% block title %} Edit Profile {% endblock %}
+
+{% block pagetitle %} Online Test {% endblock %}
+{% block formtitle %} Please fill in the following details {% endblock %}
+
+{% block content %}
+
+
+
+{% endblock content %}
diff --git a/yaksh/templates/yaksh/password_changed.html b/yaksh/templates/yaksh/password_changed.html
new file mode 100644
index 0000000..cce2d53
--- /dev/null
+++ b/yaksh/templates/yaksh/password_changed.html
@@ -0,0 +1,15 @@
+{% extends "base.html" %}
+
+{% block title %} Profile {% endblock %}
+
+{% block pagetitle %} Online Test {% endblock %}
+
+{% block script %}
+
+{% endblock script %}
+{% block content %}
+
Your Password is changed {{ user.first_name }}
+
Redirecting...
+{% endblock content %}
diff --git a/yaksh/templates/yaksh/profile_updated.html b/yaksh/templates/yaksh/profile_updated.html
new file mode 100644
index 0000000..6ccf177
--- /dev/null
+++ b/yaksh/templates/yaksh/profile_updated.html
@@ -0,0 +1,15 @@
+{% extends "base.html" %}
+
+{% block title %} Profile {% endblock %}
+
+{% block pagetitle %} Online Test {% endblock %}
+
+{% block script %}
+
+{% endblock script %}
+{% block content %}
+
Your Profile is changed {{ user.first_name }}
+
Redirecting...
+{% endblock content %}
diff --git a/yaksh/templates/yaksh/view_profile.html b/yaksh/templates/yaksh/view_profile.html
new file mode 100644
index 0000000..27bc5da
--- /dev/null
+++ b/yaksh/templates/yaksh/view_profile.html
@@ -0,0 +1,48 @@
+{% extends "base.html" %}
+
+{% block title %} View Profile {% endblock %}
+
+{% block pagetitle %} Online Test {% endblock %}
+{% block css %}
+
+{% endblock %}
+{% block content %}
+
+
+
+
+ Your Profile Information |
+
+
+ Firstname: |
+ {{ user.first_name }} |
+
+
+ Lastname: |
+ {{ user.last_name }} |
+
+
+ Email: |
+ {{ user.email }} |
+
+
+ Institute: |
+ {{ user.profile.institute }} |
+
+
+ Department: |
+ {{ user.profile.department }} |
+
+
+ Roll Number: |
+ {{ user.profile.roll_number }} |
+
+
+ Position: |
+ {{ user.profile.position }} |
+
+
+{% endblock %}
diff --git a/yaksh/urls.py b/yaksh/urls.py
index b2f894f..584064d 100644
--- a/yaksh/urls.py
+++ b/yaksh/urls.py
@@ -1,7 +1,8 @@
from django.conf.urls import patterns, url
from yaksh import views
from django.contrib.auth.views import password_reset, password_reset_confirm,\
- password_reset_done, password_reset_complete
+ password_reset_done, password_reset_complete, password_change,\
+ password_change_done
urlpatterns = [
url(r'^forgotpassword/$', password_reset, name="password_reset"),
@@ -11,6 +12,8 @@ urlpatterns = [
name='password_reset_done'),
url(r'^password_reset/complete/$', password_reset_complete,
name='password_reset_complete'),
+ url(r'^changepassword/$', 'password_change', name='password_change'),
+ url(r'^password_change/done/$', 'password_change_done', name='password_change_done'),
]
urlpatterns += [
url(r'^$', views.index),
@@ -34,7 +37,6 @@ urlpatterns += [
views.skip),
url(r'^enroll_request/(?P
\d+)/$', views.enroll_request),
url(r'^self_enroll/(?P\d+)/$', views.self_enroll),
-
url(r'^manage/$', views.prof_manage),
url(r'^manage/addquestion/$', views.add_question),
url(r'^manage/addquestion/(?P\d+)/$', views.add_question),
@@ -74,4 +76,8 @@ urlpatterns += [
url(r'manage/toggle_status/(?P\d+)/$', views.toggle_course_status),
url(r'^ajax/questionpaper/(?P.+)/$', views.ajax_questionpaper),
url(r'^ajax/questions/filter/$', views.ajax_questions_filter),
+ url(r'^manage/editprofile/$', views.edit_profile),
+ url(r'^manage/viewprofile/$', views.view_profile),
+ url(r'^manage/enroll/(?P\d+)', views.enroll)
]
+
diff --git a/yaksh/views.py b/yaksh/views.py
index 8b0a131..2738a26 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -22,7 +22,7 @@ from yaksh.models import Quiz, Question, QuestionPaper, QuestionSet, Course
from yaksh.models import Profile, Answer, AnswerPaper, User, TestCase
from yaksh.forms import UserRegisterForm, UserLoginForm, QuizForm,\
QuestionForm, RandomQuestionForm, TestCaseFormSet,\
- QuestionFilterForm, CourseForm
+ QuestionFilterForm, CourseForm, EditProfile
from yaksh.xmlrpc_clients import code_server
from settings import URL_ROOT
from yaksh.models import AssignmentUpload
@@ -603,20 +603,31 @@ def courses(request):
@login_required
def course_detail(request, course_id):
user = request.user
+ ci = RequestContext(request)
if not is_moderator(user):
raise Http404('You are not allowed to view this page')
course = get_object_or_404(Course, creator=user, pk=course_id)
- return my_render_to_response('yaksh/course_detail.html', {'course': course})
+ return my_render_to_response('yaksh/course_detail.html', {'course': course},
+ context_instance=ci)
@login_required
-def enroll(request, course_id, user_id, was_rejected=False):
+def enroll(request, course_id, user_id=None, was_rejected=False):
user = request.user
+ ci = RequestContext(request)
if not is_moderator(user):
raise Http404('You are not allowed to view this page')
course = get_object_or_404(Course, creator=user, pk=course_id)
- user = get_object_or_404(User, pk=user_id)
- course.enroll(was_rejected, user)
+ if request.method == 'POST':
+ enroll_ids = request.POST.getlist('check')
+ if enroll_ids is None:
+ return my_render_to_response('yaksh/course_detail.html', {'course': course},
+ context_instance=ci)
+ else:
+ course.enroll(was_rejected, *enroll_ids)
+ else:
+ user = get_object_or_404(User, pk=user_id)
+ course.enroll(was_rejected, user)
return course_detail(request, course_id)
@@ -954,3 +965,49 @@ def design_questionpaper(request):
context = {'form': form, 'questionpaper':True}
return my_render_to_response('yaksh/design_questionpaper.html',
context, context_instance=ci)
+
+@login_required
+def view_profile(request):
+ """ view moderators and users profile """
+
+ context = {}
+ user = request.user
+ ci = RequestContext(request)
+ if not user.is_authenticated():
+ raise Http404('You are not allowed to view this page!')
+ else:
+ return my_render_to_response('yaksh/view_profile.html',
+ context_instance=ci)
+
+@login_required
+def edit_profile(request):
+ """ edit profile details facility for moderator and students """
+
+ context = {}
+ user = request.user
+ ci = RequestContext(request)
+ data = {}
+ if not user.is_authenticated():
+ raise Http404('You are not allowed to view this page!')
+ if request.method == 'POST':
+ form = EditProfile(request.POST)
+ if form.is_valid():
+ data = form.cleaned_data
+ form.save(user)
+ return my_render_to_response('yaksh/profile_updated.html',
+ context_instance=ci)
+ else:
+ context['form'] = form
+ return my_render_to_response('yaksh/editprofile.html', context,
+ context_instance=ci)
+ else:
+ data['first_name'] = user.first_name
+ data['last_name'] = user.last_name
+ data['institute'] = user.profile.institute
+ data['department'] = user.profile.department
+ data['roll_number'] = user.profile.roll_number
+ data['position'] = user.profile.position
+ form = EditProfile(initial=data)
+ context['form'] = form
+ return my_render_to_response('yaksh/editprofile.html', context,
+ context_instance=ci)
--
cgit