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.CmsException; 37 import org.opencms.main.CmsRuntimeException; 38 import org.opencms.workplace.list.A_CmsListDialog; 39 import org.opencms.workplace.list.CmsListColumnAlignEnum; 40 import org.opencms.workplace.list.CmsListColumnDefinition; 41 import org.opencms.workplace.list.CmsListDateMacroFormatter; 42 import org.opencms.workplace.list.CmsListItem; 43 import org.opencms.workplace.list.CmsListMetadata; 44 import org.opencms.workplace.list.CmsListPrintIAction; 45 import org.opencms.workplace.list.CmsListSearchAction; 46 import org.opencms.workplace.list.I_CmsListFormatter; 47 import org.opencms.workplace.tools.accounts.Messages; 48 49 import java.util.ArrayList ; 50 import java.util.Date ; 51 import java.util.Iterator ; 52 import java.util.List ; 53 import java.util.Locale ; 54 55 import javax.servlet.http.HttpServletRequest ; 56 import javax.servlet.http.HttpServletResponse ; 57 import javax.servlet.jsp.PageContext ; 58 59 68 public class CmsListDemo4 extends A_CmsListDialog { 69 70 71 public static final String LIST_COLUMN_ACTIVATE = "ca"; 72 73 74 public static final String LIST_COLUMN_EMAIL = "cm"; 75 76 77 public static final String LIST_COLUMN_LASTLOGIN = "cl"; 78 79 80 public static final String LIST_COLUMN_LOGIN = "ci"; 81 82 83 public static final String LIST_COLUMN_NAME = "cn"; 84 85 86 public static final String LIST_ID = "lsu1"; 87 88 93 public CmsListDemo4(CmsJspActionElement jsp) { 94 95 super(jsp, LIST_ID, Messages.get().container(Messages.GUI_USERS_LIST_NAME_0), null, null, null); 96 } 97 98 105 public CmsListDemo4(PageContext context, HttpServletRequest req, HttpServletResponse res) { 106 107 this(new CmsJspActionElement(context, req, res)); 108 } 109 110 113 public void executeListMultiActions() throws CmsRuntimeException { 114 115 throwListUnsupportedActionException(); 116 } 117 118 121 public void executeListSingleActions() { 122 123 throwListUnsupportedActionException(); 124 } 125 126 129 protected void fillDetails(String detailId) { 130 131 } 133 134 137 protected List getListItems() throws CmsException { 138 139 List ret = new ArrayList (); 140 List users = getCms().getUsers(CmsUser.USER_TYPE_SYSTEMUSER); 142 Iterator itUsers = users.iterator(); 143 while (itUsers.hasNext()) { 144 CmsUser user = (CmsUser)itUsers.next(); 145 CmsListItem item = getList().newItem(user.getId().toString()); 146 item.set(LIST_COLUMN_ACTIVATE, Boolean.valueOf(user.isEnabled())); 147 item.set(LIST_COLUMN_LOGIN, user.getName()); 148 item.set(LIST_COLUMN_NAME, user.getFullName()); 149 item.set(LIST_COLUMN_EMAIL, user.getEmail()); 150 item.set(LIST_COLUMN_LASTLOGIN, new Date (user.getLastlogin())); 151 ret.add(item); 152 } 153 return ret; 154 } 155 156 159 protected void initMessages() { 160 161 addMessages(Messages.get().getBundleName()); 163 addMessages(org.opencms.workplace.demos.list.Messages.get().getBundleName()); 164 addMessages(org.opencms.workplace.demos.Messages.get().getBundleName()); 165 super.initMessages(); 167 } 168 169 172 protected void setColumns(CmsListMetadata metadata) { 173 174 CmsListColumnDefinition actCol = new CmsListColumnDefinition(LIST_COLUMN_ACTIVATE); 176 actCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ACTIVATE_0)); 177 actCol.setWidth("30"); 178 actCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 179 actCol.setSorteable(true); 180 I_CmsListFormatter actFormatter = new I_CmsListFormatter() { 181 182 185 public String format(Object data, Locale locale) { 186 187 if (data instanceof Boolean ) { 188 Boolean val = (Boolean )data; 189 if (val.booleanValue()) { 190 return "<img SRC='" + getResourceUri("list/active.png") + "'>"; 191 } 192 } 193 return "<img SRC='" + getResourceUri("list/inactive.png") + "'>"; 194 } 195 196 }; 197 actCol.setFormatter(actFormatter); 198 metadata.addColumn(actCol); 199 200 CmsListColumnDefinition loginCol = new CmsListColumnDefinition(LIST_COLUMN_LOGIN); 202 loginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LOGIN_0)); 203 loginCol.setWidth("20%"); 204 loginCol.setSorteable(true); 205 206 metadata.addColumn(loginCol); 208 209 CmsListColumnDefinition nameCol = new CmsListColumnDefinition(LIST_COLUMN_NAME); 211 nameCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_USERNAME_0)); 212 nameCol.setWidth("30%"); 213 nameCol.setSorteable(true); 214 metadata.addColumn(nameCol); 215 216 CmsListColumnDefinition emailCol = new CmsListColumnDefinition(LIST_COLUMN_EMAIL); 218 emailCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_EMAIL_0)); 219 emailCol.setWidth("30%"); 220 emailCol.setSorteable(true); 221 metadata.addColumn(emailCol); 222 223 CmsListColumnDefinition lastLoginCol = new CmsListColumnDefinition(LIST_COLUMN_LASTLOGIN); 225 lastLoginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LASTLOGIN_0)); 226 lastLoginCol.setWidth("20%"); 227 lastLoginCol.setSorteable(true); 228 lastLoginCol.setFormatter(CmsListDateMacroFormatter.getDefaultDateFormatter()); 229 metadata.addColumn(lastLoginCol); 230 } 231 232 235 protected void setIndependentActions(CmsListMetadata metadata) { 236 237 } 239 240 243 protected void setMultiActions(CmsListMetadata metadata) { 244 245 CmsListSearchAction searchAction = new CmsListSearchAction(metadata.getColumnDefinition(LIST_COLUMN_LOGIN)); 247 searchAction.addColumn(metadata.getColumnDefinition(LIST_COLUMN_EMAIL)); 248 metadata.setSearchAction(searchAction); 249 250 metadata.getIndependentAction(CmsListPrintIAction.LIST_ACTION_ID).setVisible(false); 252 } 253 254 } | Popular Tags |