def _get_type_choice_form(self): selected_report = self.request.GET.get("report") form_info = self.report_classes[selected_report] if selected_report else None if not form_info: form_info = six.next(six.itervalues(get_report_classes())) self.form_class = form_info.form_class return self._get_form(form_info)
def get_extra_permissions(self): report_identifiers = set() for report_class in get_report_classes(): report_identifiers.add(report_class) return report_identifiers
def _get_choices(self): return [(k, v.title) for k, v in six.iteritems(get_report_classes(self.request))]
def get_form(self, form_class=None): self.report_classes = get_report_classes(self.request) selected_report = self.request.GET.get("report") if selected_report: return self._get_concrete_form(selected_report) return self._get_type_choice_form()