diff --git a/app/admin-tab/auth/github/controller.js b/app/admin-tab/auth/github/controller.js index b5d0493f0..2ad5839dc 100644 --- a/app/admin-tab/auth/github/controller.js +++ b/app/admin-tab/auth/github/controller.js @@ -128,13 +128,7 @@ export default Ember.Controller.extend({ this.send('authenticationSucceeded', res.body); }).catch(res => { // Github auth succeeded but didn't get back a token - let err; - try { - err = JSON.parse(res.xhr.responseText); - } catch(e) { - err = {type: 'error', message: 'Error authenticating, check Client ID and Secret'}; - } - this.send('gotError', err); + this.send('gotError', res.body); }); }, diff --git a/app/components/catalog-configure/component.js b/app/components/catalog-configure/component.js deleted file mode 100644 index 139454ac1..000000000 --- a/app/components/catalog-configure/component.js +++ /dev/null @@ -1,50 +0,0 @@ -import Ember from 'ember'; - -export default Ember.Component.extend({ - model: null, - - didReceiveAttrs() { - let orig = this.get('originalModel'); - let tpl = orig.get('tpl'); - let links = tpl.get('versionLinks'); - var verArr = Object.keys(links).filter((key) => { - // Filter out empty values for rancher/rancher#5494 - return !!links[key]; - }).map((key) => { - return {version: key, link: links[key]}; - }); - - let out = { - stack: orig.get('stack').clone(), - serviceChoices: orig.get('serviceChoices'), - tpl: tpl, - currentUrl: orig.get('tplVersion.links.self'), - versionLinks: links, - versionsArray: verArr, - }; - - this.set('model', out); - }, - - actions: { - doSave(templateId, newStack, tpl) { - let orig = this.get('originalModel'); - let stack = orig.get('stack'); - stack.merge(newStack); - - orig.setProperties({ - changed: true, - enabled: true, - stack: stack, - tplVersion: tpl, - }); - this.sendAction('dismiss'); - }, - - outsideClick() {}, - - cancel() { - this.sendAction('dismiss'); - }, - }, -}); diff --git a/app/components/catalog-configure/template.hbs b/app/components/catalog-configure/template.hbs deleted file mode 100644 index 1373516e4..000000000 --- a/app/components/catalog-configure/template.hbs +++ /dev/null @@ -1,19 +0,0 @@ -{{new-catalog - serviceChoices=serviceChoices - stackResource=model.stack - templateResource=model.tpl - selectedTemplateUrl=currentUrl - versionLinks=model.versionLinks - versionsArray=model.versionsArray - cancel=(action "cancel") - actuallySave=false - editing=true - showHeader=false - showPreview=false - showName=false - titleUpgrade='newCatalog.titleConfigure' - selectVersionUpgrade='newCatalog.selectVersionConfigure' - saveUpgrade='newCatalog.saveConfigure' - sectionClass="" - doSave=(action 'doSave') -}} diff --git a/app/components/confirm-delete/component.js b/app/components/confirm-delete/component.js index 22e2c77fe..f49f344a6 100644 --- a/app/components/confirm-delete/component.js +++ b/app/components/confirm-delete/component.js @@ -36,7 +36,9 @@ export default ModalBase.extend({ didRender: function() { setTimeout(() => { - this.$('BUTTON')[0].focus(); + try { + this.$('BUTTON')[0].focus(); + } catch (e) {} }, 500); } }); diff --git a/app/components/hero-add-service/component.js b/app/components/hero-add-service/component.js index 5c42092f8..df02a436b 100644 --- a/app/components/hero-add-service/component.js +++ b/app/components/hero-add-service/component.js @@ -3,7 +3,26 @@ import Ember from 'ember'; export default Ember.Component.extend({ settings: Ember.inject.service(), + catalog: null, + stackId: null, + hasKubernetes: null, + hasMesos: null, + hasSwarm: null, + hasInfra: null, + + didReceiveAttrs() { + let k8s = this.get('catalog.catalog').findBy('id','infra:infra*k8s'); + let mesos = this.get('catalog.catalog').findBy('id','infra:infra*k8s'); + let swarm = this.get('catalog.catalog').findBy('id','infra:infra*k8s'); + let infra = this.get('catalog.catalog').findBy('templateBase','infra'); + this.setProperties({ + hasKubernetes: !!k8s, + hasMesos: !!mesos, + hasSwarm: !!swarm, + hasInfra: !!infra, + }); + }, actions: { newService() { diff --git a/app/components/hero-add-service/template.hbs b/app/components/hero-add-service/template.hbs index efa42f5e0..b74f7df74 100644 --- a/app/components/hero-add-service/template.hbs +++ b/app/components/hero-add-service/template.hbs @@ -11,29 +11,37 @@ {{#link-to "catalog-tab" class="btn btn-primary"}}{{t 'heroAddService.linkToCatalog'}}{{/link-to}} -
-

{{t 'heroAddService.infra.header'}}

-

- {{t 'heroAddService.infra.paragraph' appName=settings.appName}} -

+{{#if hasInfra}} +
+

{{t 'heroAddService.infra.header'}}

+

+ {{t 'heroAddService.infra.paragraph' appName=settings.appName}} +

-
-
- - {{#link-to "catalog-tab.launch" "infra:infra*k8s" class="btn btn-primary"}}{{t 'heroAddService.addCatalog'}}{{/link-to}} -
-
- - {{#link-to "catalog-tab.launch" "infra:infra*mesos" class="btn btn-primary"}}{{t 'heroAddService.addCatalog'}}{{/link-to}} -
-
- - {{#link-to "catalog-tab.launch" "infra:infra*swarm" class="btn btn-primary"}}{{t 'heroAddService.addCatalog'}}{{/link-to}} -
-
- - {{#link-to "catalog-tab" (query-params catalogId="infra") class="btn btn-primary"}}{{t 'heroAddService.linkToCatalog'}}{{/link-to}} -
-
-
+
+ {{#if hasKubernetes}} +
+ + {{#link-to "catalog-tab.launch" "infra:infra*k8s" class="btn btn-primary"}}{{t 'heroAddService.addCatalog'}}{{/link-to}} +
+ {{/if}} + {{#if hasMesos}} +
+ + {{#link-to "catalog-tab.launch" "infra:infra*mesos" class="btn btn-primary"}}{{t 'heroAddService.addCatalog'}}{{/link-to}} +
+ {{/if}} + {{#if hasSwarm}} +
+ + {{#link-to "catalog-tab.launch" "infra:infra*swarm" class="btn btn-primary"}}{{t 'heroAddService.addCatalog'}}{{/link-to}} +
+ {{/if}} +
+ + {{#link-to "catalog-tab" (query-params catalogId="infra") class="btn btn-primary"}}{{t 'heroAddService.linkToCatalog'}}{{/link-to}} +
+
+
+{{/if}} diff --git a/app/components/settings/catalog-url/component.js b/app/components/settings/catalog-url/component.js index 5ccbdb18e..a3a25a0e4 100644 --- a/app/components/settings/catalog-url/component.js +++ b/app/components/settings/catalog-url/component.js @@ -4,6 +4,7 @@ import { parseCatalogSetting } from 'ui/utils/parse-catalog-setting'; export default Ember.Component.extend({ settings: Ember.inject.service(), + catalog: Ember.inject.service(), initialValue: null, @@ -63,6 +64,7 @@ export default Ember.Component.extend({ this.get('settings').one('settingsPromisesResolved', () => { btnCb(true); this.sendAction('saved'); + this.get('catalog').clearCache(); }); }, }, diff --git a/app/services/catalog.js b/app/services/catalog.js index 3c6254594..f035532a8 100644 --- a/app/services/catalog.js +++ b/app/services/catalog.js @@ -117,6 +117,10 @@ export default Ember.Service.extend({ }); }, + clearCache() { + this.set('cache', null); + }, + _addLimits(url, qp) { let version = this.get('settings.rancherVersion'); qp = qp || {}; diff --git a/app/stacks/index/template.hbs b/app/stacks/index/template.hbs index a9fd41d8f..148bbf7cd 100644 --- a/app/stacks/index/template.hbs +++ b/app/stacks/index/template.hbs @@ -8,7 +8,7 @@ {{else}} {{#link-to "stacks.new" classNames="btn btn-sm btn-primary"}}{{t 'stacksPage.actionButton'}}{{/link-to}} {{#if arranged.length}} - {{#link-to "catalog-tab" projects.current.id (query-params catalogId=null) classNames="btn btn-sm btn-primary"}}{{t 'stacksPage.catalogButton'}}{{/link-to}} + {{#link-to "catalog-tab" projects.current.id (query-params catalogId="all") classNames="btn btn-sm btn-primary"}}{{t 'stacksPage.catalogButton'}}{{/link-to}} {{/if}} {{/if}} @@ -41,7 +41,7 @@ {{else if (and model.length tagArray.length)}}
{{t 'stacksPage.noMatch'}}
{{else}} - {{hero-add-service}} + {{hero-add-service catalog=model.catalog}} {{/if}} {{/each}} diff --git a/app/stacks/route.js b/app/stacks/route.js index c2cedf982..584e72ced 100644 --- a/app/stacks/route.js +++ b/app/stacks/route.js @@ -8,7 +8,7 @@ export default Ember.Route.extend({ model: function() { return Ember.RSVP.hash({ stacks: this.get('store').findAll('stack'), - infraTemplates: this.get('catalog').fetchTemplates({plusInfra: true, allowFailure: true}), + catalog: this.get('catalog').fetchTemplates({plusInfra: true, allowFailure: true}), }); },