1 31 32 package org.opencms.workplace.tools.accounts; 33 34 import org.opencms.file.CmsUser; 35 import org.opencms.jsp.CmsJspActionElement; 36 import org.opencms.main.CmsException; 37 import org.opencms.main.CmsRuntimeException; 38 import org.opencms.workplace.CmsDialog; 39 import org.opencms.workplace.list.CmsListColumnDefinition; 40 import org.opencms.workplace.list.CmsListDateMacroFormatter; 41 import org.opencms.workplace.list.CmsListDefaultAction; 42 import org.opencms.workplace.list.CmsListDirectAction; 43 import org.opencms.workplace.list.CmsListItem; 44 import org.opencms.workplace.list.CmsListMetadata; 45 46 import java.io.IOException ; 47 import java.util.ArrayList ; 48 import java.util.Date ; 49 import java.util.HashMap ; 50 import java.util.Iterator ; 51 import java.util.List ; 52 import java.util.Map ; 53 54 import javax.servlet.ServletException ; 55 import javax.servlet.http.HttpServletRequest ; 56 import javax.servlet.http.HttpServletResponse ; 57 import javax.servlet.jsp.PageContext ; 58 59 69 public class CmsShowGroupUsersList extends A_CmsGroupUsersList { 70 71 72 public static final String LIST_ID = "lsgu"; 73 74 75 public static final String LIST_ACTION_EDIT = "ae"; 76 77 78 public static final String LIST_COLUMN_LASTLOGIN = "cl"; 79 80 85 public CmsShowGroupUsersList(CmsJspActionElement jsp) { 86 87 this(jsp, LIST_ID); 88 } 89 90 97 public CmsShowGroupUsersList(PageContext context, HttpServletRequest req, HttpServletResponse res) { 98 99 this(new CmsJspActionElement(context, req, res)); 100 } 101 102 107 protected CmsShowGroupUsersList(CmsJspActionElement jsp, String listId) { 108 109 super(jsp, listId, Messages.get().container(Messages.GUI_GROUPUSERS_LIST_NAME_0), false); 110 } 111 112 115 public String defaultActionHtmlStart() { 116 117 return getList().listJs(getLocale()) + dialogContentStart(getParamTitle()); 118 } 119 120 123 public void executeListMultiActions() throws CmsRuntimeException { 124 125 throwListUnsupportedActionException(); 126 } 127 128 131 public void executeListSingleActions() throws IOException , ServletException { 132 133 String userId = getSelectedItem().getId(); 134 135 Map params = new HashMap (); 136 params.put(A_CmsEditUserDialog.PARAM_USERID, userId); 137 params.put(CmsDialog.PARAM_ACTION, CmsDialog.DIALOG_INITIAL); 138 139 if (getParamListAction().equals(LIST_ACTION_EDIT)) { 140 getToolManager().jspForwardTool(this, "/accounts/users/edit/user", params); 141 } else { 142 throwListUnsupportedActionException(); 143 } 144 } 145 146 149 protected List getUsers() throws CmsException { 150 151 return getCms().getUsersOfGroup(getParamGroupname()); 152 } 153 154 157 protected void setDefaultAction(CmsListColumnDefinition loginCol) { 158 159 CmsListDefaultAction editAction = new CmsListDefaultAction(LIST_ACTION_EDIT); 160 editAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_ACTION_EDIT_NAME_0)); 161 editAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_ACTION_EDIT_HELP_0)); 162 loginCol.addDefaultAction(editAction); 163 } 164 165 168 protected void setIconAction(CmsListColumnDefinition iconCol) { 169 170 CmsListDirectAction iconAction = new CmsListDirectAction(LIST_ACTION_ICON); 171 iconAction.setName(Messages.get().container(Messages.GUI_USERS_LIST_INGROUP_NAME_0)); 172 iconAction.setHelpText(Messages.get().container(Messages.GUI_USERS_LIST_INGROUP_HELP_0)); 173 iconAction.setIconPath(A_CmsUsersList.PATH_BUTTONS + "user.png"); 174 iconAction.setEnabled(false); 175 iconCol.addDirectAction(iconAction); 176 } 177 178 181 protected void setMultiActions(CmsListMetadata metadata) { 182 183 } 185 186 189 protected void setColumns(CmsListMetadata metadata) { 190 191 super.setColumns(metadata); 192 193 CmsListColumnDefinition loginCol = metadata.getColumnDefinition(LIST_COLUMN_LOGIN); 195 loginCol.setWidth("30%"); 196 197 CmsListColumnDefinition fullnameCol = metadata.getColumnDefinition(LIST_COLUMN_FULLNAME); 198 fullnameCol.setWidth("50%"); 199 200 CmsListColumnDefinition lastLoginCol = new CmsListColumnDefinition(LIST_COLUMN_LASTLOGIN); 202 lastLoginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LASTLOGIN_0)); 203 lastLoginCol.setWidth("20%"); 204 lastLoginCol.setFormatter(CmsListDateMacroFormatter.getDefaultDateFormatter()); 205 metadata.addColumn(lastLoginCol); 206 } 207 208 211 protected List getListItems() throws CmsException { 212 213 List ret = new ArrayList (); 214 215 List users = getUsers(); 217 Iterator itUsers = users.iterator(); 218 while (itUsers.hasNext()) { 219 CmsUser user = (CmsUser)itUsers.next(); 220 CmsListItem item = getList().newItem(user.getId().toString()); 221 item.set(LIST_COLUMN_LOGIN, user.getName()); 222 item.set(LIST_COLUMN_FULLNAME, user.getFullName()); 223 item.set(LIST_COLUMN_LASTLOGIN, new Date (user.getLastlogin())); 224 ret.add(item); 225 } 226 227 return ret; 228 } 229 230 233 protected void setStateActionCol(CmsListMetadata metadata) { 234 235 } 237 } 238 | Popular Tags |