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 2012/01/05 16:45:09 UTC

svn commit: r1227643 - in /archiva/trunk/archiva-modules/archiva-web: archiva-webapp-js/src/main/webapp/js/ archiva-webapp-js/src/main/webapp/js/archiva/ archiva-webapp-js/src/main/webapp/js/redback/ archiva-webapp-js/src/main/webapp/js/redback/templat...

Author: olamy
Date: Thu Jan  5 15:45:09 2012
New Revision: 1227643

URL: http://svn.apache.org/viewvc?rev=1227643&view=rev
Log:
fix issue with webkit for users role assignement double list

Modified:
    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/knockout-debug.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-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java

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=1227643&r1=1227642&r2=1227643&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 Thu Jan  5 15:45:09 2012
@@ -160,6 +160,8 @@ $(function() {
   hideElementWithKarma();
   checkSecurityLinks();
 
+
+
 })
 });
 

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js?rev=1227643&r1=1227642&r2=1227643&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/knockout-debug.js Thu Jan  5 15:45:09 2012
@@ -1021,7 +1021,7 @@ ko.observableArray['fn'] = {
 
 // Populate ko.observableArray.fn with read/write functions from native arrays
 ko.utils.arrayForEach(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (methodName) {
-    ko.observableArray['fn'][methodName] = function () { 
+    ko.observableArray['fn'][methodName] = function () {
         var underlyingArray = this();
         this.valueWillMutate();
         var methodCallResult = underlyingArray[methodName].apply(underlyingArray, arguments);

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=1227643&r1=1227642&r2=1227643&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 Thu Jan  5 15:45:09 2012
@@ -18,7 +18,7 @@
  */
 $(function() {
 
-  role = function(name,description,assignable,childRoleNames,parentRoleNames,users,parentsRolesUsers,permissions,otherUsers){
+  Role = function(name,description,assignable,childRoleNames,parentRoleNames,users,parentsRolesUsers,permissions,otherUsers){
     this.name = ko.observable(name);
     this.description = ko.observable(description);
     this.assignable = ko.observable(assignable);
@@ -28,8 +28,8 @@ $(function() {
     this.parentsRolesUsers = ko.observableArray(parentsRolesUsers);//read only
     this.permissions = ko.observableArray(permissions);//read only
     // when editing a role other users not assign to this role are populated
-    this.otherUsers = ko.observableArray(otherUsers);
-    this.removedUsers=ko.observableArray([]);
+    this.otherUsers = ko.observableArray(otherUsers?otherUsers:new Array());
+    this.removedUsers= ko.observableArray(new Array());
 
     this.updateDescription=function(){
       var url = "restServices/redbackServices/roleManagementService/updateRoleDescription?";
@@ -50,6 +50,7 @@ $(function() {
         }
       );
     }
+    var self=this;
     this.updateUsers=function(){
       var url = "restServices/redbackServices/roleManagementService/updateRoleUsers";
       $.ajax(url,
@@ -57,7 +58,7 @@ $(function() {
           type: "POST",
           dataType: 'json',
           contentType: 'application/json',
-          data: "{\"role\": " +  ko.toJSON(this)+"}",
+          data: "{\"role\": " +  ko.toJSON(self)+"}",
           success: function(data) {
             displaySuccessMessage($.i18n.prop("role.users.updated",this.name));
           },
@@ -68,14 +69,6 @@ $(function() {
       );
     }
 
-    this.updateMode=function(){
-      $("#main-content #role-list-users").hide();
-      $("#main-content #role-edit-users").show();
-    }
-    this.viewMode=function(){
-      $("#main-content #role-edit-users").hide();
-      $("#main-content #role-list-users").show();
-    }
   }
 
   /**
@@ -156,13 +149,15 @@ $(function() {
   }
 
   RoleViewModel=function(role){
-    selectedOtherUsers=new ko.observableArray();
-    selectedUsers=new ko.observableArray();
+    selectedOtherUsers= ko.observableArray();
+    selectedUsers= ko.observableArray();
     currentRole=role;
     var self=this;
     addUser=function(){
+      $.log("addUser");
       var removed = currentRole.otherUsers.removeAll(selectedOtherUsers());
       for (var i = 0; i < removed.length; i++) {
+        $.log("add user:"+removed[i].username());
         currentRole.users.push(removed[i]);
       }
       selectedOtherUsers([]);
@@ -184,6 +179,15 @@ $(function() {
     saveUsers=function(){
       currentRole.updateUsers();
     }
+
+    updateMode=function(){
+      $("#main-content #role-list-users").hide();
+      $("#main-content #role-edit-users").show();
+    }
+    viewMode=function(){
+      $("#main-content #role-edit-users").hide();
+      $("#main-content #role-list-users").show();
+    }
   }
 
   /**
@@ -212,7 +216,7 @@ $(function() {
       return mapUser(item);
     }):new Array(mapUser(data.otherUsers)):null;
 
-    return new role(data.name, data.description?data.description:"",data.assignable,childRoleNames,parentRoleNames,users,parentsRolesUsers,permissions,otherUsers);
+    return new Role(data.name, data.description?data.description:"",data.assignable,childRoleNames,parentRoleNames,users,parentsRolesUsers,permissions,otherUsers);
   }
 
   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=1227643&r1=1227642&r2=1227643&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 Thu Jan  5 15:45:09 2012
@@ -130,7 +130,7 @@
       ${$.i18n.prop('role.edit.no.user.defined')}
     {{/if}}
 
-    <button class="btn" data-bind="click:updateMode">${$.i18n.prop('role.update.mode')}</button>
+    <input class="btn" type="button" id="role-list-users-update-mode" data-bind="click: updateMode" value="${$.i18n.prop('role.update.mode')}"/>
 
   </div>
 
@@ -141,21 +141,23 @@
     </div>
     <div class="ar-multiselect-column ar-multiselect-center">
     <ul style="list-style: none">
-      <li><button class="btn" data-bind="click: addUser">&gt;</button></li>
-      <li><button class="btn" data-bind="click: removeUser">&lt;</button></li>
+      <li><input class="btn" id="role-edit-users-add-user" type="button" data-bind="click: addUser" value="&gt;"/></li>
+      <li><input class="btn" id="role-edit-users-remove-user" type="button" data-bind="click: removeUser" value="&lt;"/></li>
     </ul>
     </div>
     <div class="ar-multiselect-column ar-multiselect-right">
       <select data-bind="options: users ,optionsText: 'username',selectedOptions:selectedUsers" multiple="true" id="role-edit-affected-users"></select>
     </div>
-    <button class="btn" data-bind="click: saveUsers">${$.i18n.prop('save')}</button>
+    <button class="btn" id="role-edit-users-save" data-bind="click: saveUsers">${$.i18n.prop('save')}</button>
     <br/>
-    <button class="btn" data-bind="click:viewMode">${$.i18n.prop('role.view.mode')}</button>
+    <input class="btn" id="role-edit-users-view-mode" type="button" data-bind="click: viewMode" value="${$.i18n.prop('role.view.mode')}"/>
   </div>
 
 </script>
 
 
+
+
 <script id='ko_rolesGrid' type='text/x-jquery-tmpl'>
   <thead>
       <tr>

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java?rev=1227643&r1=1227642&r2=1227643&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java Thu Jan  5 15:45:09 2012
@@ -73,6 +73,7 @@ public abstract class AbstractSeleniumTe
             if ( getSelenium() == null )
             {
                 DefaultSelenium s = new DefaultSelenium( seleniumHost, seleniumPort, browser, baseUrl );
+
                 s.start();
                 s.setTimeout( maxWaitTimeInMs );
                 selenium.set( s );