Example #1
0
def filterEventsByEmailCTAHspt(user_id, company_id, start_date, end_date, event_type, query_type, page_number, items_per_page, system_type, offset, code, export_type, url):
    original_start_date = int(start_date) * 1000
    original_end_date = int(end_date) * 1000
    #print 'start ' + str(original_start_date) 
    #print 'end ' + str(original_end_date) 
#     if start_date is not None:
#         local_start_date_naive = datetime.fromtimestamp(float(start_date))
#         local_start_date = get_current_timezone().localize(local_start_date_naive, is_dst=None)
#     if end_date is not None:
#         local_end_date_naive = datetime.fromtimestamp(float(end_date))
#         local_end_date = get_current_timezone().localize(local_end_date_naive, is_dst=None)
#     utc_current_date = datetime.utcnow()
    #print 'filter start us ' + str(local_start_date) + ' and edn is ' + str(local_end_date)
    code = _get_code(company_id, system_type)
     
    try:
        #print 'url 1 is ' + str(url)
        #url = urllib.unquote(url).decode('utf8')
        #print 'url is ' + str(url)
        events_list = EmailEvent.objects(Q(company_id=company_id) & Q(event_type=event_type) & Q(created__gte=int(original_start_date)) & Q(created__lte=int(original_end_date)) & Q(details__url=url))            
        events_list = list(events_list)      
        #print 'final results ' + str(events_list)
        total = len(events_list)
        final_events_list = events_list[offset:int(items_per_page + offset)]
        #leads = Lead.objects(**querydict).skip(offset).limit(items_per_page)
        serializer = EmailEventSerializer(final_events_list, many=True)   
        
        results = {'count' : total, 'results': serializer.data}
        return results
    except Exception as e:
        return JsonResponse({'Error' : str(e)})
Example #2
0
def filterCampaignEmailEventsByTypeHspt(user_id, company_id, start_date, end_date, event_type, email_id, query_type, page_number, items_per_page, system_type, offset, code, campaign_guid, export_type):
    original_start_date = int(start_date) * 1000
    original_end_date = int(end_date) * 1000
    #print 'start ' + str(original_start_date) 
    #print 'end ' + str(original_end_date) 
#     if start_date is not None:
#         local_start_date_naive = datetime.fromtimestamp(float(start_date))
#         local_start_date = get_current_timezone().localize(local_start_date_naive, is_dst=None)
#     if end_date is not None:
#         local_end_date_naive = datetime.fromtimestamp(float(end_date))
#         local_end_date = get_current_timezone().localize(local_end_date_naive, is_dst=None)
#     utc_current_date = datetime.utcnow()
    #print 'filter start us ' + str(local_start_date) + ' and edn is ' + str(local_end_date)
    code = _get_code(company_id, system_type)
     
    try:
        
#         guid_field_qry = 'guid'
#         company_field_qry = 'company_id'
#         emails_field_qry = 'emails.id'
#         emails_qry = '$emails'
#         event_qry = '$emails.events.' + event_type 
#         event_date_qry = '$emails.events.' + event_type + '.created'
#         event_date_qry2 = 'emails.events.' + event_type + '.created' #without $
#         recipient_qry = '$emails.events.' + event_type + '.recipient'
#         id_qry = '$emails.events.' + event_type + '.id'
#         querydict = {company_field_qry: company_id, guid_field_qry: campaign_guid}
        #print 'qd is ' + str(querydict)
        #events_list = Campaign.objects(**querydict).aggregate({'$unwind': results_qry}, {'$project': {'_id':0, 'event_id': id_qry, 'date': event_date_qry, 'recipient': recipient_qry}}) #{'$match' : {event_date_qry2: {'$gte': original_start_date, '$lte': original_end_date }}},
        #events_list = Campaign.objects(**querydict).aggregate({'$unwind': emails_qry}, {'$match': {emails_field_qry: int(email_id)}}, {'$unwind': event_qry}, {'$project': {'_id':0, 'event_id': id_qry, 'date': event_date_qry, 'recipient': recipient_qry}}, {'$match' : {'date': {'$gte': original_start_date, '$lte': original_end_date }}})#,   
        events_list = EmailEvent.objects(Q(company_id=company_id) & Q(campaign_guid=campaign_guid) & Q(email_id=int(email_id)) & Q(event_type=event_type) & Q(created__gte=int(original_start_date)) & Q(created__lte=int(original_end_date)))            
        events_list = list(events_list)      
        #print 'final results ' + str(events_list)
        total = len(events_list)
        final_events_list = events_list[offset:int(items_per_page + offset)]
        #leads = Lead.objects(**querydict).skip(offset).limit(items_per_page)
        serializer = EmailEventSerializer(final_events_list, many=True)   
        
        results = {'count' : total, 'results': serializer.data}
        return results
    except Exception as e:
        return JsonResponse({'Error' : str(e)})