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/14 23:33:41 UTC
svn commit: r1231596 -
/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
Author: olamy
Date: Sat Jan 14 22:33:41 2012
New Revision: 1231596
URL: http://svn.apache.org/viewvc?rev=1231596&view=rev
Log:
don't parse all the document for display element with karma needed
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/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=1231596&r1=1231595&r2=1231596&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 Jan 14 22:33:41 2012
@@ -68,41 +68,48 @@ $(function() {
}
decorateMenuWithKarma=function(user) {
- var username = user.username;
- // we can receive an observable user so take if it's a function or not
- if ($.isFunction(username)){
- username = user.username();
+ var username = user.username;
+ // we can receive an observable user so take if it's a function or not
+ if ($.isFunction(username)){
+ username = user.username();
+ }
+ var url = 'restServices/redbackServices/userService/getCurrentUserOperations';
+ $.ajax({
+ url: url,
+ success: function(data){
+ var mappedOperations = $.map(data.operation, function(item) {
+ return mapOperation(item);
+ });
+ window.redbackModel.operatioNames = $.map(mappedOperations, function(item){
+ return item.name();
+ });
+
+ $("#topbar-menu-container [redback-permissions]").each(function(element){
+ checkElementKarma(this);
+ });
+ $("#sidebar-content [redback-permissions]").each(function(element){
+ checkElementKarma(this);
+ });
}
- var url = 'restServices/redbackServices/userService/getCurrentUserOperations';
- $.ajax({
- url: url,
- success: function(data){
- var mappedOperations = $.map(data.operation, function(item) {
- return mapOperation(item);
- });
- window.redbackModel.operatioNames = $.map(mappedOperations, function(item){
- return item.name();
- });
-
- $("[redback-permissions]").each(function(element){
- var bindingValue = $(this).attr("redback-permissions");
- $(this).hide();
- var neededKarmas = $(eval(bindingValue)).toArray();
- var karmaOk = false;
- $(neededKarmas).each(function(value){
- if ($.inArray(neededKarmas[value],window.redbackModel.operatioNames)>=0) {
- karmaOk = true;
- }
- });
- if (karmaOk == false) {
- $(this).hide();
- } else {
- $(this).show();
- }
- });
- }
- });
+ });
+ }
+
+ checkElementKarma=function(element){
+ var bindingValue = $(element).attr("redback-permissions");
+ $(element).hide();
+ var neededKarmas = $(eval(bindingValue)).toArray();
+ var karmaOk = false;
+ $(neededKarmas).each(function(value){
+ if ($.inArray(neededKarmas[value],window.redbackModel.operatioNames)>=0) {
+ karmaOk = true;
+ }
+ });
+ if (karmaOk == false) {
+ $(element).hide();
+ } else {
+ $(element).show();
}
+ }
hideElementWithKarma=function(){
$("#topbar-menu-container [redback-permissions]").each(function(element){
@@ -166,8 +173,6 @@ $(function() {
hideElementWithKarma();
checkSecurityLinks();
-
-
})
});