You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by sk...@apache.org on 2013/05/12 18:19:42 UTC

svn commit: r1481595 [4/4] - in /archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web: archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/ archiva-webapp/src/main/webapp/js/archiva/ archiva-webapp/src/main/webapp...

Added: archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/repository-groups.js
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/repository-groups.js?rev=1481595&view=auto
==============================================================================
--- archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/repository-groups.js (added)
+++ archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/repository-groups.js Sun May 12 16:19:41 2013
@@ -0,0 +1,420 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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("archiva/admin/repository/10maven2/repository-groups",["jquery","i18n","jquery.tmpl","bootstrap","jquery.validate","jquery.ui","knockout"
+  ,"knockout.simpleGrid","knockout.sortable","archiva/admin/repository/10maven2/repositories"],
+function(jquery,i18n,jqueryTmpl,bootstrap,jqueryValidate,jqueryUi,ko) {
+
+  RepositoryGroup=function(id,repositories,mergedIndexPath){
+
+    var self=this;
+
+    //private String id;
+    this.id=ko.observable(id);
+    this.id.subscribe(function(newValue){self.modified(true)});
+
+    //private String mergedIndexPath = "/.indexer";
+    this.mergedIndexPath=ko.observable(mergedIndexPath?mergedIndexPath:".indexer");
+    this.mergedIndexPath.subscribe(function(newValue){self.modified(true)});
+
+    // private List<String> repositories;
+    this.repositories=ko.observableArray(repositories);
+    this.repositories.subscribe(function(newValue){self.modified(true)});
+
+    // to store managedRepositories description not sended to server
+    this.managedRepositories=ko.observableArray([]);
+    this.managedRepositories.subscribe(function(newValue){self.modified(true)});
+
+    this.modified=ko.observable(false);
+  }
+
+  RepositoryGroupViewModel=function(repositoryGroup,update,repositoryGroupsViewModel){
+    var self = this;
+    this.repositoryGroup=repositoryGroup;
+    this.update=update;
+    this.repositoryGroupsViewModel=repositoryGroupsViewModel;
+    this.availableRepositories=ko.observableArray([]);
+    this.applicationUrl=null;
+
+    for (var i=0;i<repositoryGroupsViewModel.managedRepositories().length;i++){
+      if ( $.inArray(repositoryGroupsViewModel.managedRepositories()[i].id(),this.repositoryGroup.repositories())<0){
+        this.availableRepositories.push(repositoryGroupsViewModel.managedRepositories()[i]);
+      }
+    }
+
+    repositoryMoved=function(arg){
+      $.log("repositoryMoved:"+arg.sourceIndex+" to " + arg.targetIndex);
+      var repositories=[];
+      for(var i=0;i<self.repositoryGroup.managedRepositories().length;i++){
+        repositories.push(self.repositoryGroup.managedRepositories()[i].id());
+      }
+      self.repositoryGroup.repositories(repositories);
+      self.repositoryGroup.modified(true);
+      var mainContent=$("#main-content");
+      mainContent.find("#repository-groups-edit-available-repositories").find(".icon-plus-sign" ).off("click");
+      mainContent.find("#repository-groups-edit-order-div").find(".icon-minus-sign" ).off("click");
+      self.renderSortableAvailables(self.repositoryGroupsViewModel);
+      self.renderSortableChoosed(self.repositoryGroupsViewModel);
+    }
+
+    this.saveRepositoryGroup=function(repositoryGroup){
+      if (self.update){
+        self.repositoryGroupsViewModel.saveRepositoryGroup(repositoryGroup);
+      } else {
+        self.repositoryGroupsViewModel.addRepositoryGroup(repositoryGroup);
+      }
+    }
+
+    this.removeRepository=function(id){
+      $.log("removeRepository:"+id);
+    }
+
+    this.removeAvailable=function(idVal){
+      for (var i=0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
+        if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
+          self.availableRepositories.remove(repositoryGroupsViewModel.managedRepositories()[i]);
+        }
+      }
+
+      for(var i= 0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
+        if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
+          $.log("find repo to add");
+          self.repositoryGroup.repositories.push(idVal);
+          self.repositoryGroup.managedRepositories.push(findManagedRepository(idVal,self.repositoryGroupsViewModel.managedRepositories()));
+        }
+      }
+      $("#main-content").find("#repository-groups-edit-order-div").find("#minus-"+idVal ).on("click",function(){
+        var idVal = $(this).attr("id");
+        idVal=idVal.substringAfterFirst("minus-");
+        self.removeChoosed(idVal);
+      });
+    }
+
+    this.renderSortableAvailables=function(repositoryGroupsViewModel){
+      $("#main-content").find("#repository-groups-edit-available-repositories").find(".icon-plus-sign" ).on("click",function(){
+        var idVal = $(this).attr("id");
+        idVal=idVal.substringAfterFirst("plus-");
+        self.removeAvailable(idVal);
+      });
+    }
+
+    this.removeChoosed=function(idVal){
+      for (var i=0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
+        if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
+          self.availableRepositories.push(repositoryGroupsViewModel.managedRepositories()[i]);
+        }
+      }
+
+      for(var i= 0;i<self.repositoryGroup.repositories().length;i++){
+        if(self.repositoryGroup.repositories()[i]==idVal){
+          self.repositoryGroup.repositories.remove(self.repositoryGroup.repositories()[i]);
+          self.repositoryGroup.managedRepositories.remove(findManagedRepository(idVal,self.repositoryGroupsViewModel.managedRepositories()));
+        }
+      }
+      $("#main-content").find("#repository-groups-edit-available-repositories").find("#plus-"+idVal ).on("click",function(){
+        var idVal = $(this).attr("id");
+        idVal=idVal.substringAfterFirst("plus-");
+        self.removeAvailable(idVal);
+      });
+    }
+
+    this.renderSortableChoosed=function(repositoryGroupsViewModel){
+      $("#main-content").find("#repository-groups-edit-order-div").find(".icon-minus-sign" ).on("click",function(){
+        var idVal = $(this).attr("id");
+        idVal=idVal.substringAfterFirst("minus-");
+        self.removeChoosed(idVal);
+      });
+    }
+  }
+
+  RepositoryGroupsViewModel=function(){
+    var self=this;
+    this.repositoryGroups=ko.observableArray([]);
+    this.managedRepositories=ko.observableArray([]);
+    this.applicationUrl="";
+
+    this.removeFromList=function(managedRepository){
+      $.log("removeFromList");
+    }
+
+    this.findManagedRepository=function(id){
+      return findManagedRepository(id,self.managedRepositories());
+    }
+    this.deleteRepositoryGroup=function(repositoryGroup){
+      openDialogConfirm(
+          function(){self.removeRepositoryGroup(repositoryGroup);window.modalConfirmDialog.modal('hide')},
+          $.i18n.prop('ok'), $.i18n.prop('cancel'),
+          $.i18n.prop('repository.group.delete.confirm',repositoryGroup.id()),
+          $("#repository-group-delete-warning-tmpl").tmpl(self.repositoryGroup));
+    }
+    this.removeRepositoryGroup=function(repositoryGroup){
+      clearUserMessages();
+      $.ajax("restServices/archivaServices/repositoryGroupService/deleteRepositoryGroup/"+encodeURIComponent(repositoryGroup.id()),
+        {
+          type: "GET",
+          success: function(data) {
+            var message=$.i18n.prop('repository.group.deleted',repositoryGroup.id());
+            displaySuccessMessage(message);
+            self.repositoryGroups.remove(repositoryGroup);
+          },
+          error: function(data) {
+            var res = $.parseJSON(data.responseText);
+            displayRestError(res);
+          }
+        }
+      );
+    }
+
+    this.editRepositoryGroup=function(repositoryGroup){
+
+      var mainContent=$("#main-content");
+      $.ajax({
+          url: "restServices/archivaServices/archivaAdministrationService/applicationUrl",
+          type: "GET",
+          dataType: 'text',
+          success: function(applicationUrl){
+            $.log("editRepositoryGroup:"+repositoryGroup.id()+",repositories:"+repositoryGroup.repositories().length+",managed:"+repositoryGroup.managedRepositories().length);
+            var repositoryGroupViewModel=new RepositoryGroupViewModel(repositoryGroup,true,self);
+            repositoryGroupViewModel.applicationUrl=applicationUrl;
+            activateRepositoryGroupEditTab();
+            ko.applyBindings(repositoryGroupViewModel,mainContent.find("#repository-groups-edit" ).get(0));
+            repositoryGroupViewModel.renderSortableChoosed(self);
+            repositoryGroupViewModel.renderSortableAvailables(self);
+            mainContent.find("#repository-groups-view-tabs-li-edit" ).find("a").html($.i18n.prop("edit"));
+            repositoryGroupValidator();
+          }
+        });
+    }
+
+    this.editRepositoryGroupWithId=function(repositoryGroupId){
+
+      $.each(self.repositoryGroups(), function(index, value) {
+        if(value.id()==repositoryGroupId){
+          self.editRepositoryGroup(value);
+        }
+      });
+    }
+
+    this.saveRepositoryGroup=function(repositoryGroup){
+      if(valid==false){
+        $.log("saveRepositoryGroup, valid:"+valid);
+        return;
+      }
+      clearUserMessages();
+      var userMessages=$("#user-messages");
+      userMessages.html(mediumSpinnerImg());
+      var valid = $("#main-content").find("#repository-group-edit-form" ).valid();
+
+
+      $("#repository-group-save" ).button('loading');
+      $.ajax("restServices/archivaServices/repositoryGroupService/updateRepositoryGroup",
+        {
+          type: "POST",
+          contentType: 'application/json',
+          data:ko.toJSON(repositoryGroup),
+          dataType: 'json',
+          success: function(data) {
+            $.log("update repositoryGroup id:"+repositoryGroup.id());
+            var message=$.i18n.prop('repository.group.updated',repositoryGroup.id());
+            displaySuccessMessage(message);
+            repositoryGroup.modified(false);
+          },
+          error: function(data) {
+            var res = $.parseJSON(data.responseText);
+            displayRestError(res);
+          },
+          complete:function(data){
+            $("#repository-group-save" ).button('reset');
+            removeMediumSpinnerImg(userMessages);
+          }
+        }
+      );
+
+    };
+
+    this.addRepositoryGroup=function(repositoryGroup){
+      clearUserMessages();
+      $.ajax("restServices/archivaServices/repositoryGroupService/addRepositoryGroup",
+        {
+          type: "POST",
+          contentType: 'application/json',
+          data: ko.toJSON(repositoryGroup),
+          dataType: 'json',
+          success: function(data) {
+            $.log("update repositoryGroup id:"+repositoryGroup.id());
+            var message=$.i18n.prop('repository.group.added',repositoryGroup.id());
+            displaySuccessMessage(message);
+            repositoryGroup.modified(false);
+            self.repositoryGroups.push(repositoryGroup);
+          },
+          error: function(data) {
+            var res = $.parseJSON(data.responseText);
+            displayRestError(res);
+          }
+        }
+      );
+
+    }
+
+    getManagedRepository=function(id){
+      $.log("getManagedRepository:"+id);
+      return findManagedRepository(self.managedRepositories());
+    }
+
+  }
+
+  displayRepositoryGroups=function(successFn){
+    screenChange();
+    var mainContent = $("#main-content");
+    mainContent.html(mediumSpinnerImg());
+    this.repositoryGroupsViewModel=new RepositoryGroupsViewModel();
+    var self=this;
+
+    loadManagedRepositories(function(data) {
+
+      $.ajax({
+          url: "restServices/archivaServices/archivaAdministrationService/applicationUrl",
+          type: "GET",
+          dataType: 'text',
+          success: function(applicationUrl){
+
+            self.repositoryGroupsViewModel.managedRepositories(
+                mapManagedRepositories(data,applicationUrl?applicationUrl:window.location.toString().substringBeforeLast("/")));
+            self.repositoryGroupsViewModel.applicationUrl=applicationUrl;
+            $.ajax("restServices/archivaServices/repositoryGroupService/getRepositoriesGroups", {
+                type: "GET",
+                dataType: 'json',
+                success: function(data) {
+                  var mappedRepositoryGroups=mapRepositoryGroups(data);
+                  for(var i=0;i<mappedRepositoryGroups.length;i++){
+                    mappedRepositoryGroups[i]
+                        .managedRepositories(self.mapManagedRepositoriesToRepositoryGroup(mappedRepositoryGroups[i]));
+                    mappedRepositoryGroups[i].modified(false);
+                    $.log("mappedRepositoryGroups.repositories().length:"+mappedRepositoryGroups[i].repositories().length);
+                  }
+                  mainContent.html($("#repositoryGroupsMain").tmpl());
+                  self.repositoryGroupsViewModel.repositoryGroups(mappedRepositoryGroups);
+                  $.log("displayRepositoryGroups#applyBindings before");
+                  ko.applyBindings(self.repositoryGroupsViewModel,mainContent.find("#repository-groups-view" ).get(0));
+                  $.log("displayRepositoryGroups#applyBindings after");
+
+                  mainContent.find("#repository-groups-view-tabs").on('show', function (e) {
+                    if ($(e.target).attr("href")=="#repository-groups-edit") {
+                      var repositoryGroup = new RepositoryGroup();
+                      var repositoryGroupViewModel=new RepositoryGroupViewModel(repositoryGroup,false,self.repositoryGroupsViewModel);
+
+                      activateRepositoryGroupEditTab();
+                      ko.applyBindings(repositoryGroupViewModel,mainContent.find("#repository-groups-edit" ).get(0));
+                      repositoryGroupViewModel.renderSortableChoosed(self.repositoryGroupsViewModel);
+                      repositoryGroupViewModel.renderSortableAvailables(self.repositoryGroupsViewModel);
+                    }
+                    if ($(e.target).attr("href")=="#repository-groups-view") {
+                      mainContent.find("#repository-groups-view-tabs-li-edit a").html($.i18n.prop("add"));
+                      clearUserMessages();
+                    }
+
+                  });
+
+                  if(successFn){
+                    successFn(self.repositoryGroupsViewModel);
+                  }
+
+                }
+              }
+            );
+
+          }
+        });
+    });
+
+    this.mapManagedRepositoriesToRepositoryGroup=function(repositoryGroup){
+      $.log("mapManagedRepositoriesToRepositoryGroup");
+      var managedRepositories=new Array();
+      if (!repositoryGroup.repositories()) {
+        repositoryGroup.repositories(new Array());
+        return managedRepositories;
+      }
+      for(var i=0;i<repositoryGroup.repositories().length;i++){
+        managedRepositories.push(self.repositoryGroupsViewModel.findManagedRepository(repositoryGroup.repositories()[i]));
+      }
+      $.log("end mapManagedRepositoriesToRepositoryGroup");
+      return managedRepositories;
+    }
+
+  }
+
+
+
+  activateRepositoryGroupsGridTab=function(){
+    var mainContent = $("#main-content");
+    mainContent.find("#repository-groups-view-tabs-content div[class*='tab-pane']").removeClass("active");
+    mainContent.find("#repository-groups-view-tabs li").removeClass("active");
+
+    mainContent.find("#repository-groups-view").addClass("active");
+    mainContent.find("#repository-groups-view-tabs-li-grid").addClass("active");
+    mainContent.find("#repository-groups-view-tabs-li-edit a").html($.i18n.prop("add"));
+
+  }
+
+  activateRepositoryGroupEditTab=function(){
+    $.log("activateRepositoryGroupEditTab");
+    var mainContent = $("#main-content");
+
+    mainContent.find("#repository-groups-view-tabs-content div[class*='tab-pane']").removeClass("active");
+    mainContent.find("#repository-groups-view-tabs li").removeClass("active");
+
+    mainContent.find("#repository-groups-edit").addClass("active");
+    mainContent.find("#repository-groups-view-tabs-li-edit").addClass("active");
+
+
+  }
+
+  repositoryGroupValidator=function(){
+    $.log("validator");
+    var theForm=$("#main-content").find("#repository-group-edit-form");
+    var validator = theForm.validate({
+        rules: {
+            id: {
+              required: true
+              },
+            mergedIndexPath:{
+              required:true
+            }
+        },
+        showErrors: function(validator, errorMap, errorList) {
+           customShowError("#main-content #repository-group-edit-form",validator,errorMap,errorMap);
+        }
+    });
+    return validator;
+  }
+
+  mapRepositoryGroups=function(data){
+    if (data == null){
+      return new Array();
+    }
+    var mappedRepositoryGroups = $.map(data, function(item) {
+      return mapRepositoryGroup(item);
+    });
+    return mappedRepositoryGroups;
+  }
+
+  mapRepositoryGroup=function(data){
+    return new RepositoryGroup(data.id, mapStringArray(data.repositories),data.mergedIndexPath);
+  }
+
+});

