cleaned out some global variables

pull/567/head
Justin Richer 2014-03-08 21:20:40 +00:00
parent ff4c0ab289
commit 82f1ba61f3
7 changed files with 59 additions and 37 deletions

View File

@ -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");

View File

@ -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

View File

@ -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

View File

@ -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'});

View File

@ -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);
});

View File

@ -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'});

View File

@ -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> &nbsp;
<button class="btn btn-warning btn-whitelist">Whitelist</button> &nbsp;
<button class="btn btn-edit"><i class="icon-edit"></i> Edit</button> &nbsp;
<% if (whiteList != null) { %>
<button class="btn btn-warning btn-whitelist"><i class="icon-wrench icon-white"></i> Whitelist</button> &nbsp;
<% } else { %>
<button class="btn btn-warning btn-whitelist"><i class="icon-plus-sign icon-white"></i> Whitelist</button> &nbsp;
<% } %>
<button class="btn btn-danger btn-delete pull-right"><i class="icon-trash icon-white"></i> Delete</button>
</td>