From 234cf831861045796a7bcf4e08a46b0c38016f75 Mon Sep 17 00:00:00 2001 From: adityacp Date: Wed, 23 Mar 2016 11:14:47 +0530 Subject: EditProfile, ChangePassword, StudentsEnrollment facility --- yaksh/forms.py | 24 ++++++++ yaksh/templates/manage.html | 2 + .../registration/password_change_done.html | 16 ++++++ .../registration/password_change_form.html | 18 ++++++ yaksh/templates/user.html | 2 + yaksh/templates/yaksh/course_detail.html | 31 +++++++++- yaksh/templates/yaksh/editprofile.html | 21 +++++++ yaksh/templates/yaksh/password_changed.html | 15 +++++ yaksh/templates/yaksh/profile_updated.html | 15 +++++ yaksh/templates/yaksh/view_profile.html | 48 ++++++++++++++++ yaksh/urls.py | 10 +++- yaksh/views.py | 67 ++++++++++++++++++++-- 12 files changed, 259 insertions(+), 10 deletions(-) create mode 100644 yaksh/templates/registration/password_change_done.html create mode 100644 yaksh/templates/registration/password_change_form.html create mode 100644 yaksh/templates/yaksh/editprofile.html create mode 100644 yaksh/templates/yaksh/password_changed.html create mode 100644 yaksh/templates/yaksh/profile_updated.html create mode 100644 yaksh/templates/yaksh/view_profile.html diff --git a/yaksh/forms.py b/yaksh/forms.py index 84cf1c4..f4d1b02 100644 --- a/yaksh/forms.py +++ b/yaksh/forms.py @@ -187,3 +187,27 @@ class CourseForm(forms.ModelForm): class Meta: model = Course fields = ['name', 'active', 'enrollment'] + +class EditProfile(forms.Form): + """ edit profile form for students and moderators """ + + first_name = forms.CharField(max_length=30) + last_name = forms.CharField(max_length=30) + institute = forms.CharField\ + (max_length=128) + department = forms.CharField\ + (max_length=64) + roll_number = forms.CharField\ + (max_length=30) + position = forms.CharField\ + (max_length=64) + + def save(self, user): + user.first_name = self.cleaned_data['first_name'] + user.last_name = self.cleaned_data['last_name'] + user.profile.department = self.cleaned_data['department'] + user.profile.institute = self.cleaned_data['institute'] + user.profile.roll_number = self.cleaned_data['roll_number'] + user.profile.position = self.cleaned_data['position'] + user.save() + user.profile.save() diff --git a/yaksh/templates/manage.html b/yaksh/templates/manage.html index 11e2187..a10291b 100644 --- a/yaksh/templates/manage.html +++ b/yaksh/templates/manage.html @@ -30,6 +30,8 @@
  • Grade User
  • Monitor
  • Courses
  • +
  • My Profile
  • +
  • Change Password
  • diff --git a/yaksh/templates/yaksh/course_detail.html b/yaksh/templates/yaksh/course_detail.html index dbb7b73..60834e6 100644 --- a/yaksh/templates/yaksh/course_detail.html +++ b/yaksh/templates/yaksh/course_detail.html @@ -24,7 +24,7 @@
    Enroll Reject
    diff --git a/yaksh/templates/yaksh/login.html b/yaksh/templates/yaksh/login.html index d679748..dfeac1e 100644 --- a/yaksh/templates/yaksh/login.html +++ b/yaksh/templates/yaksh/login.html @@ -14,7 +14,7 @@
    {{ form.as_table }}
    -
        
    +
        

    Forgot Password?

    New User? Sign-Up
    diff --git a/yaksh/templates/yaksh/question.html b/yaksh/templates/yaksh/question.html index 1fb70b8..e542fe9 100644 --- a/yaksh/templates/yaksh/question.html +++ b/yaksh/templates/yaksh/question.html @@ -116,11 +116,9 @@ function call_skip(url)

    Online Test

    -
    -
    -
    You have {{ paper.questions_left }} question(s) left in {{ paper.question_paper.quiz.description }}
    +
    Hi {{ paper.user.first_name.title}} {{ paper.user.last_name.title}}
    +

    + You have {{ paper.questions_left }} question(s) left in {{ paper.question_paper.quiz.description }}
    -- cgit From 4334a36d3a329416b4e99f493f5ed5dc8d455123 Mon Sep 17 00:00:00 2001 From: adityacp Date: Mon, 4 Apr 2016 14:46:40 +0530 Subject: user profile display for moderators changes --- yaksh/templates/yaksh/course_detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yaksh/templates/yaksh/course_detail.html b/yaksh/templates/yaksh/course_detail.html index 60834e6..0c37375 100644 --- a/yaksh/templates/yaksh/course_detail.html +++ b/yaksh/templates/yaksh/course_detail.html @@ -24,7 +24,7 @@
    Enroll Reject
    -- cgit From edfedff384eac5dfbb2258cb1c51399862a5fd36 Mon Sep 17 00:00:00 2001 From: adityacp Date: Mon, 11 Apr 2016 17:30:10 +0530 Subject: changes in forms.py, views.py, template --- yaksh/forms.py | 40 +++++++++++++++---------------- yaksh/templates/yaksh/course_detail.html | 9 ++++--- yaksh/views.py | 41 +++++++++++++++++--------------- 3 files changed, 48 insertions(+), 42 deletions(-) diff --git a/yaksh/forms.py b/yaksh/forms.py index f4d1b02..54eb21f 100644 --- a/yaksh/forms.py +++ b/yaksh/forms.py @@ -140,7 +140,6 @@ class QuizForm(forms.ModelForm): self.fields['course'] = forms.ModelChoiceField( queryset=Course.objects.filter(creator=user)) - class Meta: model = Quiz fields = '__all__' @@ -188,26 +187,27 @@ class CourseForm(forms.ModelForm): model = Course fields = ['name', 'active', 'enrollment'] -class EditProfile(forms.Form): +class EditProfile(forms.ModelForm): """ edit profile form for students and moderators """ + class Meta: + model = Profile + fields = ['first_name', 'last_name', 'institute', 'department', 'roll_number', 'position'] + first_name = forms.CharField(max_length=30) last_name = forms.CharField(max_length=30) - institute = forms.CharField\ - (max_length=128) - department = forms.CharField\ - (max_length=64) - roll_number = forms.CharField\ - (max_length=30) - position = forms.CharField\ - (max_length=64) - - def save(self, user): - user.first_name = self.cleaned_data['first_name'] - user.last_name = self.cleaned_data['last_name'] - user.profile.department = self.cleaned_data['department'] - user.profile.institute = self.cleaned_data['institute'] - user.profile.roll_number = self.cleaned_data['roll_number'] - user.profile.position = self.cleaned_data['position'] - user.save() - user.profile.save() + + 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/templates/yaksh/course_detail.html b/yaksh/templates/yaksh/course_detail.html index 0c37375..c771cc7 100644 --- a/yaksh/templates/yaksh/course_detail.html +++ b/yaksh/templates/yaksh/course_detail.html @@ -24,7 +24,8 @@
    @@ -46,7 +47,8 @@
    -  {{ rejected.username }} +   +  {{ rejected.username }}
    Enroll
    @@ -71,7 +73,8 @@
    -  {{ enrolled.username }} +   +  {{ enrolled.username }}
    Reject
    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 %} - -
      +{% if msg %} +
      Your profile does not exist. Please fill in your details
      +{% endif %} + {% csrf_token %}
      @@ -15,7 +17,7 @@
      -
      +
      {% 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 @@
      {% csrf_token %}
      - +
      {{ form.as_table }}
      diff --git a/yaksh/views.py b/yaksh/views.py index 5c30d04..49d7179 100644 --- a/yaksh/views.py +++ b/yaksh/views.py @@ -65,6 +65,12 @@ def is_moderator(user): if user.groups.filter(name='moderator').count() == 1: return True +def has_profile(user): + """ check if user is having profile """ + if hasattr(user, 'profile'): + return True + else: + return False def index(request): """The start page. @@ -979,7 +985,7 @@ def view_profile(request): user = request.user ci = RequestContext(request) context = {} - if hasattr(user, 'profile'): + if has_profile(user): return my_render_to_response('yaksh/view_profile.html', {'user':user}) else: form = EditProfile(user=user) @@ -997,12 +1003,13 @@ def edit_profile(request): user = request.user ci = RequestContext(request) + if has_profile(user): + profile = Profile.objects.get(user_id=user.id) + else: + profile = None + if request.method == 'POST': - 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) + form = EditProfile(request.POST, user=user, instance=profile) if form.is_valid(): form_data = form.save(commit=False) form_data.user = user @@ -1017,11 +1024,7 @@ def edit_profile(request): 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) + form = EditProfile(user=user, instance=profile) context['form'] = form return my_render_to_response('yaksh/editprofile.html', context, context_instance=ci) -- cgit From 3d49dc17e96fa2726c60942a44d8571d353542d4 Mon Sep 17 00:00:00 2001 From: adityacp Date: Fri, 22 Apr 2016 11:30:02 +0530 Subject: profile form name changes --- yaksh/forms.py | 9 +++++---- yaksh/templates/yaksh/view_profile.html | 2 +- yaksh/views.py | 15 ++++++--------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/yaksh/forms.py b/yaksh/forms.py index 271b503..681eca0 100644 --- a/yaksh/forms.py +++ b/yaksh/forms.py @@ -187,12 +187,13 @@ class CourseForm(forms.ModelForm): model = Course fields = ['name', 'active', 'enrollment'] -class EditProfile(forms.ModelForm): - """ edit profile form for students and moderators """ +class ProfileForm(forms.ModelForm): + """ profile form for students and moderators """ class Meta: model = Profile - fields = ['first_name', 'last_name', 'institute', 'department', 'roll_number', 'position'] + fields = ['first_name', 'last_name', 'institute', + 'department', 'roll_number', 'position'] first_name = forms.CharField(max_length=30) last_name = forms.CharField(max_length=30) @@ -200,6 +201,6 @@ class EditProfile(forms.ModelForm): def __init__(self, *args, **kwargs): if 'user' in kwargs: user = kwargs.pop('user') - super(EditProfile, self).__init__(*args, **kwargs) + super(ProfileForm, self).__init__(*args, **kwargs) self.fields['first_name'].initial = user.first_name self.fields['last_name'].initial = user.last_name diff --git a/yaksh/templates/yaksh/view_profile.html b/yaksh/templates/yaksh/view_profile.html index 69dac5a..be15d14 100644 --- a/yaksh/templates/yaksh/view_profile.html +++ b/yaksh/templates/yaksh/view_profile.html @@ -13,8 +13,8 @@ Back to Home
    -

    Your Profile Information

    +

    Your Profile Information

    diff --git a/yaksh/views.py b/yaksh/views.py index 49d7179..1709488 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, EditProfile + QuestionFilterForm, CourseForm, ProfileForm from yaksh.xmlrpc_clients import code_server from settings import URL_ROOT from yaksh.models import AssignmentUpload @@ -66,11 +66,8 @@ def is_moderator(user): return True def has_profile(user): - """ check if user is having profile """ - if hasattr(user, 'profile'): - return True - else: - return False + """ check if user has profile """ + return True if hasattr(user, 'profile') else False def index(request): """The start page. @@ -988,7 +985,7 @@ def view_profile(request): if has_profile(user): return my_render_to_response('yaksh/view_profile.html', {'user':user}) else: - form = EditProfile(user=user) + form = ProfileForm(user=user) msg = True context['form'] = form context['msg'] = msg @@ -1009,7 +1006,7 @@ def edit_profile(request): profile = None if request.method == 'POST': - form = EditProfile(request.POST, user=user, instance=profile) + form = ProfileForm(request.POST, user=user, instance=profile) if form.is_valid(): form_data = form.save(commit=False) form_data.user = user @@ -1024,7 +1021,7 @@ def edit_profile(request): return my_render_to_response('yaksh/editprofile.html', context, context_instance=ci) else: - form = EditProfile(user=user, instance=profile) + form = ProfileForm(user=user, instance=profile) context['form'] = form return my_render_to_response('yaksh/editprofile.html', context, context_instance=ci) -- cgit From 3be13f4868a881cbe591e9eb686872875272ac1d Mon Sep 17 00:00:00 2001 From: adityacp Date: Fri, 22 Apr 2016 17:15:21 +0530 Subject: added jquery file in base.html and manage.html --- yaksh/templates/base.html | 2 +- yaksh/templates/manage.html | 2 +- yaksh/templates/yaksh/course_detail.html | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/yaksh/templates/base.html b/yaksh/templates/base.html index d3e4f91..83db7ff 100644 --- a/yaksh/templates/base.html +++ b/yaksh/templates/base.html @@ -17,7 +17,7 @@ {% block css %} {% endblock %} - + {% block script %} {% endblock %} diff --git a/yaksh/templates/manage.html b/yaksh/templates/manage.html index a4564f9..4b9e2ba 100644 --- a/yaksh/templates/manage.html +++ b/yaksh/templates/manage.html @@ -15,7 +15,7 @@ {% block css %} {% endblock %} - + {% block script %} {% endblock %} diff --git a/yaksh/templates/yaksh/course_detail.html b/yaksh/templates/yaksh/course_detail.html index c771cc7..7169667 100644 --- a/yaksh/templates/yaksh/course_detail.html +++ b/yaksh/templates/yaksh/course_detail.html @@ -8,7 +8,6 @@ {% endblock %} {% block script %} - {% endblock %} {% block manage %} -- cgit