本文整理汇总了Python中helpdesk.models.Ticket.queue_and_id_from_query方法的典型用法代码示例。如果您正苦于以下问题:Python Ticket.queue_and_id_from_query方法的具体用法?Python Ticket.queue_and_id_from_query怎么用?Python Ticket.queue_and_id_from_query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类helpdesk.models.Ticket
的用法示例。
在下文中一共展示了Ticket.queue_and_id_from_query方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: view_ticket
# 需要导入模块: from helpdesk.models import Ticket [as 别名]
# 或者: from helpdesk.models.Ticket import queue_and_id_from_query [as 别名]
def view_ticket(request):
ticket_req = request.GET.get('ticket', '')
ticket = False
email = request.GET.get('email', '')
error_message = ''
if ticket_req and email:
queue, ticket_id = Ticket.queue_and_id_from_query(ticket_req)
try:
ticket = Ticket.objects.get(id=ticket_id, submitter_email__iexact=email)
except:
ticket = False
error_message = _('Invalid ticket ID or e-mail address. Please try again.')
if ticket:
if request.user.is_staff:
redirect_url = reverse('helpdesk_view', args=[ticket_id])
if 'close' in request.GET:
redirect_url += '?close'
return HttpResponseRedirect(redirect_url)
if 'close' in request.GET and ticket.status == Ticket.RESOLVED_STATUS:
from helpdesk.views.staff import update_ticket
# Trick the update_ticket() view into thinking it's being called with
# a valid POST.
request.POST = {
'new_status': Ticket.CLOSED_STATUS,
'public': 1,
'title': ticket.title,
'comment': _('Submitter accepted resolution and closed ticket'),
}
if ticket.assigned_to:
request.POST['owner'] = ticket.assigned_to.id
request.GET = {}
return update_ticket(request, ticket_id, public=True)
# redirect user back to this ticket if possible.
redirect_url = ''
if helpdesk_settings.HELPDESK_NAVIGATION_ENABLED:
redirect_url = reverse('helpdesk_view', args=[ticket_id])
return render(request, 'helpdesk/public_view_ticket.html',
{
'ticket': ticket,
'helpdesk_settings': helpdesk_settings,
'next': redirect_url,
})
return render(request, template_name='helpdesk/public_view_form.html',
context = {
'ticket': ticket,
'email': email,
'error_message': error_message,
'helpdesk_settings': helpdesk_settings,
})