1 31 32 package org.opencms.workplace.tools.accounts; 33 34 import org.opencms.file.CmsGroup; 35 import org.opencms.jsp.CmsJspActionElement; 36 import org.opencms.main.CmsException; 37 import org.opencms.main.CmsIllegalArgumentException; 38 import org.opencms.util.CmsStringUtil; 39 import org.opencms.util.CmsUUID; 40 import org.opencms.widgets.CmsDisplayWidget; 41 import org.opencms.workplace.CmsWidgetDialog; 42 import org.opencms.workplace.CmsWidgetDialogParameter; 43 44 import java.util.ArrayList ; 45 46 import javax.servlet.http.HttpServletRequest ; 47 import javax.servlet.http.HttpServletResponse ; 48 import javax.servlet.jsp.PageContext ; 49 50 59 public class CmsGroupOverviewDialog extends CmsWidgetDialog { 60 61 62 public static final String KEY_PREFIX = "group.ov"; 63 64 65 public static final String [] PAGES = {"page1"}; 66 67 68 public static final String PARAM_GROUPID = "groupid"; 69 70 71 protected CmsGroup m_group; 72 73 74 private String m_paramGroupid; 75 76 77 private String m_parentGroup; 78 79 84 public CmsGroupOverviewDialog(CmsJspActionElement jsp) { 85 86 super(jsp); 87 88 } 89 90 97 public CmsGroupOverviewDialog(PageContext context, HttpServletRequest req, HttpServletResponse res) { 98 99 this(new CmsJspActionElement(context, req, res)); 100 } 101 102 105 public void actionCommit() { 106 107 setCommitErrors(new ArrayList ()); 109 } 110 111 116 public String getParamGroupid() { 117 118 return m_paramGroupid; 119 } 120 121 126 public String getParentGroup() { 127 128 return m_parentGroup; 129 } 130 131 136 public void setParamGroupid(String userId) { 137 138 m_paramGroupid = userId; 139 } 140 141 146 public void setParentGroup(String parentGroup) { 147 148 if (CmsStringUtil.isEmpty(parentGroup) || parentGroup.equals("null") || parentGroup.equals("none")) { 149 parentGroup = null; 150 } 151 if (parentGroup != null) { 152 try { 153 getCms().readGroup(parentGroup); 154 } catch (CmsException e) { 155 throw new CmsIllegalArgumentException(e.getMessageContainer()); 156 } 157 } 158 m_parentGroup = parentGroup; 159 } 160 161 169 protected String createDialogHtml(String dialog) { 170 171 StringBuffer result = new StringBuffer (1024); 172 173 result.append(createWidgetTableStart()); 175 176 result.append(createWidgetErrorHeader()); 178 179 int n = (!isOverview() ? 1 : 3); 180 if (dialog.equals(PAGES[0])) { 181 result.append(dialogBlockStart(key(Messages.GUI_GROUP_EDITOR_LABEL_IDENTIFICATION_BLOCK_0))); 183 result.append(createWidgetTableStart()); 184 result.append(createDialogRowsHtml(0, n)); 185 result.append(createWidgetTableEnd()); 186 result.append(dialogBlockEnd()); 187 if (!isOverview()) { 188 result.append(createWidgetTableEnd()); 189 return result.toString(); 190 } 191 result.append(dialogBlockStart(key(Messages.GUI_GROUP_EDITOR_LABEL_FLAGS_BLOCK_0))); 192 result.append(createWidgetTableStart()); 193 result.append(createDialogRowsHtml(4, 6)); 194 result.append(createWidgetTableEnd()); 195 result.append(dialogBlockEnd()); 196 } 197 198 result.append(createWidgetTableEnd()); 200 201 return result.toString(); 202 } 203 204 207 protected String defaultActionHtmlEnd() { 208 209 return ""; 210 } 211 212 215 protected void defineWidgets() { 216 217 initGroupObject(); 219 220 setKeyPrefix(KEY_PREFIX); 221 222 if (!isOverview()) { 224 addWidget(new CmsWidgetDialogParameter(m_group, "name", PAGES[0], new CmsDisplayWidget())); 225 addWidget(new CmsWidgetDialogParameter(m_group, "description", PAGES[0], new CmsDisplayWidget())); 226 } else { 227 addWidget(new CmsWidgetDialogParameter(m_group, "name", PAGES[0], new CmsDisplayWidget())); 228 addWidget(new CmsWidgetDialogParameter(m_group, "description", PAGES[0], new CmsDisplayWidget())); 229 addWidget(new CmsWidgetDialogParameter(this, "parentGroup", PAGES[0], new CmsDisplayWidget())); 230 addWidget(new CmsWidgetDialogParameter(m_group, "enabled", PAGES[0], new CmsDisplayWidget())); 231 addWidget(new CmsWidgetDialogParameter(m_group, "role", PAGES[0], new CmsDisplayWidget())); 232 addWidget(new CmsWidgetDialogParameter(m_group, "projectManager", PAGES[0], new CmsDisplayWidget())); 233 addWidget(new CmsWidgetDialogParameter(m_group, "projectCoWorker", PAGES[0], new CmsDisplayWidget())); 234 } 235 } 236 237 240 protected String [] getPageArray() { 241 242 return PAGES; 243 } 244 245 248 protected void initGroupObject() { 249 250 try { 251 m_group = getCms().readGroup(new CmsUUID(getParamGroupid())); 253 setParentGroup(getCms().readGroup(m_group.getParentId()).getName()); 254 } catch (CmsException e) { 255 } 257 } 258 259 262 protected void initMessages() { 263 264 addMessages(Messages.get().getBundleName()); 266 super.initMessages(); 268 } 269 270 275 protected void initWorkplaceMembers(CmsJspActionElement jsp) { 276 277 super.initWorkplaceMembers(jsp); 278 setOnlineHelpUriCustom("/accounts/groups/overview/"); 279 } 280 281 284 protected void validateParamaters() throws Exception { 285 286 getCms().readGroup(new CmsUUID(getParamGroupid())).getName(); 288 } 289 290 295 private boolean isOverview() { 296 297 return getCurrentToolPath().endsWith("/groups/edit"); 298 } 299 } 300 | Popular Tags |