1 31 32 package org.opencms.workplace.tools.accounts; 33 34 import org.opencms.file.CmsUser; 35 import org.opencms.i18n.CmsMessageContainer; 36 import org.opencms.jsp.CmsJspActionElement; 37 import org.opencms.main.CmsException; 38 import org.opencms.util.CmsUUID; 39 import org.opencms.workplace.list.A_CmsListDialog; 40 import org.opencms.workplace.list.CmsListColumnAlignEnum; 41 import org.opencms.workplace.list.CmsListColumnDefinition; 42 import org.opencms.workplace.list.CmsListItem; 43 import org.opencms.workplace.list.CmsListMetadata; 44 import org.opencms.workplace.list.CmsListOrderEnum; 45 46 import java.io.IOException ; 47 import java.util.ArrayList ; 48 import java.util.Iterator ; 49 import java.util.List ; 50 import java.util.Map ; 51 52 import javax.servlet.ServletException ; 53 import javax.servlet.jsp.JspException ; 54 55 64 public abstract class A_CmsGroupUsersList extends A_CmsListDialog { 65 66 67 public static final String LIST_ACTION_ICON = "ai"; 68 69 70 public static final String LIST_ACTION_STATE = "as"; 71 72 73 public static final String LIST_COLUMN_FULLNAME = "cf"; 74 75 76 public static final String LIST_COLUMN_ICON = "ci"; 77 78 79 public static final String LIST_COLUMN_LOGIN = "cn"; 80 81 82 public static final String LIST_COLUMN_STATE = "cs"; 83 84 85 private String m_paramGroupid; 86 87 88 private String m_paramGroupname; 89 90 98 protected A_CmsGroupUsersList( 99 CmsJspActionElement jsp, 100 String listId, 101 CmsMessageContainer listName, 102 boolean searchable) { 103 104 super( 105 jsp, 106 listId, 107 listName, 108 LIST_COLUMN_LOGIN, 109 CmsListOrderEnum.ORDER_ASCENDING, 110 searchable ? LIST_COLUMN_LOGIN : null); 111 } 112 113 116 public void actionDialog() throws JspException , ServletException , IOException { 117 118 updateGroupList(); 119 super.actionDialog(); 120 } 121 122 127 public String getParamGroupid() { 128 129 return m_paramGroupid; 130 } 131 132 137 public String getParamGroupname() { 138 139 return m_paramGroupname; 140 } 141 142 147 public void setParamGroupid(String userId) { 148 149 m_paramGroupid = userId; 150 } 151 152 155 public void updateGroupList() { 156 157 Map objects = (Map )getSettings().getListObject(); 158 if (objects != null) { 159 objects.remove(CmsGroupsList.class.getName()); 160 objects.remove(A_CmsUsersList.class.getName()); 161 } 162 } 163 164 167 protected void fillDetails(String detailId) { 168 169 } 171 172 175 protected List getListItems() throws CmsException { 176 177 List ret = new ArrayList (); 178 179 List users = getUsers(); 181 Iterator itUsers = users.iterator(); 182 while (itUsers.hasNext()) { 183 CmsUser user = (CmsUser)itUsers.next(); 184 CmsListItem item = getList().newItem(user.getId().toString()); 185 item.set(LIST_COLUMN_LOGIN, user.getName()); 186 item.set(LIST_COLUMN_FULLNAME, user.getFullName()); 187 ret.add(item); 188 } 189 190 return ret; 191 } 192 193 200 protected abstract List getUsers() throws CmsException; 201 202 205 protected void initMessages() { 206 207 addMessages(Messages.get().getBundleName()); 209 super.initMessages(); 211 } 212 213 216 protected void setColumns(CmsListMetadata metadata) { 217 218 CmsListColumnDefinition iconCol = new CmsListColumnDefinition(LIST_COLUMN_ICON); 220 iconCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ICON_0)); 221 iconCol.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ICON_HELP_0)); 222 iconCol.setWidth("20"); 223 iconCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 224 iconCol.setSorteable(false); 225 setIconAction(iconCol); 227 metadata.addColumn(iconCol); 229 230 setStateActionCol(metadata); 231 232 CmsListColumnDefinition loginCol = new CmsListColumnDefinition(LIST_COLUMN_LOGIN); 234 loginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LOGIN_0)); 235 loginCol.setWidth("35%"); 236 setDefaultAction(loginCol); 237 metadata.addColumn(loginCol); 239 240 CmsListColumnDefinition fullnameCol = new CmsListColumnDefinition(LIST_COLUMN_FULLNAME); 242 fullnameCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_FULLNAME_0)); 243 fullnameCol.setWidth("65%"); 244 fullnameCol.setTextWrapping(true); 245 metadata.addColumn(fullnameCol); 247 } 248 249 254 protected abstract void setDefaultAction(CmsListColumnDefinition loginCol); 255 256 261 protected abstract void setStateActionCol(CmsListMetadata metadata); 262 263 268 protected abstract void setIconAction(CmsListColumnDefinition iconCol); 269 270 273 protected void setIndependentActions(CmsListMetadata metadata) { 274 275 } 277 278 281 protected void validateParamaters() throws Exception { 282 283 m_paramGroupname = getCms().readGroup(new CmsUUID(getParamGroupid())).getName(); 285 } 286 } | Popular Tags |