cleaned out some global variables
parent
ff4c0ab289
commit
82f1ba61f3
|
@ -386,14 +386,14 @@ var AppRouter = Backbone.Router.extend({
|
|||
this.clientStats = new StatsModel();
|
||||
this.accessTokensList = new AccessTokenCollection();
|
||||
this.refreshTokensList = new RefreshTokenCollection();
|
||||
|
||||
|
||||
this.clientListView = new ClientListView({model:this.clientList, stats: this.clientStats});
|
||||
this.whiteListListView = new WhiteListListView({model:this.whiteListList});
|
||||
this.approvedSiteListView = new ApprovedSiteListView({model:this.approvedSiteList});
|
||||
this.clientListView = new ClientListView({model:this.clientList, stats: this.clientStats, systemScopeList: this.systemScopeList, whiteListList: this.whiteListList});
|
||||
this.whiteListListView = new WhiteListListView({model:this.whiteListList, clientList: this.clientList, systemScopeList: this.systemScopeList});
|
||||
this.approvedSiteListView = new ApprovedSiteListView({model:this.approvedSiteList, clientList: this.clientList, systemScopeList: this.systemScopeList});
|
||||
this.blackListListView = new BlackListListView({model:this.blackListList});
|
||||
this.systemScopeListView = new SystemScopeListView({model:this.systemScopeList});
|
||||
this.tokensListView = new TokenListView({model: {access: this.accessTokensList, refresh: this.refreshTokensList}});
|
||||
this.tokensListView = new TokenListView({model: {access: this.accessTokensList, refresh: this.refreshTokensList}, clientList: this.clientList, systemScopeList: this.systemScopeList});
|
||||
this.dynRegRootView = new DynRegRootView({systemScopeList: this.systemScopeList});
|
||||
|
||||
this.breadCrumbView = new BreadCrumbView({
|
||||
collection:new Backbone.Collection()
|
||||
|
@ -401,6 +401,15 @@ var AppRouter = Backbone.Router.extend({
|
|||
|
||||
this.breadCrumbView.render();
|
||||
|
||||
// set up loading dependencies
|
||||
|
||||
/*
|
||||
this.clientListView.dependsOn = [this.systemScopeList];
|
||||
this.whiteListListView.dependsOn = [this.whiteListList, this.clientList];
|
||||
this.accessTokensListView.dependsOn = [this.clientList];
|
||||
this.refreshTokenListView.dependsOn = [this.clientList];
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// Several items depend on the clients and whitelists being loaded, so we're going to pre-fetch them here
|
||||
|
@ -408,11 +417,13 @@ var AppRouter = Backbone.Router.extend({
|
|||
//
|
||||
|
||||
// load things in the right order:
|
||||
|
||||
$("#loading").html("server configuration");
|
||||
var base = $('base').attr('href');
|
||||
$.getJSON(base + '.well-known/openid-configuration', function(data) {
|
||||
app.serverConfiguration = data;
|
||||
$("#content .progress .bar").css("width", "20%");
|
||||
/**/
|
||||
$("#content .progress .bar").css("width", "20%");
|
||||
$("#loading").html("scopes");
|
||||
app.systemScopeList.fetch({
|
||||
success: function(collection, response) {
|
||||
|
@ -428,10 +439,12 @@ var AppRouter = Backbone.Router.extend({
|
|||
$("#loading").html("statistics");
|
||||
app.clientStats.fetch({
|
||||
success: function(model, response) {
|
||||
/**/
|
||||
$("#content .progress .bar").css("width", "100%");
|
||||
$("#loading").html("console");
|
||||
var baseUrl = $.url(app.serverConfiguration.issuer);
|
||||
Backbone.history.start({pushState: true, root: baseUrl.attr('relative') + 'manage/'});
|
||||
/**/
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -440,6 +453,7 @@ var AppRouter = Backbone.Router.extend({
|
|||
});
|
||||
}
|
||||
});
|
||||
/**/
|
||||
});
|
||||
|
||||
},
|
||||
|
@ -489,7 +503,7 @@ var AppRouter = Backbone.Router.extend({
|
|||
idTokenValiditySeconds:600
|
||||
}, { silent: true });
|
||||
|
||||
this.clientFormView = new ClientFormView({model:client});
|
||||
this.clientFormView = new ClientFormView({model:client, systemScopeList: this.systemScopeList});
|
||||
$('#content').html(this.clientFormView.render().el);
|
||||
setPageTitle("New Client");
|
||||
},
|
||||
|
@ -527,7 +541,7 @@ var AppRouter = Backbone.Router.extend({
|
|||
displayClientSecret:false
|
||||
}, { silent: true });
|
||||
|
||||
this.clientFormView = new ClientFormView({model:client});
|
||||
this.clientFormView = new ClientFormView({model:client, systemScopeList: this.systemScopeList});
|
||||
$('#content').html(this.clientFormView.render().el);
|
||||
|
||||
setPageTitle("Edit Client");
|
||||
|
@ -577,7 +591,7 @@ var AppRouter = Backbone.Router.extend({
|
|||
allowedScopes: client.get('scope')
|
||||
}, { silent: true });
|
||||
|
||||
this.whiteListFormView = new WhiteListFormView({model: whiteList, client: client});
|
||||
this.whiteListFormView = new WhiteListFormView({model: whiteList, client: client, systemScopeList: this.systemScopeList});
|
||||
$('#content').html(this.whiteListFormView.render().el);
|
||||
setPageTitle("Create New Whitelist");
|
||||
} else {
|
||||
|
@ -607,7 +621,7 @@ var AppRouter = Backbone.Router.extend({
|
|||
|
||||
// if there's no client, this is an error
|
||||
if (client != null) {
|
||||
this.whiteListFormView = new WhiteListFormView({model: whiteList, client: client});
|
||||
this.whiteListFormView = new WhiteListFormView({model: whiteList, client: client, systemScopeList: this.systemScopeList});
|
||||
$('#content').html(this.whiteListFormView.render().el);
|
||||
setPageTitle("Edit Whitelist");
|
||||
|
||||
|
@ -760,7 +774,6 @@ var AppRouter = Backbone.Router.extend({
|
|||
{text:"Client Registration", href:"manage/#dev/dynreg"}
|
||||
]);
|
||||
|
||||
this.dynRegRootView = new DynRegRootView();
|
||||
$('#content').html(this.dynRegRootView.render().el);
|
||||
|
||||
setPageTitle("Self-service Client Registration");
|
||||
|
|
|
@ -135,10 +135,10 @@ var ClientView = Backbone.View.extend({
|
|||
},
|
||||
|
||||
render:function (eventName) {
|
||||
var json = {client: this.model.toJSON(), count: this.options.count};
|
||||
var json = {client: this.model.toJSON(), count: this.options.count, whiteList: this.options.whiteList};
|
||||
this.$el.html(this.template(json));
|
||||
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('scope'), systemScopes: app.systemScopeList}));
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('scope'), systemScopes: this.options.systemScopeList}));
|
||||
|
||||
this.$('.dynamically-registered').tooltip({title: 'This client was dynamically registered'});
|
||||
|
||||
|
@ -157,8 +157,7 @@ var ClientView = Backbone.View.extend({
|
|||
},
|
||||
|
||||
whiteListClient:function() {
|
||||
var whiteList = app.whiteListList.getByClientId(this.model.get('clientId'));
|
||||
if (whiteList == null) {
|
||||
if (this.options.whiteList == null) {
|
||||
// create a new one
|
||||
app.navigate('admin/whitelist/new/' + this.model.id, {trigger: true});
|
||||
} else {
|
||||
|
@ -246,11 +245,15 @@ var ClientListView = Backbone.View.extend({
|
|||
// append and render table structure
|
||||
$(this.el).html($('#tmpl-client-table').html());
|
||||
|
||||
_.each(this.model.models, function (client) {
|
||||
var whiteList = this.options.whiteListList.getByClientId(this.model.get('clientId'));
|
||||
|
||||
_.each(this.model.models, function (client) {
|
||||
$("#client-table",this.el).append(
|
||||
new ClientView({
|
||||
model:client,
|
||||
count:this.options.stats.get(client.get('id'))
|
||||
count:this.options.stats.get(client.get('id')),
|
||||
systemScopeList: this.options.systemScopeList,
|
||||
whiteList: this.options.whiteListList.getByClientId(client.get('clientId'))
|
||||
}).render().el);
|
||||
}, this);
|
||||
|
||||
|
@ -637,7 +640,7 @@ var ClientFormView = Backbone.View.extend({
|
|||
|
||||
$("#scope .controls",this.el).html(new ListWidgetView({
|
||||
placeholder: 'new scope',
|
||||
autocomplete: _.uniq(_.flatten(app.systemScopeList.pluck("value"))),
|
||||
autocomplete: _.uniq(_.flatten(this.options.systemScopeList.pluck("value"))),
|
||||
collection: this.scopeCollection}).render().el);
|
||||
|
||||
// build and bind contacts
|
||||
|
|
|
@ -96,7 +96,7 @@ var DynRegRootView = Backbone.View.extend({
|
|||
|
||||
client.fetch({success: function() {
|
||||
|
||||
var dynRegEditView = new DynRegEditView({model: client});
|
||||
var dynRegEditView = new DynRegEditView({model: client, systemScopeList: this.systemScopeList});
|
||||
|
||||
$('#content').html(dynRegEditView.render().el);
|
||||
app.navigate('dev/dynreg/edit', {trigger: true});
|
||||
|
@ -352,7 +352,7 @@ var DynRegEditView = Backbone.View.extend({
|
|||
|
||||
$("#scope .controls",this.el).html(new ListWidgetView({
|
||||
placeholder: 'new scope',
|
||||
autocomplete: _.uniq(_.flatten(app.systemScopeList.pluck("value"))),
|
||||
autocomplete: _.uniq(_.flatten(this.options.systemScopeList.pluck("value"))),
|
||||
collection: this.scopeCollection}).render().el);
|
||||
|
||||
// build and bind contacts
|
||||
|
|
|
@ -45,14 +45,14 @@ var ApprovedSiteListView = Backbone.View.extend({
|
|||
|
||||
_.each(this.model.models, function(approvedSite) {
|
||||
// look up client
|
||||
var client = app.clientList.getByClientId(approvedSite.get('clientId'));
|
||||
var client = this.options.clientList.getByClientId(approvedSite.get('clientId'));
|
||||
|
||||
if (client != null) {
|
||||
|
||||
if (approvedSite.get('whitelistedSite') != null) {
|
||||
$('#grant-whitelist-table', this.el).append(new ApprovedSiteView({model: approvedSite, client: client}).render().el);
|
||||
$('#grant-whitelist-table', this.el).append(new ApprovedSiteView({model: approvedSite, client: client, systemScopeList: this.options.systemScopeList}).render().el);
|
||||
} else {
|
||||
$('#grant-table', this.el).append(new ApprovedSiteView({model: approvedSite, client: client}).render().el);
|
||||
$('#grant-table', this.el).append(new ApprovedSiteView({model: approvedSite, client: client, systemScopeList: this.options.systemScopeList}).render().el);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -158,7 +158,7 @@ var ApprovedSiteView = Backbone.View.extend({
|
|||
|
||||
this.$el.html(this.template(json));
|
||||
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('allowedScopes'), systemScopes: app.systemScopeList}));
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('allowedScopes'), systemScopes: this.options.systemScopeList}));
|
||||
|
||||
this.$('.dynamically-registered').tooltip({title: 'This client was dynamically registered'});
|
||||
this.$('.whitelisted-site').tooltip({title: 'This site was whitelisted by an adminstrator'});
|
||||
|
|
|
@ -84,7 +84,7 @@ var AccessTokenView = Backbone.View.extend({
|
|||
$('.token-full', this.el).hide();
|
||||
|
||||
// show scopes
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('scopes'), systemScopes: app.systemScopeList}));
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('scopes'), systemScopes: this.options.systemScopeList}));
|
||||
|
||||
return this;
|
||||
},
|
||||
|
@ -206,7 +206,7 @@ var RefreshTokenView = Backbone.View.extend({
|
|||
$('.token-full', this.el).hide();
|
||||
|
||||
// show scopes
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('scopes'), systemScopes: app.systemScopeList}));
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('scopes'), systemScopes: this.options.systemScopeList}));
|
||||
|
||||
return this;
|
||||
|
||||
|
@ -308,17 +308,17 @@ var TokenListView = Backbone.View.extend({
|
|||
|
||||
_.each(this.model.access.models, function (token) {
|
||||
// look up client
|
||||
var client = app.clientList.getByClientId(token.get('clientId'));
|
||||
var client = _self.options.clientList.getByClientId(token.get('clientId'));
|
||||
|
||||
$('#access-token-table', _self.el).append(new AccessTokenView({model: token, client: client}).render().el);
|
||||
$('#access-token-table', _self.el).append(new AccessTokenView({model: token, client: client, systemScopeList: _self.options.systemScopeList}).render().el);
|
||||
|
||||
});
|
||||
|
||||
_.each(this.model.refresh.models, function (token) {
|
||||
// look up client
|
||||
var client = app.clientList.getByClientId(token.get('clientId'));
|
||||
var client = _self.options.clientList.getByClientId(token.get('clientId'));
|
||||
|
||||
$('#refresh-token-table', _self.el).append(new RefreshTokenView({model: token, client: client}).render().el);
|
||||
$('#refresh-token-table', _self.el).append(new RefreshTokenView({model: token, client: client, systemScopeList: _self.options.systemScopeList}).render().el);
|
||||
|
||||
});
|
||||
|
||||
|
|
|
@ -60,11 +60,11 @@ var WhiteListListView = Backbone.View.extend({
|
|||
_.each(this.model.models, function (whiteList) {
|
||||
|
||||
// look up client
|
||||
var client = app.clientList.getByClientId(whiteList.get('clientId'));
|
||||
var client = this.options.clientList.getByClientId(whiteList.get('clientId'));
|
||||
|
||||
// if there's no client ID, this is an error!
|
||||
if (client != null) {
|
||||
$('#whitelist-table', this.el).append(new WhiteListView({model: whiteList, client: client}).render().el);
|
||||
$('#whitelist-table', this.el).append(new WhiteListView({model: whiteList, client: client, systemScopeList: this.options.systemScopeList}).render().el);
|
||||
}
|
||||
|
||||
}, this);
|
||||
|
@ -115,7 +115,7 @@ var WhiteListView = Backbone.View.extend({
|
|||
|
||||
this.$el.html(this.template(json));
|
||||
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('allowedScopes'), systemScopes: app.systemScopeList}));
|
||||
$('.scope-list', this.el).html(this.scopeTemplate({scopes: this.model.get('allowedScopes'), systemScopes: this.options.systemScopeList}));
|
||||
|
||||
this.$('.dynamically-registered').tooltip({title: 'This client was dynamically registered'});
|
||||
|
||||
|
|
|
@ -18,10 +18,12 @@
|
|||
|
||||
<script type="text/html" id="tmpl-client">
|
||||
<td>
|
||||
<% if (count) { %>
|
||||
<% if (count == 0) { %>
|
||||
<span class="label label-important">0</span>
|
||||
<% } else if (count != null) { %>
|
||||
<span class="label label-info"><%= count %></span>
|
||||
<% } else { %>
|
||||
<span class="label label-important">0</span>
|
||||
<!-- hold for count -->
|
||||
<% } %>
|
||||
<% if (client.dynamicallyRegistered) { %>
|
||||
<span class="label label-inverse dynamically-registered"><i class="icon-globe icon-white"></i></span>
|
||||
|
@ -63,8 +65,12 @@
|
|||
</td>
|
||||
|
||||
<td>
|
||||
<button class="btn btn-edit"><i class="icon-edit"></i> Edit</button>
|
||||
<button class="btn btn-warning btn-whitelist">Whitelist</button>
|
||||
<button class="btn btn-edit"><i class="icon-edit"></i> Edit</button>
|
||||
<% if (whiteList != null) { %>
|
||||
<button class="btn btn-warning btn-whitelist"><i class="icon-wrench icon-white"></i> Whitelist</button>
|
||||
<% } else { %>
|
||||
<button class="btn btn-warning btn-whitelist"><i class="icon-plus-sign icon-white"></i> Whitelist</button>
|
||||
<% } %>
|
||||
<button class="btn btn-danger btn-delete pull-right"><i class="icon-trash icon-white"></i> Delete</button>
|
||||
</td>
|
||||
|
||||
|
|
Loading…
Reference in New Issue