Пример #1
0
 def _get_context_for_saved_report(report_config):
     if report_config:
         report_config_data = report_config.to_json()
         report_config_data['filters'].update(report_config.get_date_range())
         return report_config_data
     else:
         return ReportConfig.default()
Пример #2
0
 def _get_context_for_saved_report(report_config):
     if report_config:
         report_config_data = report_config.to_json()
         report_config_data['filters'].update(report_config.get_date_range())
         return report_config_data
     else:
         return ReportConfig.default()
Пример #3
0
    def _update_initial_context(self):
        """
            Intention: Don't override.
        """
        report_configs = ReportConfig.by_domain_and_owner(self.domain,
            self.request.couch_user._id, report_slug=self.slug)
        current_config_id = self.request.GET.get('config_id', '')
        default_config = ReportConfig.default()

        def is_editable_datespan(field):
            field_fn = to_function(field) if isinstance(field, six.string_types) else field
            return issubclass(field_fn, DatespanFilter) and field_fn.is_editable

        has_datespan = any([is_editable_datespan(field) for field in self.fields])

        self.context.update(
            report=dict(
                title=self.rendered_report_title,
                description=self.description,
                section_name=self.section_name,
                slug=self.slug,
                sub_slug=None,
                type=self.dispatcher.prefix,
                url_root=self.url_root,
                is_async=self.asynchronous,
                is_exportable=self.exportable,
                dispatcher=self.dispatcher,
                filter_set=self.filter_set,
                needs_filters=self.needs_filters,
                has_datespan=has_datespan,
                show=(
                    self.override_permissions_check
                    or self.request.couch_user.can_view_some_reports(self.domain)
                ),
                is_emailable=self.emailable,
                is_export_all = self.exportable_all,
                is_printable=self.printable,
                is_admin=self.is_admin_report,
                special_notice=self.special_notice,
                report_title=self.report_title or self.rendered_report_title,
                report_subtitles=self.report_subtitles,
                export_target=self.export_target,
                js_scripts=self.js_scripts,
                js_options=self.js_options,
                custom_filter_action_template=(
                    self.custom_filter_action_template
                    if hasattr(self, 'custom_filter_action_template')
                    else False
                ),
            ),
            current_config_id=current_config_id,
            default_config=default_config,
            report_configs=report_configs,
            show_time_notice=self.show_time_notice,
            domain=self.domain,
            layout_flush_content=self.flush_layout
        )
Пример #4
0
    def _update_initial_context(self):
        """
            Intention: Don't override.
        """
        report_configs = ReportConfig.by_domain_and_owner(self.domain,
            self.request.couch_user._id, report_slug=self.slug)
        current_config_id = self.request.GET.get('config_id', '')
        default_config = ReportConfig.default()

        def is_editable_datespan(field):
            field_fn = to_function(field) if isinstance(field, six.string_types) else field
            return issubclass(field_fn, DatespanFilter) and field_fn.is_editable

        has_datespan = any([is_editable_datespan(field) for field in self.fields])

        self.context.update(
            report=dict(
                title=self.rendered_report_title,
                description=self.description,
                section_name=self.section_name,
                slug=self.slug,
                sub_slug=None,
                type=self.dispatcher.prefix,
                url_root=self.url_root,
                is_async=self.asynchronous,
                is_exportable=self.exportable,
                dispatcher=self.dispatcher,
                filter_set=self.filter_set,
                needs_filters=self.needs_filters,
                has_datespan=has_datespan,
                show=(
                    self.override_permissions_check
                    or self.request.couch_user.can_view_some_reports(self.domain)
                ),
                is_emailable=self.emailable,
                is_export_all = self.exportable_all,
                is_printable=self.printable,
                is_admin=self.is_admin_report,
                special_notice=self.special_notice,
                report_title=self.report_title or self.rendered_report_title,
                report_subtitles=self.report_subtitles,
                export_target=self.export_target,
                js_options=self.js_options,
                custom_filter_action_template=(
                    self.custom_filter_action_template
                    if hasattr(self, 'custom_filter_action_template')
                    else False
                ),
            ),
            current_config_id=current_config_id,
            default_config=default_config,
            report_configs=report_configs,
            show_time_notice=self.show_time_notice,
            domain=self.domain,
            layout_flush_content=self.flush_layout
        )
Пример #5
0
 def saved_report_context_data(self):
     current_config_id = self.request.GET.get('config_id')
     return {
         'report_configs': ReportConfig.by_domain_and_owner(
             self.domain, self.request.couch_user._id, report_slug=self.slug
         ),
         'default_config': (
             ReportConfig.get(current_config_id)
             if current_config_id
             else ReportConfig.default()
         ),
     }
