当前位置: 首页>>代码示例>>Python>>正文


Python Ticket.caller方法代码示例

本文整理汇总了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)
开发者ID:tovmeod,项目名称:anaf,代码行数:86,代码来源:views.py

示例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)
开发者ID:tovmeod,项目名称:anaf,代码行数:79,代码来源:views.py


注:本文中的models.Ticket.caller方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。