Пример #1
0
def export(request):
    #if request.method == 'GET':
    start, end = get_dates_from_request(request)
    status = request.GET["status"]
    environment = request.GET['environment']

    _LOG.info(status)
    _LOG.info(environment)

    
    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename=%s.csv' % slugify(
        MarketingReportData.__name__)
    writer = csv.writer(response)

    if status == "All":
        for obj in MarketingReportData.objects.filter(date__gt=start, date__lt=end):
            _LOG.info(obj.product_info)
            products = obj.product_info
            _LOG.info(products)
            for p in products:
                row = [obj.instance_identifier, obj.hour, obj.splice_server, p["product_id"], 
                p["product_account"], p["product_contract"], p["product_quantity"], p["pool_uuid"]]
                writer.writerow(row)
            # Return CSV file to browser as download
    else:
        for obj in MarketingReportData.objects.filter(status=status, date__gt=start, date__lt=end):
            row = [obj.instance_identifier, obj.hour, obj.splice_server]
            writer.writerow(row)

    return response
Пример #2
0
def default_report(request):
    
    _LOG.info("default_report called by method: %s" % (request.method))

    user = str(request.user)
    account = Account.objects.filter(login=user)[0].account_id
    data = data_from_post(request)
    start, end = get_dates_from_request(request)
    environment = data['env']
    list_of_rhics = []
    
    list_of_rhics = list(RHIC.objects.filter(account_id=account))
    args = {'start': start,
            'end': end,
            'list_of_rhics': list_of_rhics,
            'environment': environment,
            'return_failed_only': True
            }
    usuage_compliance = hours_per_consumer(**args)
    
    fact_compliance = system_fact_compliance_list(account)

    format = constants.full_format
    response_data = {}
    response_data['list'] = usuage_compliance
    response_data['biz_list'] = fact_compliance
    response_data['account'] = account
    response_data['start'] = start.strftime(format)
    response_data['end'] = end.strftime(format)

    return create_response(response_data)
Пример #3
0
    def post_list(self, request, **kwargs):
        _LOG.info("FilterResource::post() ")
        user = str(request.user)
        start, end = utils.get_dates_from_request(request)
        data = utils.data_from_post(request)

        start = "%s/%s/%s" % (start.month, start.day, start.year)
        end = "%s/%s/%s" % (end.month, end.day, end.year)
        filter_name = data["filter_name"]
        filter_description = data["filter_description"]
        if "org" in data:
            environment = data["org"]
        else:
            environment = "All"

        status = data["status"]

        filter = Filter(
            filter_name=filter_name,
            filter_description=filter_description,
            owner=user,
            status=status,
            environment=environment,
            start_date=start,
            end_date=end,
        )
        filter.save()

        user_filters = Filter.objects.filter(owner=str(request.user))
        response_data = {}
        response_data["filters"] = user_filters

        return utils.create_response(response_data)
Пример #4
0
def report(request):
    
    _LOG.info("report called by method: %s" % (request.method))
    user = str(request.user)
       
    start, end = get_dates_from_request(request)
    data = data_from_post(request)
    
    if 'env' in data:
        environment = data["env"]
    else:
        environment = "All"

    status = data["status"]
    results = []
    _LOG.info("status =" + status)
    if status == "All":
        results  = MarketingReportData.objects.filter(date__gt=start, date__lt=end)
        #r  = MarketingReportData.objects.all()
    elif status == "valid":
        results = MarketingReportData.objects.filter(status='valid', date__gt=start, date__lt=end)
    elif status == "invalid":
        results = MarketingReportData.objects.filter(status='invalid', date__gt=start, date__lt=end)
    elif status == "partial":
        results = MarketingReportData.objects.filter(status='partial', date__gt=start, date__lt=end)
    elif status == "Failed":
        invalid = MarketingReportData.objects.filter(status='invalid', date__gt=start, date__lt=end)
        partial = MarketingReportData.objects.filter(status='partial', date__gt=start, date__lt=end)
        if invalid:
            results.append(invalid[0])
        if partial:
            results.append(partial[0])

    if results:
        _LOG.info(len(results))

    num_valid = MarketingReportData.objects.filter(status='valid', date__gt=start, date__lt=end).count()
    num_invalid = MarketingReportData.objects.filter(status='invalid', date__gt=start, date__lt=end).count()
    num_partial = MarketingReportData.objects.filter(status='partial', date__gt=start, date__lt=end).count()
    
    format = constants.full_format


    response_data = {}
    
    if 'page' in request.GET:
        page = request.GET.get('page')

    else:
        response_data['list'] = results

    
    response_data['start'] = start.strftime(format)
    response_data['end'] = end.strftime(format)
    response_data['num_valid'] = str(num_valid)
    response_data['num_invalid'] = str(num_invalid)
    response_data['num_partial'] = str(num_partial)

    return create_response(response_data)
