コード例 #1
0
 def fetch_app(self, domain, app_id):
     username = self.request.couch_user.username
     if (toggles.CLOUDCARE_LATEST_BUILD.enabled(domain) or
             toggles.CLOUDCARE_LATEST_BUILD.enabled(username)):
         return get_latest_build_doc(domain, app_id)
     else:
         return get_latest_released_app_doc(domain, app_id)
コード例 #2
0
 def fetch_app(self, domain, app_id):
     username = self.request.couch_user.username
     if (toggles.CLOUDCARE_LATEST_BUILD.enabled(domain)
             or toggles.CLOUDCARE_LATEST_BUILD.enabled(username)):
         return get_latest_build_doc(domain, app_id)
     else:
         return get_latest_released_app_doc(domain, app_id)
コード例 #3
0
def app_exchange(request, domain):
    template = "app_manager/app_exchange.html"
    records = []
    for obj in ExchangeApplication.objects.all():
        app = get_app(obj.domain, obj.app_id)
        records.append({
            "id": app.get_id,
            "domain": app.domain,
            "name": app.name,
            "comment": app.comment,
            "last_released": obj.last_released.date() if obj.last_released else None,
            "help_link": obj.help_link,
        })

    context = {
        "domain": domain,
        "records": records,
    }

    if request.method == "POST":
        clear_app_cache(request, domain)
        from_domain = request.POST.get('from_domain')
        from_app_id = request.POST.get('from_app_id')
        doc = get_latest_released_app_doc(from_domain, from_app_id)

        if not doc:
            messages.error(request, _("Could not find latest released version of app."))
            return render(request, template, context)

        app_copy = import_app_util(doc, domain)
        return back_to_main(request, domain, app_id=app_copy._id)

    return render(request, template, context)
コード例 #4
0
ファイル: phone.py プロジェクト: taylordowns2000/commcare-hq
def get_all_latest_builds_for_user(user):
    app_ids = [(domain, app_id) for domain in user.domains
               for app_id in get_app_ids_in_domain(domain)]
    app_docs = [
        get_latest_released_app_doc(app_id[0], app_id[1]) for app_id in app_ids
    ]
    return [wrap_app(app_doc) for app_doc in app_docs if app_doc is not None]
コード例 #5
0
ファイル: phone.py プロジェクト: dimagi/commcare-hq
def get_all_latest_builds_for_user(user):
    app_ids = [
        (domain, app_id)
        for domain in user.domains
        for app_id in get_app_ids_in_domain(domain)
    ]
    app_docs = [get_latest_released_app_doc(app_id[0], app_id[1]) for app_id in app_ids]
    return [wrap_app(app_doc) for app_doc in app_docs if app_doc is not None]
コード例 #6
0
    def get(self, request, *args, **kwargs):
        app_id = get_app_id_from_hash(request.domain, kwargs.pop('app_hash'))

        if not app_id:
            raise Http404()

        app_doc = get_latest_released_app_doc(request.domain, app_id)

        if not app_doc:
            raise Http404()

        app = Application.wrap(app_doc)

        if not app.anonymous_cloudcare_enabled:
            raise Http404()

        return self.render_to_response({
            'app': app,
            'formplayer_url': settings.FORMPLAYER_URL,
            "maps_api_key": settings.GMAPS_API_KEY,
            "environment": WEB_APPS_ENVIRONMENT,
        })
コード例 #7
0
ファイル: overwrite_app.py プロジェクト: twymer/commcare-hq
    def handle(self, from_domain, from_app_id, to_domain, *args, **options):
        self.from_domain = from_domain
        self.to_domain = to_domain
        to_app_id = options.get('to-app-id')
        version = options.get('version')
        if to_app_id:
            app = get_current_app(self.to_domain, to_app_id)
            print('Overwriting application: {}'.format(app.name))
        else:
            print('Creating new application')
            app = Application()

        if version:
            from_app_doc = get_build_doc_by_version(self.from_domain, from_app_id, version)
        else:
            from_app_doc = get_latest_released_app_doc(self.from_domain, from_app_id)

        if not from_app_doc:
            raise CommandError("From app not found")

        from_app = wrap_app(from_app_doc)
        print('Overwring app with "{}" (version {})'.format(from_app.name, from_app.version))
        overwrite_app(app, from_app, self.report_map)
コード例 #8
0
 def test_get_latest_released_app_doc(self):
     app_doc = get_latest_released_app_doc(self.domain, self.app_id)
     self.assertEqual(app_doc['version'], 2)
コード例 #9
0
ファイル: views.py プロジェクト: soitun/commcare-hq
def _fetch_build(domain, username, app_id):
    if (toggles.CLOUDCARE_LATEST_BUILD.enabled(domain)
            or toggles.CLOUDCARE_LATEST_BUILD.enabled(username)):
        return get_latest_build_doc(domain, app_id)
    else:
        return get_latest_released_app_doc(domain, app_id)
コード例 #10
0
 def test_get_latest_released_app_doc(self):
     app_doc = get_latest_released_app_doc(self.domain, self.app_id)
     self.assertEqual(app_doc["version"], 2)