(self, domain, report_name, app_id, source_type, report_source_id, existing_report=None, registry_slug=None,
                 *args, **kwargs)
This form can be used to create a new ReportConfiguration, or to modify
        an existing one if existing_report is set.
This form can be used to create a new ReportConfiguration, or to modify
        an existing one if existing_report is set.
This form can be used to create a new ReportConfiguration or to modify an existing one if existing_report is set .
def __init__(self, domain, report_name, app_id, source_type, report_source_id, existing_report=None, registry_slug=None,
                 *args, **kwargs):
        """
        This form can be used to create a new ReportConfiguration, or to modify
        an existing one if existing_report is set.
        """
        super(ConfigureNewReportBase, self).__init__(*args, **kwargs)
        self.existing_report = existing_report
        self.domain = domain

        if self.existing_report:
            self._bootstrap(self.existing_report)
        else:
            self.registry_slug = registry_slug
            self.report_name = report_name
            assert source_type in REPORT_BUILDER_DATA_SOURCE_TYPE_VALUES
            self.source_type = source_type
            self.report_source_id = report_source_id
            self.app = Application.get(app_id) if app_id else None
            if self.app:
                assert self.domain == self.app.domain

        self.ds_builder = get_data_source_interface(
            self.domain, self.app, self.source_type, self.report_source_id, self.registry_slug
        )
        self.report_column_options = self.ds_builder.report_column_options

        self.data_source_properties = self.ds_builder.data_source_properties

        self._report_columns_by_column_id = {}
        for column in self.report_column_options.values():
            for agg in column.aggregation_options:
                indicators = column.get_indicators(agg)
                for i in indicators:
                    self._report_columns_by_column_id[i['column_id']] = column
def __init__ ( self , domain , report_name , app_id , source_type , report_source_id , existing_report = None , registry_slug = None , * args , * * kwargs ) : super ( ConfigureNewReportBase , self ) . __init__ ( * args , * * kwargs ) self . existing_report = existing_report self . domain = domain if self . existing_report : self . _bootstrap ( self . existing_report ) else : self . registry_slug = registry_slug self . report_name = report_name assert source_type in REPORT_BUILDER_DATA_SOURCE_TYPE_VALUES self . source_type = source_type self . report_source_id = report_source_id self . app = Application . get ( app_id ) if app_id else None if self . app : assert self . domain == self . app . domain self . ds_builder = get_data_source_interface ( self . domain , self . app , self . source_type , self . report_source_id , self . registry_slug ) self . report_column_options = self . ds_builder . report_column_options self . data_source_properties = self . ds_builder . data_source_properties self . _report_columns_by_column_id = { } for column in self . report_column_options . values ( ) : for agg in column . aggregation_options : indicators = column . get_indicators ( agg ) for i in indicators : self . _report_columns_by_column_id [ i [ 'column_id' ] ] = column