1 31 32 package org.opencms.workplace.tools.accounts; 33 34 import org.opencms.jsp.CmsJspActionElement; 35 import org.opencms.main.CmsException; 36 import org.opencms.main.CmsRuntimeException; 37 import org.opencms.workplace.list.CmsListColumnAlignEnum; 38 import org.opencms.workplace.list.CmsListColumnDefinition; 39 import org.opencms.workplace.list.CmsListDefaultAction; 40 import org.opencms.workplace.list.CmsListDirectAction; 41 import org.opencms.workplace.list.CmsListItem; 42 import org.opencms.workplace.list.CmsListMetadata; 43 import org.opencms.workplace.list.CmsListMultiAction; 44 45 import java.util.HashSet ; 46 import java.util.Iterator ; 47 import java.util.List ; 48 import java.util.Map ; 49 import java.util.Set ; 50 51 import javax.servlet.http.HttpServletRequest ; 52 import javax.servlet.http.HttpServletResponse ; 53 import javax.servlet.jsp.PageContext ; 54 55 64 public class CmsNotGroupUsersList extends A_CmsGroupUsersList { 65 66 67 public static final String LIST_ACTION_ADD = "aa"; 68 69 70 public static final String LIST_DEFACTION_ADD = "da"; 71 72 73 public static final String LIST_ID = "lngu"; 74 75 76 public static final String LIST_MACTION_ADD = "ma"; 77 78 79 protected static Set m_addActionIds = new HashSet (); 80 81 86 public CmsNotGroupUsersList(CmsJspActionElement jsp) { 87 88 this(jsp, LIST_ID); 89 } 90 91 98 public CmsNotGroupUsersList(PageContext context, HttpServletRequest req, HttpServletResponse res) { 99 100 this(new CmsJspActionElement(context, req, res)); 101 } 102 103 108 protected CmsNotGroupUsersList(CmsJspActionElement jsp, String listId) { 109 110 super(jsp, listId, Messages.get().container(Messages.GUI_NOTGROUPUSERS_LIST_NAME_0), true); 111 } 112 113 116 public void executeListMultiActions() throws CmsRuntimeException { 117 118 if (getParamListAction().equals(LIST_MACTION_ADD)) { 119 try { 121 Iterator itItems = getSelectedItems().iterator(); 122 while (itItems.hasNext()) { 123 CmsListItem listItem = (CmsListItem)itItems.next(); 124 getCms().addUserToGroup((String )listItem.get(LIST_COLUMN_LOGIN), getParamGroupname()); 125 } 126 } catch (CmsException e) { 127 Map objects = (Map )getSettings().getListObject(); 129 if (objects != null) { 130 objects.remove(CmsGroupsList.class.getName()); 131 objects.remove(A_CmsUsersList.class.getName()); 132 } 133 throw new CmsRuntimeException(Messages.get().container(Messages.ERR_ADD_SELECTED_GROUPS_0), e); 134 } 135 } else { 136 throwListUnsupportedActionException(); 137 } 138 listSave(); 139 } 140 141 144 public void executeListSingleActions() throws CmsRuntimeException { 145 146 if (m_addActionIds.contains(getParamListAction())) { 147 CmsListItem listItem = getSelectedItem(); 148 try { 149 getCms().addUserToGroup((String )listItem.get(LIST_COLUMN_LOGIN), getParamGroupname()); 150 } catch (CmsException e) { 151 throw new CmsRuntimeException(Messages.get().container(Messages.ERR_ADD_SELECTED_GROUP_0), e); 153 } 154 } else { 155 throwListUnsupportedActionException(); 156 } 157 listSave(); 158 } 159 160 163 protected List getUsers() throws CmsException { 164 165 List groupusers = getCms().getUsersOfGroup(getParamGroupname()); 166 List users = getCms().getUsers(); 167 users.removeAll(groupusers); 168 return users; 169 } 170 171 174 protected void setDefaultAction(CmsListColumnDefinition loginCol) { 175 176 CmsListDefaultAction addAction = new CmsListDefaultAction(LIST_DEFACTION_ADD); 178 addAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_NAME_0)); 179 addAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_HELP_0)); 180 loginCol.addDefaultAction(addAction); 181 m_addActionIds.add(addAction.getId()); 183 } 184 185 188 protected void setIconAction(CmsListColumnDefinition iconCol) { 189 190 CmsListDirectAction iconAction = new CmsListDirectAction(LIST_ACTION_ICON); 191 iconAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_AVAILABLE_NAME_0)); 192 iconAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_AVAILABLE_HELP_0)); 193 iconAction.setIconPath(A_CmsUsersList.PATH_BUTTONS + "user.png"); 194 iconAction.setEnabled(false); 195 iconCol.addDirectAction(iconAction); 196 } 197 198 201 protected void setMultiActions(CmsListMetadata metadata) { 202 203 CmsListMultiAction addMultiAction = new CmsListMultiAction(LIST_MACTION_ADD); 205 addMultiAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_ADD_NAME_0)); 206 addMultiAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_ADD_HELP_0)); 207 addMultiAction.setConfirmationMessage(Messages.get().container(Messages.GUI_USERS_LIST_MACTION_ADD_CONF_0)); 208 addMultiAction.setIconPath(ICON_MULTI_ADD); 209 metadata.addMultiAction(addMultiAction); 210 } 211 212 215 protected void setStateActionCol(CmsListMetadata metadata) { 216 217 CmsListColumnDefinition stateCol = new CmsListColumnDefinition(LIST_COLUMN_STATE); 219 stateCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_STATE_0)); 220 stateCol.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_COLS_STATE_HELP_0)); 221 stateCol.setWidth("20"); 222 stateCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 223 stateCol.setSorteable(false); 224 CmsListDirectAction stateAction = new CmsListDirectAction(LIST_ACTION_ADD); 226 stateAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_NAME_0)); 227 stateAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_DEFACTION_ADD_HELP_0)); 228 stateAction.setIconPath(ICON_ADD); 229 stateCol.addDirectAction(stateAction); 230 metadata.addColumn(stateCol); 232 m_addActionIds.add(stateAction.getId()); 234 } 235 } 236 | Popular Tags |