1 31 32 package org.opencms.workplace.demos.list; 33 34 import org.opencms.file.CmsUser; 35 import org.opencms.jsp.CmsJspActionElement; 36 import org.opencms.main.CmsRuntimeException; 37 import org.opencms.workplace.list.A_CmsListDialog; 38 import org.opencms.workplace.list.CmsListColumnAlignEnum; 39 import org.opencms.workplace.list.CmsListColumnDefinition; 40 import org.opencms.workplace.list.CmsListDefaultAction; 41 import org.opencms.workplace.list.CmsListDirectAction; 42 import org.opencms.workplace.list.CmsListItem; 43 import org.opencms.workplace.list.CmsListMetadata; 44 import org.opencms.workplace.list.CmsListMultiAction; 45 import org.opencms.workplace.list.CmsListOrderEnum; 46 import org.opencms.workplace.tools.accounts.A_CmsUsersList; 47 import org.opencms.workplace.tools.accounts.Messages; 48 49 import java.util.ArrayList ; 50 import java.util.HashMap ; 51 import java.util.Iterator ; 52 import java.util.List ; 53 import java.util.Map ; 54 55 import javax.servlet.http.HttpServletRequest ; 56 import javax.servlet.http.HttpServletResponse ; 57 import javax.servlet.jsp.PageContext ; 58 59 68 public class CmsListDemo16a extends A_CmsListDialog { 69 70 71 public static final String LIST_ACTION_ICON = "ai"; 72 73 74 public static final String LIST_ACTION_REMOVE = "ar"; 75 76 77 public static final String LIST_ACTION_STATE = "as"; 78 79 80 public static final String LIST_COLUMN_FULLNAME = "cf"; 81 82 83 public static final String LIST_COLUMN_ICON = "ci"; 84 85 86 public static final String LIST_COLUMN_LOGIN = "cn"; 87 88 89 public static final String LIST_COLUMN_STATE = "cs"; 90 91 92 public static final String LIST_DEFACTION_REMOVE = "dr"; 93 94 95 public static final String LIST_ID = "lgu"; 96 97 98 public static final String LIST_MACTION_REMOVE = "mr"; 99 100 101 public static Map usersIn; 102 103 108 public CmsListDemo16a(CmsJspActionElement jsp) { 109 110 super( 111 jsp, 112 LIST_ID, 113 Messages.get().container(Messages.GUI_GROUPUSERS_LIST_NAME_0), 114 LIST_COLUMN_LOGIN, 115 CmsListOrderEnum.ORDER_ASCENDING, 116 LIST_COLUMN_LOGIN); 117 } 118 119 126 public CmsListDemo16a(PageContext context, HttpServletRequest req, HttpServletResponse res) { 127 128 this(new CmsJspActionElement(context, req, res)); 129 } 130 131 134 public void executeListMultiActions() throws CmsRuntimeException { 135 136 if (getParamListAction().equals(LIST_MACTION_REMOVE)) { 137 Iterator itItems = getSelectedItems().iterator(); 139 while (itItems.hasNext()) { 140 CmsListItem listItem = (CmsListItem)itItems.next(); 141 CmsUser user = (CmsUser)usersIn.remove(listItem.getId()); 142 CmsListDemo16b.usersOut.put(listItem.getId(), user); 143 } 144 } else { 145 throwListUnsupportedActionException(); 146 } 147 listSave(); 148 } 149 150 153 public void executeListSingleActions() throws CmsRuntimeException { 154 155 if (LIST_ACTION_REMOVE.equals(getParamListAction()) || getParamListAction().equals(LIST_DEFACTION_REMOVE)) { 156 CmsListItem listItem = getSelectedItem(); 157 CmsUser user = (CmsUser)usersIn.remove(listItem.getId()); 158 CmsListDemo16b.usersOut.put(listItem.getId(), user); 159 } else { 160 throwListUnsupportedActionException(); 161 } 162 listSave(); 163 } 164 165 168 protected void fillDetails(String detailId) { 169 170 } 172 173 176 protected List getListItems() { 177 178 List ret = new ArrayList (); 179 Iterator itUsers = usersIn.values().iterator(); 181 while (itUsers.hasNext()) { 182 CmsUser user = (CmsUser)itUsers.next(); 183 CmsListItem item = getList().newItem(user.getId().toString()); 184 item.set(LIST_COLUMN_LOGIN, user.getName()); 185 item.set(LIST_COLUMN_FULLNAME, user.getFullName()); 186 ret.add(item); 187 } 188 return ret; 189 } 190 191 194 protected void initMessages() { 195 196 addMessages(Messages.get().getBundleName()); 198 addMessages(org.opencms.workplace.demos.list.Messages.get().getBundleName()); 199 addMessages(org.opencms.workplace.demos.Messages.get().getBundleName()); 200 super.initMessages(); 202 } 203 204 207 protected void setColumns(CmsListMetadata metadata) { 208 209 CmsListColumnDefinition iconCol = new CmsListColumnDefinition(LIST_COLUMN_ICON); 211 iconCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ICON_0)); 212 iconCol.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ICON_HELP_0)); 213 iconCol.setWidth("20"); 214 iconCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 215 iconCol.setSorteable(false); 216 CmsListDirectAction iconAction = new CmsListDirectAction(LIST_ACTION_ICON); 218 iconAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_INGROUP_NAME_0)); 219 iconAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_INGROUP_HELP_0)); 220 iconAction.setIconPath(A_CmsUsersList.PATH_BUTTONS + "user.png"); 221 iconAction.setEnabled(false); 222 iconCol.addDirectAction(iconAction); 223 metadata.addColumn(iconCol); 225 226 CmsListColumnDefinition stateCol = new CmsListColumnDefinition(LIST_COLUMN_STATE); 228 stateCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_STATE_0)); 229 stateCol.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_COLS_STATE_HELP_0)); 230 stateCol.setWidth("20"); 231 stateCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 232 stateCol.setSorteable(false); 233 CmsListDirectAction stateAction = new CmsListDirectAction(LIST_ACTION_REMOVE); 235 stateAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_REMOVE_NAME_0)); 236 stateAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_REMOVE_HELP_0)); 237 stateAction.setIconPath(ICON_MINUS); 238 stateCol.addDirectAction(stateAction); 239 metadata.addColumn(stateCol); 241 242 CmsListColumnDefinition loginCol = new CmsListColumnDefinition(LIST_COLUMN_LOGIN); 244 loginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LOGIN_0)); 245 loginCol.setWidth("35%"); 246 CmsListDefaultAction removeAction = new CmsListDefaultAction(LIST_DEFACTION_REMOVE); 248 removeAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_REMOVE_NAME_0)); 249 removeAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_REMOVE_HELP_0)); 250 loginCol.addDefaultAction(removeAction); 251 metadata.addColumn(loginCol); 253 254 CmsListColumnDefinition fullnameCol = new CmsListColumnDefinition(LIST_COLUMN_FULLNAME); 256 fullnameCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_FULLNAME_0)); 257 fullnameCol.setWidth("65%"); 258 fullnameCol.setTextWrapping(true); 259 metadata.addColumn(fullnameCol); 261 } 262 263 266 protected void setIndependentActions(CmsListMetadata metadata) { 267 268 } 270 271 274 protected void setMultiActions(CmsListMetadata metadata) { 275 276 CmsListMultiAction removeMultiAction = new CmsListMultiAction(LIST_MACTION_REMOVE); 278 removeMultiAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_REMOVE_NAME_0)); 279 removeMultiAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_REMOVE_HELP_0)); 280 removeMultiAction.setConfirmationMessage(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_REMOVE_CONF_0)); 281 removeMultiAction.setIconPath(ICON_MULTI_MINUS); 282 metadata.addMultiAction(removeMultiAction); 283 } 284 285 288 protected void validateParamaters() throws Exception { 289 290 if (usersIn == null) { 291 usersIn = new HashMap (); 292 Iterator it = getCms().getUsers().iterator(); 294 while (it.hasNext()) { 295 CmsUser user = (CmsUser)it.next(); 296 usersIn.put(user.getId().toString(), user); 297 } 298 } 299 } 300 } 301 | Popular Tags |