You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2011/12/31 14:55:46 UTC
svn commit: r1226092 - in
/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp:
./ js/archiva/ js/redback/ js/redback/templates/
Author: olamy
Date: Sat Dec 31 13:55:46 2011
New Revision: 1226092
URL: http://svn.apache.org/viewvc?rev=1226092&view=rev
Log:
start moving role edition to use knockout with adding bean mapping
Added:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/permission.js
- copied, changed from r1226091, archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/resource.js
- copied, changed from r1226091, archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/roles.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/templates/roles-tmpl.html
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/users.js
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html?rev=1226092&r1=1226091&r2=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html Sat Dec 31 13:55:46 2011
@@ -64,6 +64,8 @@
.script("redback/users.js").wait()
.script("redback/redback.js").wait()
.script("redback/register.js").wait()
+ .script("redback/permission.js").wait()
+ .script("redback/resource.js").wait()
.script("redback/roles.js").wait()
.script("archiva/main.js");
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js?rev=1226092&r1=1226091&r2=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js Sat Dec 31 13:55:46 2011
@@ -79,7 +79,7 @@ $(function() {
return mapOperation(item);
});
window.redbackModel.operatioNames = $.map(mappedOperations, function(item){
- return item.name;
+ return item.name();
});
$("[redback-permissions]").each(function(element){
@@ -88,7 +88,6 @@ $(function() {
var neededKarmas = $(eval(bindingValue)).toArray();
var karmaOk = false;
$(neededKarmas).each(function(value){
- //alert(neededKarmas[value]);
if ($.inArray(neededKarmas[value],window.redbackModel.operatioNames)>=0) {
karmaOk = true;
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js?rev=1226092&r1=1226091&r2=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js Sat Dec 31 13:55:46 2011
@@ -176,4 +176,20 @@ openDialogConfirmui=function(okFn, okMes
}
}]
});
+}
+
+mapStringArray=function(data){
+ //if (data){
+ if ($.isArray(data)){
+ $.log("isArray");
+ return $.map(data,function(item){
+ return item;
+ });
+ } else {
+ $.log("not Array");
+ return new Array(data);
+ }
+ //}
+
+ //return null;
}
\ No newline at end of file
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js?rev=1226092&r1=1226091&r2=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js Sat Dec 31 13:55:46 2011
@@ -20,7 +20,7 @@ $(function() {
operation=function(name) {
- this.name=name;
+ this.name=ko.observable(name);
}
/**
Copied: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/permission.js (from r1226091, archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js)
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/permission.js?p2=archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/permission.js&p1=archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js&r1=1226091&r2=1226092&rev=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/permission.js Sat Dec 31 13:55:46 2011
@@ -19,15 +19,19 @@
$(function() {
- operation=function(name) {
- this.name=name;
+ permission=function(name,operation,resource) {
+ this.name=ko.observable(name);
+ this.operation=ko.observable(operation);
+ this.resource=ko.observable(resource);
}
/**
- * @param data Operation response from redback rest api
+ * @param data Permission response from redback rest api
*/
- mapOperation=function(data) {
- return new operation(data.name,null);
+ mapPermission=function(data) {
+ return new permission(data.name,
+ data.operation?mapOperation(data.operation):null,
+ data.resource?mapResource(data.resource):null);
}
Copied: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/resource.js (from r1226091, archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js)
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/resource.js?p2=archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/resource.js&p1=archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js&r1=1226091&r2=1226092&rev=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/operation.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/resource.js Sat Dec 31 13:55:46 2011
@@ -19,15 +19,16 @@
$(function() {
- operation=function(name) {
- this.name=name;
+ resource=function(identifier,pattern) {
+ this.identifier=ko.observable(identifier);
+ this.pattern=ko.observable(pattern);
}
/**
- * @param data Operation response from redback rest api
+ * @param data Resource response from redback rest api
*/
- mapOperation=function(data) {
- return new operation(data.name,null);
+ mapResource=function(data) {
+ return new resource(data.identifier,data.pattern);
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/roles.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/roles.js?rev=1226092&r1=1226091&r2=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/roles.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/roles.js Sat Dec 31 13:55:46 2011
@@ -18,16 +18,44 @@
*/
$(function() {
- role = function(name,description,permissions){
- this.name = name;
- this.description = description;
- this.permissions=permissions;
- }
+ role = function(name,description,assignable,childRoleNames,parentRoleNames,users,parentsRolesUsers,permissions){
+ this.name = ko.observable(name);
+ this.description = ko.observable(description);
+ this.assignable = ko.observable(assignable);
+ this.childRoleNames = ko.observableArray(childRoleNames);//read only
+ this.parentRoleNames = ko.observableArray(parentRoleNames);//read only
+ this.users = ko.observableArray(users);
+ this.parentsRolesUsers = ko.observableArray(parentsRolesUsers);//read only
+ this.permissions = ko.observableArray(permissions);//read only
+
+
+
- permission = function(){
+
+ this.updateDescription=function(){
+ var url = "restServices/redbackServices/roleManagementService/updateRoleDescription?";
+ var roleName = this.name();
+ url += "roleName="+encodeURIComponent(roleName);
+ url += "&roleDescription="+encodeURIComponent(this.description());
+ $.ajax(url,
+ {
+ type: "GET",
+ dataType: 'json',
+ success: function(data) {
+ $.log("role description updated");
+ displaySuccessMessage($.i18n.prop("role.updated",roleName));
+ },
+ error: function(data){
+ displayErrorMessage("error updating role description");
+ }
+ }
+ );
+ }
}
+
+
displayRolesGrid = function(){
$("#user-messages").html("");
$("#main-content").html("");
@@ -37,11 +65,11 @@ $(function() {
dataType: 'json',
success: function(data) {
var roles = $.map(data.role, function(item) {
- return mapRole(item);
+ return mapRole(item);
});
-
+ $.log(ko.toJSON(roles));
$("#main-content").html($("#rolesTabs").tmpl());
- $("#main-content #roles-view-tabs-content #roles-view").html($("#rolesGrid").tmpl(data));
+ $("#main-content #roles-view-tabs-content #roles-view").html($("#rolesGrid").tmpl(roles));
$("#roles-view-tabs").tabs();
activateRolesGridTab();
}
@@ -68,22 +96,7 @@ $(function() {
var roleName = $("#editRoleTable #role-edit-name").html();
var description = $("#editRoleTable #role-edit-description").val();
clearUserMessages();
- var url = "restServices/redbackServices/roleManagementService/updateRoleDescription?";
- url += "roleName="+encodeURIComponent(roleName);
- url += "&roleDescription="+encodeURIComponent(description);
- $.ajax(url,
- {
- type: "GET",
- dataType: 'json',
- success: function(data) {
- $.log("role description updated");
- displaySuccessMessage($.i18n.prop("role.updated",roleName));
- },
- error: function(data){
- displayErrorMessage("error updating role description");
- }
- }
- );
+ new role(roleName,description).updateDescription();
}
@@ -91,7 +104,23 @@ $(function() {
* @param data Role response from redback rest api
*/
mapRole=function(data) {
- return new role(data.name, data.description);
+ // name, description, assignable,childRoleNames,parentRoleNames,users,parentsRolesUsers,permissions
+ $.log("mapRole:"+data.name+":");
+ var childRoleNames = mapStringArray(data.childRoleNames);
+ var parentRoleNames = mapStringArray(data.parentRoleNames);
+ var users = data.users ? $.map(data.users, function(item) {
+ return mapUser(item);
+ }):null;
+
+ var parentsRolesUsers = data.parentsRolesUsers ? $.map(data.parentsRolesUsers, function(item) {
+ return mapUser(item);
+ }):null;
+
+ var permissions = data.permissions? $.map(data.permissions, function(item){
+ return mapPermission(item);
+ }):null;
+
+ return new role(data.name, data.description,data.assignable,childRoleNames,parentRoleNames,users,parentsRolesUsers,permissions);
}
activateRolesGridTab=function(){
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/templates/roles-tmpl.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/templates/roles-tmpl.html?rev=1226092&r1=1226091&r2=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/templates/roles-tmpl.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/templates/roles-tmpl.html Sat Dec 31 13:55:46 2011
@@ -80,7 +80,7 @@
{{/if}}
</ul>
{{/if}}
-
+ <!--
<div class="page-header">
<h3>${$.i18n.prop('role.model.child.roles')}</h3>
</div>
@@ -167,5 +167,5 @@
{{else}}
${$.i18n.prop('role.edit.no.user.defined')}
{{/if}}
-
+ -->
</script>
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/users.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/users.js?rev=1226092&r1=1226091&r2=1226092&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/users.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/users.js Sat Dec 31 13:55:46 2011
@@ -31,10 +31,10 @@ $(function() {
async: false,
dataType: 'json',
success: function(data) {
- var mappedUsers = $.map(data.user, function(item) {
- return mapUser(item);
- });
- self.users(mappedUsers);
+ var mappedUsers = $.map(data.user, function(item) {
+ return mapUser(item);
+ });
+ self.users(mappedUsers);
}
}
);