Changeset 3810


Ignore:
Timestamp:
Sep 1, 2010, 2:38:23 PM (13 years ago)
Author:
Gregory Vincic
Message:

Refs #698. Removed methods getRolePermissionsTable and getItemPermissionCell from FormFactory?.

Location:
trunk/client/servlet/src/org/proteios
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/client/servlet/src/org/proteios/action/role/SaveRolePermissions.java

    • Property svn:keywords set to Id
    r3600 r3810  
    22 $Id$
    33
    4  Copyright (C) 2006, 2007 Gregory Vincic
     4 Copyright (C) 2006, 2007, 2010 Gregory Vincic
    55
    66 Files are copyright by their respective authors. The contributions to
     
    4444import java.util.Set;
    4545
    46 /**
    47  * @author gregory
    48  */
    4946public class SaveRolePermissions
    5047    extends ProteiosAction<SaveRolePermissions>
     
    5956
    6057  dc = newDbControl();
    61     roleId = getValidInteger(ViewActiveRole.VID);
     58    verifySessionAttributes(ViewActiveRole.VID);
     59  roleId = getSessionAttribute(ViewActiveRole.VID);
    6260    role = Role.getById(dc, roleId);
    6361
  • trunk/client/servlet/src/org/proteios/action/role/ViewActiveRole.java

    r3809 r3810  
    3131import org.proteios.core.DbControl;
    3232import org.proteios.core.Role;
     33import org.proteios.core.RoleKey;
     34import org.proteios.core.Item;
     35import org.proteios.core.SystemItems;
     36import org.proteios.core.Permission;
    3337import org.proteios.gui.Toolbar;
    3438import org.proteios.gui.Title;
    35 import org.proteios.gui.table.Table;
    36 import org.proteios.gui.form.TextField;
     39import org.proteios.gui.table.*;
     40import org.proteios.gui.form.*;
    3741import org.proteios.gui.ColumnContainer;
    38 import org.proteios.gui.form.Form;
    39 import org.proteios.gui.form.RoleForm;
    4042import org.proteios.gui.layout.RowLayout;
    4143import se.lu.thep.waf.ActionException;
    4244import se.lu.thep.waf.constraints.InvalidParameterValue;
    4345import se.lu.thep.waf.constraints.VInteger;
     46import se.lu.thep.waf.constraints.VString;
     47import java.util.Set;
     48import java.util.Vector;
     49import java.util.List;
     50import java.util.ArrayList;
     51import java.util.Collections;
     52import java.util.EnumSet;
    4453
    4554/**
     
    8796  "Save"));
    8897
    89   permTable = getFormFactory().getRolePermissionsTable(role);
     98  permTable = getRolePermissionsTable(role);
    9099  permTable.add(rolesForm.fs.itemIdF);
    91100  permTable.setToolbar(toolbar); 
     
    100109  }
    101110
     111 public Table getRolePermissionsTable(Role role)
     112 {
     113    Table permTable = new Table("permissionsTable");
     114    permTable.setTitle("Permissions");
     115  if(role == null)
     116    return permTable;
     117
     118    permTable.setSubtitle(role.getName());
     119    permTable.add(new Column<String>("Item"));
     120    permTable.add(new Column<String>("Read"));
     121    permTable.add(new Column<String>("Write"));
     122    permTable.add(new Column<String>("Use"));
     123    permTable.add(new Column<String>("Create"));
     124    permTable.add(new Column<String>("Delete"));
     125    /***********************************************************************
     126     * Sort roles
     127     */
     128    Item[] values = Item.values();
     129    Vector<String> itemV = new Vector<String>(values.length);
     130  List<Item> exclude = new ArrayList<Item>();
     131  // Exclude values based on what role is shown
     132  exclude.add(Item.SESSION);
     133  exclude.add(Item.SYSTEM);
     134  exclude.add(Item.BIOMATERIALEVENT);
     135  exclude.add(Item.BIOSOURCE);
     136  exclude.add(Item.DISKUSAGE);
     137  exclude.add(Item.QUOTATYPE);
     138  exclude.add(Item.CLIENT);
     139  exclude.add(Item.GLOBALDEFAULTSETTING);
     140  exclude.add(Item.ITEMKEY);
     141  exclude.add(Item.PROJECTKEY);
     142  exclude.add(Item.PROTEIOS_BIOMATERIAL);
     143  exclude.add(Item.PROTEIOS_OFFSET);
     144  exclude.add(Item.ROLEKEY);
     145  exclude.add(Item.SESSION);
     146  exclude.add(Item.SETTING);
     147
     148    for (Item i : values)
     149  {
     150   if(!exclude.contains(i))
     151   {
     152      itemV.add(i.name());
     153   }
     154  }
     155    List<String> list = Collections.list(itemV.elements());
     156    Collections.sort(list);
     157    /***********************************************************************
     158     * Create rows with checkboxes
     159     */
     160    for (String itemName : list)
     161    {
     162      Item i = Item.valueOf(itemName);
     163      int keyId = SystemItems.getRoleKeyId(i);
     164      Set<Permission> itemPermissions = i.getDefinedPermissions();
     165      Row row = new Row(i.getAlias());
     166      row.addCell(new Cell<String>(i.toString()));
     167      row.addCell(getItemPermissionCell(i, itemPermissions,
     168        Permission.READ, role, keyId));
     169      row.addCell(getItemPermissionCell(i, itemPermissions,
     170        Permission.WRITE, role, keyId));
     171      row.addCell(getItemPermissionCell(i, itemPermissions,
     172        Permission.USE, role, keyId));
     173      row.addCell(getItemPermissionCell(i, itemPermissions,
     174        Permission.CREATE, role, keyId));
     175      row.addCell(getItemPermissionCell(i, itemPermissions,
     176        Permission.DELETE, role, keyId));
     177      permTable.addRow(row);
     178    }
     179  return permTable;
     180 }
     181
     182  private Cell<?> getItemPermissionCell(Item itemType,
     183      Set<Permission> itemPermissions, Permission permission, Role role,
     184      int keyId)
     185  {
     186    VString vrolePerm = new VString(itemType.name(), 1, 20, true);
     187    Checkbox<VString> checkBox = new Checkbox<VString>(vrolePerm);
     188    checkBox.setValue(permission.name());
     189    if (role != null && itemPermissions != null)
     190    {
     191      if (keyId > 0)
     192      {
     193        RoleKey key = RoleKey.getById(role.getDbControl(), keyId);
     194        Set<Permission> permissions = role == null ? EnumSet
     195          .noneOf(Permission.class) : key.getPermissions(role);
     196        if (permissions.contains(permission))
     197          checkBox.isChecked(true);
     198      }
     199      return new Cell<Checkbox<VString>>(checkBox);
     200    }
     201    return new Cell<String>("");
     202  }
     203
    102204}
  • trunk/client/servlet/src/org/proteios/gui/form/FormFactory.java

    r3809 r3810  
    165165import java.text.SimpleDateFormat;
    166166import java.util.ArrayList;
    167 import java.util.Collections;
    168167import java.util.Date;
    169 import java.util.EnumSet;
    170168import java.util.HashMap;
    171169import java.util.Hashtable;
     
    173171import java.util.List;
    174172import java.util.Set;
    175 import java.util.Vector;
    176173
    177174import javax.servlet.http.HttpServletRequest;
     
    22662263 // Cleaning up from here
    22672264
    2268  public Table getRolePermissionsTable(Role role)
    2269  {
    2270     Table permTable = new Table("permissionsTable");
    2271     permTable.setTitle("Permissions");
    2272   if(role == null)
    2273     return permTable;
    2274 
    2275     permTable.setSubtitle(role.getName());
    2276     permTable.add(new Column<String>("Item"));
    2277     permTable.add(new Column<String>("Read"));
    2278     permTable.add(new Column<String>("Write"));
    2279     permTable.add(new Column<String>("Use"));
    2280     permTable.add(new Column<String>("Create"));
    2281     permTable.add(new Column<String>("Delete"));
    2282     /***********************************************************************
    2283      * Sort roles
    2284      */
    2285     Item[] values = Item.values();
    2286     Vector<String> itemV = new Vector<String>(values.length);
    2287   List<Item> exclude = new ArrayList<Item>();
    2288   // Exclude values based on what role is shown
    2289   exclude.add(Item.SESSION);
    2290   exclude.add(Item.SYSTEM);
    2291   exclude.add(Item.BIOMATERIALEVENT);
    2292   exclude.add(Item.BIOSOURCE);
    2293   exclude.add(Item.DISKUSAGE);
    2294   exclude.add(Item.QUOTATYPE);
    2295   exclude.add(Item.CLIENT);
    2296   exclude.add(Item.GLOBALDEFAULTSETTING);
    2297   exclude.add(Item.ITEMKEY);
    2298   exclude.add(Item.PROJECTKEY);
    2299   exclude.add(Item.PROTEIOS_BIOMATERIAL);
    2300   exclude.add(Item.PROTEIOS_OFFSET);
    2301   exclude.add(Item.ROLEKEY);
    2302   exclude.add(Item.SESSION);
    2303   exclude.add(Item.SETTING);
    2304 
    2305     for (Item i : values)
    2306   {
    2307    if(!exclude.contains(i))
    2308    {
    2309       itemV.add(i.name());
    2310    }
    2311   }
    2312     List<String> list = Collections.list(itemV.elements());
    2313     Collections.sort(list);
    2314     /***********************************************************************
    2315      * Create rows with checkboxes
    2316      */
    2317     for (String itemName : list)
    2318     {
    2319       Item i = Item.valueOf(itemName);
    2320       int keyId = SystemItems.getRoleKeyId(i);
    2321       Set<Permission> itemPermissions = i.getDefinedPermissions();
    2322       Row row = new Row(i.getAlias());
    2323       row.addCell(new Cell<String>(i.toString()));
    2324       row.addCell(getItemPermissionCell(i, itemPermissions,
    2325         Permission.READ, role, keyId));
    2326       row.addCell(getItemPermissionCell(i, itemPermissions,
    2327         Permission.WRITE, role, keyId));
    2328       row.addCell(getItemPermissionCell(i, itemPermissions,
    2329         Permission.USE, role, keyId));
    2330       row.addCell(getItemPermissionCell(i, itemPermissions,
    2331         Permission.CREATE, role, keyId));
    2332       row.addCell(getItemPermissionCell(i, itemPermissions,
    2333         Permission.DELETE, role, keyId));
    2334       permTable.addRow(row);
    2335     }
    2336   return permTable;
    2337  }
    2338 
    2339   private Cell<?> getItemPermissionCell(Item itemType,
    2340       Set<Permission> itemPermissions, Permission permission, Role role,
    2341       int keyId)
    2342   {
    2343     VString vrolePerm = new VString(itemType.name(), 1, 20, true);
    2344     Checkbox<VString> checkBox = new Checkbox<VString>(vrolePerm);
    2345     checkBox.setValue(permission.name());
    2346     if (role != null && itemPermissions != null)
    2347     {
    2348       if (keyId > 0)
    2349       {
    2350         RoleKey key = RoleKey.getById(role.getDbControl(), keyId);
    2351         Set<Permission> permissions = role == null ? EnumSet
    2352           .noneOf(Permission.class) : key.getPermissions(role);
    2353         if (permissions.contains(permission))
    2354           checkBox.isChecked(true);
    2355       }
    2356       return new Cell<Checkbox<VString>>(checkBox);
    2357     }
    2358     return new Cell<String>("");
    2359   }
    23602265
    23612266
Note: See TracChangeset for help on using the changeset viewer.