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 CmsNotUserGroupsList extends A_CmsUserGroupsList { 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 = "lnug"; 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 CmsNotUserGroupsList(CmsJspActionElement jsp) { 87 88 this(jsp, LIST_ID); 89 } 90 91 98 public CmsNotUserGroupsList(PageContext context, HttpServletRequest req, HttpServletResponse res) { 99 100 this(new CmsJspActionElement(context, req, res)); 101 } 102 103 109 protected CmsNotUserGroupsList(CmsJspActionElement jsp, String listId) { 110 111 super(jsp, listId, Messages.get().container(Messages.GUI_NOTUSERGROUPS_LIST_NAME_0), true); 112 } 113 114 117 public void executeListMultiActions() throws CmsRuntimeException { 118 119 if (getParamListAction().equals(LIST_MACTION_ADD)) { 120 try { 122 Iterator itItems = getSelectedItems().iterator(); 123 while (itItems.hasNext()) { 124 CmsListItem listItem = (CmsListItem)itItems.next(); 125 getCms().addUserToGroup(getParamUsername(), (String )listItem.get(LIST_COLUMN_NAME)); 126 } 127 } catch (CmsException e) { 128 Map objects = (Map )getSettings().getListObject(); 130 if (objects != null) { 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(getParamUsername(), (String )listItem.get(LIST_COLUMN_NAME)); 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 getGroups() throws CmsException { 164 165 List usergroups = getCms().getGroupsOfUser(getParamUsername()); 166 List groups = getCms().getGroups(); 167 groups.removeAll(usergroups); 168 return groups; 169 } 170 171 174 protected void setDefaultAction(CmsListColumnDefinition nameCol) { 175 176 CmsListDefaultAction addAction = new CmsListDefaultAction(LIST_DEFACTION_ADD); 178 addAction.setName(Messages.get().container(Messages.GUI_GROUPS_LIST_DEFACTION_ADD_NAME_0)); 179 addAction.setHelpText(Messages.get().container(Messages.GUI_GROUPS_LIST_DEFACTION_ADD_HELP_0)); 180 nameCol.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_GROUPS_LIST_AVAILABLE_NAME_0)); 192 iconAction.setHelpText(Messages.get().container(Messages.GUI_GROUPS_LIST_AVAILABLE_HELP_0)); 193 iconAction.setIconPath(A_CmsUsersList.PATH_BUTTONS + "group.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_GROUPS_LIST_MACTION_ADD_NAME_0)); 206 addMultiAction.setHelpText(Messages.get().container(Messages.GUI_GROUPS_LIST_MACTION_ADD_HELP_0)); 207 addMultiAction.setConfirmationMessage(Messages.get().container(Messages.GUI_GROUPS_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_GROUPS_LIST_COLS_STATE_0)); 220 stateCol.setHelpText(Messages.get().container(Messages.GUI_GROUPS_LIST_COLS_STATE_HELP_0)); 221 stateCol.setWidth("20"); 222 stateCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 223 stateCol.setSorteable(false); 224 metadata.addColumn(stateCol); 226 227 CmsListDirectAction stateAction = new CmsListDirectAction(LIST_ACTION_ADD); 229 stateAction.setName(Messages.get().container(Messages.GUI_GROUPS_LIST_DEFACTION_ADD_NAME_0)); 230 stateAction.setHelpText(Messages.get().container(Messages.GUI_GROUPS_LIST_DEFACTION_ADD_HELP_0)); 231 stateAction.setIconPath(ICON_ADD); 232 stateCol.addDirectAction(stateAction); 233 m_addActionIds.add(stateAction.getId()); 235 } 236 } 237 | Popular Tags |