def get_form(self): if not hasattr(self, 'form'): if any(key in ['start', 'end'] for key in self.request.GET): # bound form self.form = forms.DateForm(self.request.GET) else: # non-bound form init = self.init_form() self.form = forms.DateForm(initial={ 'start': init[0], 'end': init[1] }) return self.form
def get_context_data(self, **kwargs): context = super(DAIRShowbackView, self).get_context_data(**kwargs) context['form'] = forms.DateForm() project_id = self.request.user.tenant_id start_date = self.request.GET.get('start') context['start_date'] = start_date end_date = self.request.GET.get('end') context['end_date'] = end_date if start_date and end_date: usage = {} usage['Bandwidth'] = api.jt.get_dair_bandwidth_showback_usage( project_id, start_date, end_date) usage['Swift'] = api.jt.get_dair_object_store_showback_usage( project_id, start_date, end_date) usage['Instances'] = api.jt.get_dair_nova_showback_usage( project_id, start_date, end_date) usage['Snapshots'] = api.jt.get_dair_glance_showback_usage( project_id, start_date, end_date) usage['Volumes'] = api.jt.get_dair_cinder_showback_usage( project_id, start_date, end_date) context['usage'] = usage return context
def get_form(self): if not hasattr(self, 'form'): self.form = forms.DateForm(self.request.GET, initial={ 'year': self.today.year, 'month': self.today.month }) return self.form
def get_form(self): if not hasattr(self, 'form'): req = self.request start = req.GET.get('start', req.session.get('usage_start')) end = req.GET.get('end', req.session.get('usage_end')) if start and end: # bound form self.form = forms.DateForm({'start': start, 'end': end}) else: # non-bound form init = self.init_form() start = init[0].isoformat() end = init[1].isoformat() self.form = forms.DateForm(initial={'start': start, 'end': end}) req.session['usage_start'] = start req.session['usage_end'] = end return self.form
def get_form(self): if not hasattr(self, 'form'): req = self.request start = req.GET.get('start', None) #do not get from session end = req.GET.get('end', None) if start and end: # bound form self.form = forms.DateForm({'start': start, 'end': end}) else: # non-bound form init = self.init_form() start = init[0].isoformat() end = init[1].isoformat() self.form = forms.DateForm(initial={ 'start': start, 'end': end }) if isinstance(self, GlobalUsage): self.default_date = True req.session['usage_start'] = start req.session['usage_end'] = end return self.form
def get_context_data(self, **kwargs): context = super(IndexView, self).get_context_data(**kwargs) month = self._get_month() year = self._get_year() if year and month: data = self._get_billing_data(year, month) total = float(data[4]['meter_cpu'])\ + float(data[4]['meter_disk_io'])\ + float(data[4]['meter_net_io']) context['total_costs'] = '%0.2f' % total self.today = time.today() initial = { 'month': month if month else self.today.month, 'year': year if year else self.today.year } self.form = forms.DateForm(initial=initial) context['form'] = self.form return context
def tenant_usage(request): tenant_id = request.user.tenant (date_start, date_end, datetime_start, datetime_end) = \ _get_start_and_end_date(request) if date_start > _current_month(): messages.error(request, _('No data for the selected period')) date_end = date_start datetime_end = datetime_start dateform = forms.DateForm() dateform['date'].field.initial = date_start usage = {} try: usage = api.usage_get(request, tenant_id, datetime_start, datetime_end) except api_exceptions.ApiException, e: LOG.exception('ApiException getting usage info for tenant "%s"' ' on date range "%s to %s"' % (tenant_id, datetime_start, datetime_end)) messages.error(request, _('Unable to get usage info: %s') % e.message)
def usage(request): (date_start, date_end, datetime_start, datetime_end) = \ _get_start_and_end_date(request) global_summary = GlobalSummary(request) if date_start > _current_month(): messages.error(request, _('No data for the selected period')) date_end = date_start datetime_end = datetime_start else: global_summary.service() global_summary.usage(datetime_start, datetime_end) dateform = forms.DateForm() dateform['date'].field.initial = date_start global_summary.avail() global_summary.human_readable('disk_size') global_summary.human_readable('ram_size') if request.GET.get('format', 'html') == 'csv': template_name = 'syspanel/instances/usage.csv' mimetype = "text/csv" else: template_name = 'syspanel/instances/usage.html' mimetype = "text/html" return render_to_response( template_name, { 'dateform': dateform, 'datetime_start': datetime_start, 'datetime_end': datetime_end, 'usage_list': global_summary.usage_list, 'csv_link': _csv_usage_link(date_start), 'global_summary': global_summary.summary, 'external_links': getattr(settings, 'EXTERNAL_MONITORING', []), }, context_instance=template.RequestContext(request), mimetype=mimetype)