def REPORTS(project): from corehq.apps.reports.standard.cases.basic import CaseListReport from corehq.apps.reports.standard.cases.careplan import make_careplan_reports reports = [] reports.extend(_get_configurable_reports(project)) reports.extend([ (ugettext_lazy("Monitor Workers"), ( monitoring.WorkerActivityReport, monitoring.DailyFormStatsReport, monitoring.SubmissionsByFormReport, monitoring.FormCompletionTimeReport, monitoring.CaseActivityReport, monitoring.FormCompletionVsSubmissionTrendsReport, monitoring.WorkerActivityTimes, ProjectHealthDashboard, )), (ugettext_lazy("Inspect Data"), ( inspect.SubmitHistory, CaseListReport, OdmExportReport, )), (ugettext_lazy("Manage Deployments"), ( deployments.ApplicationStatusReport, receiverwrapper.SubmissionErrorReport, phonelog.DeviceLogDetailsReport, deployments.SyncHistoryReport, deployments.ApplicationErrorReport, )), ]) if project.commtrack_enabled: supply_reports = ( commtrack.SimplifiedInventoryReport, commtrack.InventoryReport, commtrack.CurrentStockStatusReport, commtrack.StockStatusMapReport, ) if not should_use_sql_backend(project): supply_reports = supply_reports + ( commtrack.ReportingRatesReport, commtrack.ReportingStatusMapReport, ) reports.insert(0, (ugettext_lazy("CommCare Supply"), supply_reports)) if project.has_careplan: from corehq.apps.app_manager.models import CareplanConfig config = CareplanConfig.for_domain(project.name) if config: cp_reports = tuple(make_careplan_reports(config)) reports.insert(0, (ugettext_lazy("Care Plans"), cp_reports)) reports = list(_get_report_builder_reports(project)) + reports from corehq.apps.accounting.utils import domain_has_privilege messaging_reports = [] project_can_use_sms = domain_has_privilege(project.name, privileges.OUTBOUND_SMS) if project_can_use_sms: messaging_reports.extend([ sms.MessagesReport, ]) # always have these historical reports visible messaging_reports.extend([ sms.MessagingEventsReport, sms.MessageEventDetailReport, sms.SurveyDetailReport, sms.MessageLogReport, sms.SMSOptOutReport, ivr.CallReport, ivr.ExpectedCallbackReport, ]) messaging_reports += getattr(Domain.get_module_by_name(project.name), 'MESSAGING_REPORTS', ()) messaging = (ugettext_lazy("Messaging"), messaging_reports) reports.append(messaging) reports.extend(_get_dynamic_reports(project)) return reports
def REPORTS(project): from corehq.apps.reports.standard.cases.basic import CaseListReport from corehq.apps.reports.standard.cases.careplan import make_careplan_reports from corehq.apps.reports.standard.maps import DemoMapReport, DemoMapReport2, DemoMapCaseList reports = [] reports.extend(_get_configurable_reports(project)) reports.extend([ (ugettext_lazy("Monitor Workers"), ( monitoring.WorkerActivityReport, monitoring.DailyFormStatsReport, monitoring.SubmissionsByFormReport, monitoring.FormCompletionTimeReport, monitoring.CaseActivityReport, monitoring.FormCompletionVsSubmissionTrendsReport, monitoring.WorkerActivityTimes, ProjectHealthDashboard, )), (ugettext_lazy("Inspect Data"), ( inspect.SubmitHistory, CaseListReport, OdmExportReport, )), (ugettext_lazy("Manage Deployments"), ( deployments.ApplicationStatusReport, receiverwrapper.SubmissionErrorReport, phonelog.DeviceLogDetailsReport, deployments.SyncHistoryReport, deployments.ApplicationErrorReport, )), (ugettext_lazy("Demos"), ( DemoMapReport, DemoMapReport2, DemoMapCaseList, )), ]) if project.commtrack_enabled: supply_reports = ( commtrack.SimplifiedInventoryReport, commtrack.InventoryReport, commtrack.CurrentStockStatusReport, commtrack.StockStatusMapReport, ) if not should_use_sql_backend(project): supply_reports = supply_reports + ( commtrack.ReportingRatesReport, commtrack.ReportingStatusMapReport, ) reports.insert(0, (ugettext_lazy("CommCare Supply"), supply_reports)) if project.has_careplan: from corehq.apps.app_manager.models import CareplanConfig config = CareplanConfig.for_domain(project.name) if config: cp_reports = tuple(make_careplan_reports(config)) reports.insert(0, (ugettext_lazy("Care Plans"), cp_reports)) reports = list(_get_report_builder_reports(project)) + reports from corehq.apps.accounting.utils import domain_has_privilege messaging_reports = [] project_can_use_sms = domain_has_privilege(project.name, privileges.OUTBOUND_SMS) if project_can_use_sms: messaging_reports.extend([ sms.MessagesReport, ]) # always have these historical reports visible messaging_reports.extend([ sms.MessagingEventsReport, sms.MessageEventDetailReport, sms.SurveyDetailReport, sms.MessageLogReport, sms.SMSOptOutReport, ivr.CallReport, ivr.ExpectedCallbackReport, ]) messaging_reports += getattr(Domain.get_module_by_name(project.name), 'MESSAGING_REPORTS', ()) messaging = (ugettext_lazy("Messaging"), messaging_reports) reports.append(messaging) reports.extend(_get_dynamic_reports(project)) return reports
def REPORTS(project): from corehq.apps.reports.standard.cases.basic import CaseListReport from corehq.apps.reports.standard.cases.careplan import make_careplan_reports from corehq.apps.reports.standard.maps import DemoMapReport, DemoMapReport2, DemoMapCaseList reports = [ (ugettext_lazy("Monitor Workers"), ( monitoring.WorkerActivityReport, monitoring.DailyFormStatsReport, monitoring.SubmissionsByFormReport, monitoring.FormCompletionTimeReport, monitoring.CaseActivityReport, monitoring.FormCompletionVsSubmissionTrendsReport, monitoring.WorkerActivityTimes, )), (ugettext_lazy("Inspect Data"), ( inspect.SubmitHistory, CaseListReport, )), (ugettext_lazy("Manage Deployments"), ( deployments.ApplicationStatusReport, receiverwrapper.SubmissionErrorReport, phonelog.FormErrorReport, phonelog.DeviceLogDetailsReport )), (ugettext_lazy("Demos for Previewers"), ( DemoMapReport, DemoMapReport2, DemoMapCaseList, )), ] if project.commtrack_enabled: reports.insert(0, (ugettext_lazy("Commtrack"), ( commtrack_reports.InventoryReport, commtrack_reports.CurrentStockStatusReport, commtrack_maps.StockStatusMapReport, commtrack_reports.ReportingRatesReport, commtrack_maps.ReportingStatusMapReport, # commtrack_reports.RequisitionReport, ))) if project.has_careplan: from corehq.apps.app_manager.models import CareplanConfig config = CareplanConfig.for_domain(project.name) if config: cp_reports = tuple(make_careplan_reports(config)) reports.insert(0, (ugettext_lazy("Care Plans"), cp_reports)) from corehq.apps.accounting.utils import domain_has_privilege messaging_reports = [] project_can_use_sms = domain_has_privilege(project.name, privileges.OUTBOUND_SMS) if project_can_use_sms: messaging_reports.extend([ sms.MessagesReport, ]) # always have this historical report visible messaging_reports.append(sms.MessageLogReport) project_can_use_inbound_sms = domain_has_privilege(project.name, privileges.INBOUND_SMS) if project_can_use_inbound_sms: messaging_reports.extend([ ivr.CallLogReport, ivr.ExpectedCallbackReport, system_overview.SystemOverviewReport, system_overview.SystemUsersReport, ]) messaging_reports += getattr(Domain.get_module_by_name(project.name), 'MESSAGING_REPORTS', ()) messaging = (lambda project, user: ( ugettext_lazy("Logs") if project.commtrack_enabled else ugettext_lazy("Messaging")), messaging_reports) if project.commconnect_enabled: reports.insert(0, messaging) else: reports.append(messaging) reports.extend(dynamic_reports(project)) return reports
def REPORTS(project): from corehq.apps.reports.standard.cases.basic import CaseListReport from corehq.apps.reports.standard.cases.careplan import make_careplan_reports from corehq.apps.reports.standard.maps import DemoMapReport, DemoMapReport2, DemoMapCaseList reports = [ (_("Monitor Workers"), ( monitoring.WorkerActivityReport, monitoring.DailyFormStatsReport, monitoring.SubmissionsByFormReport, monitoring.FormCompletionTimeReport, monitoring.CaseActivityReport, monitoring.FormCompletionVsSubmissionTrendsReport, monitoring.WorkerActivityTimes, )), (_("Inspect Data"), ( inspect.SubmitHistory, CaseListReport, )), (_("Manage Deployments"), ( deployments.ApplicationStatusReport, receiverwrapper.SubmissionErrorReport, phonelog.FormErrorReport, phonelog.DeviceLogDetailsReport )), (_("Demos for Previewers"), ( DemoMapReport, DemoMapReport2, DemoMapCaseList, )), ] if project.commtrack_enabled: reports.insert(0, (_("Commtrack"), ( commtrack_reports.ReportingRatesReport, commtrack_reports.CurrentStockStatusReport, commtrack_reports.AggregateStockStatusReport, commtrack_reports.RequisitionReport, psi_prototype.VisitReport, psi_prototype.SalesAndConsumptionReport, psi_prototype.CumulativeSalesAndConsumptionReport, psi_prototype.StockOutReport, psi_prototype.StockReportExport, commtrack_maps.StockStatusMapReport, commtrack_maps.ReportingStatusMapReport, ))) if project.has_careplan: from corehq.apps.app_manager.models import CareplanConfig config = CareplanConfig.for_domain(project.name) if config: cp_reports = tuple(make_careplan_reports(config)) reports.insert(0, (_("Care Plans"), cp_reports)) messaging_reports = ( sms.MessagesReport, sms.MessageLogReport, ivr.CallLogReport, ivr.ExpectedCallbackReport, ) messaging_reports += getattr(Domain.get_module_by_name(project.name), 'MESSAGING_REPORTS', ()) messaging = (lambda project, user: ( _("Logs") if project.commtrack_enabled else _("Messaging")), messaging_reports) if project.commconnect_enabled: reports.insert(0, messaging) else: reports.append(messaging) reports.extend(dynamic_reports(project)) return reports