Пример #6
0
    def _update_initial_context(self):
        """
            Intention: Don't override.
        """
        report_configs = ReportConfig.by_domain_and_owner(
            self.domain, self.request.couch_user._id, report_slug=self.slug
        )
        current_config_id = self.request.GET.get("config_id", "")
        default_config = ReportConfig.default()

        def is_datespan(field):
            field_fn = to_function(field) if isinstance(field, basestring) else field
            return issubclass(field_fn, DatespanFilter)

        has_datespan = any([is_datespan(field) for field in self.fields])

        self.context.update(
            report=dict(
                title=self.rendered_report_title,
                description=self.description,
                section_name=self.section_name,
                slug=self.slug,
                sub_slug=None,
                type=self.dispatcher.prefix,
                url_root=self.url_root,
                is_async=self.asynchronous,
                is_exportable=self.exportable,
                dispatcher=self.dispatcher,
                filter_set=self.filter_set,
                needs_filters=self.needs_filters,
                has_datespan=has_datespan,
                show=(
                    self.override_permissions_check
                    or self.request.couch_user.can_view_reports()
                    or self.request.couch_user.get_viewable_reports()
                ),
                is_emailable=self.emailable,
                is_export_all=self.exportable_all,
                is_printable=self.printable,
                is_admin=self.is_admin_report,  # todo is this necessary???
                special_notice=self.special_notice,
                report_title=self.report_title or self.rendered_report_title,
                report_subtitles=self.report_subtitles,
            ),
            current_config_id=current_config_id,
            default_config=default_config,
            report_configs=report_configs,
            show_time_notice=self.show_time_notice,
            domain=self.domain,
            layout_flush_content=self.flush_layout,
        )
Пример #7
0
    def _update_initial_context(self):
        """
            Intention: Don't override.
        """
        report_configs = ReportConfig.by_domain_and_owner(
            self.domain, self.request.couch_user._id, report_slug=self.slug)
        current_config_id = self.request.GET.get('config_id', '')
        default_config = ReportConfig.default()

        def is_datespan(field):
            field_fn = to_function(field) if isinstance(field,
                                                        basestring) else field
            return issubclass(field_fn, DatespanFilter)

        has_datespan = any([is_datespan(field) for field in self.fields])

        self.context.update(
            report=dict(
                title=self.rendered_report_title,
                description=self.description,
                section_name=self.section_name,
                slug=self.slug,
                sub_slug=None,
                type=self.dispatcher.prefix,
                url_root=self.url_root,
                is_async=self.asynchronous,
                is_exportable=self.exportable,
                dispatcher=self.dispatcher,
                filter_set=self.filter_set,
                needs_filters=self.needs_filters,
                has_datespan=has_datespan,
                show=self.override_permissions_check or \
                   self.request.couch_user.can_view_reports() or self.request.couch_user.get_viewable_reports(),
                is_emailable=self.emailable,
                is_export_all = self.exportable_all,
                is_printable=self.printable,
                is_admin=self.is_admin_report,   # todo is this necessary???
                special_notice=self.special_notice,
                report_title=self.report_title or self.rendered_report_title,
                report_subtitles=self.report_subtitles,
            ),
            current_config_id=current_config_id,
            default_config=default_config,
            report_configs=report_configs,
            show_time_notice=self.show_time_notice,
            domain=self.domain,
            layout_flush_content=self.flush_layout
        )
Пример #8
0
    def _update_initial_context(self):
        """
            Intention: Don't override.
        """
        report_configs = ReportConfig.by_domain_and_owner(
            self.domain, self.request.couch_user._id,
            report_slug=self.slug).all()
        current_config_id = self.request.GET.get('config_id', '')
        default_config = ReportConfig.default()

        has_datespan = ('corehq.apps.reports.fields.DatespanField'
                        in self.fields)

        self.context.update(
            report=dict(
                title=self.name,
                description=self.description,
                section_name=self.section_name,
                slug=self.slug,
                sub_slug=None,
                type=self.dispatcher.prefix,
                url_root=self.url_root,
                is_async=self.asynchronous,
                is_exportable=self.exportable,
                dispatcher=self.dispatcher,
                filter_set=self.filter_set,
                needs_filters=self.needs_filters,
                has_datespan=has_datespan,
                show=self.override_permissions_check or \
                   self.request.couch_user.can_view_reports() or self.request.couch_user.get_viewable_reports(),
                is_emailable=self.emailable,
                is_admin=self.is_admin_report,   # todo is this necessary???
                special_notice=self.special_notice,
            ),
            current_config_id=current_config_id,
            default_config=default_config,
            report_configs=report_configs,
            show_time_notice=self.show_time_notice,
            domain=self.domain,
            layout_flush_content=self.flush_layout
        )
Пример #9
0
    def _update_initial_context(self):
        """
            Intention: Don't override.
        """
        report_configs = ReportConfig.by_domain_and_owner(self.domain,
            self.request.couch_user._id, report_slug=self.slug).all()
        current_config_id = self.request.GET.get('config_id', '')
        default_config = ReportConfig.default()

        has_datespan = ('corehq.apps.reports.fields.DatespanField' in self.fields)

        self.context.update(
            report=dict(
                title=self.rendered_report_title,
                description=self.description,
                section_name=self.section_name,
                slug=self.slug,
                sub_slug=None,
                type=self.dispatcher.prefix,
                url_root=self.url_root,
                is_async=self.asynchronous,
                is_exportable=self.exportable,
                dispatcher=self.dispatcher,
                filter_set=self.filter_set,
                needs_filters=self.needs_filters,
                has_datespan=has_datespan,
                show=self.override_permissions_check or \
                   self.request.couch_user.can_view_reports() or self.request.couch_user.get_viewable_reports(),
                is_emailable=self.emailable,
                is_printable=self.printable,
                is_admin=self.is_admin_report,   # todo is this necessary???
                special_notice=self.special_notice,
            ),
            current_config_id=current_config_id,
            default_config=default_config,
            report_configs=report_configs,
            show_time_notice=self.show_time_notice,
            domain=self.domain,
            layout_flush_content=self.flush_layout
        )