Example #1
0
 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
     )
Example #2
0
    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
Example #3
0
 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
Example #4
0
 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
Example #5
0
    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
Example #6
0
 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)
     }
Example #7
0
 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)
Example #8
0
 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)
Example #9
0
 def dispatch(self, request, *args, **kwargs):
     if has_report_builder_access(request):
         return super(ReportBuilderView,
                      self).dispatch(request, *args, **kwargs)
     else:
         raise Http404
Example #10
0
 def dispatch(self, request, *args, **kwargs):
     if has_report_builder_access(request):
         return super(ReportBuilderView, self).dispatch(request, *args, **kwargs)
     else:
         raise Http404
Example #11
0
 def should_redirect_to_paywall(self, request):
     return self.spec.report_meta.created_by_builder and not has_report_builder_access(
         request)