blob: b7a8ac988cf572397bb675ce14201b8c93af783b [file] [log] [blame]
<%@ page import="org.apache.log4j.*" %>
<%@ page import="com.ecyrd.jspwiki.*" %>
<%@ page import="com.ecyrd.jspwiki.auth.WikiSecurityException" %>
<%@ page import="com.ecyrd.jspwiki.auth.authorize.Group" %>
<%@ page import="com.ecyrd.jspwiki.auth.authorize.GroupManager" %>
<%@ page errorPage="/Error.jsp" %>
<%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %>
<%!
Logger log = Logger.getLogger("JSPWiki");
%>
<%
WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
// Create wiki context and check for authorization
WikiContext wikiContext = wiki.createContext( request, WikiContext.EDIT_GROUP );
if(!wikiContext.hasAccess( response )) return;
// Extract the current user, group name, members and action attributes
WikiSession wikiSession = wikiContext.getWikiSession();
GroupManager groupMgr = wiki.getGroupManager();
Group group = null;
try
{
group = groupMgr.parseGroup( wikiContext, false );
pageContext.setAttribute ( "Group", group, PageContext.REQUEST_SCOPE );
}
catch ( WikiSecurityException e )
{
wikiSession.addMessage( GroupManager.MESSAGES_KEY, e.getMessage() );
response.sendRedirect( "Group.jsp" );
}
// Are we saving the group?
if( "save".equals(request.getParameter("action")) )
{
// Validate the group
groupMgr.validateGroup( wikiContext, group );
// If no errors, save the group now
if ( wikiSession.getMessages( GroupManager.MESSAGES_KEY ).length == 0 )
{
try
{
groupMgr.setGroup( wikiSession, group );
}
catch( WikiSecurityException e )
{
// Something went horribly wrong! Maybe it's an I/O error...
wikiSession.addMessage( GroupManager.MESSAGES_KEY, e.getMessage() );
}
}
if ( wikiSession.getMessages( GroupManager.MESSAGES_KEY ).length == 0 )
{
response.sendRedirect( "Group.jsp?group=" + group.getName() );
return;
}
}
// Set the content type and include the response content
response.setContentType("text/html; charset="+wiki.getContentEncoding() );
String contentPage = wiki.getTemplateManager().findJSP( pageContext,
wikiContext.getTemplate(),
"EditTemplate.jsp" );
%><wiki:Include page="<%=contentPage%>" />