From 802ab05a0cd4fbf197b014664d5bb70907862aef Mon Sep 17 00:00:00 2001 From: Akshen Date: Fri, 3 Aug 2018 16:15:37 +0530 Subject: Allow instructors to post comments on coordinator's profile This commit will allow instructors to view and post comments on coordinators profile Auto-logout time increased --- workshop_app/forms.py | 25 ++++- workshop_app/models.py | 21 ++++ workshop_app/send_mails.py | 4 +- workshop_app/templates/workshop_app/base.html | 6 +- workshop_app/templates/workshop_app/index.html | 11 +-- .../templates/workshop_app/my_workshops.html | 13 ++- .../workshop_app/view_comment_profile.html | 110 +++++++++++++++++++++ workshop_app/urls.py | 1 + workshop_app/views.py | 51 +++++++++- workshop_portal/settings.py | 2 +- 10 files changed, 225 insertions(+), 19 deletions(-) create mode 100644 workshop_app/templates/workshop_app/view_comment_profile.html diff --git a/workshop_app/forms.py b/workshop_app/forms.py index bbc2811..68ada33 100644 --- a/workshop_app/forms.py +++ b/workshop_app/forms.py @@ -2,7 +2,8 @@ from django import forms from django.utils import timezone from .models import ( Profile, User, Workshop, WorkshopType, - RequestedWorkshop, BookedWorkshop, ProposeWorkshopDate + RequestedWorkshop, BookedWorkshop, ProposeWorkshopDate, + ProfileComments ) from string import punctuation, digits try: @@ -263,3 +264,25 @@ class ProposeWorkshopDateForm(forms.ModelForm): 'proposed_workshop_date': forms.DateInput(attrs={ 'class':'datepicker'}) } + + + +class ProfileCommentsForm(forms.ModelForm): + """ + Instructors will post comments on Coordinators profile + """ + + def __init__(self, *args, **kwargs): + super(ProfileCommentsForm, self).__init__(*args, **kwargs) + self.fields['comment'].label = "" + self.fields['comment'].widget.attrs['rows'] = 5 + self.fields['comment'].widget.attrs['cols'] = 95 + + class Meta: + model = ProfileComments + exclude = ['coordinator_profile', 'instructor_profile', + 'created_date' + ] + widgets = { + 'comments' : forms.CharField(), + } \ No newline at end of file diff --git a/workshop_app/models.py b/workshop_app/models.py index 1d0852c..3f78e1d 100644 --- a/workshop_app/models.py +++ b/workshop_app/models.py @@ -2,6 +2,7 @@ from django.db import models from django.contrib.auth.models import User from django.core.validators import RegexValidator from recurrence.fields import RecurrenceField +from django.utils import timezone import os position_choices = ( @@ -269,3 +270,23 @@ class Testimonial(models.Model): self.institute, self.department ) + + + +class ProfileComments(models.Model): + """ + Contains comments posted by instructors on coordinator profile + """ + + coordinator_profile = models.ForeignKey(User, + on_delete=models.CASCADE) + comment = models.TextField() + instructor_profile = models.ForeignKey(User, + related_name="%(app_label)s_%(class)s_related") + created_date = models.DateTimeField(default=timezone.now) + + def __str__(self): + return u"{0} | {1}".format( + self.comment, + self.created_date + ) \ No newline at end of file diff --git a/workshop_app/send_mails.py b/workshop_app/send_mails.py index 3826ec8..548834d 100644 --- a/workshop_app/send_mails.py +++ b/workshop_app/send_mails.py @@ -340,8 +340,8 @@ def send_email( request, call_on, elif call_on == 'Proposed Workshop': if user_position == "instructor": message = dedent("""\ - A coordinator has proposed a workshop below are the - details: + A coordinator has proposed a workshop. The details are + given below: Coordinator name: {0} Coordinator email: {1} diff --git a/workshop_app/templates/workshop_app/base.html b/workshop_app/templates/workshop_app/base.html index 1722e59..724ecb2 100644 --- a/workshop_app/templates/workshop_app/base.html +++ b/workshop_app/templates/workshop_app/base.html @@ -9,9 +9,8 @@ - - - + + @@ -90,6 +89,7 @@