示例#1
0
    def get(self, request, domain, app_id, **kwargs):
        app_access = get_application_access_for_domain(domain)

        app = get_current_app(domain, app_id)

        if not app_access.user_can_access_app(request.couch_user, app):
            raise Http404()

        def _default_lang():
            try:
                return app['langs'][0]
            except Exception:
                return 'en'

        # default language to user's preference, followed by
        # first app's default, followed by english
        language = request.couch_user.language or _default_lang()
        domain_obj = Domain.get_by_name(domain)

        context = {
            "domain": domain,
            "default_geocoder_location": domain_obj.default_geocoder_location,
            "language": language,
            "apps": [_format_app_doc(app)],
            "mapbox_access_token": settings.MAPBOX_ACCESS_TOKEN,
            "username": request.user.username,
            "formplayer_url": get_formplayer_url(for_js=True),
            "single_app_mode": True,
            "home_url": reverse(self.urlname, args=[domain, app_id]),
            "environment": WEB_APPS_ENVIRONMENT,
            "integrations": integration_contexts(domain),
            "has_geocoder_privs": has_geocoder_privs(domain),
        }
        return render(request, "cloudcare/formplayer_home.html", context)
示例#2
0
    def get_main(self, request, domain):
        restore_as, set_cookie = self.get_restore_as_user(request, domain)
        apps = self.get_web_apps_available_to_user(domain, restore_as)

        def _default_lang():
            try:
                return apps[0]['langs'][0]
            except Exception:
                return 'en'

        # default language to user's preference, followed by
        # first app's default, followed by english
        language = request.couch_user.language or _default_lang()

        domain_obj = Domain.get_by_name(domain)

        context = {
            "domain": domain,
            "default_geocoder_location": domain_obj.default_geocoder_location,
            "language": language,
            "apps": apps,
            "domain_is_on_trial": domain_is_on_trial(domain),
            "mapbox_access_token": settings.MAPBOX_ACCESS_TOKEN,
            "username": request.couch_user.username,
            "formplayer_url": get_formplayer_url(for_js=True),
            "single_app_mode": False,
            "home_url": reverse(self.urlname, args=[domain]),
            "environment": WEB_APPS_ENVIRONMENT,
            "integrations": integration_contexts(domain),
            "has_geocoder_privs": has_geocoder_privs(domain),
        }
        return set_cookie(
            render(request, "cloudcare/formplayer_home.html", context))
示例#3
0
    def get_main(self, request, domain):
        restore_as, set_cookie = self.get_restore_as_user(request, domain)
        apps = self.get_web_apps_available_to_user(domain, restore_as)

        def _default_lang():
            try:
                return apps[0]['langs'][0]
            except Exception:
                return 'en'

        # default language to user's preference, followed by
        # first app's default, followed by english
        language = request.couch_user.language or _default_lang()

        context = {
            "domain": domain,
            "language": language,
            "apps": apps,
            "domain_is_on_trial": domain_is_on_trial(domain),
            "mapbox_access_token": settings.MAPBOX_ACCESS_TOKEN,
            "username": request.couch_user.username,
            "formplayer_url": settings.FORMPLAYER_URL,
            "single_app_mode": False,
            "home_url": reverse(self.urlname, args=[domain]),
            "environment": WEB_APPS_ENVIRONMENT,
            'use_live_query': toggles.FORMPLAYER_USE_LIVEQUERY.enabled(domain),
            "integrations": integration_contexts(domain),
        }
        return set_cookie(
            render(request, "cloudcare/formplayer_home.html", context)
        )
示例#4
0
 def get(self, request, *args, **kwargs):
     app = get_app(request.domain, kwargs.pop('app_id'))
     return self.render_to_response({
         'app': app,
         'formplayer_url': settings.FORMPLAYER_URL,
         "mapbox_access_token": settings.MAPBOX_ACCESS_TOKEN,
         "environment": PREVIEW_APP_ENVIRONMENT,
         "integrations": integration_contexts(request.domain),
     })
示例#5
0
    def get(self, request, domain, app_id, **kwargs):
        app_access = get_application_access_for_domain(domain)

        app = get_current_app(domain, app_id)

        if not app_access.user_can_access_app(request.couch_user, app):
            raise Http404()

        role = request.couch_user.get_role(domain)
        if role and not role.permissions.view_web_app(app.master_id):
            raise Http404()

        def _default_lang():
            try:
                return app['langs'][0]
            except Exception:
                return 'en'

        # default language to user's preference, followed by
        # first app's default, followed by english
        language = request.couch_user.language or _default_lang()
        domain_obj = Domain.get_by_name(domain)

        context = {
            "domain":
            domain,
            "default_geocoder_location":
            domain_obj.default_geocoder_location,
            "language":
            language,
            "apps": [_format_app(app)],
            "mapbox_access_token":
            settings.MAPBOX_ACCESS_TOKEN,
            "username":
            request.user.username,
            "formplayer_url":
            settings.FORMPLAYER_URL,
            "single_app_mode":
            True,
            "home_url":
            reverse(self.urlname, args=[domain, app_id]),
            "environment":
            WEB_APPS_ENVIRONMENT,
            'use_live_query':
            toggles.FORMPLAYER_USE_LIVEQUERY.enabled(domain),
            "integrations":
            integration_contexts(domain),
            "has_geocoder_privs":
            domain_has_privilege(domain, privileges.GEOCODER),
        }
        return render(request, "cloudcare/formplayer_home.html", context)
示例#6
0
 def get(self, request, *args, **kwargs):
     app = get_app(request.domain, kwargs.pop('app_id'))
     return self.render_to_response({
         'app':
         _format_app_doc(app.to_json()),
         'formplayer_url':
         get_formplayer_url(for_js=True),
         "mapbox_access_token":
         settings.MAPBOX_ACCESS_TOKEN,
         "environment":
         PREVIEW_APP_ENVIRONMENT,
         "integrations":
         integration_contexts(request.domain),
         "has_geocoder_privs":
         has_geocoder_privs(request.domain),
     })