06/09 Add customer request view
This commit is contained in:
+34
-2
@@ -162,7 +162,39 @@ def submit_ticket():
|
||||
_notify_admins_new_ticket(ticket)
|
||||
|
||||
flash('Your message has been submitted. Our team will get back to you soon.', 'success')
|
||||
return redirect(url_for('support.chat'))
|
||||
return redirect(url_for('support.my_tickets'))
|
||||
|
||||
|
||||
# ── Customer: my tickets list ─────────────────────────────────────────────────
|
||||
|
||||
@bp.route('/my-tickets')
|
||||
@login_required
|
||||
def my_tickets():
|
||||
if current_user.role != 'customer':
|
||||
abort(403)
|
||||
|
||||
tickets = (SupportTicket.query
|
||||
.filter_by(customer_id=current_user.id)
|
||||
.order_by(SupportTicket.created_at.desc())
|
||||
.all())
|
||||
return render_template('support/my_tickets.html', tickets=tickets)
|
||||
|
||||
|
||||
# ── Customer: ticket detail ───────────────────────────────────────────────────
|
||||
|
||||
@bp.route('/my-tickets/<int:ticket_id>')
|
||||
@login_required
|
||||
def my_ticket_detail(ticket_id):
|
||||
if current_user.role != 'customer':
|
||||
abort(403)
|
||||
|
||||
ticket = db.session.get(SupportTicket, ticket_id)
|
||||
if ticket is None or ticket.customer_id != current_user.id:
|
||||
abort(404)
|
||||
|
||||
replies = ticket.replies.order_by(SupportTicketReply.created_at.asc()).all()
|
||||
return render_template('support/my_ticket_detail.html',
|
||||
ticket=ticket, replies=replies)
|
||||
|
||||
|
||||
def _notify_admins_new_ticket(ticket):
|
||||
@@ -274,7 +306,7 @@ def _notify_customer_reply(ticket, reply):
|
||||
title = f'Reply to your support request #{ticket.id}'
|
||||
body = (f'{admin_name} replied to your ticket "{ticket.subject}":\n\n'
|
||||
f'{reply.body[:400]}{"…" if len(reply.body) > 400 else ""}')
|
||||
link = url_for('support.chat')
|
||||
link = url_for('support.my_ticket_detail', ticket_id=ticket.id)
|
||||
|
||||
notify(
|
||||
recipient = ticket.customer,
|
||||
|
||||
Reference in New Issue
Block a user