From de9c3153d5533972a8cada1e8014a75e45ce4e2e Mon Sep 17 00:00:00 2001 From: Faheed Date: Tue, 2 Dec 2025 18:15:05 +0300 Subject: [PATCH] message detail page ui changed --- recruitment/migrations/0001_initial.py | 2 +- ...ter_interview_details_url_note_and_more.py | 56 ------- templates/messages/message_detail.html | 148 +++++++++--------- 3 files changed, 73 insertions(+), 133 deletions(-) delete mode 100644 recruitment/migrations/0006_emailcontent_alter_interview_details_url_note_and_more.py diff --git a/recruitment/migrations/0001_initial.py b/recruitment/migrations/0001_initial.py index ff9ae1d..33e380b 100644 --- a/recruitment/migrations/0001_initial.py +++ b/recruitment/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.2.6 on 2025-12-02 10:27 +# Generated by Django 5.2.7 on 2025-12-02 14:21 import django.contrib.auth.models import django.contrib.auth.validators diff --git a/recruitment/migrations/0006_emailcontent_alter_interview_details_url_note_and_more.py b/recruitment/migrations/0006_emailcontent_alter_interview_details_url_note_and_more.py deleted file mode 100644 index b76acc2..0000000 --- a/recruitment/migrations/0006_emailcontent_alter_interview_details_url_note_and_more.py +++ /dev/null @@ -1,56 +0,0 @@ -# Generated by Django 5.2.7 on 2025-12-02 10:28 - -import django.db.models.deletion -import django_ckeditor_5.fields -import django_extensions.db.fields -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('recruitment', '0005_merge_20251202_1308'), - ] - - operations = [ - migrations.CreateModel( - name='EmailContent', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('subject', models.CharField(max_length=255, verbose_name='Subject')), - ('message', django_ckeditor_5.fields.CKEditor5Field(verbose_name='Message Body')), - ], - options={ - 'verbose_name': 'Email Content', - 'verbose_name_plural': 'Email Contents', - }, - ), - migrations.AlterField( - model_name='interview', - name='details_url', - field=models.JSONField(blank=True, null=True), - ), - migrations.CreateModel( - name='Note', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created at')), - ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated at')), - ('slug', django_extensions.db.fields.RandomCharField(blank=True, editable=False, length=8, unique=True, verbose_name='Slug')), - ('note_type', models.CharField(choices=[('Feedback', 'Candidate Feedback'), ('Logistics', 'Logistical Note'), ('General', 'General Comment')], default='Feedback', max_length=50, verbose_name='Note Type')), - ('content', django_ckeditor_5.fields.CKEditor5Field(verbose_name='Content/Feedback')), - ('application', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='recruitment.application', verbose_name='Application')), - ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='interview_notes', to=settings.AUTH_USER_MODEL, verbose_name='Author')), - ('interview', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='recruitment.interview', verbose_name='Scheduled Interview')), - ], - options={ - 'verbose_name': 'Interview Note', - 'verbose_name_plural': 'Interview Notes', - 'ordering': ['created_at'], - }, - ), - migrations.DeleteModel( - name='InterviewNote', - ), - ] diff --git a/templates/messages/message_detail.html b/templates/messages/message_detail.html index 46b44b5..fd9c667 100644 --- a/templates/messages/message_detail.html +++ b/templates/messages/message_detail.html @@ -4,95 +4,90 @@ {% block title %}{{ message.subject }}{% endblock %} {% block content %} -
+
-
-
-
- {{ message.subject }} - {% if message.parent_message %} - {% trans "Reply" %} - {% endif %} -
-
- - {% trans "Reply" %} - - {% if message.recipient == request.user %} - - {% trans "Mark Unread" %} +
+
+
+
+

{{ message.subject }}

+ {% if message.parent_message %} + {% trans "Reply" %} + {% endif %} +
+
+ + {% trans "Reply" %} - {% endif %} - - - {% trans "Back to Messages" %} - + {% if message.recipient == request.user %} + + {% endif %} + + + {% trans "Back" %} + +
-
+
- {% trans "From:" %} - {{ message.sender.get_full_name|default:message.sender.username }} + {% trans "From:" %} + {{ message.sender.get_full_name|default:message.sender.username }}
- {% trans "To:" %} - {{ message.recipient.get_full_name|default:message.recipient.username }} + {% trans "To:" %} + {{ message.recipient.get_full_name|default:message.recipient.username }}
-
-
- {% trans "Type:" %} - - {{ message.get_message_type_display }} + {% trans "Type:" %} + + {{message.get_message_type_display}}
- {% trans "Status:" %} + {% trans "Status:" %} {% if message.is_read %} {% trans "Read" %} {% if message.read_at %} ({{ message.read_at|date:"M d, Y H:i" }}) {% endif %} {% else %} - {% trans "Unread" %} + {% trans "Unread" %} {% endif %}
-
-
- {% trans "Created:" %} + {% trans "Created:" %} {{ message.created_at|date:"M d, Y H:i" }}
{% if message.job %} -
- {% trans "Related Job:" %} - + {% endif %}
{% if message.parent_message %} -
+
{% trans "In reply to:" %} - + {{ message.parent_message.subject }} - + {% trans "From" %} {{ message.parent_message.sender.get_full_name|default:message.parent_message.sender.username }} {% trans "on" %} {{ message.parent_message.created_at|date:"M d, Y H:i" }} @@ -102,10 +97,7 @@
-
-
-
{% trans "Message" %}
-
+
{{ message.content|linebreaks }} @@ -115,15 +107,15 @@ {% if message.replies.all %} -
-
+
+
- {% trans "Replies" %} ({{ message.replies.count }}) + {% trans "Replies" %} {{ message.replies.count }}
{% for reply in message.replies.all %} -
+
{{ reply.sender.get_full_name|default:reply.sender.username }} @@ -135,14 +127,12 @@ {{ reply.get_message_type_display }}
-
+
{{ reply.content|linebreaks }}
- + + {% trans "Reply" %} +
{% endfor %}
@@ -153,31 +143,37 @@
{% endblock %} -{% block extra_css %} +{% block customCSS %} {% endblock %}