Subversion Repositories SmartDukaan

Rev

Rev 4948 | Rev 5007 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4948 Rev 4999
Line 557... Line 557...
557
            if user is None or user.userId == -1:
557
            if user is None or user.userId == -1:
558
                searchFilter.customerEmailId = order.customer_email
558
                searchFilter.customerEmailId = order.customer_email
559
                searchFilter.customerMobileNumber = order.customer_mobilenumber
559
                searchFilter.customerMobileNumber = order.customer_mobilenumber
560
            else:
560
            else:
561
                searchFilter.customerId = user.userId
561
                searchFilter.customerId = user.userId
-
 
562
            searchFilter.ticketCategory = TicketCategory.UNDELIVERED
562
            tickets = crmServiceClient.getTickets(searchFilter)
563
            tickets = crmServiceClient.getTickets(searchFilter)
563
            print tickets
564
            print tickets
564
            for old_ticket in tickets:
565
            for old_ticket in tickets:
565
                if old_ticket.orderId == order.id:
566
                if old_ticket.orderId == order.id:
566
                    ticket_created = True
567
                    ticket_created = True
Line 602... Line 603...
602
                crmServiceClient.insertTicket(ticket, activity)
603
                crmServiceClient.insertTicket(ticket, activity)
603
    except:
604
    except:
604
        print "Some issue while creating crm tickets for orders in FIRST_DELIVERY_ATTEMPT_MADE status"
605
        print "Some issue while creating crm tickets for orders in FIRST_DELIVERY_ATTEMPT_MADE status"
605
        traceback.print_exc()
606
        traceback.print_exc()
606
 
607
 
-
 
608
def auto_crm_tickets_created():
-
 
609
    try:
-
 
610
        ticket_created_orders = []
-
 
611
        tickets_map = {}
-
 
612
        crmServiceClient = CRMClient().get_client()
-
 
613
        searchFilter = SearchFilter()
-
 
614
        searchFilter.ticketCategory = TicketCategory.UNDELIVERED
-
 
615
        searchFilter.ticketAssigneeIds = [defaultUndeliveredAsssigneeId]
-
 
616
        searchFilter.ticketPriority = TicketPriority.HIGH
-
 
617
        searchFilter.ticketStatuses = [TicketStatus.OPEN]
-
 
618
        tickets = crmServiceClient.getTickets(searchFilter)
-
 
619
        print tickets
-
 
620
        for old_ticket in tickets:
-
 
621
            ticket_created_orders.append(old_ticket.orderId)
-
 
622
            tickets_map[old_ticket.orderId] = old_ticket
-
 
623
        print ticket_created_orders
-
 
624
        txnClient = TransactionClient().get_client()
-
 
625
        orders = txnClient.getOrderList(ticket_created_orders)
-
 
626
        for order in orders:
-
 
627
            if order.status not in [OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE]:
-
 
628
                old_ticket = tickets_map.get(order.id)
-
 
629
                old_ticket.status = TicketStatus.CLOSED
-
 
630
                activity = Activity()
-
 
631
                activity.creatorId = 1
-
 
632
                activity.ticketAssigneeId = old_ticket.assigneeId
-
 
633
                activity.type = ActivityType.OTHER
-
 
634
                activity.description = "Ticket Closed bcoz order status changed to:" + order.statusDescription
-
 
635
                activity.ticketCategory = old_ticket.category
-
 
636
                activity.ticketDescription = old_ticket.description
-
 
637
                activity.ticketPriority = old_ticket.priority
-
 
638
                activity.ticketStatus = old_ticket.status
-
 
639
                
-
 
640
                if old_ticket.customerId is None or old_ticket.customerId == -1:
-
 
641
                    activity.customerEmailId = old_ticket.customerEmailId
-
 
642
                    activity.customerMobileNumber = old_ticket.customerMobileNumber
-
 
643
                    activity.customerName = old_ticket.customerName
-
 
644
                else:
-
 
645
                    activity.customerId = old_ticket.customerId
-
 
646
                
-
 
647
                crmServiceClient.updateTicket(old_ticket, activity)
-
 
648
    except:
-
 
649
        print "Some issue while closing crm tickets for orders in DELIVERY_SUCCESS status"
-
 
650
        traceback.print_exc()
-
 
651
 
607
def get_py_datetime(time_string):
652
def get_py_datetime(time_string):
608
    # This should be a command line argument.
653
    # This should be a command line argument.
609
    # Refer http://docs.python.org/library/time.html#time.strftime to
654
    # Refer http://docs.python.org/library/time.html#time.strftime to
610
    # get a complete list of format specifiers available for date time.
655
    # get a complete list of format specifiers available for date time.
611
    time_format = "%m/%d/%Y %I:%M:%S %p"
656
    time_format = "%m/%d/%Y %I:%M:%S %p"
Line 658... Line 703...
658
        process_local_connection_orders(provider)
703
        process_local_connection_orders(provider)
659
        process_reached_destination_city_orders(provider)
704
        process_reached_destination_city_orders(provider)
660
        process_first_delivery_attempt_orders(provider)
705
        process_first_delivery_attempt_orders(provider)
661
        process_delivery_report(provider)
706
        process_delivery_report(provider)
662
        create_crm_tickets_for_delivey_attempted_orders(provider)
707
        create_crm_tickets_for_delivey_attempted_orders(provider)
-
 
708
        auto_crm_tickets_created()
663
    if options.gen_reports:
709
    if options.gen_reports:
664
        generate_reports(provider)
710
        generate_reports(provider)
665
 
711
 
666
if __name__ == '__main__':
712
if __name__ == '__main__':
667
    main()
713
    main()