Propchange: archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/repository-groups.js
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/archiva.js
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/archiva.js?rev=1481595&r1=1481594&r2=1481595&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/archiva.js (original)
+++ archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/archiva.js Sun May 12 16:19:41 2013
@@ -88,21 +88,47 @@ $.ajax({
               "redback.user": "redback/user",
               "redback.users": "redback/users",
               "redback.templates": "redback/redback-tmpl",
-              "archiva.general-admin":"archiva/general-admin",
+             // "archiva.general-admin":"archiva/general-admin",
               "archiva.templates": "archiva/main-tmpl",
-              "archiva.repositories": "archiva/repositories",
-              "archiva.network-proxies": "archiva/network-proxies",
-              "archiva.proxy-connectors": "archiva/proxy-connectors",
-              "archiva.repository-groups": "archiva/repository-groups",
+             // "archiva.repositories": "archiva/repositories",
+             // "archiva.network-proxies": "archiva/network-proxies",
+             // "archiva.proxy-connectors": "archiva/proxy-connectors",
+             // "archiva.repository-groups": "archiva/repository-groups",
               "archiva.artifacts-management": "archiva/artifacts-management",
               "archiva.search": "archiva/search",
-              "archiva.proxy-connectors-rules": "archiva/proxy-connectors-rules",
+             // "archiva.proxy-connectors-rules": "archiva/proxy-connectors-rules",
               "archiva.docs": "archiva/docs",
               "archiva.main": "archiva/main"
           }
       });
