messages and email

This commit is contained in:
Faheed 2025-11-18 19:03:20 +03:00
parent acee95995c
commit fcc74dbac2
2 changed files with 22 additions and 2 deletions

View File

@ -4692,7 +4692,8 @@ def message_detail(request, message_id):
@login_required
def message_create(request):
"""Create a new message"""
"""Create a new message"""
from .email_service import EmailService
if request.method == "POST":
form = MessageForm(request.user, request.POST)
@ -4700,8 +4701,25 @@ def message_create(request):
message = form.save(commit=False)
message.sender = request.user
message.save()
messages.success(request, "Message sent successfully!")
["recipient", "job", "subject", "content", "message_type"]
recipient_email = form.cleaned_data['recipient'].email # Assuming recipient is a User or Model with an 'email' field
subject = form.cleaned_data['subject']
custom_message = form.cleaned_data['content']
job_id = form.cleaned_data['job'].id if 'job' in form.cleaned_data and form.cleaned_data['job'] else None
sender_user_id = request.user.id
task_id = async_task(
'recruitment.tasks.send_bulk_email_task',
subject,
custom_message, # Pass the custom message
[recipient_email], # Pass the specific recipient as a list of one
sender_user_id=sender_user_id,
job_id=job_id,
hook='recruitment.tasks.email_success_hook')
logger.info(f"{task_id} queued.")
return redirect("message_list")
else:
messages.error(request, "Please correct the errors below.")
@ -4714,6 +4732,8 @@ def message_create(request):
if request.user.user_type != "staff":
return render(request, "messages/candidate_message_form.html", context)
return render(request, "messages/message_form.html", context)
@login_required
def message_reply(request, message_id):
"""Reply to a message"""