def create_instance(self, request, *args, **kwargs): ticket = Ticket(creator=request.user.profile) if not request.agent: if request.queue: ticket.queue = request.queue if request.queue.default_ticket_status: ticket.status = request.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 request.context: try: ticket.status = request.context['statuses'][0] except: pass ticket.priority = request.queue.default_ticket_priority ticket.service = request.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 request.context: try: ticket.status = request.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 request.context: try: ticket.queue = request.context['queues'][0] except: pass try: ticket.caller = request.user.profile.get_contact() except: pass return ticket