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
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)
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)
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)
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)
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)
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)