from apps.userprofile.services import ProfileServices


def support_ticket_email_context(ticket, request=None):
    profile = getattr(ticket.user, "profile", None)

    images = []
    for img in ticket.images.all():
        url = img.image.url
        if request:
            url = request.build_absolute_uri(url)
        images.append(url)

    return {
        "ticket_id": ticket.id,
        "description": ticket.description,
        "status": ticket.status,
        "created_at": ticket.created_at,
        "user_name": ProfileServices.resolve_display_name(user=ticket.user),
        "user_email": ticket.user.email,
        "user_phone": getattr(profile, "phone_number", "N/A"),
        "images": images,
    }
