You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ga...@apache.org on 2013/04/02 16:45:06 UTC
[1/4] git commit: updated refs/heads/1715-admin-auth to 628a1b5
Updated Branches:
refs/heads/1715-admin-auth [created] 628a1b5cf
initial addon created
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/d85ac225
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/d85ac225
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/d85ac225
Branch: refs/heads/1715-admin-auth
Commit: d85ac2259c9be4f865b671f9b624f1a925de2d00
Parents: 4e3d674
Author: Garren Smith <ga...@gmail.com>
Authored: Sat Mar 9 10:08:54 2013 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Wed Mar 20 09:43:56 2013 +0200
----------------------------------------------------------------------
src/fauxton/app/addons/user/base.js | 26 +++++++++++++++++
src/fauxton/app/addons/user/resources.js | 38 +++++++++++++++++++++++++
src/fauxton/app/addons/user/routes.js | 9 ++++++
3 files changed, 73 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/d85ac225/src/fauxton/app/addons/user/base.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/base.js b/src/fauxton/app/addons/user/base.js
new file mode 100644
index 0000000..fd9d9c6
--- /dev/null
+++ b/src/fauxton/app/addons/user/base.js
@@ -0,0 +1,26 @@
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy of
+// the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+define([
+ "app",
+ "api",
+ "addons/user/resources"
+],
+
+function(app, FauxtonAPI, User) {
+
+ User.initialize = function() {
+ FauxtonAPI.addHeaderLink({title: "User", href: "#user"});
+ };
+
+ return User;
+});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/d85ac225/src/fauxton/app/addons/user/resources.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/resources.js b/src/fauxton/app/addons/user/resources.js
new file mode 100644
index 0000000..1410164
--- /dev/null
+++ b/src/fauxton/app/addons/user/resources.js
@@ -0,0 +1,38 @@
+define([
+ "app",
+ "api"
+],
+
+function (app, FauxtonAPI) {
+ var User = new FauxtonAPI.addon();
+
+ User.Session = Backbone.Model.extend({
+ url: '/_session',
+ });
+
+ User.Info = FauxtonAPI.View.extend({
+
+ initialize:function (options) {
+ this.model.on('change', this.update_session, this);
+ },
+
+ update_session: function () {
+ console.log('update session');
+ console.log(this.model);
+ }
+ });
+
+ var session = new User.Session();
+
+ User.Layout = Backbone.Layout.extend({
+ views: {
+ 'a[href="#user"]': new User.Info({model: session})
+ }
+ });
+
+ var layout = new User.Layout();
+
+ layout.render();
+ session.fetch();
+ return User;
+});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/d85ac225/src/fauxton/app/addons/user/routes.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/routes.js b/src/fauxton/app/addons/user/routes.js
new file mode 100644
index 0000000..010ab24
--- /dev/null
+++ b/src/fauxton/app/addons/user/routes.js
@@ -0,0 +1,9 @@
+define([
+ "app",
+ "api",
+ "addons/user/resources"
+],
+
+function(app, FauxtonAPI, User) {
+ return User;
+});
[3/4] git commit: updated refs/heads/1715-admin-auth to 628a1b5
Posted by ga...@apache.org.
rename to auth module
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/ce2f879c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/ce2f879c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/ce2f879c
Branch: refs/heads/1715-admin-auth
Commit: ce2f879c99290ac6336447fa5b9881f1f137a64a
Parents: df184fc
Author: Garren Smith <ga...@gmail.com>
Authored: Tue Apr 2 10:27:07 2013 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Tue Apr 2 10:27:07 2013 +0200
----------------------------------------------------------------------
src/fauxton/app/addons/user/base.js | 26 -----
src/fauxton/app/addons/user/resources.js | 111 -------------------
src/fauxton/app/addons/user/routes.js | 30 -----
src/fauxton/app/modules/fauxton/base.js | 11 ++
src/fauxton/app/templates/fauxton/nav_bar.html | 4 +-
src/fauxton/settings.json.default | 2 +-
6 files changed, 15 insertions(+), 169 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/ce2f879c/src/fauxton/app/addons/user/base.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/base.js b/src/fauxton/app/addons/user/base.js
deleted file mode 100644
index d1c9334..0000000
--- a/src/fauxton/app/addons/user/base.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy of
-// the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-
-define([
- "app",
- "api",
- "addons/user/routes"
-],
-
-function(app, FauxtonAPI, User) {
-
- User.initialize = function() {
- FauxtonAPI.addHeaderLink({title: "User", href: "#_user"});
- };
-
- return User;
-});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/ce2f879c/src/fauxton/app/addons/user/resources.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/resources.js b/src/fauxton/app/addons/user/resources.js
deleted file mode 100644
index f6bd180..0000000
--- a/src/fauxton/app/addons/user/resources.js
+++ /dev/null
@@ -1,111 +0,0 @@
-define([
- "app",
- "api",
- "addons/config/resources"
-],
-
-function (app, FauxtonAPI, Config) {
- var User = new FauxtonAPI.addon();
-
- User.Session = Backbone.Model.extend({
- url: '/_session',
-
- is_admin_party: function () {
- var userCtx = this.get('userCtx');
- if (!userCtx.name && userCtx.roles.indexOf("_admin") !== -1) {
- return true;
- }
-
- return false;
- },
-
- create_admin: function (username, password) {
- if (_.isEmpty(username) || _.isEmpty(password)) {
- var deferred = $.Deferred();
-
- deferred.reject('Username or password cannot be blank.');
- return deferred;
- }
-
- var admin = new Config.OptionModel({
- section: "admins",
- name: username,
- value: password
- });
- return admin.save();
- }
- });
-
- User.CreateAdminModal = FauxtonAPI.View.extend({
- template: 'addons/user/templates/create_admin_modal',
-
- events: {
- "click #create-admin": "create_admin"
- },
-
- create_admin: function (event) {
- event.preventDefault();
- var self = this,
- username = this.$('#username').val(),
- password = this.$('#password').val();
-
- var promise = this.model.create_admin(username, password);
-
- promise.done(function () {
- self.$('.modal').modal('hide');
- self.trigger('admin_created');
- });
-
- promise.fail(function (msg) {
- self.$('#modal-error').text(msg).removeClass('hide');
- });
- },
-
- show_modal: function () {
- this.$('.modal').modal();
- }
- });
-
- User.Info = FauxtonAPI.View.extend({
- template: 'addons/user/templates/info',
-
- initialize:function (options) {
- this.model.on('change', this.update_session, this);
- },
-
- serialize: function () {
- return {
- admin_party: this.model.is_admin_party()
- };
- },
-
- events: {
- "click #user-create-admin": 'show_admin_modal'
- },
-
- beforeRender: function () {
- this.create_admin_modal = this.setView('#user-create-admin-modal', new User.CreateAdminModal({model: this.model}));
- this.create_admin_modal.on('admin_created', this.render);
- },
-
- afterRender: function () {
- if (this.model.is_admin_party()) {
- console.log('admin party');
- return;
- } else {
- console.log('not admin');
- }
- },
-
- show_admin_modal: function (event) {
- event.preventDefault();
- this.create_admin_modal.show_modal();
- },
-
- update_session: function () {
- console.log(this.model);
- }
- });
-
- return User;
-});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/ce2f879c/src/fauxton/app/addons/user/routes.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/routes.js b/src/fauxton/app/addons/user/routes.js
deleted file mode 100644
index 9108072..0000000
--- a/src/fauxton/app/addons/user/routes.js
+++ /dev/null
@@ -1,30 +0,0 @@
-define([
- "app",
- "api",
- "addons/user/resources"
-],
-
-function(app, FauxtonAPI, User) {
-
- var userRoutes = function () {
-
- var session = new User.Session();
- return {
- layout: 'one_pane',
- crumbs: [{"name": "User","link": "_user"}],
- views: {
- "#dashboard-content": new User.Info({model: session})
- },
- establish: function () {
- return [session.fetch()];
- },
- apiUrl: 'boom'
- };
- };
-
- User.Routes = {
- "_user": userRoutes
- };
-
- return User;
-});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/ce2f879c/src/fauxton/app/modules/fauxton/base.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/modules/fauxton/base.js b/src/fauxton/app/modules/fauxton/base.js
index a8bf430..e01c344 100644
--- a/src/fauxton/app/modules/fauxton/base.js
+++ b/src/fauxton/app/modules/fauxton/base.js
@@ -58,7 +58,18 @@ function(app, Backbone) {
this.navLinks.push(link);
}
this.trigger("link:add");
+
this.render();
+ },
+
+ afterRender: function () {
+ _.each(this.navLinks, function (link) {
+ if (link.view) {
+ this.insertView('#nav-links', link.view).render();
+ }
+
+ }, this);
+
}
// TODO: ADD ACTIVE CLASS
http://git-wip-us.apache.org/repos/asf/couchdb/blob/ce2f879c/src/fauxton/app/templates/fauxton/nav_bar.html
----------------------------------------------------------------------
diff --git a/src/fauxton/app/templates/fauxton/nav_bar.html b/src/fauxton/app/templates/fauxton/nav_bar.html
index c9800bf..5282e68 100644
--- a/src/fauxton/app/templates/fauxton/nav_bar.html
+++ b/src/fauxton/app/templates/fauxton/nav_bar.html
@@ -22,9 +22,11 @@ the License.
</a>
<a class="brand" href="#">Project Fauxton</a>
<div class="nav-collapse">
- <ul class="nav pull-right">
+ <ul id="nav-links" class="nav pull-right">
<% _.each(navLinks, function(link) { %>
+ <% if (!link.view) { %>
<li><a href="<%= link.href %>"><%= link.title %></a></li>
+ <% } %>
<% }); %>
<!-- TODO: pick this up from code - nested dicts in the above -->
http://git-wip-us.apache.org/repos/asf/couchdb/blob/ce2f879c/src/fauxton/settings.json.default
----------------------------------------------------------------------
diff --git a/src/fauxton/settings.json.default b/src/fauxton/settings.json.default
index ef986ba..9716ceb 100644
--- a/src/fauxton/settings.json.default
+++ b/src/fauxton/settings.json.default
@@ -4,7 +4,7 @@
{ "name": "logs" },
{ "name": "stats" },
{ "name": "contribute" },
- { "name": "user" }
+ { "name": "auth" }
],
"template": {
"src": "assets/index.underscore",
[4/4] git commit: updated refs/heads/1715-admin-auth to 628a1b5
Posted by ga...@apache.org.
working changing password for admins
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/628a1b5c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/628a1b5c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/628a1b5c
Branch: refs/heads/1715-admin-auth
Commit: 628a1b5cf6df7cc6993de6dbdf2f081e75e1c352
Parents: ce2f879
Author: Garren Smith <ga...@gmail.com>
Authored: Tue Apr 2 16:43:41 2013 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Tue Apr 2 16:43:41 2013 +0200
----------------------------------------------------------------------
src/fauxton/app/modules/fauxton/base.js | 23 ++++++++++++------
src/fauxton/app/templates/fauxton/nav_bar.html | 20 +--------------
2 files changed, 17 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/628a1b5c/src/fauxton/app/modules/fauxton/base.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/modules/fauxton/base.js b/src/fauxton/app/modules/fauxton/base.js
index e01c344..91ea581 100644
--- a/src/fauxton/app/modules/fauxton/base.js
+++ b/src/fauxton/app/modules/fauxton/base.js
@@ -11,10 +11,10 @@
// the License.
define([
- "app",
+ "app",
- // Libs
- "backbone"
+ // Libs
+ "backbone"
],
@@ -62,14 +62,21 @@ function(app, Backbone) {
this.render();
},
- afterRender: function () {
+ beforeRender: function () {
+ this.addLinkViews();
+ },
+
+ addLinkViews: function () {
+ var self = this;
+
_.each(this.navLinks, function (link) {
- if (link.view) {
- this.insertView('#nav-links', link.view).render();
- }
+ if (!link.view) { return; }
+ var establish = link.establish || [];
+ $.when.apply(null, establish).done( function () {
+ self.insertView('#nav-links', link.view).render();
+ });
}, this);
-
}
// TODO: ADD ACTIVE CLASS
http://git-wip-us.apache.org/repos/asf/couchdb/blob/628a1b5c/src/fauxton/app/templates/fauxton/nav_bar.html
----------------------------------------------------------------------
diff --git a/src/fauxton/app/templates/fauxton/nav_bar.html b/src/fauxton/app/templates/fauxton/nav_bar.html
index 5282e68..ebe57d0 100644
--- a/src/fauxton/app/templates/fauxton/nav_bar.html
+++ b/src/fauxton/app/templates/fauxton/nav_bar.html
@@ -24,26 +24,10 @@ the License.
<div class="nav-collapse">
<ul id="nav-links" class="nav pull-right">
<% _.each(navLinks, function(link) { %>
- <% if (!link.view) { %>
- <li><a href="<%= link.href %>"><%= link.title %></a></li>
+ <% if (!link.view) { %>
+ <li><a href="<%= link.href %>"><%= link.title %></a></li>
<% } %>
<% }); %>
- <!-- TODO: pick this up from code - nested dicts in the above -->
-
- <!-- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">drsm79 <b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="account.html#account">Account Info</a></li>
- <li><a href="account.html#password">Password</a></li>
- <li><a href="account.html#indexing-rate">Indexing rate</a></li>
- <li><a href="account.html#support-level">Support level</a></li>
- <li><a href="account.html#location">Location for your data</a></li>
- <li><a href="account.html#email-notifications">Email notifications</a></li>
- <li><a href="account.html#design">Design</a></li>
- <li class="divider"></li>
- <li><a href="/sign-out.html">Sign Out</a></li>
- </ul>
- </li> -->
</ul>
</div><!--/.nav-collapse -->
</div>
[2/4] git commit: updated refs/heads/1715-admin-auth to 628a1b5
Posted by ga...@apache.org.
basic create admin role and admin party
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/df184fc1
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/df184fc1
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/df184fc1
Branch: refs/heads/1715-admin-auth
Commit: df184fc17508df13af7292f430a0f3d604550c3b
Parents: d85ac22
Author: Garren Smith <ga...@gmail.com>
Authored: Fri Mar 22 15:00:40 2013 +0200
Committer: Garren Smith <ga...@gmail.com>
Committed: Fri Mar 22 15:00:40 2013 +0200
----------------------------------------------------------------------
src/fauxton/app/addons/user/base.js | 4 +-
src/fauxton/app/addons/user/resources.js | 105 +++++++++++++++++++++----
src/fauxton/app/addons/user/routes.js | 21 +++++
src/fauxton/settings.json.default | 3 +-
4 files changed, 114 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/df184fc1/src/fauxton/app/addons/user/base.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/base.js b/src/fauxton/app/addons/user/base.js
index fd9d9c6..d1c9334 100644
--- a/src/fauxton/app/addons/user/base.js
+++ b/src/fauxton/app/addons/user/base.js
@@ -13,13 +13,13 @@
define([
"app",
"api",
- "addons/user/resources"
+ "addons/user/routes"
],
function(app, FauxtonAPI, User) {
User.initialize = function() {
- FauxtonAPI.addHeaderLink({title: "User", href: "#user"});
+ FauxtonAPI.addHeaderLink({title: "User", href: "#_user"});
};
return User;
http://git-wip-us.apache.org/repos/asf/couchdb/blob/df184fc1/src/fauxton/app/addons/user/resources.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/resources.js b/src/fauxton/app/addons/user/resources.js
index 1410164..f6bd180 100644
--- a/src/fauxton/app/addons/user/resources.js
+++ b/src/fauxton/app/addons/user/resources.js
@@ -1,38 +1,111 @@
define([
"app",
- "api"
+ "api",
+ "addons/config/resources"
],
-function (app, FauxtonAPI) {
+function (app, FauxtonAPI, Config) {
var User = new FauxtonAPI.addon();
User.Session = Backbone.Model.extend({
url: '/_session',
+
+ is_admin_party: function () {
+ var userCtx = this.get('userCtx');
+ if (!userCtx.name && userCtx.roles.indexOf("_admin") !== -1) {
+ return true;
+ }
+
+ return false;
+ },
+
+ create_admin: function (username, password) {
+ if (_.isEmpty(username) || _.isEmpty(password)) {
+ var deferred = $.Deferred();
+
+ deferred.reject('Username or password cannot be blank.');
+ return deferred;
+ }
+
+ var admin = new Config.OptionModel({
+ section: "admins",
+ name: username,
+ value: password
+ });
+ return admin.save();
+ }
+ });
+
+ User.CreateAdminModal = FauxtonAPI.View.extend({
+ template: 'addons/user/templates/create_admin_modal',
+
+ events: {
+ "click #create-admin": "create_admin"
+ },
+
+ create_admin: function (event) {
+ event.preventDefault();
+ var self = this,
+ username = this.$('#username').val(),
+ password = this.$('#password').val();
+
+ var promise = this.model.create_admin(username, password);
+
+ promise.done(function () {
+ self.$('.modal').modal('hide');
+ self.trigger('admin_created');
+ });
+
+ promise.fail(function (msg) {
+ self.$('#modal-error').text(msg).removeClass('hide');
+ });
+ },
+
+ show_modal: function () {
+ this.$('.modal').modal();
+ }
});
-
+
User.Info = FauxtonAPI.View.extend({
+ template: 'addons/user/templates/info',
initialize:function (options) {
this.model.on('change', this.update_session, this);
},
- update_session: function () {
- console.log('update session');
- console.log(this.model);
- }
- });
+ serialize: function () {
+ return {
+ admin_party: this.model.is_admin_party()
+ };
+ },
+
+ events: {
+ "click #user-create-admin": 'show_admin_modal'
+ },
- var session = new User.Session();
+ beforeRender: function () {
+ this.create_admin_modal = this.setView('#user-create-admin-modal', new User.CreateAdminModal({model: this.model}));
+ this.create_admin_modal.on('admin_created', this.render);
+ },
+
+ afterRender: function () {
+ if (this.model.is_admin_party()) {
+ console.log('admin party');
+ return;
+ } else {
+ console.log('not admin');
+ }
+ },
+
+ show_admin_modal: function (event) {
+ event.preventDefault();
+ this.create_admin_modal.show_modal();
+ },
- User.Layout = Backbone.Layout.extend({
- views: {
- 'a[href="#user"]': new User.Info({model: session})
+ update_session: function () {
+ console.log(this.model);
}
});
- var layout = new User.Layout();
-
- layout.render();
- session.fetch();
return User;
});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/df184fc1/src/fauxton/app/addons/user/routes.js
----------------------------------------------------------------------
diff --git a/src/fauxton/app/addons/user/routes.js b/src/fauxton/app/addons/user/routes.js
index 010ab24..9108072 100644
--- a/src/fauxton/app/addons/user/routes.js
+++ b/src/fauxton/app/addons/user/routes.js
@@ -5,5 +5,26 @@ define([
],
function(app, FauxtonAPI, User) {
+
+ var userRoutes = function () {
+
+ var session = new User.Session();
+ return {
+ layout: 'one_pane',
+ crumbs: [{"name": "User","link": "_user"}],
+ views: {
+ "#dashboard-content": new User.Info({model: session})
+ },
+ establish: function () {
+ return [session.fetch()];
+ },
+ apiUrl: 'boom'
+ };
+ };
+
+ User.Routes = {
+ "_user": userRoutes
+ };
+
return User;
});
http://git-wip-us.apache.org/repos/asf/couchdb/blob/df184fc1/src/fauxton/settings.json.default
----------------------------------------------------------------------
diff --git a/src/fauxton/settings.json.default b/src/fauxton/settings.json.default
index b4c0dbc..ef986ba 100644
--- a/src/fauxton/settings.json.default
+++ b/src/fauxton/settings.json.default
@@ -3,7 +3,8 @@
{ "name": "config" },
{ "name": "logs" },
{ "name": "stats" },
- { "name": "contribute" }
+ { "name": "contribute" },
+ { "name": "user" }
],
"template": {
"src": "assets/index.underscore",