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/11/23 10:34:08 UTC

svn commit: r1412796 - in /archiva/trunk/archiva-modules/archiva-web: archiva-web-common/src/test/java/org/apache/archiva/web/rss/ archiva-webapp-js/src/main/webapp/js/redback/ archiva-webapp-js/src/main/webapp/js/templates/redback/ archiva-webdav/src/...

Author: olamy
Date: Fri Nov 23 09:34:06 2012
New Revision: 1412796

URL: http://svn.apache.org/viewvc?rev=1412796&view=rev
Log:
[MRM-1708] When using LDAP, users can still edit their details upon login.
move useredit detail box to knockout model.

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/users.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/user-edit.html
    archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/BypassSecuritySystem.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java?rev=1412796&r1=1412795&r2=1412796&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/web/rss/SecuritySystemStub.java Fri Nov 23 09:34:06 2012
@@ -577,4 +577,8 @@ public class SecuritySystemStub
         return false;
     }
 
+    public boolean userManagerReadOnly()
+    {
+        return true;
+    }
 }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js?rev=1412796&r1=1412795&r2=1412796&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js Fri Nov 23 09:34:06 2012
@@ -36,7 +36,7 @@ function(jquery,utils,i18n,jqueryValidat
    * @param ownerViewModel
    */
   User=function(username, password, confirmPassword,fullName,email,permanent,validated,timestampAccountCreation,
-                timestampLastLogin,timestampLastPasswordChange,locked,passwordChangeRequired,ownerViewModel) {
+                timestampLastLogin,timestampLastPasswordChange,locked,passwordChangeRequired,ownerViewModel,readOnly) {
     var self=this;
     // Potentially Editable Field.
     this.username = ko.observable(username);
@@ -76,6 +76,8 @@ function(jquery,utils,i18n,jqueryValidat
 
     this.modified=ko.observable(false);
 
+    this.readOnly=readOnly;
+
     this.rememberme=false;
 
     this.logged=false;
@@ -647,6 +649,10 @@ function(jquery,utils,i18n,jqueryValidat
     $("#modal-password-change").focus();
   }
 
+  EditUserDetailViewModel=function(user){
+    this.user=user;
+  }
+
   /**
    * display modal box for updating current user details
    */
@@ -678,9 +684,17 @@ function(jquery,utils,i18n,jqueryValidat
       });
     }
     var currentUser = getUserFromLoginCookie();
-    $("#modal-user-edit").find("#username").html(currentUser.username);
+    /*$("#modal-user-edit").find("#username").html(currentUser.username);
     $("#modal-user-edit").find("#fullname").val(currentUser.fullName);
-    $("#modal-user-edit").find("#email").val(currentUser.email);
+    $("#modal-user-edit").find("#email").val(currentUser.email);*/
+
+    $("#modal-user-edit-content" ).attr("data-bind",'template: {name:"modal-user-edit-tmpl"}');
+
+    var editUserDetailViewModel=new EditUserDetailViewModel(currentUser);
+    ko.applyBindings(editUserDetailViewModel,$("#modal-user-edit-content").get(0));
+
+    //$("#modal-user-edit-content").html($("#modal-user-edit-tmpl").tmpl({user: currentUser} ));
+
     window.modalEditUserBox.modal('show');
     $("#user-edit-form").validate({
       rules: {
@@ -710,7 +724,6 @@ function(jquery,utils,i18n,jqueryValidat
         dataType: 'json',
         success: function(result) {
           var created = result;
-          // FIXME i18n
           if (created == true) {
             displaySuccessMessage( $.i18n.prop("user.details.updated"));
             window.modalEditUserBox.modal('hide');
@@ -796,7 +809,7 @@ function(jquery,utils,i18n,jqueryValidat
   mapUser=function(data) {
     return new User(data.username, data.password, null,data.fullName,data.email,data.permanent,data.validated,
                     data.timestampAccountCreation,data.timestampLastLogin,data.timestampLastPasswordChange,
-                    data.locked,data.passwordChangeRequired,self);
+                    data.locked,data.passwordChangeRequired,self,data.readOnly);
   }
 
 

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=1412796&r1=1412795&r2=1412796&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 Fri Nov 23 09:34:06 2012
@@ -121,6 +121,7 @@ function(jquery,utils,i18n,jqueryValidat
     }
 
     editUserBox=function(user) {
+      $.log("editUserBox");
       clearUserMessages();
       activateUsersEditTab();
       var mainContent = $("#main-content");
@@ -144,7 +145,7 @@ function(jquery,utils,i18n,jqueryValidat
 
             mainContent.find("#users-view-tabs-li-user-edit a").html($.i18n.prop("edit"));
 
-            mainContent.find("#user-create #user-create-form-cancel-button").on("click", function(e) {
+            mainContent.find("#user-create" ).find("#user-create-form-cancel-button").on("click", function(e) {
               e.preventDefault();
               activateUsersGridTab();
             });

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html?rev=1412796&r1=1412795&r2=1412796&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html Fri Nov 23 09:34:06 2012
@@ -131,52 +131,58 @@
     <h3>${$.i18n.prop('password.section.title')}</h3>
   </div>
   <div class="modal-body" id="modal-user-edit-content">
-      <form id="user-edit-form" class="form-horizontal">
-        <div id="modal-user-edit-err-message" class="alert-message error" style="display:none"></div>
-        <fieldset>
-          <div class="control-group">
-            <label class="control-label" for="username">${$.i18n.prop('username')}</label>
-            <div class="controls" id="username-div">
-              <span class="uneditable-input" id="username"></span>
-            </div>
-          </div>
-          <div class="control-group">
-            <label class="control-label" for="fullname">${$.i18n.prop('full.name')}</label>
-            <div class="controls">
-              <input type="text" id="fullname" name="fullname" size="30" class="required"/>
-            </div>
-          </div>
-          <div class="control-group">
-            <label class="control-label" for="email">${$.i18n.prop('email.address')}</label>
-            <div class="controls">
-              <input type="text" id="email" name="email" size="30" class="required email"/>
-            </div>
-          </div>
-          <div class="control-group" id="user-edit-form-current-password-div">
-            <label class="control-label" for="userEditFormCurrentPassword">${$.i18n.prop('password.existing')}</label>
-            <div class="controls">
-              <input type="password" id="userEditFormCurrentPassword" name="userEditFormCurrentPassword" class="required" value=""/>
-            </div>
-          </div>
-
-          <div class="control-group">
-            <label class="control-label" for="userEditFormNewPassword">${$.i18n.prop('password.new')}</label>
-            <div class="controls">
-              <input type="password" id="userEditFormNewPassword" name="userEditFormNewPassword" class="" value=""/>
-            </div>
-          </div>
-
-          <div class="control-group">
-            <label class="control-label" for="userEditFormNewPasswordConfirm">${$.i18n.prop('password.new.confirm')}</label>
-            <div class="controls">
-              <input type="password" id="userEditFormNewPasswordConfirm" name="userEditFormNewPasswordConfirm" class="" value=""/>
-            </div>
-          </div>
-        </fieldset>
-      </form>
+
   </div>
   <div class="modal-footer" id="modal-user-edit-footer">
     <button class="btn primary" onclick="return" id="modal-user-edit-ok">${$.i18n.prop('ok')}</button>
   </div>
 </div>
 
+<script type="text/html" id="modal-user-edit-tmpl">
+
+    <form id="user-edit-form" class="form-horizontal">
+      <div id="modal-user-edit-err-message" class="alert-message error" style="display:none"></div>
+      <fieldset>
+        <div class="control-group">
+          <label class="control-label" for="username">${$.i18n.prop('username')}</label>
+          <div class="controls" id="username-div">
+            <span class="uneditable-input" data-bind="text: user.username"></span>
+          </div>
+        </div>
+        <div class="control-group">
+          <label class="control-label" for="fullname">${$.i18n.prop('full.name')}</label>
+          <div class="controls">
+            <input type="text" id="fullname" name="fullname" size="30" class="required" data-bind="value: user.fullName"/>
+          </div>
+        </div>
+        <div class="control-group">
+          <label class="control-label" for="email">${$.i18n.prop('email.address')}</label>
+          <div class="controls">
+            <input type="text" id="email" name="email" size="30" class="required email" data-bind="value: user.email"/>
+          </div>
+        </div>
+        <div class="control-group" id="user-edit-form-current-password-div">
+          <label class="control-label" for="userEditFormCurrentPassword">${$.i18n.prop('password.existing')}</label>
+          <div class="controls">
+            <input type="password" id="userEditFormCurrentPassword" name="userEditFormCurrentPassword" class="required" value=""/>
+          </div>
+        </div>
+
+        <div class="control-group">
+          <label class="control-label" for="userEditFormNewPassword">${$.i18n.prop('password.new')}</label>
+          <div class="controls">
+            <input type="password" id="userEditFormNewPassword" name="userEditFormNewPassword" class="" value=""/>
+          </div>
+        </div>
+
+        <div class="control-group">
+          <label class="control-label" for="userEditFormNewPasswordConfirm">${$.i18n.prop('password.new.confirm')}</label>
+          <div class="controls">
+            <input type="password" id="userEditFormNewPasswordConfirm" name="userEditFormNewPasswordConfirm" class="" value=""/>
+          </div>
+        </div>
+      </fieldset>
+    </form>
+
+</script>
+

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/user-edit.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/user-edit.html?rev=1412796&r1=1412795&r2=1412796&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/user-edit.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/user-edit.html Fri Nov 23 09:34:06 2012
@@ -480,3 +480,5 @@
 </script>
 
 
+
+

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/BypassSecuritySystem.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/BypassSecuritySystem.java?rev=1412796&r1=1412795&r2=1412796&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/BypassSecuritySystem.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/archiva/webdav/BypassSecuritySystem.java Fri Nov 23 09:34:06 2012
@@ -129,4 +129,9 @@ public class BypassSecuritySystem
         // Always true
         return true;
     }
+
+    public boolean userManagerReadOnly()
+    {
+        return true;
+    }
 }