From 2153de3446eb244834e02d3221774298f4f1645d Mon Sep 17 00:00:00 2001 From: Faheed Date: Sun, 30 Nov 2025 18:15:14 +0300 Subject: [PATCH] small screen ui change fixed --- NorahUniversity/settings.py | 4 ++- recruitment/forms.py | 18 +++++++--- recruitment/models.py | 12 +++++++ static/css/main.css | 3 ++ templates/base.html | 33 +++++++++++++---- .../emails/rejection_screening_draft.html | 35 +++++++++++++++++++ templates/includes/email_compose_form.html | 7 +++- templates/jobs/job_list.html | 2 +- templates/people/person_list.html | 4 +-- templates/recruitment/agency_list.html | 4 +-- templates/recruitment/applications_list.html | 4 +-- 11 files changed, 106 insertions(+), 20 deletions(-) create mode 100644 templates/emails/rejection_screening_draft.html diff --git a/NorahUniversity/settings.py b/NorahUniversity/settings.py index 702acec..2b4cac5 100644 --- a/NorahUniversity/settings.py +++ b/NorahUniversity/settings.py @@ -206,7 +206,9 @@ ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True ACCOUNT_FORMS = {"signup": "recruitment.forms.StaffSignupForm"} -EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" +EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend" +EMAIL_HOST = "10.10.1.110" +EMAIL_PORT = 2225 # Crispy Forms Configuration CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5" diff --git a/recruitment/forms.py b/recruitment/forms.py index f2db1ce..75d4f41 100644 --- a/recruitment/forms.py +++ b/recruitment/forms.py @@ -2112,6 +2112,7 @@ class MessageForm(forms.ModelForm): "rows": 6, "placeholder": "Enter your message here...", "required": True, + 'spellcheck': 'true', } ), "message_type": forms.Select(attrs={"class": "form-select"}), @@ -2156,12 +2157,21 @@ class MessageForm(forms.ModelForm): """Filter job options based on user type""" if self.user.user_type == "agency": - # Agency users can only see jobs assigned to their agency + # # Agency users can only see jobs assigned to their agency + # self.fields["job"].queryset = JobPosting.objects.filter( + # hiring_agency__user=self.user, + # status="ACTIVE" + # ).order_by("-created_at") + # + job_assignments =AgencyJobAssignment.objects.filter( + agency__user=self.user, + job__status="ACTIVE" + ) + job_ids = job_assignments.values_list('job__id', flat=True) self.fields["job"].queryset = JobPosting.objects.filter( - hiring_agency__user=self.user, - status="ACTIVE" + id__in=job_ids ).order_by("-created_at") - print(self.user) + print("Agency user job queryset:", self.fields["job"].queryset) elif self.user.user_type == "candidate": # Candidates can only see jobs they applied for diff --git a/recruitment/models.py b/recruitment/models.py index d9e2346..df164c6 100644 --- a/recruitment/models.py +++ b/recruitment/models.py @@ -22,6 +22,18 @@ from django.db.models import F, Value, IntegerField, CharField from django.db.models.functions import Coalesce, Cast from django.db.models.fields.json import KeyTransform, KeyTextTransform +class EmailContent(models.Model): + subject = models.CharField(max_length=255, verbose_name=_("Subject")) + message = CKEditor5Field(verbose_name=_("Message Body")) + + class Meta: + verbose_name = _("Email Content") + verbose_name_plural = _("Email Contents") + + def __str__(self): + return self.subject + + class CustomUser(AbstractUser): """Custom user model extending AbstractUser""" diff --git a/static/css/main.css b/static/css/main.css index bd5ca4c..a7120d8 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -732,3 +732,6 @@ html[dir="rtl"] .me-auto { margin-right: 0 !important; margin-left: auto !import content: ">"; color: var(--kaauh-teal); } + + + \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index b2c6b69..25a6c24 100644 --- a/templates/base.html +++ b/templates/base.html @@ -50,10 +50,7 @@