コード例 #1
0
 def setUpClass(cls):
     cls.data_source_id = 'd36c7c934cb84725899cca9a0ef96e3a'
     cls.domain = 'userreport-dbaccessors'
     cls.report_configs = [
         ReportConfiguration(domain=cls.domain,
                             config_id=cls.data_source_id, title='A'),
         ReportConfiguration(domain=cls.domain,
                             config_id=cls.data_source_id, title='B'),
         ReportConfiguration(domain=cls.domain,
                             config_id='asabsdjf', title='C'),
         ReportConfiguration(domain='mallory',
                             config_id=cls.data_source_id, title='X'),
     ]
     ReportConfiguration.get_db().bulk_save(cls.report_configs)
コード例 #2
0
 def setUpClass(cls):
     cls.data_source_id = 'd36c7c934cb84725899cca9a0ef96e3a'
     cls.domain_1 = Domain(name='userreport-dbaccessors')
     cls.domain_1.save()
     cls.domain_2 = Domain(name='mallory')
     cls.domain_2.save()
     cls.report_configs = [
         ReportConfiguration(domain=cls.domain_1.name,
                             config_id=cls.data_source_id, title='A'),
         ReportConfiguration(domain=cls.domain_1.name,
                             config_id=cls.data_source_id, title='B'),
         ReportConfiguration(domain=cls.domain_1.name,
                             config_id='asabsdjf', title='C'),
         ReportConfiguration(domain=cls.domain_2.name,
                             config_id=cls.data_source_id, title='X'),
     ]
     ReportConfiguration.get_db().bulk_save(cls.report_configs)
コード例 #3
0
ファイル: dbaccessors.py プロジェクト: idiene/commcare-hq
def get_all_report_configs():
    from corehq.apps.userreports.models import ReportConfiguration
    ids = [res['id'] for res in ReportConfiguration.view(
        'userreports/report_configs_by_domain',
        reduce=False,
        include_docs=False,
    )]
    for result in iter_docs(ReportConfiguration.get_db(), ids):
        yield ReportConfiguration.wrap(result)
コード例 #4
0
ファイル: dbaccessors.py プロジェクト: ekush/commcare-hq
def get_all_report_configs():
    from corehq.apps.userreports.models import ReportConfiguration
    ids = [
        res['id'] for res in ReportConfiguration.view(
            'userreports/report_configs_by_domain',
            reduce=False,
            include_docs=False,
        )
    ]
    for result in iter_docs(ReportConfiguration.get_db(), ids):
        yield ReportConfiguration.wrap(result)
コード例 #5
0
ファイル: util.py プロジェクト: soitun/commcare-hq
def get_report_config_or_not_found(domain, config_id):
    from corehq.apps.userreports.models import ReportConfiguration
    try:
        doc = ReportConfiguration.get_db().get(config_id)
        config = wrap_report_config_by_type(doc)
    except (ResourceNotFound, KeyError, ReportConfigurationNotFoundError):
        raise DocumentNotFound()

    if config.domain != domain:
        raise DocumentNotFound()

    return config
コード例 #6
0
 def handle(self, dry_run=False, *args, **options):
     self.dry_run = dry_run
     self.reports_using_transform = set()
     report_ids = get_doc_ids_by_class(ReportConfiguration)
     res = iter_update(
         db=ReportConfiguration.get_db(),
         fn=self.migrate_report,
         ids=with_progress_bar(report_ids),
         verbose=True,
     )
     print "Found {} reports using the transform:".format(len(self.reports_using_transform))
     print "\n".join(self.reports_using_transform)
     print "Updated the following reports:"
     print "\n".join(res.updated_ids)
コード例 #7
0
 def handle(self, dry_run=False, **options):
     self.dry_run = dry_run
     self.reports_using_transform = set()
     report_ids = get_doc_ids_by_class(ReportConfiguration)
     res = iter_update(
         db=ReportConfiguration.get_db(),
         fn=self.migrate_report,
         ids=with_progress_bar(report_ids),
         verbose=True,
     )
     print("Found {} reports using the transform:".format(
         len(self.reports_using_transform)))
     print("\n".join(self.reports_using_transform))
     print("Updated the following reports:")
     print("\n".join(res.updated_ids))
コード例 #8
0
ファイル: count_ucrs.py プロジェクト: dimagi/commcare-hq
    def handle(self, **options):
        config_ids = get_doc_ids_by_class(ReportConfiguration)

        builder_count, ucr_count = 0, 0
        for doc in iter_docs(ReportConfiguration.get_db(), config_ids):
            if doc['report_meta']['created_by_builder']:
                builder_count += 1
            else:
                ucr_count += 1

        static_count = len(list(StaticReportConfiguration.all()))
        total_count = builder_count + ucr_count + static_count

        print(textwrap.dedent("""
            As of {}, on {} there are {} total UCRs:
            {} Report Builder Reports
            {} UCR Report Configs
            {} Static Report Configs enabled for the environment
        """.format(datetime.utcnow().date(), settings.SERVER_ENVIRONMENT, total_count,
                   builder_count, ucr_count, static_count)))
コード例 #9
0
ファイル: count_ucrs.py プロジェクト: ye-man/commcare-hq
    def handle(self, **options):
        config_ids = get_doc_ids_by_class(ReportConfiguration)

        builder_count, ucr_count = 0, 0
        for doc in iter_docs(ReportConfiguration.get_db(), config_ids):
            if doc['report_meta']['created_by_builder']:
                builder_count += 1
            else:
                ucr_count += 1

        static_count = len(list(StaticReportConfiguration.all()))
        total_count = builder_count + ucr_count + static_count

        print(
            textwrap.dedent("""
            As of {}, on {} there are {} total UCRs:
            {} Report Builder Reports
            {} UCR Report Configs
            {} Static Report Configs enabled for the environment
        """.format(datetime.utcnow().date(), settings.SERVER_ENVIRONMENT,
                   total_count, builder_count, ucr_count, static_count)))
コード例 #10
0
 def tearDownClass(cls):
     ReportConfiguration.get_db().bulk_delete(cls.report_configs)
     cls.domain_1.delete()
     cls.domain_2.delete()
コード例 #11
0
def delete_all_report_configs():
    from corehq.apps.userreports.models import ReportConfiguration
    delete_all_docs_by_doc_type(ReportConfiguration.get_db(),
                                ('ReportConfiguration', ))
コード例 #12
0
ファイル: dbaccessors.py プロジェクト: dimagi/commcare-hq
def delete_all_report_configs():
    from corehq.apps.userreports.models import ReportConfiguration
    delete_all_docs_by_doc_type(ReportConfiguration.get_db(), ('ReportConfiguration',))
コード例 #13
0
 def tearDownClass(cls):
     ReportConfiguration.get_db().bulk_delete(cls.report_configs)
     cls.domain_1.delete()
     cls.domain_2.delete()
     super(DBAccessorsTest, cls).tearDownClass()