Пример #5
0
def create_export_report(request):
    _LOG.info("report called by method: %s" % (request.method))

    user = str(request.user)
    account = Account.objects.filter(login=user)[0].account_id
    start, end = get_dates_from_request(request)
    
    if 'env' in request.GET:
        environment = request.GET['env']
    else:
        environment = "All"
        
    rhic = request.GET['rhic']
    contract = request.GET['contract_number']    
    list_of_rhics = []
    
    if contract == 'All' and (rhic == 'All' or rhic == 'null'):
        list_of_rhics = list(RHIC.objects.filter(account_id=account))
        results = hours_per_consumer(start,
                                     end, 
                                     list_of_rhics=list_of_rhics,
                                     environment=environment)

    elif rhic != 'null':
        if rhic == "All":
            list_of_rhics = list(RHIC.objects.filter(contract=contract))
        else:
            my_uuid = rhic
            list_of_rhics = list(RHIC.objects.filter(uuid=my_uuid))
        results = hours_per_consumer(start,
                                     end,
                                     list_of_rhics,
                                     environment=environment)

    else:
        list_of_rhics = list(RHIC.objects.filter(account_id=account))
        results = hours_per_consumer(start,
                                     end,
                                     list_of_rhics=list_of_rhics,
                                     environment=environment)

    format = constants.full_format

    response_data = {}
    response_data['list'] = results
    response_data['account'] = account
    response_data['start'] = start.strftime(format)
    response_data['end'] = end.strftime(format)

    #return create_response(utils.to_json(response_data))
    return create_response(response_data)
Пример #6
0
def report(request):
    
    _LOG.info("report called by method: %s" % (request.method))

    user = str(request.user)
    account = Account.objects.filter(login=user)[0].account_id
       
    start, end = get_dates_from_request(request)
    data = data_from_post(request)
    
    if 'env' in data:
        environment = data["env"]
    else:
        environment = "All"

    rhic = data["rhic"]
    contract = data["contract_number"]
    list_of_rhics = []

    if contract == 'All' and (rhic == 'All' or rhic == 'null'):
        list_of_rhics = list(RHIC.objects.filter(account_id=account))

    elif rhic != 'null':
        if rhic == "All":
            list_of_rhics = list(RHIC.objects.filter(contract=contract))
        else:
            my_uuid = data['rhic']
            list_of_rhics = list(RHIC.objects.filter(uuid=my_uuid))

    else:
        list_of_rhics = list(RHIC.objects.filter(account_id=account))

    args = {'start': start,
            'end': end,
            'list_of_rhics': list_of_rhics,
            'environment': environment
            } 
    results = hours_per_consumer(**args)

    format = constants.full_format

    response_data = {}
    response_data['list'] = results
    response_data['account'] = account
    response_data['start'] = start.strftime(format)
    response_data['end'] = end.strftime(format)

    return create_response(response_data)
Пример #7
0
def create_export_report(request):
    """
    This is now used by "Export Report" and should be the "GET" equiv
    of report

    @param request: http

    generate the data for the report.
    data is generated from hours_per_consumer
    
    Returns:
    Content-Disposition:attachment; filename=reportdata.csv
    Content-Type:text/csv

    """
    _LOG.info("report called by method: %s" % (request.method))

    user = str(request.user)
    account = Account.objects.filter(login=user)[0].account_id
    start, end = get_dates_from_request(request)
    
    if 'env' in request.GET:
        environment = request.GET['env']
    else:
        environment = "All"
        
    rhic = request.GET['rhic']
    contract = request.GET['contract_number']    
    list_of_rhics = []
    
    if contract == 'All' and (rhic == 'All' or rhic == 'null'):
        list_of_rhics = list(RHIC.objects.filter(account_id=account))
        results = hours_per_consumer(start,
                                     end, 
                                     list_of_rhics=list_of_rhics,
                                     environment=environment)

    elif rhic != 'null':
        if rhic == "All":
            list_of_rhics = list(RHIC.objects.filter(contract=contract))
        else:
            my_uuid = rhic
            list_of_rhics = list(RHIC.objects.filter(uuid=my_uuid))
        results = hours_per_consumer(start,
                                     end,
                                     list_of_rhics,
                                     environment=environment)

    else:
        list_of_rhics = list(RHIC.objects.filter(account_id=account))
        results = hours_per_consumer(start,
                                     end,
                                     list_of_rhics=list_of_rhics,
                                     environment=environment)

    format = constants.full_format

    response_data = {}
    response_data['list'] = results
    response_data['account'] = account
    response_data['start'] = start.strftime(format)
    response_data['end'] = end.strftime(format)

    #return create_response(utils.to_json(response_data))
    return create_response(response_data)