+      
+      
+ CookieInformation=function(path,domain,secure,timeout,rememberMeEnabled){
+    //private String path;
+    this.path=path;
 
-      requirejs(['jquery','jquery.tmpl','jquery.ui','i18n','sammy','startup','utils','domReady!','archiva.main','archiva.general-admin'], function () {
+    //private String domain;
+    this.domain=domain;
+
+    //private String secure;
+    this.secure=secure;
+
+    //private String timeout;
+    this.timeout=timeout;
+
+    //private boolean rememberMeEnabled;
+    this.rememberMeEnabled=rememberMeEnabled;
+  }
+
+  mapCookieInformation=function(data){
+    if(!data){
+      return new CookieInformation();
+    }
+    return new CookieInformation(data.path,data.domain,data.secure,data.timeout,data.rememberMeEnabled);
+  }
+  
+  
+      requirejs(['jquery','jquery.tmpl','jquery.ui','i18n','sammy','startup','utils','domReady!','archiva.main'/*,'archiva.general-admin'*/], function () {
         loadi18n(function () {
           $.ajax({
             url: "restServices/archivaUiServices/runtimeInfoService/archivaRuntimeInfo/"+usedLang(),

Modified: archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js?rev=1481595&r1=1481594&r2=1481595&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js (original)
+++ archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js Sun May 12 16:19:41 2013
@@ -18,9 +18,7 @@
  */
 define("archiva.main",["jquery","jquery.ui","sammy","jquery.tmpl",'i18n',"jquery.cookie","bootstrap","archiva.search",
          "jquery.validate","jquery.json","knockout","redback.templates","archiva.templates",
-          "redback.roles","redback","archiva.general-admin","archiva.repositories",
-          "archiva.network-proxies","archiva.proxy-connectors","archiva.repository-groups","archiva.artifacts-management",
-          "archiva.proxy-connectors-rules","archiva.docs"],
+          "redback.roles","redback","archiva.artifacts-management","archiva.docs"],
 function(jquery,ui,sammy,tmpl,i18n,jqueryCookie,bootstrap,archivaSearch,jqueryValidate,jqueryJson,ko) {
 
   /**
@@ -239,15 +237,8 @@ function(jquery,ui,sammy,tmpl,i18n,jquer
                 });
             }
         });
-        //var myrepplugins = "archiva/admin/repository/legacy/main|archiva/admin/repository/maven2/main";
         
-        self.administrationMenuItems.push({  text : $.i18n.prop('menu.network-proxies')          , id: "menu-network-proxies-list-a"        , href: "#networkproxies"       , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayNetworkProxies()}});
-        self.administrationMenuItems.push({  text : $.i18n.prop('menu.repository-scanning')      , id: "menu-repository-scanning-list-a"    , href: "#scanningList"         , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayRepositoryScanning()}});
-        self.administrationMenuItems.push({  text : $.i18n.prop('menu.runtime-configuration')    , id: "menu-runtime-configuration-list-a"  , href: "#runtimeconfig"        , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayRuntimeConfiguration()}});
-        self.administrationMenuItems.push({  text : $.i18n.prop('menu.system-status')            , id: "menu-system-status-list-a"          , href: "#status"               , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displaySystemStatus()}});
-        self.administrationMenuItems.push({  text : $.i18n.prop('menu.ui-configuration')         , id: "menu-ui-configuration-list-a"       , href: "#uiconfig"             , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayUiConfiguration()}});
-        self.administrationMenuItems.push({  text : $.i18n.prop('menu.reports')                  , id: "menu-report-list-a"                 , href: "#reports"              , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayReportsPage()}});
-      
+       
         this.usersMenuItems = ko.observableArray([
         {  text : $.i18n.prop('menu.users') , id: null},
         {  text : $.i18n.prop('menu.users.manage')          , id: "menu-users-list-a"                  , href: "#users"         , redback: "{permissions: ['archiva-manage-users']}", func: function(){displayUsersGrid();}},