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)
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)
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]
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]
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, })
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)
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)
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)
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)