def should_show(self, request, step, tour_flag): should_show = super(ReportBuilderNoAccessTour, self).should_show(request, step, tour_flag) return ( should_show and not has_report_builder_access(request) and _implies(step > 0, tour_flag) # All steps except the first require tour_flag )
def get_tour_data(self, request, step): from corehq.apps.dashboard.views import DomainDashboardView from corehq.apps.reports.views import MySavedReportsView from corehq.apps.userreports.views import ReportBuilderPaywall data = super(ReportBuilderTour, self).get_tour_data() data.update({ 'step': step, 'has_rb_access': has_report_builder_access(request), 'dashboard_url': reverse( DomainDashboardView.urlname, args=[request.domain] ), 'reports_home_url': reverse( MySavedReportsView.urlname, args=[request.domain], params={'tour': True} ), 'report_builder_paywall_url': reverse( ReportBuilderPaywall.urlname, args=[request.domain], params={'tour': True} ), }) return data
def dispatch(self, request, *args, **kwargs): if has_report_builder_access(request): report_type = kwargs.get('report_type', None) if report_type != 'map' or toggle_enabled(request, REPORT_BUILDER_MAP_REPORTS): return super(ReportBuilderView, self).dispatch(request, *args, **kwargs) else: raise Http404 else: raise Http404
def page_context(self): context = super(ReportBuilderPaywallPricing, self).page_context if has_report_builder_access(self.request): max_allowed_reports = allowed_report_builder_reports(self.request) num_builder_reports = number_of_report_builder_reports(self.domain) if num_builder_reports >= max_allowed_reports: context.update({ 'at_report_limit': True, 'max_allowed_reports': max_allowed_reports, }) return context
def page_context(self): context = super(ReportBuilderPaywallPricing, self).page_context if has_report_builder_access(self.request): max_allowed_reports = allowed_report_builder_reports(self.request) num_builder_reports = number_of_report_builder_reports(self.domain) if num_builder_reports >= max_allowed_reports: context.update({ 'at_report_limit': True, 'max_allowed_reports': max_allowed_reports, }) return context
def page_context(self): if (not self.can_restrict_access_by_location and any(not role.permissions.access_all_locations for role in self.user_roles)): messages.warning( self.request, _("This project has user roles that restrict data access by " "organization, but the software plan no longer supports that. " "Any users assigned to roles that are restricted in data access " "by organization can no longer access this project. Please " "update the existing roles.")) return { 'user_roles': self.user_roles, 'non_admin_roles': self.user_roles[1:], 'can_edit_roles': self.can_edit_roles, 'default_role': UserRole.get_default(), 'report_list': get_possible_reports(self.domain), 'web_apps_list': get_cloudcare_apps(self.domain), 'apps_list': get_brief_apps_in_domain(self.domain), 'is_domain_admin': self.couch_user.is_domain_admin, 'domain_object': self.domain_object, 'uses_locations': self.domain_object.uses_locations, 'can_restrict_access_by_location': self.can_restrict_access_by_location, 'landing_page_choices': self.landing_page_choices, 'show_integration': (toggles.OPENMRS_INTEGRATION.enabled(self.domain) or toggles.DHIS2_INTEGRATION.enabled(self.domain)), 'web_apps_privilege': self.web_apps_privilege, 'has_report_builder_access': has_report_builder_access(self.request) }
def should_redirect_to_paywall(self, request): spec = self.get_spec_or_404() return spec.report_meta.created_by_builder and not has_report_builder_access(request)
def should_redirect_to_paywall(self, request): spec = self.get_spec_or_404() return spec.report_meta.created_by_builder and not has_report_builder_access(request)
def dispatch(self, request, *args, **kwargs): if has_report_builder_access(request): return super(ReportBuilderView, self).dispatch(request, *args, **kwargs) else: raise Http404
def dispatch(self, request, *args, **kwargs): if has_report_builder_access(request): return super(ReportBuilderView, self).dispatch(request, *args, **kwargs) else: raise Http404
def should_redirect_to_paywall(self, request): return self.spec.report_meta.created_by_builder and not has_report_builder_access( request)