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.HashSet ; 52 import java.util.Iterator ; 53 import java.util.List ; 54 import java.util.Map ; 55 import java.util.Set ; 56 57 import javax.servlet.http.HttpServletRequest ; 58 import javax.servlet.http.HttpServletResponse ; 59 import javax.servlet.jsp.PageContext ; 60 61 70 public class CmsListDemo16b extends A_CmsListDialog { 71 72 73 public static final String LIST_ACTION_ADD = "aa"; 74 75 76 public static final String LIST_ACTION_ICON = "ai"; 77 78 79 public static final String LIST_ACTION_STATE = "as"; 80 81 82 public static final String LIST_COLUMN_FULLNAME = "cf"; 83 84 85 public static final String LIST_COLUMN_ICON = "ci"; 86 87 88 public static final String LIST_COLUMN_LOGIN = "cn"; 89 90 91 public static final String LIST_COLUMN_STATE = "cs"; 92 93 94 public static final String LIST_DEFACTION_ADD = "da"; 95 96 97 public static final String LIST_ID = "lngu"; 98 99 100 public static final String LIST_MACTION_ADD = "ma"; 101 102 103 public static Map usersOut = new HashMap (); 104 105 106 protected static Set m_addActionIds = new HashSet (); 107 108 113 public CmsListDemo16b(CmsJspActionElement jsp) { 114 115 super( 116 jsp, 117 LIST_ID, 118 Messages.get().container(Messages.GUI_NOTGROUPUSERS_LIST_NAME_0), 119 LIST_COLUMN_LOGIN, 120 CmsListOrderEnum.ORDER_ASCENDING, 121 LIST_COLUMN_LOGIN); 122 } 123 124 131 public CmsListDemo16b(PageContext context, HttpServletRequest req, HttpServletResponse res) { 132 133 this(new CmsJspActionElement(context, req, res)); 134 } 135 136 139 public void executeListMultiActions() throws CmsRuntimeException { 140 141 if (getParamListAction().equals(LIST_MACTION_ADD)) { 142 Iterator itItems = getSelectedItems().iterator(); 144 while (itItems.hasNext()) { 145 CmsListItem listItem = (CmsListItem)itItems.next(); 146 CmsUser user = (CmsUser)usersOut.remove(listItem.getId()); 147 CmsListDemo16a.usersIn.put(listItem.getId(), user); 148 } 149 } else { 150 throwListUnsupportedActionException(); 151 } 152 listSave(); 153 } 154 155 158 public void executeListSingleActions() throws CmsRuntimeException { 159 160 if (LIST_ACTION_ADD.equals(getParamListAction()) || getParamListAction().equals(LIST_DEFACTION_ADD)) { 161 CmsListItem listItem = getSelectedItem(); 162 CmsUser user = (CmsUser)usersOut.remove(listItem.getId()); 163 CmsListDemo16a.usersIn.put(listItem.getId(), user); 164 } else { 165 throwListUnsupportedActionException(); 166 } 167 listSave(); 168 } 169 170 173 protected void fillDetails(String detailId) { 174 175 } 177 178 181 protected List getListItems() { 182 183 List ret = new ArrayList (); 184 185 Iterator itUsers = usersOut.values().iterator(); 187 while (itUsers.hasNext()) { 188 CmsUser user = (CmsUser)itUsers.next(); 189 CmsListItem item = getList().newItem(user.getId().toString()); 190 item.set(LIST_COLUMN_LOGIN, user.getName()); 191 item.set(LIST_COLUMN_FULLNAME, user.getFullName()); 192 ret.add(item); 193 } 194 195 return ret; 196 } 197 198 201 protected void initMessages() { 202 203 addMessages(Messages.get().getBundleName()); 205 addMessages(org.opencms.workplace.demos.list.Messages.get().getBundleName()); 207 addMessages(org.opencms.workplace.demos.Messages.get().getBundleName()); 208 super.initMessages(); 209 } 210 211 214 protected void setColumns(CmsListMetadata metadata) { 215 216 CmsListColumnDefinition iconCol = new CmsListColumnDefinition(LIST_COLUMN_ICON); 218 iconCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ICON_0)); 219 iconCol.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ICON_HELP_0)); 220 iconCol.setWidth("20"); 221 iconCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 222 iconCol.setSorteable(false); 223 CmsListDirectAction iconAction = new CmsListDirectAction(LIST_ACTION_ICON); 225 iconAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_AVAILABLE_NAME_0)); 226 iconAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_AVAILABLE_HELP_0)); 227 iconAction.setIconPath(A_CmsUsersList.PATH_BUTTONS + "user.png"); 228 iconAction.setEnabled(false); 229 iconCol.addDirectAction(iconAction); 230 metadata.addColumn(iconCol); 232 233 CmsListColumnDefinition stateCol = new CmsListColumnDefinition(LIST_COLUMN_STATE); 235 stateCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_STATE_0)); 236 stateCol.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_COLS_STATE_HELP_0)); 237 stateCol.setWidth("20"); 238 stateCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 239 stateCol.setSorteable(false); 240 CmsListDirectAction stateAction = new CmsListDirectAction(LIST_ACTION_ADD); 242 stateAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_NAME_0)); 243 stateAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_HELP_0)); 244 stateAction.setIconPath(ICON_ADD); 245 stateCol.addDirectAction(stateAction); 246 metadata.addColumn(stateCol); 248 249 CmsListColumnDefinition loginCol = new CmsListColumnDefinition(LIST_COLUMN_LOGIN); 251 loginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LOGIN_0)); 252 loginCol.setWidth("35%"); 253 CmsListDefaultAction addAction = new CmsListDefaultAction(LIST_DEFACTION_ADD); 255 addAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_NAME_0)); 256 addAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_HELP_0)); 257 loginCol.addDefaultAction(addAction); 258 metadata.addColumn(loginCol); 260 261 CmsListColumnDefinition fullnameCol = new CmsListColumnDefinition(LIST_COLUMN_FULLNAME); 263 fullnameCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_FULLNAME_0)); 264 fullnameCol.setWidth("65%"); 265 fullnameCol.setTextWrapping(true); 266 metadata.addColumn(fullnameCol); 268 } 269 270 273 protected void setIndependentActions(CmsListMetadata metadata) { 274 275 } 277 278 281 protected void setMultiActions(CmsListMetadata metadata) { 282 283 CmsListMultiAction addMultiAction = new CmsListMultiAction(LIST_MACTION_ADD); 285 addMultiAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_ADD_NAME_0)); 286 addMultiAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_ADD_HELP_0)); 287 addMultiAction.setConfirmationMessage(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_ADD_CONF_0)); 288 addMultiAction.setIconPath(ICON_MULTI_ADD); 289 metadata.addMultiAction(addMultiAction); 290 } 291 } 292 | Popular Tags |