From 8ccf7deef5f5df41c84f4a2a78d090f9689dc059 Mon Sep 17 00:00:00 2001 From: Horilla Date: Tue, 22 Jul 2025 10:58:47 +0530 Subject: [PATCH] [UPDT] HELPDESK: Updated HelpDesk Module Models Objects Manager --- helpdesk/models.py | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/helpdesk/models.py b/helpdesk/models.py index a664c8271..9231eb150 100644 --- a/helpdesk/models.py +++ b/helpdesk/models.py @@ -10,6 +10,7 @@ from django.utils.translation import gettext_lazy as _ from base.horilla_company_manager import HorillaCompanyManager from base.models import Company, Department, JobPosition, Tags from employee.models import Employee +from horilla import horilla_middlewares from horilla.models import HorillaModel from horilla_audit.methods import get_diff from horilla_audit.models import HorillaAuditInfo, HorillaAuditLog @@ -250,10 +251,32 @@ class Attachment(HorillaModel): class FAQCategory(HorillaModel): title = models.CharField(max_length=30) description = models.TextField(blank=True, null=True, max_length=255) + company_id = models.ForeignKey( + Company, + null=True, + blank=True, + editable=False, + verbose_name=_("Company"), + on_delete=models.CASCADE, + ) + objects = HorillaCompanyManager() def __str__(self): return self.title + def save(self, *args, **kwargs): + request = getattr(horilla_middlewares._thread_locals, "request", None) + selected_company = request.session.get("selected_company") + if ( + not self.id + and not self.company_id + and selected_company + and selected_company != "all" + ): + self.company_id = Company.find(selected_company) + + super().save() + class Meta: verbose_name = _("FAQ Category") verbose_name_plural = _("FAQ Categories") @@ -267,11 +290,24 @@ class FAQ(HorillaModel): company_id = models.ForeignKey( Company, null=True, editable=False, on_delete=models.PROTECT ) - objects = HorillaCompanyManager(related_company_field="company_id") + objects = HorillaCompanyManager() def __str__(self): return self.question + def save(self, *args, **kwargs): + request = getattr(horilla_middlewares._thread_locals, "request", None) + selected_company = request.session.get("selected_company") + if ( + not self.id + and not self.company_id + and selected_company + and selected_company != "all" + ): + self.company_id = Company.find(selected_company) + + super().save() + class Meta: verbose_name = _("FAQ") verbose_name_plural = _("FAQs")