本文整理汇总了Python中models.Ticket.caller方法的典型用法代码示例。如果您正苦于以下问题:Python Ticket.caller方法的具体用法?Python Ticket.caller怎么用?Python Ticket.caller使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Ticket
的用法示例。
在下文中一共展示了Ticket.caller方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: settings_view
# 需要导入模块: from models import Ticket [as 别名]
# 或者: from models.Ticket import caller [as 别名]
def settings_view(request, response_format='html'):
"Settings"
if not request.user.profile.is_admin('anaf.services'):
return user_denied(request,
message="You don't have administrator access to the Service Support module")
# default ticket status
try:
conf = ModuleSetting.get_for_module(
'anaf.services', 'default_ticket_status')[0]
default_ticket_status = TicketStatus.objects.get(pk=long(conf.value))
except Exception:
default_ticket_status = None
# default queue
try:
conf = ModuleSetting.get_for_module(
'anaf.services', 'default_ticket_queue')[0]
default_ticket_queue = TicketQueue.objects.get(pk=long(conf.value))
except Exception:
default_ticket_queue = None
# notify ticket caller by email
try:
conf = ModuleSetting.get_for_module(
'anaf.services', 'send_email_to_caller')[0]
send_email_to_caller = conf.value
except Exception:
send_email_to_caller = settings.ANAF_SEND_EMAIL_TO_CALLER
# notification template
send_email_example = ''
try:
conf = ModuleSetting.get_for_module(
'anaf.services', 'send_email_template')[0]
send_email_template = conf.value
except Exception:
send_email_template = None
queues = TicketQueue.objects.filter(trash=False, parent__isnull=True)
statuses = TicketStatus.objects.filter(trash=False)
if send_email_to_caller:
# Render example e-mail
try:
ticket = Object.filter_by_request(
request, Ticket.objects.filter(status__hidden=False, caller__isnull=False))[0]
except IndexError:
ticket = Ticket(reference='REF123', name='New request')
if not ticket.caller:
try:
caller = Object.filter_by_request(request, Contact.objects)[0]
except IndexError:
caller = Contact(name='John Smith')
ticket.caller = caller
try:
ticket.status
except:
try:
ticket.status = statuses[0]
except IndexError:
ticket.status = TicketStatus(name='Open')
if send_email_template:
try:
send_email_example = render_string_template(
send_email_template, {'ticket': ticket})
except:
send_email_example = render_to_string(
'services/emails/notify_caller', {'ticket': ticket}, response_format='html')
else:
send_email_example = render_to_string(
'services/emails/notify_caller', {'ticket': ticket}, response_format='html')
context = _get_default_context(request)
context.update({'settings_queues': queues,
'settings_statuses': statuses,
'default_ticket_status': default_ticket_status,
'default_ticket_queue': default_ticket_queue,
'send_email_to_caller': send_email_to_caller,
'send_email_example': send_email_example})
return render_to_response('services/settings_view', context,
context_instance=RequestContext(request), response_format=response_format)
示例2: ticket_add
# 需要导入模块: from models import Ticket [as 别名]
# 或者: from models.Ticket import caller [as 别名]
def ticket_add(request, queue_id=None, response_format='html'):
"Ticket add"
context = _get_default_context(request)
agent = context['agent']
profile = request.user.profile
queue = None
if queue_id:
queue = get_object_or_404(TicketQueue, pk=queue_id)
if not profile.has_permission(queue, mode='x'):
queue = None
if request.POST:
if 'cancel' not in request.POST:
ticket = Ticket(creator=profile)
if not agent:
if queue:
ticket.queue = queue
if queue.default_ticket_status:
ticket.status = queue.default_ticket_status
else:
try:
conf = ModuleSetting.get_for_module(
'anaf.services', 'default_ticket_status')[0]
ticket.status = TicketStatus.objects.get(
pk=long(conf.value))
except:
if 'statuses' in context:
try:
ticket.status = context['statuses'][0]
except:
pass
ticket.priority = queue.default_ticket_priority
ticket.service = queue.default_service
else:
try:
conf = ModuleSetting.get_for_module(
'anaf.services', 'default_ticket_status')[0]
ticket.status = TicketStatus.objects.get(
pk=long(conf.value))
except:
if 'statuses' in context:
try:
ticket.status = context['statuses'][0]
except:
pass
try:
conf = ModuleSetting.get_for_module(
'anaf.services', 'default_ticket_queue')[0]
ticket.queue = TicketQueue.objects.get(
pk=long(conf.value))
except:
if 'queues' in context:
try:
ticket.queue = context['queues'][0]
except:
pass
try:
ticket.caller = profile.get_contact()
except:
pass
form = TicketForm(
profile, queue, agent, request.POST, instance=ticket)
if form.is_valid():
ticket = form.save()
ticket.set_user_from_request(request)
return HttpResponseRedirect(reverse('services_ticket_view', args=[ticket.id]))
else:
return HttpResponseRedirect(reverse('services'))
else:
form = TicketForm(request.user.profile, queue, agent)
context.update({'form': form, 'queue': queue})
return render_to_response('services/ticket_add', context,
context_instance=RequestContext(request), response_format=response_format)