/* * Copyright (c) 2008 TouK.pl * Licensed 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. */ package pl.touk.wonderfulsecurity.gwt.client.ui; import com.extjs.gxt.ui.client.Registry; import com.extjs.gxt.ui.client.Style; import com.extjs.gxt.ui.client.mvc.AppEvent; import com.extjs.gxt.ui.client.mvc.Controller; import com.extjs.gxt.ui.client.mvc.View; import com.extjs.gxt.ui.client.util.Margins; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.TabItem; import com.extjs.gxt.ui.client.widget.TabPanel; import com.extjs.gxt.ui.client.widget.layout.BorderLayout; import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; import com.google.gwt.user.client.Window; import pl.touk.wonderfulsecurity.gwt.client.ui.group.GroupPagedList; import pl.touk.wonderfulsecurity.gwt.client.ui.permission.PermissionPagedList; import pl.touk.wonderfulsecurity.gwt.client.ui.role.RolePagedList; import pl.touk.wonderfulsecurity.gwt.client.ui.user.WsecUserPagedList; import pl.touk.wonderfulsecurity.core.ClientSecurity; import pl.touk.wonderfulsecurity.beans.WsecPermission; /** * @author Lukasz Kucharski - lkc@touk.pl */ public class SecurityManagerView extends View { // ------------------------------ FIELDS ------------------------------ protected TabPanel mainTabPanel; protected TabItem userTableTab; protected TabItem groupTableTab; protected TabItem roleTableTab; protected TabItem permissionTableTab; // --------------------------- CONSTRUCTORS --------------------------- /** * Creates a new view instance. * * @param controller the parent controller */ public SecurityManagerView(Controller controller) { super(controller); } // -------------------------- OTHER METHODS -------------------------- protected void handleEvent(AppEvent event) { } protected void initialize() { LayoutContainer mainContainer = Registry.get("securityPanel"); if (!(mainContainer instanceof LayoutContainer)) { Window.alert("Brak zarejestrowanego securityPanel!!!\nBy używać konsoli wonderful security należy zarejestrować LayoutContainer od nazwą securityPanel"); } else { mainTabPanel = new TabPanel(); mainTabPanel.setTabScroll(true); mainTabPanel.setAnimScroll(true); mainTabPanel.setBorderStyle(false); mainTabPanel.setBodyBorder(false); Registry.register("MAIN_TAB_PANEL", mainTabPanel); BorderLayoutData centerBorderLayoutData = new BorderLayoutData(Style.LayoutRegion.CENTER); centerBorderLayoutData.setMargins(new Margins(2)); userTableTab = new TabItem("Użytkownicy"); userTableTab.setLayout(new BorderLayout()); userTableTab.add(new WsecUserPagedList(), centerBorderLayoutData); userTableTab.setEnabled(ClientSecurity.hasPermission(WsecPermission.WSEC_USERS_TAB)); groupTableTab = new TabItem("Grupy użytkowników"); groupTableTab.setLayout(new BorderLayout()); groupTableTab.add(new GroupPagedList(), centerBorderLayoutData); groupTableTab.setEnabled(ClientSecurity.hasPermission(WsecPermission.WSEC_GROUPS_TAB)); roleTableTab = new TabItem("Role"); roleTableTab.setLayout(new BorderLayout()); roleTableTab.add(new RolePagedList(), centerBorderLayoutData); roleTableTab.setEnabled(ClientSecurity.hasPermission(WsecPermission.WSEC_ROLES_TAB)); permissionTableTab = new TabItem("Uprawnienia"); permissionTableTab.setLayout(new BorderLayout()); permissionTableTab.add(new PermissionPagedList(), centerBorderLayoutData); permissionTableTab.setEnabled(ClientSecurity.hasPermission(WsecPermission.WSEC_PERMISSIONS_TAB)); mainTabPanel.add(userTableTab); mainTabPanel.add(groupTableTab); mainTabPanel.add(roleTableTab); mainTabPanel.add(permissionTableTab); mainContainer.add(mainTabPanel); } } }