From 02894afd559219ffd1010051af79045b5d1e7b0d Mon Sep 17 00:00:00 2001 From: Horilla Date: Mon, 15 Apr 2024 16:23:21 +0530 Subject: [PATCH] [UPDT] BASE: Updated models in base by adding abstract class --- base/announcement.py | 13 +- base/context_processors.py | 6 +- base/forms.py | 8 +- base/models.py | 20 +- base/templates/announcement/announcement.html | 188 ++---------------- .../announcement/announcement_one.html | 4 +- base/translator.py | 1 + base/views.py | 4 +- 8 files changed, 41 insertions(+), 203 deletions(-) diff --git a/base/announcement.py b/base/announcement.py index e27a661dd..e299556e8 100644 --- a/base/announcement.py +++ b/base/announcement.py @@ -1,6 +1,6 @@ from django.http import HttpResponse, HttpResponseRedirect, JsonResponse from django.shortcuts import get_object_or_404, redirect, render -from base.forms import AnnouncementForm, AnnouncementcommentForm +from base.forms import AnnouncementForm, AnnouncementCommentForm from base.methods import filter_own_records from base.models import Announcement, AnnouncementComment, AnnouncementView from employee.models import Employee @@ -18,7 +18,7 @@ def announcement_view(request): This method is used to render all announcemnts. """ - announcement_list = Announcement.objects.all().order_by("-created_on") + announcement_list = Announcement.objects.all().order_by("-created_at") # Set the number of items per page items_per_page = 10 @@ -195,7 +195,7 @@ def create_announcement_comment(request, anoun_id): """ anoun = Announcement.objects.filter(id=anoun_id).first() emp = request.user.employee_get - form = AnnouncementcommentForm( + form = AnnouncementCommentForm( initial={"employee_id": emp.id, "request_id": anoun_id} ) comments = AnnouncementComment.objects.filter(announcement_id=anoun_id) @@ -206,12 +206,12 @@ def create_announcement_comment(request, anoun_id): unique_users = list(set(commentators)) if request.method == "POST": - form = AnnouncementcommentForm(request.POST) + form = AnnouncementCommentForm(request.POST) if form.is_valid(): form.instance.employee_id = emp form.instance.announcement_id = anoun form.save() - form = AnnouncementcommentForm( + form = AnnouncementCommentForm( initial={"employee_id": emp.id, "request_id": anoun_id} ) messages.success(request, _("You commented a post.")) @@ -290,4 +290,7 @@ def viewed_by(request): viewed_by = AnnouncementView.objects.filter( announcement_id__id=announcement_id, viewed=True ) + print('_____________________________________________________________________________') + print(viewed_by.first().__dict__) + print('_____________________________________________________________________________') return render(request, "announcement/viewed_by.html", {"viewed_by": viewed_by}) diff --git a/base/context_processors.py b/base/context_processors.py index e6dda2b62..8df1b6697 100644 --- a/base/context_processors.py +++ b/base/context_processors.py @@ -153,9 +153,9 @@ def check_candidate_self_tracking_rating(request): return {"check_candidate_self_tracking_rating": rating_option} -def get_intial_prefix(request): +def get_initial_prefix(request): """ - This method is used to get the initial prefexi + This method is used to get the initial prefix """ settings = EmployeeGeneralSetting.objects.first() instance_id = None @@ -163,4 +163,4 @@ def get_intial_prefix(request): if settings: instance_id = settings.id prefix = settings.badge_id_prefix - return {"get_intial_prefix": prefix, "prefix_instance_id": instance_id} + return {"get_initial_prefix": prefix, "prefix_instance_id": instance_id} diff --git a/base/forms.py b/base/forms.py index 5d113f737..a17a289b8 100644 --- a/base/forms.py +++ b/base/forms.py @@ -406,7 +406,7 @@ class CompanyForm(ModelForm): model = Company fields = "__all__" - excluded_fields = ["date_format", "time_format"] + excluded_fields = ["date_format", "time_format", "is_active"] def validate_image(self, file): max_size = 5 * 1024 * 1024 @@ -1690,6 +1690,7 @@ class DynamicMailConfForm(ModelForm): class Meta: model = DynamicEmailConfiguration fields = "__all__" + exclude = ["is_active"] def as_p(self): """ @@ -1778,6 +1779,7 @@ class AnnouncementForm(ModelForm): model = Announcement fields = "__all__" + exclude = ["is_active"] widgets = { "description": forms.Textarea(attrs={"data-summernote": ""}), "expire_date": DateInput(attrs={"type": "date"}), @@ -1808,7 +1810,7 @@ class AnnouncementForm(ModelForm): return instance, multiple_attachment_ids -class AnnouncementcommentForm(ModelForm): +class AnnouncementCommentForm(ModelForm): """ Announcement comment form """ @@ -1819,7 +1821,7 @@ class AnnouncementcommentForm(ModelForm): """ model = AnnouncementComment - fields = ("comment",) + fields = ["comment"] class AnnouncementExpireForm(ModelForm): diff --git a/base/models.py b/base/models.py index 791a3d71c..df9c761c6 100644 --- a/base/models.py +++ b/base/models.py @@ -40,7 +40,7 @@ def clear_messages(request): pass -class Company(models.Model): +class Company(HorillaModel): """ Company model """ @@ -972,9 +972,9 @@ class Tags(HorillaModel): return self.title -class DynamicEmailConfiguration(models.Model): +class DynamicEmailConfiguration(HorillaModel): """ - SingletoneModel to keep the mail server configurations + SingletonModel to keep the mail server configurations """ is_primary = models.BooleanField( @@ -1246,7 +1246,7 @@ class DynamicPagination(models.Model): class Attachment(models.Model): """ - Attachment model for multiple attachments in announcemnts. + Attachment model for multiple attachments in announcements. """ file = models.FileField(upload_to="attachments/") @@ -1264,7 +1264,7 @@ class AnnouncementExpire(models.Model): objects = models.Manager() -class Announcement(models.Model): +class Announcement(HorillaModel): """ Announcement Model for storing all announcements. """ @@ -1276,7 +1276,6 @@ class Announcement(models.Model): attachments = models.ManyToManyField( Attachment, related_name="announcement_attachments", blank=True ) - created_on = models.DateTimeField(auto_now_add=True) expire_date = models.DateField(null=True, blank=True) employees = models.ManyToManyField( Employee, related_name="announcement_employees", blank=True @@ -1295,7 +1294,7 @@ class Announcement(models.Model): return self.title -class AnnouncementComment(models.Model): +class AnnouncementComment(HorillaModel): """ AnnouncementComment Model """ @@ -1305,16 +1304,11 @@ class AnnouncementComment(models.Model): announcement_id = models.ForeignKey(Announcement, on_delete=models.CASCADE) employee_id = models.ForeignKey(Employee, on_delete=models.CASCADE) comment = models.TextField(null=True, verbose_name=_("Comment"), max_length=255) - created_at = models.DateTimeField( - auto_now_add=True, - verbose_name=_("Created At"), - null=True, - ) class AnnouncementView(models.Model): """ - Announcemnt View Model + Announcement View Model """ user = models.ForeignKey(User, on_delete=models.CASCADE) diff --git a/base/templates/announcement/announcement.html b/base/templates/announcement/announcement.html index bd5bdfea3..7e0b8d663 100644 --- a/base/templates/announcement/announcement.html +++ b/base/templates/announcement/announcement.html @@ -4,185 +4,23 @@ {% load basefilters %} {% block content %} -{% comment %}
+ + +
- {% trans "Announcements" %} +

{% trans "Announcements" %}

- {% if perms.announcemnt.add_announcemnt or request.user|is_reportingmanager %}
- -
- -
- -
-
+
+
+ +
+
{% endif %} - -
- -{% if perms.announcemnt.add_announcemnt or request.user|is_reportingmanager %} - -{% endif %} - -
- - {% for anoun in announcements %} -
- - {% if perms.announcemnt.add_announcemnt or request.user|is_reportingmanager %} -
- - -
- {% endif %} - -
-
{{ anoun.title }}
- - - {% trans "Posted on" %}  {{ anoun.created_on|date:"F j, Y" }}   - {% trans "at" %}   {{ anoun.created_on|time:"g:i A" }} - -
- -
-

{{ anoun.description|safe }}

-
- - {% if anoun.department.all %} - - {% endif %} - - {% if anoun.job_position.all %} - - {% endif %} - - - - - - - - -
- {% endfor %} {% endcomment %} - - - - - - - -
-
-

{% trans "Announcements" %}

- -
- {% if perms.announcemnt.add_announcemnt or request.user|is_reportingmanager %} -
- -
- -
- -
-
-
- {% endif %}
@@ -192,8 +30,8 @@
{{ anoun.title }}
- {% trans "Posted on" %}  {{ anoun.created_on|date:"F j, Y" }}   - {% trans "at" %}   {{ anoun.created_on|time:"g:i A" }} + {% trans "Posted on" %}  {{ anoun.created_at|date:"F j, Y" }}   + {% trans "at" %}   {{ anoun.created_at|time:"g:i A" }}
diff --git a/base/templates/announcement/announcement_one.html b/base/templates/announcement/announcement_one.html index 4636b8378..28e838241 100644 --- a/base/templates/announcement/announcement_one.html +++ b/base/templates/announcement/announcement_one.html @@ -72,8 +72,8 @@ - {% trans "Posted on" %}  {{ anoun.created_on|date:"F j, Y" }}   - {% trans "at" %}   {{ anoun.created_on|time:"g:i A" }} + {% trans "Posted on" %}  {{ anoun.created_at|date:"F j, Y" }}   + {% trans "at" %}   {{ anoun.created_at|time:"g:i A" }}
diff --git a/base/translator.py b/base/translator.py index cf312cef8..8c6aa6421 100644 --- a/base/translator.py +++ b/base/translator.py @@ -323,4 +323,5 @@ _("cancelled"), _("rejected"), _("true"), _("false"), +_("candidate-create"), diff --git a/base/views.py b/base/views.py index 74f658543..6813438d5 100644 --- a/base/views.py +++ b/base/views.py @@ -429,7 +429,7 @@ def home(request): general_expire_date = 30 if not general_expire else general_expire.days for announcement in announcements.filter(expire_date__isnull=True): - calculated_expire_date = announcement.created_on + timedelta( + calculated_expire_date = announcement.created_at + timedelta( days=general_expire_date ) announcement.expire_date = calculated_expire_date @@ -445,7 +445,7 @@ def home(request): announcements = announcements.exclude( expire_date__lt=datetime.today().date() - ).order_by("-created_on") + ).order_by("-created_at") announcement_list = announcements.filter(employees=request.user.employee_get) announcement_list = announcement_list | announcements.filter(employees__isnull=True)