diff --git a/yaksh/views.py b/yaksh/views.py
index 8001520..1e4abcf 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -626,6 +626,9 @@ def enroll(request, course_id, user_id=None, was_rejected=False):
else:
enroll_users = User.objects.filter(id__in=enroll_ids)
course.enroll(was_rejected, *enroll_users)
+ elif user_id is None:
+ return my_render_to_response('yaksh/course_detail.html', {'course': course},
+ context_instance=ci)
else:
user = get_object_or_404(User, pk=user_id)
course.enroll(was_rejected, user)
@@ -635,6 +638,7 @@ def enroll(request, course_id, user_id=None, was_rejected=False):
@login_required
def reject(request, course_id, user_id=None, was_enrolled=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)
@@ -646,6 +650,9 @@ def reject(request, course_id, user_id=None, was_enrolled=False):
else:
reject_users = User.objects.filter(id__in=reject_ids)
course.reject(was_enrolled, *reject_users)
+ elif user_id is None:
+ return my_render_to_response('yaksh/course_detail.html', {'course': course},
+ context_instance=ci)
else:
user = get_object_or_404(User, pk=user_id)
course.reject(was_enrolled, user)
@@ -981,12 +988,8 @@ def view_profile(request):
""" view moderators and users profile """
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)
+ #ci = RequestContext(request)
+ return my_render_to_response('yaksh/view_profile.html', {'user':user})
@login_required
def edit_profile(request):
@@ -995,14 +998,20 @@ def edit_profile(request):
context = {}
user = request.user
ci = RequestContext(request)
- data = {}
- if not user.is_authenticated():
- raise Http404('You are not allowed to view this page!')
+ profile = Profile.objects.get(user_id=user.id)
if request.method == 'POST':
- form = EditProfile(request.POST)
+ form = EditProfile(user, request.POST)
if form.is_valid():
- data = form.cleaned_data
- form.save(user)
+ user.first_name = request.POST['first_name']
+ user.last_name = request.POST['last_name']
+ profile.department = request.POST['department']
+ profile.institute = request.POST['institute']
+ profile.roll_number = request.POST['roll_number']
+ profile.position = request.POST['position']
+ user.save()
+ form_data = form.save(commit=False)
+ form_data.user_id = user.id
+ profile.save()
return my_render_to_response('yaksh/profile_updated.html',
context_instance=ci)
else:
@@ -1010,13 +1019,7 @@ def edit_profile(request):
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)
+ form = EditProfile(user=user)
context['form'] = form
return my_render_to_response('yaksh/editprofile.html', context,
context_instance=ci)
--
cgit
From ead5d6db868a95916ebbb4e81003d42bdec2c871 Mon Sep 17 00:00:00 2001
From: adityacp
Date: Mon, 11 Apr 2016 17:35:36 +0530
Subject: removed commented line from views
---
yaksh/views.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/yaksh/views.py b/yaksh/views.py
index 1e4abcf..fecd731 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -988,7 +988,6 @@ def view_profile(request):
""" view moderators and users profile """
user = request.user
- #ci = RequestContext(request)
return my_render_to_response('yaksh/view_profile.html', {'user':user})
@login_required
--
cgit
From 351203587422455d803a2b92296cb8e7a8ba59a9 Mon Sep 17 00:00:00 2001
From: adityacp
Date: Wed, 13 Apr 2016 19:26:01 +0530
Subject: changes in forms and views
---
yaksh/forms.py | 10 ----------
yaksh/views.py | 27 ++++++++-------------------
2 files changed, 8 insertions(+), 29 deletions(-)
diff --git a/yaksh/forms.py b/yaksh/forms.py
index 54eb21f..8cd18a2 100644
--- a/yaksh/forms.py
+++ b/yaksh/forms.py
@@ -198,16 +198,6 @@ class EditProfile(forms.ModelForm):
last_name = forms.CharField(max_length=30)
def __init__(self, user, *args, **kwargs):
- initial = ''
- if 'instance' in kwargs:
- initial = kwargs["instance"]
- if 'user' in kwargs:
- user = kwargs["user"]
- del kwargs["user"]
super(EditProfile, self).__init__(*args, **kwargs)
self.fields['first_name'].initial = user.first_name
self.fields['last_name'].initial = user.last_name
- self.fields['roll_number'].initial = user.profile.roll_number
- self.fields['department'].initial = user.profile.department
- self.fields['institute'].initial = user.profile.institute
- self.fields['position'].initial = user.profile.position
diff --git a/yaksh/views.py b/yaksh/views.py
index fecd731..bc54a51 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -620,10 +620,7 @@ def enroll(request, course_id, user_id=None, was_rejected=False):
course = get_object_or_404(Course, creator=user, pk=course_id)
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:
+ if enroll_ids is not None:
enroll_users = User.objects.filter(id__in=enroll_ids)
course.enroll(was_rejected, *enroll_users)
elif user_id is None:
@@ -644,10 +641,7 @@ def reject(request, course_id, user_id=None, was_enrolled=False):
course = get_object_or_404(Course, creator=user, pk=course_id)
if request.method == 'POST':
reject_ids = request.POST.getlist('check')
- if reject_ids is None:
- return my_render_to_response('yaksh/course_detail.html', {'course': course},
- context_instance=ci)
- else:
+ if reject_ids is not None:
reject_users = User.objects.filter(id__in=reject_ids)
course.reject(was_enrolled, *reject_users)
elif user_id is None:
@@ -999,18 +993,13 @@ def edit_profile(request):
ci = RequestContext(request)
profile = Profile.objects.get(user_id=user.id)
if request.method == 'POST':
- form = EditProfile(user, request.POST)
+ form = EditProfile(user, request.POST, instance=profile)
if form.is_valid():
- user.first_name = request.POST['first_name']
- user.last_name = request.POST['last_name']
- profile.department = request.POST['department']
- profile.institute = request.POST['institute']
- profile.roll_number = request.POST['roll_number']
- profile.position = request.POST['position']
- user.save()
form_data = form.save(commit=False)
- form_data.user_id = user.id
- profile.save()
+ form_data.user.first_name = request.POST['first_name']
+ form_data.user.last_name = request.POST['last_name']
+ form_data.user.save()
+ form_data.save()
return my_render_to_response('yaksh/profile_updated.html',
context_instance=ci)
else:
@@ -1018,7 +1007,7 @@ def edit_profile(request):
return my_render_to_response('yaksh/editprofile.html', context,
context_instance=ci)
else:
- form = EditProfile(user=user)
+ form = EditProfile(user, instance=profile)
context['form'] = form
return my_render_to_response('yaksh/editprofile.html', context,
context_instance=ci)
--
cgit
From 09e77a6065f019fe9b9d00fbedce2c11188e4589 Mon Sep 17 00:00:00 2001
From: adityacp
Date: Fri, 15 Apr 2016 18:47:01 +0530
Subject: changes after rebase
---
yaksh/forms.py | 4 +++-
yaksh/urls.py | 10 +++++++---
yaksh/views.py | 19 +++++++++++++------
3 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/yaksh/forms.py b/yaksh/forms.py
index 8cd18a2..271b503 100644
--- a/yaksh/forms.py
+++ b/yaksh/forms.py
@@ -197,7 +197,9 @@ class EditProfile(forms.ModelForm):
first_name = forms.CharField(max_length=30)
last_name = forms.CharField(max_length=30)
- def __init__(self, user, *args, **kwargs):
+ def __init__(self, *args, **kwargs):
+ if 'user' in kwargs:
+ user = kwargs.pop('user')
super(EditProfile, self).__init__(*args, **kwargs)
self.fields['first_name'].initial = user.first_name
self.fields['last_name'].initial = user.last_name
diff --git a/yaksh/urls.py b/yaksh/urls.py
index ab9f90a..f1a0cf0 100644
--- a/yaksh/urls.py
+++ b/yaksh/urls.py
@@ -12,7 +12,7 @@ urlpatterns = [
name='password_reset_done'),
url(r'^password_reset/complete/$', password_reset_complete,
name='password_reset_complete'),
- url(r'^password_change/$', password_change,
+ url(r'^changepassword/$', password_change,
name='password_change'),
url(r'^password_change/done/$', password_change_done,
name='password_change_done'),
@@ -80,5 +80,9 @@ urlpatterns += [
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)
-]
\ No newline at end of file
+ url(r'^manage/enroll/(?P\d+)/$', views.enroll),
+ url(r'manage/enroll/rejected/(?P\d+)/$',
+ views.enroll, {'was_rejected': True}),
+ url(r'manage/enrolled/reject/(?P\d+)/$',
+ views.reject, {'was_enrolled': True})
+]
diff --git a/yaksh/views.py b/yaksh/views.py
index bc54a51..d76e042 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -991,11 +991,19 @@ def edit_profile(request):
context = {}
user = request.user
ci = RequestContext(request)
- profile = Profile.objects.get(user_id=user.id)
+
+ if not hasattr(user, 'profile'):
+ new_form = EditProfile(request.POST, user=user)
+ form = EditProfile(user=user)
+ else:
+ profile = Profile.objects.get(user_id=user.id)
+ new_form = EditProfile(request.POST, user=user, instance=profile)
+ form = EditProfile(user=user, instance=profile)
+
if request.method == 'POST':
- form = EditProfile(user, request.POST, instance=profile)
- if form.is_valid():
- form_data = form.save(commit=False)
+ if new_form.is_valid():
+ form_data = new_form.save(commit=False)
+ form_data.user = user
form_data.user.first_name = request.POST['first_name']
form_data.user.last_name = request.POST['last_name']
form_data.user.save()
@@ -1003,11 +1011,10 @@ def edit_profile(request):
return my_render_to_response('yaksh/profile_updated.html',
context_instance=ci)
else:
- context['form'] = form
+ context['form'] = new_form
return my_render_to_response('yaksh/editprofile.html', context,
context_instance=ci)
else:
- form = EditProfile(user, instance=profile)
context['form'] = form
return my_render_to_response('yaksh/editprofile.html', context,
context_instance=ci)
--
cgit
From 975e74ab737cfc5d9c5375931170cdc9ecb75b40 Mon Sep 17 00:00:00 2001
From: adityacp
Date: Mon, 18 Apr 2016 19:09:22 +0530
Subject: changes for profile edit
---
yaksh/templates/manage.html | 4 +--
yaksh/templates/user.html | 4 +--
yaksh/templates/yaksh/editprofile.html | 8 +++--
yaksh/templates/yaksh/view_profile.html | 2 +-
yaksh/urls.py | 4 +--
yaksh/views.py | 61 ++++++++++++++++++---------------
6 files changed, 46 insertions(+), 37 deletions(-)
diff --git a/yaksh/templates/manage.html b/yaksh/templates/manage.html
index a10291b..a4564f9 100644
--- a/yaksh/templates/manage.html
+++ b/yaksh/templates/manage.html
@@ -10,7 +10,7 @@
{% endblock %}
-
+
{% block css %}
@@ -30,7 +30,7 @@
Grade User
Monitor
Courses
-My Profile
+My Profile
Change Password
diff --git a/yaksh/templates/user.html b/yaksh/templates/user.html
index 936601e..4074656 100644
--- a/yaksh/templates/user.html
+++ b/yaksh/templates/user.html
@@ -13,8 +13,8 @@
{% endblock %}
-
-
+
+
{% block css %}
{% endblock %}
diff --git a/yaksh/templates/yaksh/editprofile.html b/yaksh/templates/yaksh/editprofile.html
index f04f8fb..75be563 100644
--- a/yaksh/templates/yaksh/editprofile.html
+++ b/yaksh/templates/yaksh/editprofile.html
@@ -6,8 +6,10 @@
{% block formtitle %} Please fill in the following details {% endblock %}
{% block content %}
-
-
{% endblock content %}
diff --git a/yaksh/templates/yaksh/view_profile.html b/yaksh/templates/yaksh/view_profile.html
index 3233510..69dac5a 100644
--- a/yaksh/templates/yaksh/view_profile.html
+++ b/yaksh/templates/yaksh/view_profile.html
@@ -9,7 +9,7 @@
{% endblock %}
{% block content %}
diff --git a/yaksh/urls.py b/yaksh/urls.py
index f1a0cf0..471a36b 100644
--- a/yaksh/urls.py
+++ b/yaksh/urls.py
@@ -78,8 +78,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'^editprofile/$', views.edit_profile),
+ url(r'^viewprofile/$', views.view_profile),
url(r'^manage/enroll/(?P\d+)/$', views.enroll),
url(r'manage/enroll/rejected/(?P\d+)/$',
views.enroll, {'was_rejected': True}),
diff --git a/yaksh/views.py b/yaksh/views.py
index d76e042..5c30d04 100644
--- a/yaksh/views.py
+++ b/yaksh/views.py
@@ -172,7 +172,6 @@ def add_question(request, question_id=None):
{'form': form,
'formset': test_case_formset},
context_instance=ci)
-
else:
d = Question.objects.get(id=question_id)
form = QuestionForm(request.POST, instance=d)
@@ -620,15 +619,13 @@ def enroll(request, course_id, user_id=None, was_rejected=False):
course = get_object_or_404(Course, creator=user, pk=course_id)
if request.method == 'POST':
enroll_ids = request.POST.getlist('check')
- if enroll_ids is not None:
- enroll_users = User.objects.filter(id__in=enroll_ids)
- course.enroll(was_rejected, *enroll_users)
- elif user_id is None:
+ else:
+ enroll_ids = user_id
+ if not enroll_ids:
return my_render_to_response('yaksh/course_detail.html', {'course': course},
context_instance=ci)
- else:
- user = get_object_or_404(User, pk=user_id)
- course.enroll(was_rejected, user)
+ users = User.objects.filter(id__in=enroll_ids)
+ course.enroll(was_rejected, *users)
return course_detail(request, course_id)
@@ -641,15 +638,13 @@ def reject(request, course_id, user_id=None, was_enrolled=False):
course = get_object_or_404(Course, creator=user, pk=course_id)
if request.method == 'POST':
reject_ids = request.POST.getlist('check')
- if reject_ids is not None:
- reject_users = User.objects.filter(id__in=reject_ids)
- course.reject(was_enrolled, *reject_users)
- elif user_id is None:
+ else:
+ reject_ids = user_id
+ if not reject_ids:
return my_render_to_response('yaksh/course_detail.html', {'course': course},
context_instance=ci)
- else:
- user = get_object_or_404(User, pk=user_id)
- course.reject(was_enrolled, user)
+ users = User.objects.filter(id__in=reject_ids)
+ course.reject(was_enrolled, *users)
return course_detail(request, course_id)
@@ -982,7 +977,17 @@ def view_profile(request):
""" view moderators and users profile """
user = request.user
- return my_render_to_response('yaksh/view_profile.html', {'user':user})
+ ci = RequestContext(request)
+ context = {}
+ if hasattr(user, 'profile'):
+ return my_render_to_response('yaksh/view_profile.html', {'user':user})
+ else:
+ form = EditProfile(user=user)
+ msg = True
+ context['form'] = form
+ context['msg'] = msg
+ return my_render_to_response('yaksh/editprofile.html', context,
+ context_instance=ci)
@login_required
def edit_profile(request):
@@ -992,17 +997,14 @@ def edit_profile(request):
user = request.user
ci = RequestContext(request)
- if not hasattr(user, 'profile'):
- new_form = EditProfile(request.POST, user=user)
- form = EditProfile(user=user)
- else:
- profile = Profile.objects.get(user_id=user.id)
- new_form = EditProfile(request.POST, user=user, instance=profile)
- form = EditProfile(user=user, instance=profile)
-
if request.method == 'POST':
- if new_form.is_valid():
- form_data = new_form.save(commit=False)
+ if not hasattr(user, 'profile'):
+ form = EditProfile(request.POST, user=user)
+ else:
+ profile = Profile.objects.get(user_id=user.id)
+ form = EditProfile(request.POST, user=user, instance=profile)
+ if form.is_valid():
+ form_data = form.save(commit=False)
form_data.user = user
form_data.user.first_name = request.POST['first_name']
form_data.user.last_name = request.POST['last_name']
@@ -1011,10 +1013,15 @@ def edit_profile(request):
return my_render_to_response('yaksh/profile_updated.html',
context_instance=ci)
else:
- context['form'] = new_form
+ context['form'] = form
return my_render_to_response('yaksh/editprofile.html', context,
context_instance=ci)
else:
+ if not hasattr(user, 'profile'):
+ form = EditProfile(user=user)
+ else:
+ profile = Profile.objects.get(user_id=user.id)
+ form = EditProfile(user=user, instance=profile)
context['form'] = form
return my_render_to_response('yaksh/editprofile.html', context,
context_instance=ci)
--
cgit
From ab5d550709322739629fffb7e7a3335ec1a6623c Mon Sep 17 00:00:00 2001
From: adityacp
Date: Thu, 21 Apr 2016 18:52:29 +0530
Subject: final changes in edit profile
---
yaksh/templates/yaksh/editprofile.html | 2 +-
yaksh/views.py | 25 ++++++++++++++-----------
2 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/yaksh/templates/yaksh/editprofile.html b/yaksh/templates/yaksh/editprofile.html
index 75be563..cdccfc0 100644
--- a/yaksh/templates/yaksh/editprofile.html
+++ b/yaksh/templates/yaksh/editprofile.html
@@ -12,7 +12,7 @@