import Repo from "manager-client/models/repo"; import Route from "@ember/routing/route"; export default Route.extend({ model() { return Repo.findAll(); }, loadRepos(list) { if (list.length === 0) { return; } this.loadRepo(list.shift()).then(() => this.loadRepos(list)); }, loadRepo(repo) { return repo.findLatest(); }, setupController(controller, model) { const applicationController = this.controllerFor("application"); controller.setProperties({ model, upgrading: null }); model.forEach(repo => { if (repo.get("upgrading")) { controller.set("upgrading", repo); } // Special case: Upgrade docker manager first if (repo.get("id") === "docker_manager") { controller.set("managerRepo", repo); } // Special case: If the branch is "master" warn user if ( repo.get("id") === "discourse" && repo.get("branch") === "origin/master" ) { applicationController.appendBannerHtml( "WARNING: Your Discourse is tracking the 'master' branch which may be unstable, we recommend tracking the 'tests-passed' branch." ); } }); this.loadRepos(model.slice(0)); } });