update the complaint and inquiry creation for the source user
This commit is contained in:
parent
4dd3c3e505
commit
dcb6455819
@ -1029,45 +1029,36 @@ def inquiry_create(request):
|
||||
from .models import Inquiry
|
||||
from .forms import InquiryForm
|
||||
from apps.organizations.models import Patient
|
||||
from apps.px_sources.models import SourceUser, PXSource
|
||||
|
||||
# Determine base layout based on user type
|
||||
from apps.px_sources.models import SourceUser
|
||||
source_user = SourceUser.objects.filter(user=request.user).first()
|
||||
base_layout = 'layouts/source_user_base.html' if source_user else 'layouts/base.html'
|
||||
|
||||
if request.method == 'POST':
|
||||
# Handle form submission
|
||||
form = InquiryForm(request.POST, user=request.user)
|
||||
|
||||
if not form.is_valid():
|
||||
messages.error(request, f"Please correct the errors: {form.errors}")
|
||||
context = {
|
||||
'form': form,
|
||||
'base_layout': base_layout,
|
||||
'source_user': source_user,
|
||||
}
|
||||
return render(request, 'complaints/inquiry_form.html', context)
|
||||
|
||||
try:
|
||||
# Get form data
|
||||
patient_id = request.POST.get("patient_id", None)
|
||||
hospital_id = request.POST.get("hospital_id")
|
||||
department_id = request.POST.get("department_id", None)
|
||||
|
||||
subject = request.POST.get("subject")
|
||||
message = request.POST.get("message")
|
||||
category = request.POST.get("category")
|
||||
|
||||
# Contact info (if no patient)
|
||||
contact_name = request.POST.get("contact_name", "")
|
||||
contact_phone = request.POST.get("contact_phone", "")
|
||||
contact_email = request.POST.get("contact_email", "")
|
||||
|
||||
# Validate required fields
|
||||
if not all([hospital_id, subject, message, category]):
|
||||
messages.error(request, "Please fill in all required fields.")
|
||||
return redirect("complaints:inquiry_create")
|
||||
|
||||
# Create inquiry
|
||||
inquiry = Inquiry.objects.create(
|
||||
patient_id=patient_id if patient_id else None,
|
||||
hospital_id=hospital_id,
|
||||
department_id=department_id if department_id else None,
|
||||
subject=subject,
|
||||
message=message,
|
||||
category=category,
|
||||
contact_name=contact_name,
|
||||
contact_phone=contact_phone,
|
||||
contact_email=contact_email,
|
||||
)
|
||||
# Save inquiry
|
||||
inquiry = form.save(commit=False)
|
||||
|
||||
# Set source for source users
|
||||
source_user = SourceUser.objects.filter(user=request.user).first()
|
||||
if source_user:
|
||||
inquiry.source = source_user.source
|
||||
inquiry.created_by = request.user
|
||||
|
||||
inquiry.save()
|
||||
|
||||
# Log audit
|
||||
AuditService.log_event(
|
||||
@ -1086,12 +1077,13 @@ def inquiry_create(request):
|
||||
return redirect("complaints:inquiry_create")
|
||||
|
||||
# GET request - show form
|
||||
hospitals = Hospital.objects.filter(status="active")
|
||||
form = InquiryForm(user=request.user)
|
||||
hospitals = Hospital.objects.filter(status='active')
|
||||
if not request.user.is_px_admin() and request.user.hospital:
|
||||
hospitals = hospitals.filter(id=request.user.hospital.id)
|
||||
|
||||
context = {
|
||||
'hospitals': hospitals,
|
||||
'form': form,
|
||||
'base_layout': base_layout,
|
||||
'source_user': source_user,
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{% extends "layouts/base.html" %}
|
||||
{% extends base_layout %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
{% load math %}
|
||||
|
||||
@ -156,15 +156,6 @@
|
||||
|
||||
<!-- Sidebar -->
|
||||
<div class="col-lg-4">
|
||||
<!-- Due Date -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label">{% trans "Due Date" %}</label>
|
||||
<input type="datetime-local" name="due_date" class="form-control"
|
||||
placeholder="{% trans 'Optional due date' %}">
|
||||
<small class="form-text text-muted">
|
||||
{{ _("Leave empty for default")}}
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<!-- Help Information -->
|
||||
<div class="alert alert-info">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user